From f96c8befdf3484ad4d3abdf7a11c7a3d6182d018 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 13 Mar 2018 12:09:30 +0800 Subject: [PATCH] :wrench: vendor --- vendor/github.com/b3log/wide/Dockerfile | 23 - vendor/github.com/b3log/wide/LICENSE | 201 - vendor/github.com/b3log/wide/README.md | 180 - vendor/github.com/b3log/wide/TERMS.md | 4 - vendor/github.com/b3log/wide/coverage.sh | 24 - vendor/github.com/b3log/wide/gulpfile.js | 135 - vendor/github.com/b3log/wide/header.exe | Bin 3235840 -> 0 bytes vendor/github.com/b3log/wide/main.go | 483 - vendor/github.com/b3log/wide/package.json | 33 - vendor/github.com/b3log/wide/pkg.sh | 80 - vendor/github.com/b3log/wide/yarn.lock | 1341 - vendor/github.com/bradfitz/goimports/LICENSE | 27 - vendor/github.com/bradfitz/goimports/README | 17 - .../bradfitz/goimports/goimports.go | 195 - .../github.com/go-fsnotify/fsnotify/AUTHORS | 46 - .../go-fsnotify/fsnotify/CHANGELOG.md | 307 - .../go-fsnotify/fsnotify/CONTRIBUTING.md | 77 - .../github.com/go-fsnotify/fsnotify/LICENSE | 28 - .../github.com/go-fsnotify/fsnotify/README.md | 79 - vendor/github.com/go-fsnotify/fsnotify/fen.go | 37 - .../go-fsnotify/fsnotify/fsnotify.go | 66 - .../go-fsnotify/fsnotify/inotify.go | 337 - .../go-fsnotify/fsnotify/inotify_poller.go | 187 - .../github.com/go-fsnotify/fsnotify/kqueue.go | 503 - .../go-fsnotify/fsnotify/open_mode_bsd.go | 11 - .../go-fsnotify/fsnotify/open_mode_darwin.go | 12 - .../go-fsnotify/fsnotify/windows.go | 561 - vendor/github.com/gorilla/context/LICENSE | 27 - vendor/github.com/gorilla/context/README.md | 10 - vendor/github.com/gorilla/context/context.go | 143 - vendor/github.com/gorilla/context/doc.go | 88 - .../github.com/gorilla/securecookie/LICENSE | 27 - .../github.com/gorilla/securecookie/README.md | 80 - vendor/github.com/gorilla/securecookie/doc.go | 61 - .../github.com/gorilla/securecookie/fuzz.go | 25 - .../gorilla/securecookie/securecookie.go | 646 - vendor/github.com/gorilla/sessions/LICENSE | 27 - vendor/github.com/gorilla/sessions/README.md | 90 - vendor/github.com/gorilla/sessions/doc.go | 198 - vendor/github.com/gorilla/sessions/lex.go | 102 - .../github.com/gorilla/sessions/sessions.go | 241 - vendor/github.com/gorilla/sessions/store.go | 295 - vendor/github.com/gorilla/websocket/AUTHORS | 8 - vendor/github.com/gorilla/websocket/LICENSE | 22 - vendor/github.com/gorilla/websocket/README.md | 64 - vendor/github.com/gorilla/websocket/client.go | 392 - .../gorilla/websocket/client_clone.go | 16 - .../gorilla/websocket/client_clone_legacy.go | 38 - .../gorilla/websocket/compression.go | 148 - vendor/github.com/gorilla/websocket/conn.go | 1149 - .../github.com/gorilla/websocket/conn_read.go | 18 - .../gorilla/websocket/conn_read_legacy.go | 21 - vendor/github.com/gorilla/websocket/doc.go | 180 - vendor/github.com/gorilla/websocket/json.go | 55 - vendor/github.com/gorilla/websocket/mask.go | 55 - .../github.com/gorilla/websocket/mask_safe.go | 15 - .../github.com/gorilla/websocket/prepared.go | 103 - vendor/github.com/gorilla/websocket/server.go | 291 - vendor/github.com/gorilla/websocket/util.go | 214 - vendor/github.com/nsf/gocode/LICENSE | 19 - vendor/github.com/nsf/gocode/README.md | 195 - .../nsf/gocode/autocompletecontext.go | 689 - .../github.com/nsf/gocode/autocompletefile.go | 418 - vendor/github.com/nsf/gocode/client.go | 182 - vendor/github.com/nsf/gocode/config.go | 177 - vendor/github.com/nsf/gocode/cursorcontext.go | 557 - vendor/github.com/nsf/gocode/decl.go | 1412 - vendor/github.com/nsf/gocode/declcache.go | 518 - vendor/github.com/nsf/gocode/formatters.go | 172 - vendor/github.com/nsf/gocode/gocode.go | 72 - vendor/github.com/nsf/gocode/os_posix.go | 48 - vendor/github.com/nsf/gocode/os_windows.go | 56 - vendor/github.com/nsf/gocode/package.go | 256 - vendor/github.com/nsf/gocode/package_bin.go | 762 - vendor/github.com/nsf/gocode/package_text.go | 678 - vendor/github.com/nsf/gocode/pre_go17.go | 7 - vendor/github.com/nsf/gocode/ripper.go | 141 - vendor/github.com/nsf/gocode/rpc.go | 138 - vendor/github.com/nsf/gocode/scope.go | 66 - vendor/github.com/nsf/gocode/server.go | 237 - vendor/github.com/nsf/gocode/utils.go | 287 - vendor/github.com/visualfc/gotools/LICENSE | 28 - vendor/github.com/visualfc/gotools/README.md | 2 - .../visualfc/gotools/astview/astdoc.go | 685 - .../visualfc/gotools/astview/astview.go | 346 - .../visualfc/gotools/command/command.go | 343 - .../visualfc/gotools/command/version.go | 33 - vendor/github.com/visualfc/gotools/doc.go | 8 - .../visualfc/gotools/docview/dirtrees.go | 352 - .../visualfc/gotools/docview/docview.go | 407 - .../visualfc/gotools/docview/docx.go | 668 - .../visualfc/gotools/docview/filesystem.go | 70 - .../visualfc/gotools/finddoc/finddoc.go | 609 - .../visualfc/gotools/goapi/goapi.go | 3774 -- .../visualfc/gotools/goimports/fix.go | 394 - .../visualfc/gotools/goimports/goimports.go | 206 - .../visualfc/gotools/goimports/imports.go | 281 - .../visualfc/gotools/goimports/sortimports.go | 214 - .../gotools/goimports/sortimports_compat.go | 14 - .../visualfc/gotools/gopresent/gopresent.go | 383 - .../visualfc/gotools/jsonfmt/jsonfmt.go | 206 - vendor/github.com/visualfc/gotools/main.go | 41 - .../visualfc/gotools/oracle/oracle.go | 105 - .../github.com/visualfc/gotools/pkgs/pkgs.go | 379 - .../visualfc/gotools/runcmd/runcmd.go | 87 - .../visualfc/gotools/stdlib/go13.go | 19 - .../visualfc/gotools/stdlib/go14.go | 19 - .../visualfc/gotools/stdlib/mkpkglist.go | 168 - .../visualfc/gotools/stdlib/mkstdlib.go | 91 - .../visualfc/gotools/stdlib/pkglist.go | 48 - .../visualfc/gotools/stdlib/zstdlib.go | 8479 --- .../visualfc/gotools/types/types.go | 1064 - vendor/golang.org/x/sys/LICENSE | 27 - vendor/golang.org/x/sys/PATENTS | 22 - vendor/golang.org/x/sys/unix/README.md | 173 - vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 - .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 - vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 - .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 - .../x/sys/unix/asm_dragonfly_amd64.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 - vendor/golang.org/x/sys/unix/asm_linux_386.s | 35 - .../golang.org/x/sys/unix/asm_linux_amd64.s | 29 - vendor/golang.org/x/sys/unix/asm_linux_arm.s | 29 - .../golang.org/x/sys/unix/asm_linux_arm64.s | 24 - .../golang.org/x/sys/unix/asm_linux_mips64x.s | 28 - .../golang.org/x/sys/unix/asm_linux_mipsx.s | 31 - .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 28 - .../golang.org/x/sys/unix/asm_linux_s390x.s | 28 - vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 - .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 - vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 - .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 - .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 - .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 - .../golang.org/x/sys/unix/bluetooth_linux.go | 35 - vendor/golang.org/x/sys/unix/constants.go | 13 - vendor/golang.org/x/sys/unix/dirent.go | 102 - vendor/golang.org/x/sys/unix/endian_big.go | 9 - vendor/golang.org/x/sys/unix/endian_little.go | 9 - vendor/golang.org/x/sys/unix/env_unix.go | 27 - vendor/golang.org/x/sys/unix/env_unset.go | 14 - vendor/golang.org/x/sys/unix/flock.go | 24 - .../x/sys/unix/flock_linux_32bit.go | 13 - vendor/golang.org/x/sys/unix/gccgo.go | 46 - vendor/golang.org/x/sys/unix/gccgo_c.c | 41 - .../x/sys/unix/gccgo_linux_amd64.go | 20 - .../x/sys/unix/gccgo_linux_sparc64.go | 20 - vendor/golang.org/x/sys/unix/mkall.sh | 179 - vendor/golang.org/x/sys/unix/mkerrors.sh | 549 - vendor/golang.org/x/sys/unix/mkpost.go | 88 - vendor/golang.org/x/sys/unix/mksyscall.pl | 328 - .../x/sys/unix/mksyscall_solaris.pl | 289 - .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 - .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 - .../x/sys/unix/mksysnum_dragonfly.pl | 50 - .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 63 - .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 - .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 - .../golang.org/x/sys/unix/openbsd_pledge.go | 38 - vendor/golang.org/x/sys/unix/race.go | 30 - vendor/golang.org/x/sys/unix/race0.go | 25 - .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 - vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 104 - vendor/golang.org/x/sys/unix/str.go | 26 - vendor/golang.org/x/sys/unix/syscall.go | 69 - vendor/golang.org/x/sys/unix/syscall_bsd.go | 614 - .../golang.org/x/sys/unix/syscall_darwin.go | 493 - .../x/sys/unix/syscall_darwin_386.go | 77 - .../x/sys/unix/syscall_darwin_amd64.go | 79 - .../x/sys/unix/syscall_darwin_arm.go | 71 - .../x/sys/unix/syscall_darwin_arm64.go | 77 - .../x/sys/unix/syscall_dragonfly.go | 425 - .../x/sys/unix/syscall_dragonfly_amd64.go | 61 - .../golang.org/x/sys/unix/syscall_freebsd.go | 666 - .../x/sys/unix/syscall_freebsd_386.go | 61 - .../x/sys/unix/syscall_freebsd_amd64.go | 61 - .../x/sys/unix/syscall_freebsd_arm.go | 61 - vendor/golang.org/x/sys/unix/syscall_linux.go | 1422 - .../x/sys/unix/syscall_linux_386.go | 399 - .../x/sys/unix/syscall_linux_amd64.go | 152 - .../x/sys/unix/syscall_linux_amd64_gc.go | 13 - .../x/sys/unix/syscall_linux_arm.go | 263 - .../x/sys/unix/syscall_linux_arm64.go | 190 - .../x/sys/unix/syscall_linux_mips64x.go | 209 - .../x/sys/unix/syscall_linux_mipsx.go | 239 - .../x/sys/unix/syscall_linux_ppc64x.go | 135 - .../x/sys/unix/syscall_linux_s390x.go | 328 - .../x/sys/unix/syscall_linux_sparc64.go | 169 - .../golang.org/x/sys/unix/syscall_netbsd.go | 476 - .../x/sys/unix/syscall_netbsd_386.go | 42 - .../x/sys/unix/syscall_netbsd_amd64.go | 42 - .../x/sys/unix/syscall_netbsd_arm.go | 42 - .../golang.org/x/sys/unix/syscall_no_getwd.go | 11 - .../golang.org/x/sys/unix/syscall_openbsd.go | 287 - .../x/sys/unix/syscall_openbsd_386.go | 42 - .../x/sys/unix/syscall_openbsd_amd64.go | 42 - .../golang.org/x/sys/unix/syscall_solaris.go | 715 - .../x/sys/unix/syscall_solaris_amd64.go | 35 - vendor/golang.org/x/sys/unix/syscall_unix.go | 293 - .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 - vendor/golang.org/x/sys/unix/types_darwin.go | 250 - .../golang.org/x/sys/unix/types_dragonfly.go | 242 - vendor/golang.org/x/sys/unix/types_freebsd.go | 353 - vendor/golang.org/x/sys/unix/types_netbsd.go | 232 - vendor/golang.org/x/sys/unix/types_openbsd.go | 244 - vendor/golang.org/x/sys/unix/types_solaris.go | 269 - .../x/sys/unix/zerrors_darwin_386.go | 1576 - .../x/sys/unix/zerrors_darwin_amd64.go | 1576 - .../x/sys/unix/zerrors_darwin_arm.go | 1293 - .../x/sys/unix/zerrors_darwin_arm64.go | 1576 - .../x/sys/unix/zerrors_dragonfly_amd64.go | 1568 - .../x/sys/unix/zerrors_freebsd_386.go | 1743 - .../x/sys/unix/zerrors_freebsd_amd64.go | 1748 - .../x/sys/unix/zerrors_freebsd_arm.go | 1729 - .../x/sys/unix/zerrors_linux_386.go | 2140 - .../x/sys/unix/zerrors_linux_amd64.go | 2141 - .../x/sys/unix/zerrors_linux_arm.go | 2145 - .../x/sys/unix/zerrors_linux_arm64.go | 2130 - .../x/sys/unix/zerrors_linux_mips.go | 2149 - .../x/sys/unix/zerrors_linux_mips64.go | 2149 - .../x/sys/unix/zerrors_linux_mips64le.go | 2149 - .../x/sys/unix/zerrors_linux_mipsle.go | 2149 - .../x/sys/unix/zerrors_linux_ppc64.go | 2203 - .../x/sys/unix/zerrors_linux_ppc64le.go | 2203 - .../x/sys/unix/zerrors_linux_s390x.go | 2202 - .../x/sys/unix/zerrors_linux_sparc64.go | 2142 - .../x/sys/unix/zerrors_netbsd_386.go | 1712 - .../x/sys/unix/zerrors_netbsd_amd64.go | 1702 - .../x/sys/unix/zerrors_netbsd_arm.go | 1688 - .../x/sys/unix/zerrors_openbsd_386.go | 1584 - .../x/sys/unix/zerrors_openbsd_amd64.go | 1583 - .../x/sys/unix/zerrors_solaris_amd64.go | 1483 - .../x/sys/unix/zsyscall_darwin_386.go | 1394 - .../x/sys/unix/zsyscall_darwin_amd64.go | 1409 - .../x/sys/unix/zsyscall_darwin_arm.go | 1394 - .../x/sys/unix/zsyscall_darwin_arm64.go | 1394 - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1393 - .../x/sys/unix/zsyscall_freebsd_386.go | 1617 - .../x/sys/unix/zsyscall_freebsd_amd64.go | 1617 - .../x/sys/unix/zsyscall_freebsd_arm.go | 1617 - .../x/sys/unix/zsyscall_linux_386.go | 1927 - .../x/sys/unix/zsyscall_linux_amd64.go | 2120 - .../x/sys/unix/zsyscall_linux_arm.go | 2029 - .../x/sys/unix/zsyscall_linux_arm64.go | 2003 - .../x/sys/unix/zsyscall_linux_mips.go | 2085 - .../x/sys/unix/zsyscall_linux_mips64.go | 2079 - .../x/sys/unix/zsyscall_linux_mips64le.go | 2079 - .../x/sys/unix/zsyscall_linux_mipsle.go | 2085 - .../x/sys/unix/zsyscall_linux_ppc64.go | 2131 - .../x/sys/unix/zsyscall_linux_ppc64le.go | 2131 - .../x/sys/unix/zsyscall_linux_s390x.go | 1911 - .../x/sys/unix/zsyscall_linux_sparc64.go | 1833 - .../x/sys/unix/zsyscall_netbsd_386.go | 1299 - .../x/sys/unix/zsyscall_netbsd_amd64.go | 1299 - .../x/sys/unix/zsyscall_netbsd_arm.go | 1299 - .../x/sys/unix/zsyscall_openbsd_386.go | 1357 - .../x/sys/unix/zsyscall_openbsd_amd64.go | 1357 - .../x/sys/unix/zsyscall_solaris_amd64.go | 1589 - .../golang.org/x/sys/unix/zsysctl_openbsd.go | 270 - .../x/sys/unix/zsysnum_darwin_386.go | 398 - .../x/sys/unix/zsysnum_darwin_amd64.go | 398 - .../x/sys/unix/zsysnum_darwin_arm.go | 358 - .../x/sys/unix/zsysnum_darwin_arm64.go | 398 - .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 - .../x/sys/unix/zsysnum_freebsd_386.go | 351 - .../x/sys/unix/zsysnum_freebsd_amd64.go | 351 - .../x/sys/unix/zsysnum_freebsd_arm.go | 351 - .../x/sys/unix/zsysnum_linux_386.go | 388 - .../x/sys/unix/zsysnum_linux_amd64.go | 341 - .../x/sys/unix/zsysnum_linux_arm.go | 361 - .../x/sys/unix/zsysnum_linux_arm64.go | 285 - .../x/sys/unix/zsysnum_linux_mips.go | 374 - .../x/sys/unix/zsysnum_linux_mips64.go | 334 - .../x/sys/unix/zsysnum_linux_mips64le.go | 334 - .../x/sys/unix/zsysnum_linux_mipsle.go | 374 - .../x/sys/unix/zsysnum_linux_ppc64.go | 369 - .../x/sys/unix/zsysnum_linux_ppc64le.go | 369 - .../x/sys/unix/zsysnum_linux_s390x.go | 331 - .../x/sys/unix/zsysnum_linux_sparc64.go | 348 - .../x/sys/unix/zsysnum_netbsd_386.go | 273 - .../x/sys/unix/zsysnum_netbsd_amd64.go | 273 - .../x/sys/unix/zsysnum_netbsd_arm.go | 273 - .../x/sys/unix/zsysnum_openbsd_386.go | 207 - .../x/sys/unix/zsysnum_openbsd_amd64.go | 207 - .../x/sys/unix/zsysnum_solaris_amd64.go | 13 - .../x/sys/unix/ztypes_darwin_386.go | 447 - .../x/sys/unix/ztypes_darwin_amd64.go | 462 - .../x/sys/unix/ztypes_darwin_arm.go | 449 - .../x/sys/unix/ztypes_darwin_arm64.go | 457 - .../x/sys/unix/ztypes_dragonfly_amd64.go | 443 - .../x/sys/unix/ztypes_freebsd_386.go | 502 - .../x/sys/unix/ztypes_freebsd_amd64.go | 505 - .../x/sys/unix/ztypes_freebsd_arm.go | 497 - .../golang.org/x/sys/unix/ztypes_linux_386.go | 676 - .../x/sys/unix/ztypes_linux_amd64.go | 694 - .../golang.org/x/sys/unix/ztypes_linux_arm.go | 665 - .../x/sys/unix/ztypes_linux_arm64.go | 673 - .../x/sys/unix/ztypes_linux_mips.go | 670 - .../x/sys/unix/ztypes_linux_mips64.go | 675 - .../x/sys/unix/ztypes_linux_mips64le.go | 675 - .../x/sys/unix/ztypes_linux_mipsle.go | 670 - .../x/sys/unix/ztypes_linux_ppc64.go | 683 - .../x/sys/unix/ztypes_linux_ppc64le.go | 683 - .../x/sys/unix/ztypes_linux_s390x.go | 700 - .../x/sys/unix/ztypes_linux_sparc64.go | 666 - .../x/sys/unix/ztypes_netbsd_386.go | 396 - .../x/sys/unix/ztypes_netbsd_amd64.go | 403 - .../x/sys/unix/ztypes_netbsd_arm.go | 401 - .../x/sys/unix/ztypes_openbsd_386.go | 441 - .../x/sys/unix/ztypes_openbsd_amd64.go | 448 - .../x/sys/unix/ztypes_solaris_amd64.go | 442 - vendor/golang.org/x/text/LICENSE | 27 - vendor/golang.org/x/text/PATENTS | 22 - vendor/golang.org/x/text/encoding/encoding.go | 335 - .../text/encoding/internal/identifier/gen.go | 137 - .../internal/identifier/identifier.go | 81 - .../text/encoding/internal/identifier/mib.go | 1621 - .../x/text/encoding/internal/internal.go | 75 - .../x/text/encoding/simplifiedchinese/all.go | 12 - .../x/text/encoding/simplifiedchinese/gbk.go | 281 - .../encoding/simplifiedchinese/hzgb2312.go | 240 - .../encoding/simplifiedchinese/maketables.go | 161 - .../text/encoding/simplifiedchinese/tables.go | 43999 ---------------- .../golang.org/x/text/transform/transform.go | 705 - vendor/golang.org/x/tools/LICENSE | 27 - vendor/golang.org/x/tools/PATENTS | 22 - .../x/tools/container/intsets/sparse.go | 967 - .../x/tools/container/intsets/util.go | 75 - .../x/tools/go/ast/astutil/enclosing.go | 625 - .../x/tools/go/ast/astutil/imports.go | 359 - .../golang.org/x/tools/go/ast/astutil/util.go | 14 - .../x/tools/go/buildutil/allpackages.go | 123 - .../x/tools/go/buildutil/fakecontext.go | 108 - .../golang.org/x/tools/go/buildutil/tags.go | 73 - .../golang.org/x/tools/go/buildutil/util.go | 158 - .../x/tools/go/callgraph/callgraph.go | 129 - .../golang.org/x/tools/go/callgraph/util.go | 181 - vendor/golang.org/x/tools/go/exact/exact.go | 920 - vendor/golang.org/x/tools/go/exact/go13.go | 24 - vendor/golang.org/x/tools/go/exact/go14.go | 13 - .../x/tools/go/gcimporter/exportdata.go | 108 - .../x/tools/go/gcimporter/gcimporter.go | 995 - vendor/golang.org/x/tools/go/loader/cgo.go | 199 - vendor/golang.org/x/tools/go/loader/doc.go | 189 - vendor/golang.org/x/tools/go/loader/loader.go | 966 - vendor/golang.org/x/tools/go/loader/util.go | 124 - vendor/golang.org/x/tools/go/pointer/TODO | 33 - .../golang.org/x/tools/go/pointer/analysis.go | 447 - vendor/golang.org/x/tools/go/pointer/api.go | 245 - .../x/tools/go/pointer/callgraph.go | 61 - .../x/tools/go/pointer/constraint.go | 151 - vendor/golang.org/x/tools/go/pointer/doc.go | 610 - vendor/golang.org/x/tools/go/pointer/gen.go | 1292 - vendor/golang.org/x/tools/go/pointer/hvn.go | 969 - .../x/tools/go/pointer/intrinsics.go | 380 - .../golang.org/x/tools/go/pointer/labels.go | 152 - vendor/golang.org/x/tools/go/pointer/opt.go | 125 - vendor/golang.org/x/tools/go/pointer/print.go | 43 - .../golang.org/x/tools/go/pointer/reflect.go | 1971 - vendor/golang.org/x/tools/go/pointer/solve.go | 371 - vendor/golang.org/x/tools/go/pointer/util.go | 314 - vendor/golang.org/x/tools/go/ssa/blockopt.go | 187 - vendor/golang.org/x/tools/go/ssa/builder.go | 2370 - vendor/golang.org/x/tools/go/ssa/const.go | 168 - vendor/golang.org/x/tools/go/ssa/create.go | 257 - vendor/golang.org/x/tools/go/ssa/doc.go | 123 - vendor/golang.org/x/tools/go/ssa/dom.go | 341 - vendor/golang.org/x/tools/go/ssa/emit.go | 469 - vendor/golang.org/x/tools/go/ssa/func.go | 690 - vendor/golang.org/x/tools/go/ssa/lift.go | 599 - vendor/golang.org/x/tools/go/ssa/lvalue.go | 121 - vendor/golang.org/x/tools/go/ssa/methods.go | 243 - vendor/golang.org/x/tools/go/ssa/mode.go | 107 - vendor/golang.org/x/tools/go/ssa/print.go | 427 - vendor/golang.org/x/tools/go/ssa/sanity.go | 520 - vendor/golang.org/x/tools/go/ssa/source.go | 294 - vendor/golang.org/x/tools/go/ssa/ssa.go | 1700 - .../golang.org/x/tools/go/ssa/ssautil/load.go | 95 - .../x/tools/go/ssa/ssautil/switch.go | 234 - .../x/tools/go/ssa/ssautil/visit.go | 66 - vendor/golang.org/x/tools/go/ssa/testmain.go | 296 - vendor/golang.org/x/tools/go/ssa/util.go | 119 - vendor/golang.org/x/tools/go/ssa/wrappers.go | 294 - vendor/golang.org/x/tools/go/types/api.go | 365 - .../x/tools/go/types/assignments.go | 328 - .../golang.org/x/tools/go/types/builtins.go | 628 - vendor/golang.org/x/tools/go/types/call.go | 441 - vendor/golang.org/x/tools/go/types/check.go | 364 - .../x/tools/go/types/conversions.go | 146 - vendor/golang.org/x/tools/go/types/decl.go | 431 - vendor/golang.org/x/tools/go/types/errors.go | 103 - vendor/golang.org/x/tools/go/types/eval.go | 87 - vendor/golang.org/x/tools/go/types/expr.go | 1497 - .../golang.org/x/tools/go/types/exprstring.go | 220 - vendor/golang.org/x/tools/go/types/go11.go | 17 - vendor/golang.org/x/tools/go/types/go12.go | 17 - .../golang.org/x/tools/go/types/initorder.go | 222 - vendor/golang.org/x/tools/go/types/labels.go | 268 - vendor/golang.org/x/tools/go/types/lookup.go | 341 - .../golang.org/x/tools/go/types/methodset.go | 271 - vendor/golang.org/x/tools/go/types/object.go | 361 - vendor/golang.org/x/tools/go/types/objset.go | 31 - vendor/golang.org/x/tools/go/types/operand.go | 288 - .../golang.org/x/tools/go/types/ordering.go | 127 - vendor/golang.org/x/tools/go/types/package.go | 65 - .../golang.org/x/tools/go/types/predicates.go | 309 - .../golang.org/x/tools/go/types/resolver.go | 453 - vendor/golang.org/x/tools/go/types/return.go | 185 - vendor/golang.org/x/tools/go/types/scope.go | 190 - .../golang.org/x/tools/go/types/selection.go | 143 - vendor/golang.org/x/tools/go/types/sizes.go | 211 - vendor/golang.org/x/tools/go/types/stmt.go | 745 - vendor/golang.org/x/tools/go/types/type.go | 454 - .../golang.org/x/tools/go/types/typestring.go | 292 - .../x/tools/go/types/typeutil/imports.go | 31 - .../x/tools/go/types/typeutil/map.go | 314 - .../tools/go/types/typeutil/methodsetcache.go | 73 - .../x/tools/go/types/typeutil/ui.go | 38 - vendor/golang.org/x/tools/go/types/typexpr.go | 713 - .../golang.org/x/tools/go/types/universe.go | 224 - vendor/golang.org/x/tools/imports/fix.go | 387 - vendor/golang.org/x/tools/imports/imports.go | 279 - vendor/golang.org/x/tools/imports/mkindex.go | 173 - vendor/golang.org/x/tools/imports/mkstdlib.go | 90 - .../golang.org/x/tools/imports/sortimports.go | 214 - .../x/tools/imports/sortimports_compat.go | 14 - vendor/golang.org/x/tools/imports/zstdlib.go | 8374 --- vendor/golang.org/x/tools/oracle/TODO | 83 - vendor/golang.org/x/tools/oracle/callees.go | 253 - vendor/golang.org/x/tools/oracle/callers.go | 115 - vendor/golang.org/x/tools/oracle/callstack.go | 126 - .../golang.org/x/tools/oracle/definition.go | 76 - vendor/golang.org/x/tools/oracle/describe.go | 763 - vendor/golang.org/x/tools/oracle/freevars.go | 222 - .../golang.org/x/tools/oracle/implements.go | 330 - vendor/golang.org/x/tools/oracle/oracle.go | 364 - vendor/golang.org/x/tools/oracle/peers.go | 252 - vendor/golang.org/x/tools/oracle/pointsto.go | 291 - vendor/golang.org/x/tools/oracle/pos.go | 143 - vendor/golang.org/x/tools/oracle/referrers.go | 225 - .../x/tools/oracle/serial/serial.go | 258 - vendor/golang.org/x/tools/oracle/what.go | 210 - vendor/golang.org/x/tools/oracle/whicherrs.go | 326 - vendor/golang.org/x/tools/present/args.go | 229 - vendor/golang.org/x/tools/present/caption.go | 22 - vendor/golang.org/x/tools/present/code.go | 293 - vendor/golang.org/x/tools/present/doc.go | 205 - vendor/golang.org/x/tools/present/html.go | 31 - vendor/golang.org/x/tools/present/iframe.go | 45 - vendor/golang.org/x/tools/present/image.go | 50 - vendor/golang.org/x/tools/present/link.go | 97 - vendor/golang.org/x/tools/present/parse.go | 505 - vendor/golang.org/x/tools/present/style.go | 166 - .../x/tools/refactor/importgraph/graph.go | 128 - vendor/vendor.json | 256 +- 458 files changed, 1 insertion(+), 263402 deletions(-) delete mode 100644 vendor/github.com/b3log/wide/Dockerfile delete mode 100644 vendor/github.com/b3log/wide/LICENSE delete mode 100644 vendor/github.com/b3log/wide/README.md delete mode 100644 vendor/github.com/b3log/wide/TERMS.md delete mode 100644 vendor/github.com/b3log/wide/coverage.sh delete mode 100644 vendor/github.com/b3log/wide/gulpfile.js delete mode 100644 vendor/github.com/b3log/wide/header.exe delete mode 100644 vendor/github.com/b3log/wide/main.go delete mode 100644 vendor/github.com/b3log/wide/package.json delete mode 100644 vendor/github.com/b3log/wide/pkg.sh delete mode 100644 vendor/github.com/b3log/wide/yarn.lock delete mode 100644 vendor/github.com/bradfitz/goimports/LICENSE delete mode 100644 vendor/github.com/bradfitz/goimports/README delete mode 100644 vendor/github.com/bradfitz/goimports/goimports.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/AUTHORS delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/CHANGELOG.md delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/CONTRIBUTING.md delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/LICENSE delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/README.md delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/fen.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/fsnotify.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/inotify.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/inotify_poller.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/kqueue.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/open_mode_bsd.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/open_mode_darwin.go delete mode 100644 vendor/github.com/go-fsnotify/fsnotify/windows.go delete mode 100644 vendor/github.com/gorilla/context/LICENSE delete mode 100644 vendor/github.com/gorilla/context/README.md delete mode 100644 vendor/github.com/gorilla/context/context.go delete mode 100644 vendor/github.com/gorilla/context/doc.go delete mode 100644 vendor/github.com/gorilla/securecookie/LICENSE delete mode 100644 vendor/github.com/gorilla/securecookie/README.md delete mode 100644 vendor/github.com/gorilla/securecookie/doc.go delete mode 100644 vendor/github.com/gorilla/securecookie/fuzz.go delete mode 100644 vendor/github.com/gorilla/securecookie/securecookie.go delete mode 100644 vendor/github.com/gorilla/sessions/LICENSE delete mode 100644 vendor/github.com/gorilla/sessions/README.md delete mode 100644 vendor/github.com/gorilla/sessions/doc.go delete mode 100644 vendor/github.com/gorilla/sessions/lex.go delete mode 100644 vendor/github.com/gorilla/sessions/sessions.go delete mode 100644 vendor/github.com/gorilla/sessions/store.go delete mode 100644 vendor/github.com/gorilla/websocket/AUTHORS delete mode 100644 vendor/github.com/gorilla/websocket/LICENSE delete mode 100644 vendor/github.com/gorilla/websocket/README.md delete mode 100644 vendor/github.com/gorilla/websocket/client.go delete mode 100644 vendor/github.com/gorilla/websocket/client_clone.go delete mode 100644 vendor/github.com/gorilla/websocket/client_clone_legacy.go delete mode 100644 vendor/github.com/gorilla/websocket/compression.go delete mode 100644 vendor/github.com/gorilla/websocket/conn.go delete mode 100644 vendor/github.com/gorilla/websocket/conn_read.go delete mode 100644 vendor/github.com/gorilla/websocket/conn_read_legacy.go delete mode 100644 vendor/github.com/gorilla/websocket/doc.go delete mode 100644 vendor/github.com/gorilla/websocket/json.go delete mode 100644 vendor/github.com/gorilla/websocket/mask.go delete mode 100644 vendor/github.com/gorilla/websocket/mask_safe.go delete mode 100644 vendor/github.com/gorilla/websocket/prepared.go delete mode 100644 vendor/github.com/gorilla/websocket/server.go delete mode 100644 vendor/github.com/gorilla/websocket/util.go delete mode 100644 vendor/github.com/nsf/gocode/LICENSE delete mode 100644 vendor/github.com/nsf/gocode/README.md delete mode 100644 vendor/github.com/nsf/gocode/autocompletecontext.go delete mode 100644 vendor/github.com/nsf/gocode/autocompletefile.go delete mode 100644 vendor/github.com/nsf/gocode/client.go delete mode 100644 vendor/github.com/nsf/gocode/config.go delete mode 100644 vendor/github.com/nsf/gocode/cursorcontext.go delete mode 100644 vendor/github.com/nsf/gocode/decl.go delete mode 100644 vendor/github.com/nsf/gocode/declcache.go delete mode 100644 vendor/github.com/nsf/gocode/formatters.go delete mode 100644 vendor/github.com/nsf/gocode/gocode.go delete mode 100644 vendor/github.com/nsf/gocode/os_posix.go delete mode 100644 vendor/github.com/nsf/gocode/os_windows.go delete mode 100644 vendor/github.com/nsf/gocode/package.go delete mode 100644 vendor/github.com/nsf/gocode/package_bin.go delete mode 100644 vendor/github.com/nsf/gocode/package_text.go delete mode 100644 vendor/github.com/nsf/gocode/pre_go17.go delete mode 100644 vendor/github.com/nsf/gocode/ripper.go delete mode 100644 vendor/github.com/nsf/gocode/rpc.go delete mode 100644 vendor/github.com/nsf/gocode/scope.go delete mode 100644 vendor/github.com/nsf/gocode/server.go delete mode 100644 vendor/github.com/nsf/gocode/utils.go delete mode 100644 vendor/github.com/visualfc/gotools/LICENSE delete mode 100644 vendor/github.com/visualfc/gotools/README.md delete mode 100644 vendor/github.com/visualfc/gotools/astview/astdoc.go delete mode 100644 vendor/github.com/visualfc/gotools/astview/astview.go delete mode 100644 vendor/github.com/visualfc/gotools/command/command.go delete mode 100644 vendor/github.com/visualfc/gotools/command/version.go delete mode 100644 vendor/github.com/visualfc/gotools/doc.go delete mode 100644 vendor/github.com/visualfc/gotools/docview/dirtrees.go delete mode 100644 vendor/github.com/visualfc/gotools/docview/docview.go delete mode 100644 vendor/github.com/visualfc/gotools/docview/docx.go delete mode 100644 vendor/github.com/visualfc/gotools/docview/filesystem.go delete mode 100644 vendor/github.com/visualfc/gotools/finddoc/finddoc.go delete mode 100644 vendor/github.com/visualfc/gotools/goapi/goapi.go delete mode 100644 vendor/github.com/visualfc/gotools/goimports/fix.go delete mode 100644 vendor/github.com/visualfc/gotools/goimports/goimports.go delete mode 100644 vendor/github.com/visualfc/gotools/goimports/imports.go delete mode 100644 vendor/github.com/visualfc/gotools/goimports/sortimports.go delete mode 100644 vendor/github.com/visualfc/gotools/goimports/sortimports_compat.go delete mode 100644 vendor/github.com/visualfc/gotools/gopresent/gopresent.go delete mode 100644 vendor/github.com/visualfc/gotools/jsonfmt/jsonfmt.go delete mode 100644 vendor/github.com/visualfc/gotools/main.go delete mode 100644 vendor/github.com/visualfc/gotools/oracle/oracle.go delete mode 100644 vendor/github.com/visualfc/gotools/pkgs/pkgs.go delete mode 100644 vendor/github.com/visualfc/gotools/runcmd/runcmd.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/go13.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/go14.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/mkpkglist.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/mkstdlib.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/pkglist.go delete mode 100644 vendor/github.com/visualfc/gotools/stdlib/zstdlib.go delete mode 100644 vendor/github.com/visualfc/gotools/types/types.go delete mode 100644 vendor/golang.org/x/sys/LICENSE delete mode 100644 vendor/golang.org/x/sys/PATENTS delete mode 100644 vendor/golang.org/x/sys/unix/README.md delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go delete mode 100644 vendor/golang.org/x/sys/unix/constants.go delete mode 100644 vendor/golang.org/x/sys/unix/dirent.go delete mode 100644 vendor/golang.org/x/sys/unix/endian_big.go delete mode 100644 vendor/golang.org/x/sys/unix/endian_little.go delete mode 100644 vendor/golang.org/x/sys/unix/env_unix.go delete mode 100644 vendor/golang.org/x/sys/unix/env_unset.go delete mode 100644 vendor/golang.org/x/sys/unix/flock.go delete mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go delete mode 100644 vendor/golang.org/x/sys/unix/gccgo.go delete mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c delete mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/mkall.sh delete mode 100644 vendor/golang.org/x/sys/unix/mkerrors.sh delete mode 100644 vendor/golang.org/x/sys/unix/mkpost.go delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl delete mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go delete mode 100644 vendor/golang.org/x/sys/unix/race.go delete mode 100644 vendor/golang.org/x/sys/unix/race0.go delete mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go delete mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go delete mode 100644 vendor/golang.org/x/sys/unix/str.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go delete mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go delete mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go delete mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go delete mode 100644 vendor/golang.org/x/text/LICENSE delete mode 100644 vendor/golang.org/x/text/PATENTS delete mode 100644 vendor/golang.org/x/text/encoding/encoding.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/gen.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/identifier.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/mib.go delete mode 100644 vendor/golang.org/x/text/encoding/internal/internal.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/all.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go delete mode 100644 vendor/golang.org/x/text/transform/transform.go delete mode 100644 vendor/golang.org/x/tools/LICENSE delete mode 100644 vendor/golang.org/x/tools/PATENTS delete mode 100644 vendor/golang.org/x/tools/container/intsets/sparse.go delete mode 100644 vendor/golang.org/x/tools/container/intsets/util.go delete mode 100644 vendor/golang.org/x/tools/go/ast/astutil/enclosing.go delete mode 100644 vendor/golang.org/x/tools/go/ast/astutil/imports.go delete mode 100644 vendor/golang.org/x/tools/go/ast/astutil/util.go delete mode 100644 vendor/golang.org/x/tools/go/buildutil/allpackages.go delete mode 100644 vendor/golang.org/x/tools/go/buildutil/fakecontext.go delete mode 100644 vendor/golang.org/x/tools/go/buildutil/tags.go delete mode 100644 vendor/golang.org/x/tools/go/buildutil/util.go delete mode 100644 vendor/golang.org/x/tools/go/callgraph/callgraph.go delete mode 100644 vendor/golang.org/x/tools/go/callgraph/util.go delete mode 100644 vendor/golang.org/x/tools/go/exact/exact.go delete mode 100644 vendor/golang.org/x/tools/go/exact/go13.go delete mode 100644 vendor/golang.org/x/tools/go/exact/go14.go delete mode 100644 vendor/golang.org/x/tools/go/gcimporter/exportdata.go delete mode 100644 vendor/golang.org/x/tools/go/gcimporter/gcimporter.go delete mode 100644 vendor/golang.org/x/tools/go/loader/cgo.go delete mode 100644 vendor/golang.org/x/tools/go/loader/doc.go delete mode 100644 vendor/golang.org/x/tools/go/loader/loader.go delete mode 100644 vendor/golang.org/x/tools/go/loader/util.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/TODO delete mode 100644 vendor/golang.org/x/tools/go/pointer/analysis.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/api.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/callgraph.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/constraint.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/doc.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/gen.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/hvn.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/intrinsics.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/labels.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/opt.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/print.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/reflect.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/solve.go delete mode 100644 vendor/golang.org/x/tools/go/pointer/util.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/blockopt.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/builder.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/const.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/create.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/doc.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/dom.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/emit.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/func.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/lift.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/lvalue.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/methods.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/mode.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/print.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/sanity.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/source.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/ssa.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/ssautil/load.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/ssautil/switch.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/ssautil/visit.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/testmain.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/util.go delete mode 100644 vendor/golang.org/x/tools/go/ssa/wrappers.go delete mode 100644 vendor/golang.org/x/tools/go/types/api.go delete mode 100644 vendor/golang.org/x/tools/go/types/assignments.go delete mode 100644 vendor/golang.org/x/tools/go/types/builtins.go delete mode 100644 vendor/golang.org/x/tools/go/types/call.go delete mode 100644 vendor/golang.org/x/tools/go/types/check.go delete mode 100644 vendor/golang.org/x/tools/go/types/conversions.go delete mode 100644 vendor/golang.org/x/tools/go/types/decl.go delete mode 100644 vendor/golang.org/x/tools/go/types/errors.go delete mode 100644 vendor/golang.org/x/tools/go/types/eval.go delete mode 100644 vendor/golang.org/x/tools/go/types/expr.go delete mode 100644 vendor/golang.org/x/tools/go/types/exprstring.go delete mode 100644 vendor/golang.org/x/tools/go/types/go11.go delete mode 100644 vendor/golang.org/x/tools/go/types/go12.go delete mode 100644 vendor/golang.org/x/tools/go/types/initorder.go delete mode 100644 vendor/golang.org/x/tools/go/types/labels.go delete mode 100644 vendor/golang.org/x/tools/go/types/lookup.go delete mode 100644 vendor/golang.org/x/tools/go/types/methodset.go delete mode 100644 vendor/golang.org/x/tools/go/types/object.go delete mode 100644 vendor/golang.org/x/tools/go/types/objset.go delete mode 100644 vendor/golang.org/x/tools/go/types/operand.go delete mode 100644 vendor/golang.org/x/tools/go/types/ordering.go delete mode 100644 vendor/golang.org/x/tools/go/types/package.go delete mode 100644 vendor/golang.org/x/tools/go/types/predicates.go delete mode 100644 vendor/golang.org/x/tools/go/types/resolver.go delete mode 100644 vendor/golang.org/x/tools/go/types/return.go delete mode 100644 vendor/golang.org/x/tools/go/types/scope.go delete mode 100644 vendor/golang.org/x/tools/go/types/selection.go delete mode 100644 vendor/golang.org/x/tools/go/types/sizes.go delete mode 100644 vendor/golang.org/x/tools/go/types/stmt.go delete mode 100644 vendor/golang.org/x/tools/go/types/type.go delete mode 100644 vendor/golang.org/x/tools/go/types/typestring.go delete mode 100644 vendor/golang.org/x/tools/go/types/typeutil/imports.go delete mode 100644 vendor/golang.org/x/tools/go/types/typeutil/map.go delete mode 100644 vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go delete mode 100644 vendor/golang.org/x/tools/go/types/typeutil/ui.go delete mode 100644 vendor/golang.org/x/tools/go/types/typexpr.go delete mode 100644 vendor/golang.org/x/tools/go/types/universe.go delete mode 100644 vendor/golang.org/x/tools/imports/fix.go delete mode 100644 vendor/golang.org/x/tools/imports/imports.go delete mode 100644 vendor/golang.org/x/tools/imports/mkindex.go delete mode 100644 vendor/golang.org/x/tools/imports/mkstdlib.go delete mode 100644 vendor/golang.org/x/tools/imports/sortimports.go delete mode 100644 vendor/golang.org/x/tools/imports/sortimports_compat.go delete mode 100644 vendor/golang.org/x/tools/imports/zstdlib.go delete mode 100644 vendor/golang.org/x/tools/oracle/TODO delete mode 100644 vendor/golang.org/x/tools/oracle/callees.go delete mode 100644 vendor/golang.org/x/tools/oracle/callers.go delete mode 100644 vendor/golang.org/x/tools/oracle/callstack.go delete mode 100644 vendor/golang.org/x/tools/oracle/definition.go delete mode 100644 vendor/golang.org/x/tools/oracle/describe.go delete mode 100644 vendor/golang.org/x/tools/oracle/freevars.go delete mode 100644 vendor/golang.org/x/tools/oracle/implements.go delete mode 100644 vendor/golang.org/x/tools/oracle/oracle.go delete mode 100644 vendor/golang.org/x/tools/oracle/peers.go delete mode 100644 vendor/golang.org/x/tools/oracle/pointsto.go delete mode 100644 vendor/golang.org/x/tools/oracle/pos.go delete mode 100644 vendor/golang.org/x/tools/oracle/referrers.go delete mode 100644 vendor/golang.org/x/tools/oracle/serial/serial.go delete mode 100644 vendor/golang.org/x/tools/oracle/what.go delete mode 100644 vendor/golang.org/x/tools/oracle/whicherrs.go delete mode 100644 vendor/golang.org/x/tools/present/args.go delete mode 100644 vendor/golang.org/x/tools/present/caption.go delete mode 100644 vendor/golang.org/x/tools/present/code.go delete mode 100644 vendor/golang.org/x/tools/present/doc.go delete mode 100644 vendor/golang.org/x/tools/present/html.go delete mode 100644 vendor/golang.org/x/tools/present/iframe.go delete mode 100644 vendor/golang.org/x/tools/present/image.go delete mode 100644 vendor/golang.org/x/tools/present/link.go delete mode 100644 vendor/golang.org/x/tools/present/parse.go delete mode 100644 vendor/golang.org/x/tools/present/style.go delete mode 100644 vendor/golang.org/x/tools/refactor/importgraph/graph.go diff --git a/vendor/github.com/b3log/wide/Dockerfile b/vendor/github.com/b3log/wide/Dockerfile deleted file mode 100644 index 7487fa8..0000000 --- a/vendor/github.com/b3log/wide/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM golang:latest -MAINTAINER Liang Ding - -ENV GOROOT /usr/local/go - -RUN apt-get update && apt-get install bzip2 zip unzip && cp -r /usr/local/go /usr/local/gobt -ENV GOROOT_BOOTSTRAP=/usr/local/gobt - -ADD . /wide/gogogo/src/github.com/b3log/wide - -RUN useradd wide && useradd runner - -ENV GOPATH /wide/gogogo - -RUN go build github.com/go-fsnotify/fsnotify\ - && go build github.com/gorilla/sessions\ - && go build github.com/gorilla/websocket\ - && go install github.com/visualfc/gotools github.com/nsf/gocode github.com/bradfitz/goimports - -WORKDIR /wide/gogogo/src/github.com/b3log/wide -RUN go build -v - -EXPOSE 7070 diff --git a/vendor/github.com/b3log/wide/LICENSE b/vendor/github.com/b3log/wide/LICENSE deleted file mode 100644 index b447376..0000000 --- a/vendor/github.com/b3log/wide/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/b3log/wide/README.md b/vendor/github.com/b3log/wide/README.md deleted file mode 100644 index fb2e572..0000000 --- a/vendor/github.com/b3log/wide/README.md +++ /dev/null @@ -1,180 +0,0 @@ -# [Wide](https://github.com/b3log/wide) [![Build Status](https://img.shields.io/travis/b3log/wide.svg?style=flat)](https://travis-ci.org/b3log/wide) [![Go Report Card](https://goreportcard.com/badge/github.com/b3log/wide)](https://goreportcard.com/report/github.com/b3log/wide) [![Coverage Status](https://img.shields.io/coveralls/b3log/wide.svg?style=flat)](https://coveralls.io/r/b3log/wide) [![Apache License](https://img.shields.io/badge/license-apache2-orange.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0) [![API Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/b3log/wide) [![Download](https://img.shields.io/badge/download-~4.3K-red.svg?style=flat)](https://pan.baidu.com/s/1dD3XwOT) - -_Have a [try](https://wide.b3log.org/signup) first, then [download](https://pan.baidu.com/s/1dD3XwOT) and setup it on your local area network, enjoy yourself!_ - -先试试我们搭建好的[在线服务](https://wide.b3log.org/signup),你可以在这里[下载](https://pan.baidu.com/s/1dD3XwOT)并在本地环境运行,然后邀请小伙伴们来玩吧! - -> * 关于 Wide 的产品定位,请看[这里](https://hacpai.com/article/1438407961481),并欢迎参与讨论~ -> * 加入[**黑客派**](https://hacpai.com/register),与其他程序员、设计师共同成长! - -## Introduction - -A Web-based IDE for Teams using Go programming language/Golang. - -![Hello, 世界](https://cloud.githubusercontent.com/assets/873584/4606377/d0ca3c2a-521b-11e4-912c-d955ab05850b.png) - -## Authors - -[Daniel](https://github.com/88250) and [Vanessa](https://github.com/Vanessa219) are the main authors of Wide, [here](https://github.com/b3log/wide/graphs/contributors) are all contributors. - -Wide 的主要作者是 [Daniel](https://github.com/88250) 与 [Vanessa](https://github.com/Vanessa219),所有贡献者可以在[这里](https://github.com/b3log/wide/graphs/contributors)看到。 - -## Motivation - -* **Team** IDE: - * _Safe and reliable_: the project source code stored on the server in real time, the developer's machine crashes without losing any source code - * _Unified environment_: server unified development environment configuration, the developer machine without any additional configuration - * _Out of the box_: 5 minutes to setup a server then open browser to develop, debug - * _Version Control_: each developer has its own source code repository, easy sync with the trunk -* **Web-based** IDE: - * Developer needs a browser only - * Cross-platform, even on mobile devices - * Easy to extend - * Easy to integrate with other systems - * For the geeks -* A try for commercial-open source: versions customized for enterprises, close to their development work flows respectively -* Currently more popular Go IDE has some defects or regrets: - * Text editor (vim/emacs/sublime/Atom, etc.): For the Go newbie is too complex - * Plug-in (goclipse, etc.): the need for the original IDE support, not professional - * LiteIDE: no modern user interface :p - * No team development experience -* There are a few of GO IDEs, and no one developed by Go itself, this is a nice try - -## Features - -* [X] Code Highlight, Folding: Go/HTML/JavaScript/Markdown etc. -* [X] Autocomplete: Go/HTML etc. -* [X] Format: Go/HTML/JSON etc. -* [X] Build & Run -* [X] Multiplayer: a real team development experience -* [X] Navigation, Jump to declaration, Find usages, File search etc. -* [X] Shell: run command on the server -* [X] Web development: HTML/JS/CSS editor with [Emmet](https://emmet.io) integrated -* [X] Go tool: go get/install/fmt etc. -* [X] File Import & Export -* [X] Themes: editor and UI adjust, respectively -* [X] Cross-Compilation -* [ ] Debug -* [ ] Git integration: git command on the web - -## Screenshots - -* **Overview** - - ![Overview](https://cloud.githubusercontent.com/assets/873584/5450620/1d51831e-8543-11e4-930b-670871902425.png) -* **Goto File** - - ![Goto File](https://cloud.githubusercontent.com/assets/873584/5450616/1d495da6-8543-11e4-9285-f9d9c60779ac.png) -* **Autocomplete** - - ![Autocomplete](https://cloud.githubusercontent.com/assets/873584/5450619/1d4d5712-8543-11e4-8fe4-35dbc8348a6e.png) -* **Theme** - - ![4](https://cloud.githubusercontent.com/assets/873584/5450617/1d4c0826-8543-11e4-8b86-f79a4e41550a.png) -* **Show Expression Info** - - ![Show Expression Info](https://cloud.githubusercontent.com/assets/873584/5450618/1d4cd9f4-8543-11e4-950f-121bd3ff4a39.png) -* **Build Error Info** - - ![Build Error Info](https://cloud.githubusercontent.com/assets/873584/5450632/3e51cccc-8543-11e4-8ca8-8d2427aa16b8.png) -* **Git Clone** - - ![Git Clone](https://cloud.githubusercontent.com/assets/873584/6545235/2284f230-c5b7-11e4-985e-7e04367921b1.png) -* **Cross-Compilation** - - ![Cross-Compilation](https://cloud.githubusercontent.com/assets/873584/10130037/226d75fc-65f7-11e5-94e4-25ee579ca175.png) - -* **Playground** - ![Playground](https://cloud.githubusercontent.com/assets/873584/21209772/449ecfd2-c2b1-11e6-9aa6-a83477d9f269.gif) - -## Architecture - -### Build & Run - -![Build & Run](https://cloud.githubusercontent.com/assets/873584/4389219/3642bc62-43f3-11e4-8d1f-06d7aaf22784.png) - - * A browser tab corresponds to a Wide session - * Execution output push via WebSocket - -Flow: - 1. Browser sends ````Build```` request - 2. Server executes ````go build```` command via ````os/exec````
- 2.1. Generates a executable file - 3. Browser sends ````Run```` request - 4. Server executes the file via ````os/exec````
- 4.1. A running process
- 4.2. Execution output push via WebSocket channel - 5. Browser renders with callback function ````ws.onmessage```` - -### Code Assist - -![Code Assist](https://cloud.githubusercontent.com/assets/873584/4399135/3b80c21c-4463-11e4-8e94-7f7e8d12a4df.png) - - * Autocompletion - * Find Usages/Jump To Declaration/etc. - -Flow: - 1. Browser sends code assist request - 2. Handler gets user workspace of the request with HTTP session - 3. Server executes ````gocode````/````ide_stub(gotools)````
- 3.1 Sets environment variables (e.g. ${GOPATH})
- 3.2 ````gocode```` with ````lib-path```` parameter - -## Documents - -* [用户指南](https://www.gitbook.com/book/88250/wide-user-guide) -* [开发指南](https://www.gitbook.com/book/88250/wide-dev-guide) - -## Setup - -### Download Binary - -We have provided OS-specific executable binary as follows: - -* linux-amd64/386 -* windows-amd64/386 -* darwin-amd64/386 - -Download [HERE](https://pan.baidu.com/s/1dD3XwOT)! - -### Build Wide for yourself - -1. [Download](https://github.com/b3log/wide/archive/master.zip) source or by `git clone https://github.com/b3log/wide` -2. Get dependencies with - * `go get` - * `go get github.com/visualfc/gotools github.com/nsf/gocode github.com/bradfitz/goimports` -3. Compile wide with `go build` - -### Docker - -1. Get image: `sudo docker pull 88250/wide:latest` -2. Run: `sudo docker run -p 127.0.0.1:7070:7070 88250/wide:latest ./wide -docker=true -channel=ws://127.0.0.1:7070` -3. Open browser: http://127.0.0.1:7070 - -## Known Issues - -* [Shell is not available on Windows](https://github.com/b3log/wide/issues/32) -* [Rename directory](https://github.com/b3log/wide/issues/251) - -## Terms - -* This software is open sourced under the Apache License 2.0 -* You can not get rid of the "Powered by [B3log](https://b3log.org)" from any page, even which you made -* If you want to use this software for commercial purpose, please mail to support@liuyun.io for a commercial license request -* Copyright © b3log.org, all rights reserved - -## Credits - -Wide is made possible by the following open source projects. - -* [golang](https://golang.org) -* [CodeMirror](https://github.com/marijnh/CodeMirror) -* [zTree](https://github.com/zTree/zTree_v3) -* [LiteIDE](https://github.com/visualfc/liteide) -* [gocode](https://github.com/nsf/gocode) -* [Gorilla](https://github.com/gorilla) -* [Docker](https://docker.com) - ----- - - diff --git a/vendor/github.com/b3log/wide/TERMS.md b/vendor/github.com/b3log/wide/TERMS.md deleted file mode 100644 index 0fdd02a..0000000 --- a/vendor/github.com/b3log/wide/TERMS.md +++ /dev/null @@ -1,4 +0,0 @@ -* This software is open sourced under the Apache License 2.0 -* You can not get rid of the "Powered by [B3log](https://b3log.org)" from any pages, even the pages are developed by you -* If you want to use this software for commercial purpose, please mail to support@liuyun.io for request a commercial license -* Copyright (c) b3log.org, all rights reserved diff --git a/vendor/github.com/b3log/wide/coverage.sh b/vendor/github.com/b3log/wide/coverage.sh deleted file mode 100644 index 378fe42..0000000 --- a/vendor/github.com/b3log/wide/coverage.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# see https://gist.github.com/hailiang/0f22736320abe6be71ce for more details - -set -e - -# Run test coverage on each subdirectories and merge the coverage profile. - -echo "mode: count" > profile.cov - -# Standard go tooling behavior is to ignore dirs with leading underscors -for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); -do -if ls $dir/*.go &> /dev/null; then - go test -covermode=count -coverprofile=$dir/profile.tmp $dir - if [ -f $dir/profile.tmp ] - then - cat $dir/profile.tmp | tail -n +2 >> profile.cov - rm $dir/profile.tmp - fi -fi -done - -go tool cover -func profile.cov - diff --git a/vendor/github.com/b3log/wide/gulpfile.js b/vendor/github.com/b3log/wide/gulpfile.js deleted file mode 100644 index 7902f7c..0000000 --- a/vendor/github.com/b3log/wide/gulpfile.js +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) 2014-2015, b3log.org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @file frontend tool. - * - * @author Liyuan Li - * @version 0.1.0.0, Dec 15, 2015 - */ -var gulp = require("gulp"); -var concat = require('gulp-concat'); -var minifyCSS = require('gulp-minify-css'); -var uglify = require('gulp-uglify'); -var sourcemaps = require("gulp-sourcemaps"); - -gulp.task('cc', function () { - // css - var cssLibs = ['./static/js/lib/jquery-layout/layout-default-latest.css', - './static/js/lib/codemirror-5.1/codemirror.css', - './static/js/lib/codemirror-5.1/addon/hint/show-hint.css', - './static/js/lib/codemirror-5.1/addon/lint/lint.css', - './static/js/lib/codemirror-5.1/addon/fold/foldgutter.css', - './static/js/lib/codemirror-5.1/addon/dialog/dialog.css', - './static/js/overwrite/codemirror/theme/*.css']; - gulp.src(cssLibs) - .pipe(minifyCSS()) - .pipe(concat('lib.min.css')) - .pipe(gulp.dest('./static/css/')); - - gulp.src('./static/js/lib/ztree/zTreeStyle.css') - .pipe(minifyCSS()) - .pipe(concat('zTreeStyle.min.css')) - .pipe(gulp.dest('./static/js/lib/ztree/')); - - var cssWide = ['./static/css/dialog.css', - './static/css/base.css', - './static/css/wide.css', - './static/css/side.css', - './static/css/start.css', - './static/css/about.css' - ]; - - gulp.src(cssWide) - .pipe(minifyCSS()) - .pipe(concat('wide.min.css')) - .pipe(gulp.dest('./static/css/')); - - - // js - var jsLibs = ['./static/js/lib/jquery-2.1.1.min.js', - './static/js/lib/jquery-ui.min.js', - './static/js/lib/jquery-layout/jquery.layout-latest.js', - './static/js/lib/reconnecting-websocket.js', - './static/js/lib/Autolinker.min.js', - './static/js/lib/emmet.js', - './static/js/lib/js-beautify-1.5.4/beautify.js', - './static/js/lib/js-beautify-1.5.4/beautify-html.js', - './static/js/lib/js-beautify-1.5.4/beautify-css.js', - './static/js/lib/jquery-file-upload-9.8.0/vendor/jquery.ui.widget.js', - './static/js/lib/jquery-file-upload-9.8.0/jquery.iframe-transport.js', - './static/js/lib/jquery-file-upload-9.8.0/jquery.fileupload.js', - './static/js/lib/codemirror-5.1/codemirror.min.js', - './static/js/lib/codemirror-5.1/addon/lint/lint.js', - './static/js/lib/codemirror-5.1/addon/lint/json-lint.js', - './static/js/lib/codemirror-5.1/addon/selection/active-line.js', - './static/js/lib/codemirror-5.1/addon/selection/active-line.js', - './static/js/overwrite/codemirror/addon/hint/show-hint.js', - './static/js/lib/codemirror-5.1/addon/hint/anyword-hint.js', - './static/js/lib/codemirror-5.1/addon/display/rulers.js', - './static/js/lib/codemirror-5.1/addon/edit/closebrackets.js', - './static/js/lib/codemirror-5.1/addon/edit/matchbrackets.js', - './static/js/lib/codemirror-5.1/addon/edit/closetag.js', - './static/js/lib/codemirror-5.1/addon/search/searchcursor.js', - './static/js/lib/codemirror-5.1/addon/search/search.js', - './static/js/lib/codemirror-5.1/addon/dialog/dialog.js', - './static/js/lib/codemirror-5.1/addon/search/match-highlighter.js', - './static/js/lib/codemirror-5.1/addon/fold/foldcode.js', - './static/js/lib/codemirror-5.1/addon/fold/foldgutter.js', - './static/js/lib/codemirror-5.1/addon/fold/brace-fold.js', - './static/js/lib/codemirror-5.1/addon/fold/xml-fold.js', - './static/js/lib/codemirror-5.1/addon/fold/markdown-fold.js', - './static/js/lib/codemirror-5.1/addon/fold/comment-fold.js', - './static/js/lib/codemirror-5.1/addon/fold/mode/loadmode.js', - './static/js/lib/codemirror-5.1/addon/fold/comment/comment.js', - './static/js/lib/codemirror-5.1/mode/meta.js', - './static/js/lib/codemirror-5.1/mode/go/go.js', - './static/js/lib/codemirror-5.1/mode/clike/clike.js', - './static/js/lib/codemirror-5.1/mode/xml/xml.js', - './static/js/lib/codemirror-5.1/mode/htmlmixed/htmlmixed.js', - './static/js/lib/codemirror-5.1/mode/javascript/javascript.js', - './static/js/lib/codemirror-5.1/mode/markdown/markdown.js', - './static/js/lib/codemirror-5.1/mode/css/css.js', - './static/js/lib/codemirror-5.1/mode/shell/shell.js', - './static/js/lib/codemirror-5.1/mode/sql/sql.js', - './static/js/lib/codemirror-5.1/keymap/vim.js', - './static/js/lib/lint/json-lint.js', - './static/js/lib/lint/go-lint.js']; - gulp.src(jsLibs) - .pipe(uglify()) - .pipe(concat('lib.min.js')) - .pipe(gulp.dest('./static/js/')); - - var jsWide = ['./static/js/tabs.js', - './static/js/tabs.js', - './static/js/dialog.js', - './static/js/editors.js', - './static/js/notification.js', - './static/js/tree.js', - './static/js/wide.js', - './static/js/session.js', - './static/js/menu.js', - './static/js/windows.js', - './static/js/hotkeys.js', - './static/js/bottomGroup.js' - ]; - gulp.src(jsWide) - .pipe(sourcemaps.init()) - .pipe(uglify()) - .pipe(concat('wide.min.js')) - .pipe(sourcemaps.write(".")) - .pipe(gulp.dest('./static/js/')); -}); \ No newline at end of file diff --git a/vendor/github.com/b3log/wide/header.exe b/vendor/github.com/b3log/wide/header.exe deleted file mode 100644 index 3d725bb268e449d2a85365be5070473d72b3c481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3235840 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Ξ(x}$Xp(Fwfsp%)(ekIZy|E4pqjCi+w>jH#Qn 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%0A#FdqlZ$T9^pg5PkDsAK+^V|UMu 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

BLv;Pl@110 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

#0;@NUUo*;|S zO$jbCWc$X|0qMUGp}Rf+wHM+eOZg?f`*z>`Dtqr1{`sX0V#8w$di z$G22Qteg1J3dJZfsQ`3Pm#2LkBf6RGi-qLX4IFh+4$AAgb5s6bQ~zt%VBs6vat*#8 zN)6@dW{D_!I6ogjYw}zVICl%nWK(JcR{v?z^T3CoDv{xa-ukVlgTWA}$Ox$fR(IBr z{U9A&$Y`8f_^*$BI{4K;Z%YRcl^$+g2Y2pHENIA$4$fk}&eJp^ip24~9lfCjo`A!n zE&)ZyzD7<0Be;B~gP8F!-~TY1jjT)dS&OX^3IbXJ{uFgS2a4Jmn_to{_oDwZON&IC z2t_bGqBhjB7EQg>cSgi@9hxt79fSyEoTwFc(yZkZztu_-NbFhGvyU{Eb+5rb%No&C z&3~jDRkbanWevYB{5IJ~YZ>|FwyaJ|SW|TPM?Q-Fd!0~pkXa#-8Y*SFERr~Jw~S#; zZ5G=M8%~GU<1*UTVkrhy2H4G3Wq!Isa}}wjejNS|^Y%@f4szmC@CCMoa+(h=$W~z+ znKle2Zzno{dac5Ah87)VsxZ#Ht>OEOIB}k0$Elj;z;!N{1}dx$DuRDBUekQ{O}_h9 zd+!zwUSU-jxJB9{w|JwQ3qHu^y*WB16OFU(o>kay{YFnz7~3b%Y#R*Ua6%3hM%a5A z-IPzxslu`yi6M(2-Zr2BOw#^nX#!0(nnhIR88ZQgN4)^M=4mKJ%t4$=$;(ahAdCL6 zYu86GO`C&AKtROZ9uN6MF3jpJM%>V%$0&MTLoCv3{3?RhB#mRt ztbX&Y#td8q39ms(2!|Yp)SNqCgNR|gwNOe+YEG?wi9k!EysU?2HcXn(u@)`El(MnK zkxarHH2#aJYb3!abpHF4W0UAMlJ)q~ao` zbK3lcu%|Y$hUU$EF({=DCV$0$tM7`OI0eJ+9$#meM)NlUEaurdLwA^G>kPG-=iKnI zS8B;s+tMu60D^ziEH%FSTHpOdd+!!L-C;EgBGPO>+bs^h+f}o$elj=fCSEi@X(N=O zX7xv1og=m{LcyyW*yFeynnl;0+c|pw@?L0`XP(p)7Gg!WY9#;yJ zUnfJOd4cS~CQt@WJ7Tk!NoGFWX{*Tf6e2l9>n+qnR5Xz_QFF0+PA1yyYt2CVE!Dww zkLfI&0-L)aB>kmXV{9erVIwhCq86HGD^W}MOmmAX|HRzddpGch=dC{niDyy4f@f9- zuJ6kHtcOfIjaN5tnruxB(D6wy%=%qBe{GqVjY;s2H)_|*dcnlsJ`VbCPx?1+?(fVR zOO>1G*=hyGXscCBz}ncH*a2=tJcnR{0=X56Mj zC*JZ|teLE1bv-;!NzG2}EoHhGtv@*#qm{~&61nWwgHj9$+CWD3Cb=r58T?kzv0%g{e0Y7n$4}%5BvZhYjnCRw@Piot%tAJ3bz)?%ieSA9p8Z_ zZYci^AGiMbkJ;QBlQLbnb(px5#!Wd*O620!&OyWolAgPB>wErJnp^#v!!Guvd}9y` zFAKpMnG7pZeIkB#E$f(113O(pOB%*U{Enflzkc?Tzch33+o;J@9*ZUK0jf=G5e zY{Q3q<;6;6l#MBaPO={i9qc=@Ncn)38$b2x$V9zide@|OXQOtq<=o|hb#Joe{ce*j z3kGUj5}fo4*?Kk$Tav2Di0)m-Y0j1CLR_Ce>Bn(ScT_FEWE=c`%YKI6&o;{p(3`kk zZtaHBzv||sXqSz{_+KuQPX2)4%&OEsxaE&qcU%+IBa zhFlK;pyP#VG=I1ka?(btxn`UNpW;VERjxn9$8vkHUq0@NCIfr#!j$gN5MDSE(d&fI zz(EhGN+dvIBWY*WVYo>x$1W^lqtQby92PEX$iA|wqQJ-ObX8pyU4JM3c^usZ8QfaMKN+h9T zFQf!iZp$SY_H&}f1e{u!irM2w@HPw7u#30Bq<=3lO#0OK+N%;KEn+9!(A2xP!lZw0 z7bcZhlQ<_PMNQN|x3o;B<#=(O3!i(<$Dngr$2wYk*^NW*GSqcLj(4}q@MvlawOG!1 zoJCSBE~$*#;%A{|X-PY2iQHiHkf`bBWt8PySKd?RCDPb#Cw7v7cSF18C7Z%{Xzs+$ zWar4QW3WEl9TbkN{gC@zc5FH}(vcb!$zO}xz7Wq3?0mT92?&W=`haBzXa|W12wOl` zf*t4S^z!5$SD-NoOzHuN9RpByH%Pz8O8Bsj`~=R*>|9%>KHp!vx8*Dlp_vF{wS4SM z@{Xp~9cx$z&Q5E&mwG)hm(R($(OF#;onR`sY>xZjftxjN5v%G;IPLr zWLC}890+CkR@Pea=R6`0T|<{8xQafgA>)u0>YzgPNR!S{CUUWBI(G}|P{%~vp#_nS zfAs;re@;8`tKJznHSmIM$izE)8JW26Up|>AAc$`0f;+Y%6YbCaFqs&Ea3{Fpkym^& z(a1V{G7*w8UE;4R#f8#(JC)|}E2m7fNwK&rnCy*A%spD8M#tIzOs22{3Gm7WKFe4P zCLNUEUJQedh%n-%38BwTq$%lYqi}#+n+KcJN*h)BNH$k@sck*QS6PbRK*pR zVyG9k1ujmng7v~rqGOq*c^LLeOub+>N8Fa8{Y?CH;lqXm#WGm$(OqaXe;IB`@ST}p95u!bsTB(2@&7QCM zSh9fdv3-8Wwh?Sd%W*mQjKKz*X{776!3Gr6!3N%_1!wmn*f9GZ(A?^F=tt{^)TNsK z$u~xEivxD}jyo_qG^#Hz8T&Q{RivM7+H{4}@)QBUDknWdT=AzJIC;%jCeAB9W(-#FTm$F4i#1htl`i@2%bszEn^9r!DT=Zwh_Gs z+gYFn{z}q)#|%QV!?4mYYxkp`&R>xe0Ghw3;h7jn*yMj`yjFA=IYaiIe^RJQwrJ)t zEc=klWWRJC1d6-<^_P2JsWBo+_>@-LC_MmKPR0(ilQ`xo@Y+3Ap~@SU_E`So<=HGR zslHU)NkZ4WyhiVUDxehuc^m4zz{oN>DNM);^bx{YPGl~t`bgn>ScO0Dr zE^X%N6K)jnd0J?#_+#u6k{MA)BS1Jth83euz*b12%WU8A8Qlc*9oio0SnAJrk%DH? zWEpEH=lQmTNl>b>nOY9s$%b>HY#ypc2EkcRfD#^O>6_gA^%?nV#urV}tw~rn0+oRO z0((yHiN%QeA{5V4@BG3FF362;T3;SQeZ89;Lmq2(YcpdBY$VUvou9Ls|}GO)R`U`xgY9La#O zv~LL!m?eH2MZk(aR4pmz2423#pcHRJ6roJKu?6l>5RRbwww_qcRGGo$ZeUK5oH81S z9gY9{)g!zO+^4P+Zt#7S3_Z|a82naVbf;-F-nqBy4a(5B5u$2%7fO`DO9=RyMT zOZ}Nmn@uX-v9M&%{Fasx;_60Aj@4Qaq|=6E+;djAK|07pmo*4j6(Q)Dv7A_1hQr%p z`}07xW;sVK0a;EK?%hwwI)oQc6l5hq&X@=Mc%!v302}fVBu7Hgir|c)C~%y%{hQh2 zG$E=KF-Su@szjC$qBy^qNVbI1lr`Zdxs_Y)#Tq!fsR{S|8q%+2ORQMjV?H3fyO7r| zy^17mW7%Zk+{a}YgJ|vz>+wT+MZ~?0H<83nIvqs4{|}8W03c^q>Be{xvAMg2hoH^s z3oDR%j}nkzf{}EHx@eeC&993h>;(FR{jV{HSxXz#BrO^(>jwVin|{=4*&z9hXE@8cu&mo zuPb)d<|`=0I1>CQisvL8>VN~i>hn=eEu=KJy^;e(vd`NU&Vf@peMc}aPrd<+_BcXO zbaDjW`1%jAX+nO}ruzEz>_ZI>i|Oyo6#Zej(VSxE_7hIjE~=y?x}#w{$dL`N``oM2 z2$3a3q}UX&kGRo?CO-C){^)VWuU{R@0UqkC%>b(|6@;kCc|ZXZ$+IkYZhR!!X!92l z`txwH_@Cf|kl{uINrVd=1Q^u>l$SU%auSav9$-i%r;z(#T0CgJ6t@JEA8O{h>`qh6 zP^6Ca9E*CUu?t~1LXl-^F#?~dQ$d67>kXk_&G|sjGrOwi^MTr=Pdv8qG!}%>r;d>W z1^0GZj^S@SA`&}#G+&Mf?1PfOg-btL_Tej@0XcI=`OxeaOphR6e+4pf4^EyYh9xHC zQjFp-#CbP}yUaC1>Y&^p3oWPwkjPQ?o@PAQQ%AYNSAk-v5zFCK=ef2 z@y_Bwd83;)jRy@ORZ$#CUsbWmad~o+)2#46N<{PWQRD(=_FaG&cl$L=!2f&K55;z{ zQwqkk4jK|^ZtoM>@?xq6Os1ax1(gQN;Yhx}WN8~{o+YS*fBd~&?r>;qT$Uh#trlpn z%^XvRIu425h5yIL=HdSf>VGFKuIM)edjaYeKcnk$ylwG{h6u_{Fp#0#AX|=W^VJ?+ zIj7|!>LkLCQUh$MJ6P(U*vwAgpPZ>DWJ|~yac|fXu}q2WZHY5j$M0>4dZ$HFTtOh2 zldno_iVR;FMfBidbbego^{U}7j^p;TSHRjt^V@|v7>JSmTvQUSD|n&^dSWCd)aMLB zDQXC)l~ci-a8*a;tp};*d;w=-RNe;M&R@nIVC4*SF?*D>m3SLTydN2kgZ{8{DO#>d zbVi2bP|__<{C>RT7BS?Ciru`I;uMupyy@p_`2<0T$6sTJTU9Q67#vetU}9Vf6B;_1go7goO}Y2;^1g(^=jKc+&6 z9#n5XkREqXy_Os40O(d|B8VwfQSeKjglS#uRIj>$6!)TxtO?#x`EFZ55z<@9Eau={UU2WGmam4 zOtrUKM;z={O?(s)57UU0V)7!qRazTi+KO))PKI1vJ4P54_NfWj^?8wp9pp1UFej_D zI3`}>=ctHd9Mm=~^(dzT60hTIsA>T*Qt?tlndhs+A*O!k$fO-tqt_89$=2&?C;e^W z<<#d$V^RVAXlxSgt9bsXMQX$ER9XCeYqerK?a1(VsuCL`!{5i|?AR0_AE%)X^~t4r z1smUZ+#{-}zCV1<{Mcyf1t`^_j^}h6jYve)c^2LH4vyQ7P`Wd72L4woFC?uz(@pH9 z9>NQV=+$CmUe}IB>Sp{1za_nq|E2MIUw$6ENIv&F<3N~c&CeVpKQS<1c5smNrfOt6g@)Yg(EiTam7^~w6?!|{MZ z{p7IbOE>^203zVtX|GF$4cS|AlJPB+_n=D+)Jc8Qk)E(i_-AYix|O`!&*?R2@vzFX@1fs_Y6H0 z-tssn48@*tgffPv2EemK9CbwM;`#hPl0a$nE{NY{oF#i*NG2fAGZ=cBM=l5g;0v%0 z6Qu?9%GAjQ0TK4BmVlO%tdKUDrGW9};ehRI^WFM0?5I7G7^$gG_zE;Cmmi@|Bb2h{ ztcq5GD&Zq+i2u>|R=u?mnCJuU%B^3VS+D8-gSjR_S3&2M z(KeGp{EN8ykTqZ32w z>5z2V#{jHXM51_^{Mt?byJJc==y>XQ=ql*LHew*LKo3S;bA_b0^LNXr6|0=)eOdmp zcIYWRbcrN~_TexA2#xgtE@J4n%VSY8V1K@s0UOCS^p#hk&MMaRHg3kDF4>f#${hrd zfx9uu(9*kh%R8RxX%M`P4q+gMgRm9 z`e8ZO!U9)>1086FHe4`E6xi-DW@8wW5&?$FG-W@)f){S_9r$d4Eg+*J3db^83?l^B z=#Y&rQ&)f>>gk`0Q40T^_75`bqfa+_h0KUet0Fsx8elQJuIv#qN zjP-?fuk6dF>jbZ)(YQp1MQz#1$({P1oE+ab7_E3e_J5J&puRv7KB5vrJ;AZbetpL# zqx?nq2IgJexf6-T7#YT!^V_pSNjgG`u(8=~l#!^;9kt9Cb9zRS14szUJwQAoKWx3w zT@kZ+v%c0@e8#S2h*IU3mA_a&M(e}wF)>0QeT88%`9j4?Z?X!5nGIAcw_$qSQcM}maIF#=X1)KhJdexM0 zRdVF!s)~*Ehaj*MjBHsM#eqE)A2hDwM?3Kg)X2iiG{==KQ_r7Cz`e&O#(!~08o<7U&K6D^Vto|{rR?MqoYyy zMsDEZUKHJnMTLkkhIdfmxuHLu%_h3Kn9>8r^m(IFC;7gc#_v{k;D3CMwF2m`jUc;= zWM`uh*k)VTfBcBm$B$TdJmbmOvxi?`^xDY^5Lrc}3Rmn2E!U;8Br<9MlYN-+JGYlE zm#aA^98-NaOn30Y-FFHgk0wgGIL8E7W+Ql`4)H_ITsZn+1_XqxB##Uub%LOwW_}za zVA3c`Dpm*Jr6hn^kM{(=My?s)tN9&(m+w(t13ga`6-Ut$J0C@e+MSLgu%gMmqlpJf zu*ov|aRKZo0@b`vAok!{--6vVn?#eQB)(`R@1gWuxh|5ge4o5$coE3?u0|s#3SBZy zV4DPs0s^har%?vbRNqrHRg0X(P)@N)Y{psc{BidP71B)#N_!WTBz%DYtE;TfSkV&m^bNZqA z4z!f=prw2dMwCus)2(uWRewibARyzC3A$DcDsK=B?o=|`w|J|RP4Ix=OXXBBY^_7! zli?a7kss(@!I{@tZ!myyb21kbU_eq?7@VR0jy@&9b;leNV3eeHae*m`ZjD;fVNgp` z%_3rsAfReX2PhQ5w%Un~Xku0BV^D*2wXzX(wux8kynsB@C+K*E-jt2Af@<^GdIR55 zc49q#p-m{3aW&B(xpQgk5#Uv$N{?kB8HSssDfWxG`~nU=JoR~ILvKvfNU)1+j~I6M|G*UNqxvjuAeI+3*T_ zQ7ko?UKGiLfoX|6;P_S{D3WD)0oxq z)Z9GHh2U1HII)vto=g*@<0ENok=cg=jmh)#?Zh!eWXoGbA`hf@;zOl6`w3!!EQ+2; z6~KZ1)UHkkm}qjN)I$fsJ^ZLkNmu9rQI;?_d1~@8Fjv4az08)wf>4R=t?`mK_z@UG zkPY>F>x-@PO5VhePW(c!gVR!t|5-pd7_I2#=;i~6m!`%dvrc{_ATj3vpmjo0KiLln zx|OHYC<6%=Rljl%m%M{{X=orQWpX|IIr-VsmLG{rjd3IZ(d=Npu#lq$e#zaI2z)Ex zWkq}&vo`w7L(*4K?{9dL5YW_wFq`2mwruYFdPTgXUdOl>n_;N_bk0>YgF|kN>6Xt!zTIa^g zM5K-K1|il6i)hOr}=dGxDQ2JTA= z2I@~ETSy~`L0G;bLtUH~klj$7Z3vBQ6ex|^OuQLMd|-`dG_fo-19KP9qbXi2QsqqSNs;TqvM5e!DU=em4oxUu#Y!&Xesq@8Ao7qh{lTzVBa{ol%ZN}0 zk?WO8;5QZ!K}`O>jf90yqUEr%WXqcrAD(2lD^i`T{6ljYp>!5&{goOm^?(inXL0_P8t^v%D515u?>-EAV<0QM9H@mV z7D`_;El3KMvNvmi`m2p@tps|G-!W@9Wp18_k_N#D0(ei|Uu9ANBES z&w%WV0~rGC1W3GT$kUB3ywh*>8hf=ZG%gfTvuZ=Zh SZk^qw{ho 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≪g*mQi5DPwX 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

JN6lw0NZ%SJiMzRCRhXUtN;RB}P%eHM?R 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

N8 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

=|>4?_0 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

aWvIr%9UxQg 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

?cpN997sV($cH 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

S24Cxa~i~8fyj`%H4X;sKtAyex|)gNRaeU- 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�i23^eS1bo6R4g_> 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

Nzz%5qq<wgoF6sV3^0mm9X_O|HBo&9wJm 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

t&=!zU;Fp}`0#KG)$1R-Bb3LdG6 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 I{}TT9{|hI1$p8QV diff --git a/vendor/github.com/b3log/wide/main.go b/vendor/github.com/b3log/wide/main.go deleted file mode 100644 index 3030030..0000000 --- a/vendor/github.com/b3log/wide/main.go +++ /dev/null @@ -1,483 +0,0 @@ -// Copyright (c) 2014-2018, b3log.org & hacpai.com -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "compress/gzip" - "flag" - "html/template" - "io" - "mime" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "runtime" - "strings" - "syscall" - "time" - - "github.com/b3log/wide/conf" - "github.com/b3log/wide/editor" - "github.com/b3log/wide/event" - "github.com/b3log/wide/file" - "github.com/b3log/wide/i18n" - "github.com/b3log/wide/log" - "github.com/b3log/wide/notification" - "github.com/b3log/wide/output" - "github.com/b3log/wide/playground" - "github.com/b3log/wide/scm/git" - "github.com/b3log/wide/session" - "github.com/b3log/wide/util" -) - -// Logger -var logger *log.Logger - -// The only one init function in Wide. -func init() { - confPath := flag.String("conf", "conf/wide.json", "path of wide.json") - confIP := flag.String("ip", "", "this will overwrite Wide.IP if specified") - confPort := flag.String("port", "", "this will overwrite Wide.Port if specified") - confServer := flag.String("server", "", "this will overwrite Wide.Server if specified") - confLogLevel := flag.String("log_level", "", "this will overwrite Wide.LogLevel if specified") - confStaticServer := flag.String("static_server", "", "this will overwrite Wide.StaticServer if specified") - confContext := flag.String("context", "", "this will overwrite Wide.Context if specified") - confChannel := flag.String("channel", "", "this will overwrite Wide.Channel if specified") - confStat := flag.Bool("stat", false, "whether report statistics periodically") - confDocker := flag.Bool("docker", false, "whether run in a docker container") - confPlayground := flag.String("playground", "", "this will overwrite Wide.Playground if specified") - confUsersWorkspaces := flag.String("users_workspaces", "", "this will overwrite Wide.UsersWorkspaces if specified") - - flag.Parse() - - log.SetLevel("warn") - logger = log.NewLogger(os.Stdout) - - wd := util.OS.Pwd() - if strings.HasPrefix(wd, os.TempDir()) { - logger.Error("Don't run Wide in OS' temp directory or with `go run`") - - os.Exit(-1) - } - - i18n.Load() - event.Load() - conf.Load(*confPath, *confIP, *confPort, *confServer, *confLogLevel, *confStaticServer, *confContext, *confChannel, - *confPlayground, *confDocker, *confUsersWorkspaces) - - conf.FixedTimeCheckEnv() - session.FixedTimeSave() - session.FixedTimeRelease() - - if *confStat { - session.FixedTimeReport() - } - - logger.Debug("host ["+runtime.Version()+", "+runtime.GOOS+"_"+runtime.GOARCH+"], cross-compilation ", - util.Go.GetCrossPlatforms()) -} - -// Main. -func main() { - runtime.GOMAXPROCS(conf.Wide.MaxProcs) - - initMime() - handleSignal() - - // IDE - http.HandleFunc(conf.Wide.Context+"/", handlerGzWrapper(indexHandler)) - http.HandleFunc(conf.Wide.Context+"/start", handlerWrapper(startHandler)) - http.HandleFunc(conf.Wide.Context+"/about", handlerWrapper(aboutHandler)) - http.HandleFunc(conf.Wide.Context+"/keyboard_shortcuts", handlerWrapper(keyboardShortcutsHandler)) - - // static resources - http.Handle(conf.Wide.Context+"/static/", http.StripPrefix(conf.Wide.Context+"/static/", http.FileServer(http.Dir("static")))) - serveSingle("/favicon.ico", "./static/favicon.ico") - - // workspaces - for _, user := range conf.Users { - http.Handle(conf.Wide.Context+"/workspace/"+user.Name+"/", - http.StripPrefix(conf.Wide.Context+"/workspace/"+user.Name+"/", http.FileServer(http.Dir(user.WorkspacePath())))) - } - - // session - http.HandleFunc(conf.Wide.Context+"/session/ws", handlerWrapper(session.WSHandler)) - http.HandleFunc(conf.Wide.Context+"/session/save", handlerWrapper(session.SaveContentHandler)) - - // run - http.HandleFunc(conf.Wide.Context+"/build", handlerWrapper(output.BuildHandler)) - http.HandleFunc(conf.Wide.Context+"/run", handlerWrapper(output.RunHandler)) - http.HandleFunc(conf.Wide.Context+"/stop", handlerWrapper(output.StopHandler)) - http.HandleFunc(conf.Wide.Context+"/go/test", handlerWrapper(output.GoTestHandler)) - http.HandleFunc(conf.Wide.Context+"/go/vet", handlerWrapper(output.GoVetHandler)) - http.HandleFunc(conf.Wide.Context+"/go/get", handlerWrapper(output.GoGetHandler)) - http.HandleFunc(conf.Wide.Context+"/go/install", handlerWrapper(output.GoInstallHandler)) - http.HandleFunc(conf.Wide.Context+"/output/ws", handlerWrapper(output.WSHandler)) - - // cross-compilation - http.HandleFunc(conf.Wide.Context+"/cross", handlerWrapper(output.CrossCompilationHandler)) - - // file tree - http.HandleFunc(conf.Wide.Context+"/files", handlerWrapper(file.GetFilesHandler)) - http.HandleFunc(conf.Wide.Context+"/file/refresh", handlerWrapper(file.RefreshDirectoryHandler)) - http.HandleFunc(conf.Wide.Context+"/file", handlerWrapper(file.GetFileHandler)) - http.HandleFunc(conf.Wide.Context+"/file/save", handlerWrapper(file.SaveFileHandler)) - http.HandleFunc(conf.Wide.Context+"/file/new", handlerWrapper(file.NewFileHandler)) - http.HandleFunc(conf.Wide.Context+"/file/remove", handlerWrapper(file.RemoveFileHandler)) - http.HandleFunc(conf.Wide.Context+"/file/rename", handlerWrapper(file.RenameFileHandler)) - http.HandleFunc(conf.Wide.Context+"/file/search/text", handlerWrapper(file.SearchTextHandler)) - http.HandleFunc(conf.Wide.Context+"/file/find/name", handlerWrapper(file.FindHandler)) - - // outline - http.HandleFunc(conf.Wide.Context+"/outline", handlerWrapper(file.GetOutlineHandler)) - - // file export/import - http.HandleFunc(conf.Wide.Context+"/file/zip/new", handlerWrapper(file.CreateZipHandler)) - http.HandleFunc(conf.Wide.Context+"/file/zip", handlerWrapper(file.GetZipHandler)) - http.HandleFunc(conf.Wide.Context+"/file/upload", handlerWrapper(file.UploadHandler)) - http.HandleFunc(conf.Wide.Context+"/file/decompress", handlerWrapper(file.DecompressHandler)) - - // editor - http.HandleFunc(conf.Wide.Context+"/editor/ws", handlerWrapper(editor.WSHandler)) - http.HandleFunc(conf.Wide.Context+"/go/fmt", handlerWrapper(editor.GoFmtHandler)) - http.HandleFunc(conf.Wide.Context+"/autocomplete", handlerWrapper(editor.AutocompleteHandler)) - http.HandleFunc(conf.Wide.Context+"/exprinfo", handlerWrapper(editor.GetExprInfoHandler)) - http.HandleFunc(conf.Wide.Context+"/find/decl", handlerWrapper(editor.FindDeclarationHandler)) - http.HandleFunc(conf.Wide.Context+"/find/usages", handlerWrapper(editor.FindUsagesHandler)) - - // shell - // http.HandleFunc(conf.Wide.Context+"/shell/ws", handlerWrapper(shell.WSHandler)) - // http.HandleFunc(conf.Wide.Context+"/shell", handlerWrapper(shell.IndexHandler)) - - // notification - http.HandleFunc(conf.Wide.Context+"/notification/ws", handlerWrapper(notification.WSHandler)) - - // user - http.HandleFunc(conf.Wide.Context+"/login", handlerWrapper(session.LoginHandler)) - http.HandleFunc(conf.Wide.Context+"/logout", handlerWrapper(session.LogoutHandler)) - http.HandleFunc(conf.Wide.Context+"/signup", handlerWrapper(session.SignUpUserHandler)) - http.HandleFunc(conf.Wide.Context+"/preference", handlerWrapper(session.PreferenceHandler)) - - // playground - http.HandleFunc(conf.Wide.Context+"/playground", handlerWrapper(playground.IndexHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/", handlerWrapper(playground.IndexHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/ws", handlerWrapper(playground.WSHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/save", handlerWrapper(playground.SaveHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/short-url", handlerWrapper(playground.ShortURLHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/build", handlerWrapper(playground.BuildHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/run", handlerWrapper(playground.RunHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/stop", handlerWrapper(playground.StopHandler)) - http.HandleFunc(conf.Wide.Context+"/playground/autocomplete", handlerWrapper(playground.AutocompleteHandler)) - - // git - http.HandleFunc(conf.Wide.Context+"/git/clone", handlerWrapper(git.CloneHandler)) - - logger.Infof("Wide is running [%s]", conf.Wide.Server+conf.Wide.Context) - - err := http.ListenAndServe(conf.Wide.Server, nil) - if err != nil { - logger.Error(err) - } -} - -// indexHandler handles request of Wide index. -func indexHandler(w http.ResponseWriter, r *http.Request) { - if conf.Wide.Context+"/" != r.RequestURI { - http.Redirect(w, r, conf.Wide.Context+"/", http.StatusFound) - - return - } - - httpSession, _ := session.HTTPSession.Get(r, "wide-session") - if httpSession.IsNew { - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - username := httpSession.Values["username"].(string) - if "playground" == username { // reserved user for Playground - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - httpSession.Options.MaxAge = conf.Wide.HTTPSessionMaxAge - if "" != conf.Wide.Context { - httpSession.Options.Path = conf.Wide.Context - } - httpSession.Save(r, w) - - user := conf.GetUser(username) - if nil == user { - logger.Warnf("Not found user [%s]", username) - - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - locale := user.Locale - - wideSessions := session.WideSessions.GetByUsername(username) - - model := map[string]interface{}{"conf": conf.Wide, "i18n": i18n.GetAll(locale), "locale": locale, - "username": username, "sid": session.WideSessions.GenId(), "latestSessionContent": user.LatestSessionContent, - "pathSeparator": conf.PathSeparator, "codeMirrorVer": conf.CodeMirrorVer, - "user": user, "editorThemes": conf.GetEditorThemes(), "crossPlatforms": util.Go.GetCrossPlatforms()} - - logger.Debugf("User [%s] has [%d] sessions", username, len(wideSessions)) - - t, err := template.ParseFiles("views/index.html") - if nil != err { - logger.Error(err) - http.Error(w, err.Error(), 500) - - return - } - - t.Execute(w, model) -} - -// handleSignal handles system signal for graceful shutdown. -func handleSignal() { - go func() { - c := make(chan os.Signal) - - signal.Notify(c, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM) - s := <-c - logger.Tracef("Got signal [%s]", s) - - session.SaveOnlineUsers() - logger.Tracef("Saved all online user, exit") - - os.Exit(0) - }() -} - -// serveSingle registers the handler function for the given pattern and filename. -func serveSingle(pattern string, filename string) { - http.HandleFunc(pattern, func(w http.ResponseWriter, r *http.Request) { - http.ServeFile(w, r, filename) - }) -} - -// startHandler handles request of start page. -func startHandler(w http.ResponseWriter, r *http.Request) { - httpSession, _ := session.HTTPSession.Get(r, "wide-session") - if httpSession.IsNew { - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - httpSession.Options.MaxAge = conf.Wide.HTTPSessionMaxAge - if "" != conf.Wide.Context { - httpSession.Options.Path = conf.Wide.Context - } - httpSession.Save(r, w) - - username := httpSession.Values["username"].(string) - locale := conf.GetUser(username).Locale - userWorkspace := conf.GetUserWorkspace(username) - - sid := r.URL.Query()["sid"][0] - wSession := session.WideSessions.Get(sid) - if nil == wSession { - logger.Errorf("Session [%s] not found", sid) - } - - model := map[string]interface{}{"conf": conf.Wide, "i18n": i18n.GetAll(locale), "locale": locale, - "username": username, "workspace": userWorkspace, "ver": conf.WideVersion, "sid": sid} - - t, err := template.ParseFiles("views/start.html") - - if nil != err { - logger.Error(err) - http.Error(w, err.Error(), 500) - - return - } - - t.Execute(w, model) -} - -// keyboardShortcutsHandler handles request of keyboard shortcuts page. -func keyboardShortcutsHandler(w http.ResponseWriter, r *http.Request) { - httpSession, _ := session.HTTPSession.Get(r, "wide-session") - if httpSession.IsNew { - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - httpSession.Options.MaxAge = conf.Wide.HTTPSessionMaxAge - if "" != conf.Wide.Context { - httpSession.Options.Path = conf.Wide.Context - } - httpSession.Save(r, w) - - username := httpSession.Values["username"].(string) - locale := conf.GetUser(username).Locale - - model := map[string]interface{}{"conf": conf.Wide, "i18n": i18n.GetAll(locale), "locale": locale} - - t, err := template.ParseFiles("views/keyboard_shortcuts.html") - - if nil != err { - logger.Error(err) - http.Error(w, err.Error(), 500) - - return - } - - t.Execute(w, model) -} - -// aboutHandle handles request of about page. -func aboutHandler(w http.ResponseWriter, r *http.Request) { - httpSession, _ := session.HTTPSession.Get(r, "wide-session") - if httpSession.IsNew { - http.Redirect(w, r, conf.Wide.Context+"/login", http.StatusFound) - - return - } - - httpSession.Options.MaxAge = conf.Wide.HTTPSessionMaxAge - if "" != conf.Wide.Context { - httpSession.Options.Path = conf.Wide.Context - } - httpSession.Save(r, w) - - username := httpSession.Values["username"].(string) - locale := conf.GetUser(username).Locale - - model := map[string]interface{}{"conf": conf.Wide, "i18n": i18n.GetAll(locale), "locale": locale, - "ver": conf.WideVersion, "goos": runtime.GOOS, "goarch": runtime.GOARCH, "gover": runtime.Version()} - - t, err := template.ParseFiles("views/about.html") - - if nil != err { - logger.Error(err) - http.Error(w, err.Error(), 500) - - return - } - - t.Execute(w, model) -} - -// handlerWrapper wraps the HTTP Handler for some common processes. -// -// 1. panic recover -// 2. request stopwatch -// 3. i18n -func handlerWrapper(f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) { - handler := panicRecover(f) - handler = stopwatch(handler) - handler = i18nLoad(handler) - - return handler -} - -// handlerGzWrapper wraps the HTTP Handler for some common processes. -// -// 1. panic recover -// 2. gzip response -// 3. request stopwatch -// 4. i18n -func handlerGzWrapper(f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) { - handler := panicRecover(f) - handler = gzipWrapper(handler) - handler = stopwatch(handler) - handler = i18nLoad(handler) - - return handler -} - -// gzipWrapper wraps the process with response gzip. -func gzipWrapper(f func(http.ResponseWriter, *http.Request)) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - f(w, r) - - return - } - - w.Header().Set("Content-Encoding", "gzip") - gz := gzip.NewWriter(w) - defer gz.Close() - gzr := gzipResponseWriter{Writer: gz, ResponseWriter: w} - - f(gzr, r) - } -} - -// i18nLoad wraps the i18n process. -func i18nLoad(handler func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - i18n.Load() - - handler(w, r) - } -} - -// stopwatch wraps the request stopwatch process. -func stopwatch(handler func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - start := time.Now() - - defer func() { - logger.Tracef("[%s, %s, %s]", r.Method, r.RequestURI, time.Since(start)) - }() - - handler(w, r) - } -} - -// panicRecover wraps the panic recover process. -func panicRecover(handler func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - defer util.Recover() - - handler(w, r) - } -} - -// initMime initializes mime types. -// -// We can't get the mime types on some OS (such as Windows XP) by default, so initializes them here. -func initMime() { - mime.AddExtensionType(".css", "text/css") - mime.AddExtensionType(".js", "application/x-javascript") - mime.AddExtensionType(".json", "application/json") -} - -// gzipResponseWriter represents a gzip response writer. -type gzipResponseWriter struct { - io.Writer - http.ResponseWriter -} - -// Write writes response with appropriate 'Content-Type'. -func (w gzipResponseWriter) Write(b []byte) (int, error) { - if "" == w.Header().Get("Content-Type") { - // If no content type, apply sniffing algorithm to un-gzipped body. - w.Header().Set("Content-Type", http.DetectContentType(b)) - } - - return w.Writer.Write(b) -} diff --git a/vendor/github.com/b3log/wide/package.json b/vendor/github.com/b3log/wide/package.json deleted file mode 100644 index ed66be8..0000000 --- a/vendor/github.com/b3log/wide/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "wide", - "version": "1.4.0", - "description": "A Web-based IDE for Teams using Go programming language/Golang.", - "homepage": "https://wide.b3log.org", - "repository": { - "type": "git", - "url": "git://github.com/b3log/wide.git" - }, - "bugs": { - "url": "https://github.com/b3log/wide/issues" - }, - "license": "Apache License", - "private": true, - "author": "Daniel (http://88250.b3log.org) & Vanessa (http://vanessa.b3log.org)", - "maintainers": [ - { - "name": "Daniel", - "email": "d@b3log.org" - }, - { - "name": "Vanessa", - "email": "v@b3log.org" - } - ], - "devDependencies": { - "gulp": "^3.9.1", - "gulp-concat": "^2.6.1", - "gulp-minify-css": "^1.2.4", - "gulp-sourcemaps": "^2.6.0", - "gulp-uglify": "^2.1.2" - } -} diff --git a/vendor/github.com/b3log/wide/pkg.sh b/vendor/github.com/b3log/wide/pkg.sh deleted file mode 100644 index 22a6e5e..0000000 --- a/vendor/github.com/b3log/wide/pkg.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -# Wide package tool. -# -# Command: -# ./pkg.sh ${version} ${target} -# Example: -# ./pkg.sh 1.0.0 /home/daniel/1.0.0/ - -ver=$1 -target=$2 -list="conf doc i18n static views README.md TERMS.md LICENSE" - -mkdir -p ${target} - -echo version=${ver} -echo target=${target} - -## darwin -os=darwin - -export GOOS=${os} -export GOARCH=amd64 -echo wide-${ver}-${GOOS}-${GOARCH}.tar.gz -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -tar zcf ${target}/wide-${ver}-${GOOS}-${GOARCH}.tar.gz ${list} gotools gocode wide --exclude-vcs --exclude='conf/*.go' --exclude='i18n/*.go' -rm -f wide gotools gocode - -export GOOS=${os} -export GOARCH=386 -echo wide-${ver}-${GOOS}-${GOARCH}.tar.gz -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -tar zcf ${target}/wide-${ver}-${GOOS}-${GOARCH}.tar.gz ${list} gotools gocode wide --exclude-vcs --exclude='conf/*.go' --exclude='i18n/*.go' -rm -f wide gotools gocode - -## linux -os=linux - -export GOOS=${os} -export GOARCH=amd64 -echo wide-${ver}-${GOOS}-${GOARCH}.tar.gz -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -tar zcf ${target}/wide-${ver}-${GOOS}-${GOARCH}.tar.gz ${list} gotools gocode wide --exclude-vcs --exclude='conf/*.go' --exclude='i18n/*.go' -rm -f wide gotools gocode - -export GOOS=${os} -export GOARCH=386 -echo wide-${ver}-${GOOS}-${GOARCH}.tar.gz -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -tar zcf ${target}/wide-${ver}-${GOOS}-${GOARCH}.tar.gz ${list} gotools gocode wide --exclude-vcs --exclude='conf/*.go' --exclude='i18n/*.go' -rm -f wide gotools gocode - -## windows -os=windows - -export GOOS=${os} -export GOARCH=amd64 -echo wide-${ver}-${GOOS}-${GOARCH}.zip -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -zip -r -q ${target}/wide-${ver}-${GOOS}-${GOARCH}.zip ${list} gotools.exe gocode.exe wide.exe --exclude=conf/*.go --exclude=i18n/*.go -rm -f wide.exe gotools.exe gocode.exe - -export GOOS=${os} -export GOARCH=386 -echo wide-${ver}-${GOOS}-${GOARCH}.zip -go build -go build github.com/visualfc/gotools -go build github.com/nsf/gocode -zip -r -q ${target}/wide-${ver}-${GOOS}-${GOARCH}.zip ${list} gotools.exe gocode.exe wide.exe --exclude=conf/*.go --exclude=i18n/*.go -rm -f wide.exe gotools.exe gocode.exe diff --git a/vendor/github.com/b3log/wide/yarn.lock b/vendor/github.com/b3log/wide/yarn.lock deleted file mode 100644 index 0ea15a7..0000000 --- a/vendor/github.com/b3log/wide/yarn.lock +++ /dev/null @@ -1,1341 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@gulp-sourcemaps/identity-map@1.X": - version "1.0.1" - resolved "http://registry.npm.taobao.org/@gulp-sourcemaps/identity-map/download/@gulp-sourcemaps/identity-map-1.0.1.tgz#cfa23bc5840f9104ce32a65e74db7e7a974bbee1" - dependencies: - acorn "^5.0.3" - css "^2.2.1" - normalize-path "^2.1.1" - source-map "^0.5.6" - through2 "^2.0.3" - -"@gulp-sourcemaps/map-sources@1.X": - version "1.0.0" - resolved "http://registry.npm.taobao.org/@gulp-sourcemaps/map-sources/download/@gulp-sourcemaps/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" - dependencies: - normalize-path "^2.0.1" - through2 "^2.0.3" - -acorn@4.X: - version "4.0.11" - resolved "http://registry.npm.taobao.org/acorn/download/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" - -acorn@^5.0.3: - version "5.0.3" - resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -archy@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.0.3" - resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" - -array-differ@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-uniq@^1.0.2: - version "1.0.3" - resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -atob@~1.1.0: - version "1.1.3" - resolved "http://registry.npm.taobao.org/atob/download/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -beeper@^1.0.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/beeper/download/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - -brace-expansion@^1.0.0: - version "1.1.7" - resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -buffer-shims@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/buffer-shims/download/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -bufferstreams@1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/bufferstreams/download/bufferstreams-1.0.1.tgz#cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a" - dependencies: - readable-stream "^1.0.33" - -camelcase@^1.0.2: - version "1.2.1" - resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -center-align@^0.1.1: - version "0.1.3" - resolved "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.0.0, chalk@^1.1.1: - version "1.1.3" - resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -clean-css@^3.3.3: - version "3.4.25" - resolved "http://registry.npm.taobao.org/clean-css/download/clean-css-3.4.25.tgz#9e9a52d5c1e6bc5123e1b2783fa65fe958946ede" - dependencies: - commander "2.8.x" - source-map "0.4.x" - -cliui@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - -clone-stats@^0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - -clone@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" - -clone@^1.0.0, clone@^1.0.2: - version "1.0.2" - resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" - -cloneable-readable@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/cloneable-readable/download/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117" - dependencies: - inherits "^2.0.1" - process-nextick-args "^1.0.6" - through2 "^2.0.1" - -commander@2.8.x: - version "2.8.1" - resolved "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-with-sourcemaps@^1.0.0: - version "1.0.4" - resolved "http://registry.npm.taobao.org/concat-with-sourcemaps/download/concat-with-sourcemaps-1.0.4.tgz#f55b3be2aeb47601b10a2d5259ccfb70fd2f1dd6" - dependencies: - source-map "^0.5.1" - -convert-source-map@1.X: - version "1.5.0" - resolved "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -css@2.X, css@^2.2.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/css/download/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" - dependencies: - inherits "^2.0.1" - source-map "^0.1.38" - source-map-resolve "^0.3.0" - urix "^0.1.0" - -dateformat@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/dateformat/download/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" - -debug-fabulous@0.1.X: - version "0.1.0" - resolved "http://registry.npm.taobao.org/debug-fabulous/download/debug-fabulous-0.1.0.tgz#ad0ea07a5d519324fb55842a8f34ee59c7f8ff6c" - dependencies: - debug "2.X" - object-assign "4.1.0" - -debug@2.X: - version "2.6.4" - resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" - dependencies: - ms "0.7.3" - -decamelize@^1.0.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -defaults@^1.0.0: - version "1.0.3" - resolved "http://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - dependencies: - clone "^1.0.2" - -deprecated@^0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/deprecated/download/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" - -detect-file@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/detect-file/download/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - -detect-newline@2.X: - version "2.1.0" - resolved "http://registry.npm.taobao.org/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - -duplexer2@0.0.2: - version "0.0.2" - resolved "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - -end-of-stream@~0.1.5: - version "0.1.5" - resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - dependencies: - once "~1.3.0" - -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -expand-tilde@^1.2.1, expand-tilde@^1.2.2: - version "1.2.2" - resolved "http://registry.npm.taobao.org/expand-tilde/download/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - dependencies: - os-homedir "^1.0.1" - -extend@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -extglob@^0.3.1: - version "0.3.2" - resolved "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -fancy-log@^1.1.0: - version "1.3.0" - resolved "http://registry.npm.taobao.org/fancy-log/download/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" - dependencies: - chalk "^1.1.1" - time-stamp "^1.0.0" - -filename-regex@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" - -fill-range@^2.1.0: - version "2.2.3" - resolved "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -find-index@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/find-index/download/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - -findup-sync@^0.4.2: - version "0.4.3" - resolved "http://registry.npm.taobao.org/findup-sync/download/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - -fined@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/fined/download/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" - dependencies: - expand-tilde "^1.2.1" - lodash.assignwith "^4.0.7" - lodash.isempty "^4.2.1" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.pick "^4.2.1" - parse-filepath "^1.0.1" - -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - -flagged-respawn@^0.3.2: - version "0.3.2" - resolved "http://registry.npm.taobao.org/flagged-respawn/download/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" - -for-in@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/fs-exists-sync/download/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - -gaze@^0.5.1: - version "0.5.2" - resolved "http://registry.npm.taobao.org/gaze/download/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" - dependencies: - globule "~0.1.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob-stream@^3.1.5: - version "3.1.18" - resolved "http://registry.npm.taobao.org/glob-stream/download/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" - dependencies: - glob "^4.3.1" - glob2base "^0.0.12" - minimatch "^2.0.1" - ordered-read-streams "^0.1.0" - through2 "^0.6.1" - unique-stream "^1.0.0" - -glob-watcher@^0.0.6: - version "0.0.6" - resolved "http://registry.npm.taobao.org/glob-watcher/download/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" - dependencies: - gaze "^0.5.1" - -glob2base@^0.0.12: - version "0.0.12" - resolved "http://registry.npm.taobao.org/glob2base/download/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - -glob@^4.3.1: - version "4.5.3" - resolved "http://registry.npm.taobao.org/glob/download/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" - -glob@~3.1.21: - version "3.1.21" - resolved "http://registry.npm.taobao.org/glob/download/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -global-modules@^0.2.3: - version "0.2.3" - resolved "http://registry.npm.taobao.org/global-modules/download/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "http://registry.npm.taobao.org/global-prefix/download/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -globule@~0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/globule/download/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - -glogg@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/glogg/download/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" - dependencies: - sparkles "^1.0.0" - -graceful-fs@4.X: - version "4.1.11" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -graceful-fs@^3.0.0: - version "3.0.11" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - dependencies: - natives "^1.1.0" - -graceful-fs@~1.2.0: - version "1.2.3" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -gulp-concat@^2.6.1: - version "2.6.1" - resolved "http://registry.npm.taobao.org/gulp-concat/download/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" - dependencies: - concat-with-sourcemaps "^1.0.0" - through2 "^2.0.0" - vinyl "^2.0.0" - -gulp-minify-css@^1.2.4: - version "1.2.4" - resolved "http://registry.npm.taobao.org/gulp-minify-css/download/gulp-minify-css-1.2.4.tgz#b6164957602ea27f9e5ad88227695dd205778c06" - dependencies: - clean-css "^3.3.3" - gulp-util "^3.0.5" - object-assign "^4.0.1" - readable-stream "^2.0.0" - vinyl-bufferstream "^1.0.1" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-sourcemaps@^2.6.0: - version "2.6.0" - resolved "http://registry.npm.taobao.org/gulp-sourcemaps/download/gulp-sourcemaps-2.6.0.tgz#7ccce899a8a3bfca1593a3348d0fbf41dd3f51e5" - dependencies: - "@gulp-sourcemaps/identity-map" "1.X" - "@gulp-sourcemaps/map-sources" "1.X" - acorn "4.X" - convert-source-map "1.X" - css "2.X" - debug-fabulous "0.1.X" - detect-newline "2.X" - graceful-fs "4.X" - source-map "0.X" - strip-bom-string "1.X" - through2 "2.X" - vinyl "1.X" - -gulp-uglify@^2.1.2: - version "2.1.2" - resolved "http://registry.npm.taobao.org/gulp-uglify/download/gulp-uglify-2.1.2.tgz#6db85b1d0ee63d18058592b658649d65c2ec4541" - dependencies: - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash "^4.13.1" - make-error-cause "^1.1.1" - through2 "^2.0.0" - uglify-js "~2.8.10" - uglify-save-license "^0.4.1" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-util@^3.0.0, gulp-util@^3.0.5: - version "3.0.8" - resolved "http://registry.npm.taobao.org/gulp-util/download/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulp@^3.9.1: - version "3.9.1" - resolved "http://registry.npm.taobao.org/gulp/download/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" - dependencies: - archy "^1.0.0" - chalk "^1.0.0" - deprecated "^0.0.1" - gulp-util "^3.0.0" - interpret "^1.0.0" - liftoff "^2.1.0" - minimist "^1.1.0" - orchestrator "^0.3.0" - pretty-hrtime "^1.0.0" - semver "^4.1.0" - tildify "^1.0.0" - v8flags "^2.0.2" - vinyl-fs "^0.3.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/gulplog/download/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-gulplog@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/has-gulplog/download/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/inherits/download/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - -inherits@2, inherits@^2.0.1, inherits@~2.0.1: - version "2.0.3" - resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.4: - version "1.3.4" - resolved "http://registry.npm.taobao.org/ini/download/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -interpret@^1.0.0: - version "1.0.3" - resolved "http://registry.npm.taobao.org/interpret/download/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" - -is-absolute@^0.2.3: - version "0.2.6" - resolved "http://registry.npm.taobao.org/is-absolute/download/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" - dependencies: - is-relative "^0.2.1" - is-windows "^0.2.0" - -is-buffer@^1.0.2: - version "1.1.5" - resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-relative@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/is-relative/download/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - dependencies: - is-unc-path "^0.1.1" - -is-stream@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-unc-path@^0.1.1: - version "0.1.2" - resolved "http://registry.npm.taobao.org/is-unc-path/download/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - dependencies: - unc-path-regex "^0.1.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/is-windows/download/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - -isarray@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -kind-of@^3.0.2: - version "3.1.0" - resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -liftoff@^2.1.0: - version "2.3.0" - resolved "http://registry.npm.taobao.org/liftoff/download/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" - dependencies: - extend "^3.0.0" - findup-sync "^0.4.2" - fined "^1.0.1" - flagged-respawn "^0.3.2" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.mapvalues "^4.4.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._basetostring/download/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._basevalues/download/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reescape/download/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reevaluate/download/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash._root@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/lodash._root/download/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - -lodash.assignwith@^4.0.7: - version "4.2.0" - resolved "http://registry.npm.taobao.org/lodash.assignwith/download/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" - -lodash.escape@^3.0.0: - version "3.2.0" - resolved "http://registry.npm.taobao.org/lodash.escape/download/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.isempty@^4.2.1: - version "4.4.0" - resolved "http://registry.npm.taobao.org/lodash.isempty/download/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - -lodash.isplainobject@^4.0.4: - version "4.0.6" - resolved "http://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.mapvalues@^4.4.0: - version "4.6.0" - resolved "http://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - -lodash.pick@^4.2.1: - version "4.4.0" - resolved "http://registry.npm.taobao.org/lodash.pick/download/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "http://registry.npm.taobao.org/lodash.restparam/download/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash.template@^3.0.0: - version "3.6.2" - resolved "http://registry.npm.taobao.org/lodash.template/download/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "http://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - -lodash@^4.13.1: - version "4.17.4" - resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@~1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/lodash/download/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" - -longest@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -lru-cache@2: - version "2.7.3" - resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -make-error-cause@^1.1.1: - version "1.2.2" - resolved "http://registry.npm.taobao.org/make-error-cause/download/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" - dependencies: - make-error "^1.2.0" - -make-error@^1.2.0: - version "1.2.3" - resolved "http://registry.npm.taobao.org/make-error/download/make-error-1.2.3.tgz#6c4402df732e0977ac6faf754a5074b3d2b1d19d" - -map-cache@^0.2.0: - version "0.2.2" - resolved "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -micromatch@^2.3.7: - version "2.3.11" - resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -minimatch@^2.0.1: - version "2.0.10" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" - dependencies: - brace-expansion "^1.0.0" - -minimatch@~0.2.11: - version "0.2.14" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -minimist@0.0.8: - version "0.0.8" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@^0.5.0: - version "0.5.1" - resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -ms@0.7.3: - version "0.7.3" - resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - -multipipe@^0.1.2: - version "0.1.2" - resolved "http://registry.npm.taobao.org/multipipe/download/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" - -natives@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/natives/download/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" - -normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -object-assign@4.1.0: - version "4.1.0" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" - -object-assign@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - -object-assign@^4.0.1: - version "4.1.1" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object.omit@^2.0.0: - version "2.0.1" - resolved "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -once@^1.3.0, once@~1.3.0: - version "1.3.3" - resolved "http://registry.npm.taobao.org/once/download/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -orchestrator@^0.3.0: - version "0.3.8" - resolved "http://registry.npm.taobao.org/orchestrator/download/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" - dependencies: - end-of-stream "~0.1.5" - sequencify "~0.0.7" - stream-consume "~0.1.0" - -ordered-read-streams@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -parse-filepath@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/parse-filepath/download/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" - dependencies: - is-absolute "^0.2.3" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -path-parse@^1.0.5: - version "1.0.5" - resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "http://registry.npm.taobao.org/path-root-regex/download/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - -path-root@^0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/path-root/download/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - dependencies: - path-root-regex "^0.1.0" - -preserve@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "http://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - -process-nextick-args@^1.0.6, process-nextick-args@~1.0.6: - version "1.0.7" - resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -randomatic@^1.1.3: - version "1.1.6" - resolved "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -"readable-stream@>=1.0.33-1 <1.1.0-0": - version "1.0.34" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^1.0.33, readable-stream@~1.1.9: - version "1.1.14" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.1.5: - version "2.2.9" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" - dependencies: - buffer-shims "~1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "http://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -replace-ext@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - -replace-ext@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "http://registry.npm.taobao.org/resolve-dir/download/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve-url@~0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - -resolve@^1.1.6, resolve@^1.1.7: - version "1.3.3" - resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" - dependencies: - path-parse "^1.0.5" - -right-align@^0.1.1: - version "0.1.3" - resolved "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -semver@^4.1.0: - version "4.3.6" - resolved "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - -sequencify@~0.0.7: - version "0.0.7" - resolved "http://registry.npm.taobao.org/sequencify/download/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" - -sigmund@~1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -source-map-resolve@^0.3.0: - version "0.3.1" - resolved "http://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" - dependencies: - atob "~1.1.0" - resolve-url "~0.2.1" - source-map-url "~0.3.0" - urix "~0.1.0" - -source-map-url@~0.3.0: - version "0.3.0" - resolved "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" - -source-map@0.4.x: - version "0.4.4" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@0.X, source-map@^0.5.1, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.6" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -source-map@^0.1.38: - version "0.1.43" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -sparkles@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/sparkles/download/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - -stream-consume@~0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/stream-consume/download/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" - dependencies: - buffer-shims "~1.0.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-bom-string@1.X: - version "1.0.0" - resolved "http://registry.npm.taobao.org/strip-bom-string/download/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - -strip-bom@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" - dependencies: - first-chunk-stream "^1.0.0" - is-utf8 "^0.2.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: - version "2.0.3" - resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@^0.6.1: - version "0.6.5" - resolved "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -tildify@^1.0.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/tildify/download/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - dependencies: - os-homedir "^1.0.0" - -time-stamp@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/time-stamp/download/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" - -uglify-js@~2.8.10: - version "2.8.22" - resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-save-license@^0.4.1: - version "0.4.1" - resolved "http://registry.npm.taobao.org/uglify-save-license/download/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -unc-path-regex@^0.1.0: - version "0.1.2" - resolved "http://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - -unique-stream@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/unique-stream/download/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" - -urix@^0.1.0, urix@~0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - -user-home@^1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -v8flags@^2.0.2: - version "2.1.1" - resolved "http://registry.npm.taobao.org/v8flags/download/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" - dependencies: - user-home "^1.1.1" - -vinyl-bufferstream@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/vinyl-bufferstream/download/vinyl-bufferstream-1.0.1.tgz#0537869f580effa4ca45acb47579e4b9fe63081a" - dependencies: - bufferstreams "1.0.1" - -vinyl-fs@^0.3.0: - version "0.3.14" - resolved "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" - dependencies: - defaults "^1.0.0" - glob-stream "^3.1.5" - glob-watcher "^0.0.6" - graceful-fs "^3.0.0" - mkdirp "^0.5.0" - strip-bom "^1.0.0" - through2 "^0.6.1" - vinyl "^0.4.0" - -vinyl-sourcemaps-apply@^0.2.0: - version "0.2.1" - resolved "http://registry.npm.taobao.org/vinyl-sourcemaps-apply/download/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - dependencies: - source-map "^0.5.1" - -vinyl@1.X: - version "1.2.0" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^0.4.0: - version "0.4.6" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" - dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^2.0.0: - version "2.0.2" - resolved "http://registry.npm.taobao.org/vinyl/download/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c" - dependencies: - clone "^1.0.0" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - is-stream "^1.1.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -which@^1.2.12: - version "1.2.14" - resolved "http://registry.npm.taobao.org/which/download/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" - -window-size@0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wrappy@1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -yargs@~3.10.0: - version "3.10.0" - resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" diff --git a/vendor/github.com/bradfitz/goimports/LICENSE b/vendor/github.com/bradfitz/goimports/LICENSE deleted file mode 100644 index 65d761b..0000000 --- a/vendor/github.com/bradfitz/goimports/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2013 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/bradfitz/goimports/README b/vendor/github.com/bradfitz/goimports/README deleted file mode 100644 index b362bd2..0000000 --- a/vendor/github.com/bradfitz/goimports/README +++ /dev/null @@ -1,17 +0,0 @@ -This tool updates your Go import lines, adding missing ones and -removing unreferenced ones. - - $ go get golang.org/x/tools/cmd/goimports - - Note the new location. This project has moved to the official - go.tools repo. Pull requests here will no longer be accepted. - Please use the Go process: http://golang.org/doc/contribute.html - -It acts the same as gofmt (same flags, etc) but in addition to code -formatting, also fixes imports. - -See usage and editor integration notes, now moved elsewhere: - - http://godoc.org/golang.org/x/tools/cmd/goimports - -Happy hacking! diff --git a/vendor/github.com/bradfitz/goimports/goimports.go b/vendor/github.com/bradfitz/goimports/goimports.go deleted file mode 100644 index a008d82..0000000 --- a/vendor/github.com/bradfitz/goimports/goimports.go +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2013 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. - -package main - -import ( - "bytes" - "flag" - "fmt" - "go/scanner" - "io" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - "runtime" - "strings" - - "golang.org/x/tools/imports" -) - -var ( - // main operation modes - list = flag.Bool("l", false, "list files whose formatting differs from goimport's") - write = flag.Bool("w", false, "write result to (source) file instead of stdout") - doDiff = flag.Bool("d", false, "display diffs instead of rewriting files") - - options = &imports.Options{ - TabWidth: 8, - TabIndent: true, - Comments: true, - Fragment: true, - } - exitCode = 0 -) - -func init() { - flag.BoolVar(&options.AllErrors, "e", false, "report all errors (not just the first 10 on different lines)") -} - -func report(err error) { - scanner.PrintError(os.Stderr, err) - exitCode = 2 -} - -func usage() { - fmt.Fprintf(os.Stderr, "usage: goimports [flags] [path ...]\n") - flag.PrintDefaults() - os.Exit(2) -} - -func isGoFile(f os.FileInfo) bool { - // ignore non-Go files - name := f.Name() - return !f.IsDir() && !strings.HasPrefix(name, ".") && strings.HasSuffix(name, ".go") -} - -func processFile(filename string, in io.Reader, out io.Writer, stdin bool) error { - opt := options - if stdin { - nopt := *options - nopt.Fragment = true - opt = &nopt - } - - if in == nil { - f, err := os.Open(filename) - if err != nil { - return err - } - defer f.Close() - in = f - } - - src, err := ioutil.ReadAll(in) - if err != nil { - return err - } - - res, err := imports.Process(filename, src, opt) - if err != nil { - return err - } - - if !bytes.Equal(src, res) { - // formatting has changed - if *list { - fmt.Fprintln(out, filename) - } - if *write { - err = ioutil.WriteFile(filename, res, 0) - if err != nil { - return err - } - } - if *doDiff { - data, err := diff(src, res) - if err != nil { - return fmt.Errorf("computing diff: %s", err) - } - fmt.Printf("diff %s gofmt/%s\n", filename, filename) - out.Write(data) - } - } - - if !*list && !*write && !*doDiff { - _, err = out.Write(res) - } - - return err -} - -func visitFile(path string, f os.FileInfo, err error) error { - if err == nil && isGoFile(f) { - err = processFile(path, nil, os.Stdout, false) - } - if err != nil { - report(err) - } - return nil -} - -func walkDir(path string) { - filepath.Walk(path, visitFile) -} - -func main() { - runtime.GOMAXPROCS(runtime.NumCPU()) - - // call gofmtMain in a separate function - // so that it can use defer and have them - // run before the exit. - gofmtMain() - os.Exit(exitCode) -} - -func gofmtMain() { - flag.Usage = usage - flag.Parse() - - if options.TabWidth < 0 { - fmt.Fprintf(os.Stderr, "negative tabwidth %d\n", options.TabWidth) - exitCode = 2 - return - } - - if flag.NArg() == 0 { - if err := processFile("", os.Stdin, os.Stdout, true); err != nil { - report(err) - } - return - } - - for i := 0; i < flag.NArg(); i++ { - path := flag.Arg(i) - switch dir, err := os.Stat(path); { - case err != nil: - report(err) - case dir.IsDir(): - walkDir(path) - default: - if err := processFile(path, nil, os.Stdout, false); err != nil { - report(err) - } - } - } -} - -func diff(b1, b2 []byte) (data []byte, err error) { - f1, err := ioutil.TempFile("", "gofmt") - if err != nil { - return - } - defer os.Remove(f1.Name()) - defer f1.Close() - - f2, err := ioutil.TempFile("", "gofmt") - if err != nil { - return - } - defer os.Remove(f2.Name()) - defer f2.Close() - - f1.Write(b1) - f2.Write(b2) - - data, err = exec.Command("diff", "-u", f1.Name(), f2.Name()).CombinedOutput() - if len(data) > 0 { - // diff exits with a non-zero status when the files don't match. - // Ignore that failure as long as we get output. - err = nil - } - return -} diff --git a/vendor/github.com/go-fsnotify/fsnotify/AUTHORS b/vendor/github.com/go-fsnotify/fsnotify/AUTHORS deleted file mode 100644 index 0a5bf8f..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/AUTHORS +++ /dev/null @@ -1,46 +0,0 @@ -# Names should be added to this file as -# Name or Organization -# The email address is not required for organizations. - -# You can update this list using the following command: -# -# $ git shortlog -se | awk '{print $2 " " $3 " " $4}' - -# Please keep the list sorted. - -Adrien Bustany -Amit Krishnan -Bjørn Erik Pedersen -Bruno Bigras -Caleb Spare -Case Nelson -Chris Howey -Christoffer Buchholz -Daniel Wagner-Hall -Dave Cheney -Evan Phoenix -Francisco Souza -Hari haran -John C Barstow -Kelvin Fo -Ken-ichirou MATSUZAWA -Matt Layher -Nathan Youngman -Patrick -Paul Hammond -Pawel Knap -Pieter Droogendijk -Pursuit92 -Riku Voipio -Rob Figueiredo -Slawek Ligus -Soge Zhang -Tiffany Jernigan -Tilak Sharma -Travis Cline -Tudor Golubenco -Yukang -bronze1man -debrando -henrikedwards -铁哥 diff --git a/vendor/github.com/go-fsnotify/fsnotify/CHANGELOG.md b/vendor/github.com/go-fsnotify/fsnotify/CHANGELOG.md deleted file mode 100644 index 8c732c1..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/CHANGELOG.md +++ /dev/null @@ -1,307 +0,0 @@ -# Changelog - -## v1.4.2 / 2016-10-10 - -* Linux: use InotifyInit1 with IN_CLOEXEC to stop leaking a file descriptor to a child process when using fork/exec [#178](https://github.com/fsnotify/fsnotify/pull/178) (thanks @pattyshack) - -## v1.4.1 / 2016-10-04 - -* Fix flaky inotify stress test on Linux [#177](https://github.com/fsnotify/fsnotify/pull/177) (thanks @pattyshack) - -## v1.4.0 / 2016-10-01 - -* add a String() method to Event.Op [#165](https://github.com/fsnotify/fsnotify/pull/165) (thanks @oozie) - -## v1.3.1 / 2016-06-28 - -* Windows: fix for double backslash when watching the root of a drive [#151](https://github.com/fsnotify/fsnotify/issues/151) (thanks @brunoqc) - -## v1.3.0 / 2016-04-19 - -* Support linux/arm64 by [patching](https://go-review.googlesource.com/#/c/21971/) x/sys/unix and switching to to it from syscall (thanks @suihkulokki) [#135](https://github.com/fsnotify/fsnotify/pull/135) - -## v1.2.10 / 2016-03-02 - -* Fix golint errors in windows.go [#121](https://github.com/fsnotify/fsnotify/pull/121) (thanks @tiffanyfj) - -## v1.2.9 / 2016-01-13 - -kqueue: Fix logic for CREATE after REMOVE [#111](https://github.com/fsnotify/fsnotify/pull/111) (thanks @bep) - -## v1.2.8 / 2015-12-17 - -* kqueue: fix race condition in Close [#105](https://github.com/fsnotify/fsnotify/pull/105) (thanks @djui for reporting the issue and @ppknap for writing a failing test) -* inotify: fix race in test -* enable race detection for continuous integration (Linux, Mac, Windows) - -## v1.2.5 / 2015-10-17 - -* inotify: use epoll_create1 for arm64 support (requires Linux 2.6.27 or later) [#100](https://github.com/fsnotify/fsnotify/pull/100) (thanks @suihkulokki) -* inotify: fix path leaks [#73](https://github.com/fsnotify/fsnotify/pull/73) (thanks @chamaken) -* kqueue: watch for rename events on subdirectories [#83](https://github.com/fsnotify/fsnotify/pull/83) (thanks @guotie) -* kqueue: avoid infinite loops from symlinks cycles [#101](https://github.com/fsnotify/fsnotify/pull/101) (thanks @illicitonion) - -## v1.2.1 / 2015-10-14 - -* kqueue: don't watch named pipes [#98](https://github.com/fsnotify/fsnotify/pull/98) (thanks @evanphx) - -## v1.2.0 / 2015-02-08 - -* inotify: use epoll to wake up readEvents [#66](https://github.com/fsnotify/fsnotify/pull/66) (thanks @PieterD) -* inotify: closing watcher should now always shut down goroutine [#63](https://github.com/fsnotify/fsnotify/pull/63) (thanks @PieterD) -* kqueue: close kqueue after removing watches, fixes [#59](https://github.com/fsnotify/fsnotify/issues/59) - -## v1.1.1 / 2015-02-05 - -* inotify: Retry read on EINTR [#61](https://github.com/fsnotify/fsnotify/issues/61) (thanks @PieterD) - -## v1.1.0 / 2014-12-12 - -* kqueue: rework internals [#43](https://github.com/fsnotify/fsnotify/pull/43) - * add low-level functions - * only need to store flags on directories - * less mutexes [#13](https://github.com/fsnotify/fsnotify/issues/13) - * done can be an unbuffered channel - * remove calls to os.NewSyscallError -* More efficient string concatenation for Event.String() [#52](https://github.com/fsnotify/fsnotify/pull/52) (thanks @mdlayher) -* kqueue: fix regression in rework causing subdirectories to be watched [#48](https://github.com/fsnotify/fsnotify/issues/48) -* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) - -## v1.0.4 / 2014-09-07 - -* kqueue: add dragonfly to the build tags. -* Rename source code files, rearrange code so exported APIs are at the top. -* Add done channel to example code. [#37](https://github.com/fsnotify/fsnotify/pull/37) (thanks @chenyukang) - -## v1.0.3 / 2014-08-19 - -* [Fix] Windows MOVED_TO now translates to Create like on BSD and Linux. [#36](https://github.com/fsnotify/fsnotify/issues/36) - -## v1.0.2 / 2014-08-17 - -* [Fix] Missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) -* [Fix] Make ./path and path equivalent. (thanks @zhsso) - -## v1.0.0 / 2014-08-15 - -* [API] Remove AddWatch on Windows, use Add. -* Improve documentation for exported identifiers. [#30](https://github.com/fsnotify/fsnotify/issues/30) -* Minor updates based on feedback from golint. - -## dev / 2014-07-09 - -* Moved to [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify). -* Use os.NewSyscallError instead of returning errno (thanks @hariharan-uno) - -## dev / 2014-07-04 - -* kqueue: fix incorrect mutex used in Close() -* Update example to demonstrate usage of Op. - -## dev / 2014-06-28 - -* [API] Don't set the Write Op for attribute notifications [#4](https://github.com/fsnotify/fsnotify/issues/4) -* Fix for String() method on Event (thanks Alex Brainman) -* Don't build on Plan 9 or Solaris (thanks @4ad) - -## dev / 2014-06-21 - -* Events channel of type Event rather than *Event. -* [internal] use syscall constants directly for inotify and kqueue. -* [internal] kqueue: rename events to kevents and fileEvent to event. - -## dev / 2014-06-19 - -* Go 1.3+ required on Windows (uses syscall.ERROR_MORE_DATA internally). -* [internal] remove cookie from Event struct (unused). -* [internal] Event struct has the same definition across every OS. -* [internal] remove internal watch and removeWatch methods. - -## dev / 2014-06-12 - -* [API] Renamed Watch() to Add() and RemoveWatch() to Remove(). -* [API] Pluralized channel names: Events and Errors. -* [API] Renamed FileEvent struct to Event. -* [API] Op constants replace methods like IsCreate(). - -## dev / 2014-06-12 - -* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) - -## dev / 2014-05-23 - -* [API] Remove current implementation of WatchFlags. - * current implementation doesn't take advantage of OS for efficiency - * provides little benefit over filtering events as they are received, but has extra bookkeeping and mutexes - * no tests for the current implementation - * not fully implemented on Windows [#93](https://github.com/howeyc/fsnotify/issues/93#issuecomment-39285195) - -## v0.9.3 / 2014-12-31 - -* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) - -## v0.9.2 / 2014-08-17 - -* [Backport] Fix missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) - -## v0.9.1 / 2014-06-12 - -* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) - -## v0.9.0 / 2014-01-17 - -* IsAttrib() for events that only concern a file's metadata [#79][] (thanks @abustany) -* [Fix] kqueue: fix deadlock [#77][] (thanks @cespare) -* [NOTICE] Development has moved to `code.google.com/p/go.exp/fsnotify` in preparation for inclusion in the Go standard library. - -## v0.8.12 / 2013-11-13 - -* [API] Remove FD_SET and friends from Linux adapter - -## v0.8.11 / 2013-11-02 - -* [Doc] Add Changelog [#72][] (thanks @nathany) -* [Doc] Spotlight and double modify events on macOS [#62][] (reported by @paulhammond) - -## v0.8.10 / 2013-10-19 - -* [Fix] kqueue: remove file watches when parent directory is removed [#71][] (reported by @mdwhatcott) -* [Fix] kqueue: race between Close and readEvents [#70][] (reported by @bernerdschaefer) -* [Doc] specify OS-specific limits in README (thanks @debrando) - -## v0.8.9 / 2013-09-08 - -* [Doc] Contributing (thanks @nathany) -* [Doc] update package path in example code [#63][] (thanks @paulhammond) -* [Doc] GoCI badge in README (Linux only) [#60][] -* [Doc] Cross-platform testing with Vagrant [#59][] (thanks @nathany) - -## v0.8.8 / 2013-06-17 - -* [Fix] Windows: handle `ERROR_MORE_DATA` on Windows [#49][] (thanks @jbowtie) - -## v0.8.7 / 2013-06-03 - -* [API] Make syscall flags internal -* [Fix] inotify: ignore event changes -* [Fix] race in symlink test [#45][] (reported by @srid) -* [Fix] tests on Windows -* lower case error messages - -## v0.8.6 / 2013-05-23 - -* kqueue: Use EVT_ONLY flag on Darwin -* [Doc] Update README with full example - -## v0.8.5 / 2013-05-09 - -* [Fix] inotify: allow monitoring of "broken" symlinks (thanks @tsg) - -## v0.8.4 / 2013-04-07 - -* [Fix] kqueue: watch all file events [#40][] (thanks @ChrisBuchholz) - -## v0.8.3 / 2013-03-13 - -* [Fix] inoitfy/kqueue memory leak [#36][] (reported by @nbkolchin) -* [Fix] kqueue: use fsnFlags for watching a directory [#33][] (reported by @nbkolchin) - -## v0.8.2 / 2013-02-07 - -* [Doc] add Authors -* [Fix] fix data races for map access [#29][] (thanks @fsouza) - -## v0.8.1 / 2013-01-09 - -* [Fix] Windows path separators -* [Doc] BSD License - -## v0.8.0 / 2012-11-09 - -* kqueue: directory watching improvements (thanks @vmirage) -* inotify: add `IN_MOVED_TO` [#25][] (requested by @cpisto) -* [Fix] kqueue: deleting watched directory [#24][] (reported by @jakerr) - -## v0.7.4 / 2012-10-09 - -* [Fix] inotify: fixes from https://codereview.appspot.com/5418045/ (ugorji) -* [Fix] kqueue: preserve watch flags when watching for delete [#21][] (reported by @robfig) -* [Fix] kqueue: watch the directory even if it isn't a new watch (thanks @robfig) -* [Fix] kqueue: modify after recreation of file - -## v0.7.3 / 2012-09-27 - -* [Fix] kqueue: watch with an existing folder inside the watched folder (thanks @vmirage) -* [Fix] kqueue: no longer get duplicate CREATE events - -## v0.7.2 / 2012-09-01 - -* kqueue: events for created directories - -## v0.7.1 / 2012-07-14 - -* [Fix] for renaming files - -## v0.7.0 / 2012-07-02 - -* [Feature] FSNotify flags -* [Fix] inotify: Added file name back to event path - -## v0.6.0 / 2012-06-06 - -* kqueue: watch files after directory created (thanks @tmc) - -## v0.5.1 / 2012-05-22 - -* [Fix] inotify: remove all watches before Close() - -## v0.5.0 / 2012-05-03 - -* [API] kqueue: return errors during watch instead of sending over channel -* kqueue: match symlink behavior on Linux -* inotify: add `DELETE_SELF` (requested by @taralx) -* [Fix] kqueue: handle EINTR (reported by @robfig) -* [Doc] Godoc example [#1][] (thanks @davecheney) - -## v0.4.0 / 2012-03-30 - -* Go 1 released: build with go tool -* [Feature] Windows support using winfsnotify -* Windows does not have attribute change notifications -* Roll attribute notifications into IsModify - -## v0.3.0 / 2012-02-19 - -* kqueue: add files when watch directory - -## v0.2.0 / 2011-12-30 - -* update to latest Go weekly code - -## v0.1.0 / 2011-10-19 - -* kqueue: add watch on file creation to match inotify -* kqueue: create file event -* inotify: ignore `IN_IGNORED` events -* event String() -* linux: common FileEvent functions -* initial commit - -[#79]: https://github.com/howeyc/fsnotify/pull/79 -[#77]: https://github.com/howeyc/fsnotify/pull/77 -[#72]: https://github.com/howeyc/fsnotify/issues/72 -[#71]: https://github.com/howeyc/fsnotify/issues/71 -[#70]: https://github.com/howeyc/fsnotify/issues/70 -[#63]: https://github.com/howeyc/fsnotify/issues/63 -[#62]: https://github.com/howeyc/fsnotify/issues/62 -[#60]: https://github.com/howeyc/fsnotify/issues/60 -[#59]: https://github.com/howeyc/fsnotify/issues/59 -[#49]: https://github.com/howeyc/fsnotify/issues/49 -[#45]: https://github.com/howeyc/fsnotify/issues/45 -[#40]: https://github.com/howeyc/fsnotify/issues/40 -[#36]: https://github.com/howeyc/fsnotify/issues/36 -[#33]: https://github.com/howeyc/fsnotify/issues/33 -[#29]: https://github.com/howeyc/fsnotify/issues/29 -[#25]: https://github.com/howeyc/fsnotify/issues/25 -[#24]: https://github.com/howeyc/fsnotify/issues/24 -[#21]: https://github.com/howeyc/fsnotify/issues/21 diff --git a/vendor/github.com/go-fsnotify/fsnotify/CONTRIBUTING.md b/vendor/github.com/go-fsnotify/fsnotify/CONTRIBUTING.md deleted file mode 100644 index 828a60b..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/CONTRIBUTING.md +++ /dev/null @@ -1,77 +0,0 @@ -# Contributing - -## Issues - -* Request features and report bugs using the [GitHub Issue Tracker](https://github.com/fsnotify/fsnotify/issues). -* Please indicate the platform you are using fsnotify on. -* A code example to reproduce the problem is appreciated. - -## Pull Requests - -### Contributor License Agreement - -fsnotify is derived from code in the [golang.org/x/exp](https://godoc.org/golang.org/x/exp) package and it may be included [in the standard library](https://github.com/fsnotify/fsnotify/issues/1) in the future. Therefore fsnotify carries the same [LICENSE](https://github.com/fsnotify/fsnotify/blob/master/LICENSE) as Go. Contributors retain their copyright, so you need to fill out a short form before we can accept your contribution: [Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual). - -Please indicate that you have signed the CLA in your pull request. - -### How fsnotify is Developed - -* Development is done on feature branches. -* Tests are run on BSD, Linux, macOS and Windows. -* Pull requests are reviewed and [applied to master][am] using [hub][]. - * Maintainers may modify or squash commits rather than asking contributors to. -* To issue a new release, the maintainers will: - * Update the CHANGELOG - * Tag a version, which will become available through gopkg.in. - -### How to Fork - -For smooth sailing, always use the original import path. Installing with `go get` makes this easy. - -1. Install from GitHub (`go get -u github.com/fsnotify/fsnotify`) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Ensure everything works and the tests pass (see below) -4. Commit your changes (`git commit -am 'Add some feature'`) - -Contribute upstream: - -1. Fork fsnotify on GitHub -2. Add your remote (`git remote add fork git@github.com:mycompany/repo.git`) -3. Push to the branch (`git push fork my-new-feature`) -4. Create a new Pull Request on GitHub - -This workflow is [thoroughly explained by Katrina Owen](https://splice.com/blog/contributing-open-source-git-repositories-go/). - -### Testing - -fsnotify uses build tags to compile different code on Linux, BSD, macOS, and Windows. - -Before doing a pull request, please do your best to test your changes on multiple platforms, and list which platforms you were able/unable to test on. - -To aid in cross-platform testing there is a Vagrantfile for Linux and BSD. - -* Install [Vagrant](http://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) -* Setup [Vagrant Gopher](https://github.com/nathany/vagrant-gopher) in your `src` folder. -* Run `vagrant up` from the project folder. You can also setup just one box with `vagrant up linux` or `vagrant up bsd` (note: the BSD box doesn't support Windows hosts at this time, and NFS may prompt for your host OS password) -* Once setup, you can run the test suite on a given OS with a single command `vagrant ssh linux -c 'cd fsnotify/fsnotify; go test'`. -* When you're done, you will want to halt or destroy the Vagrant boxes. - -Notice: fsnotify file system events won't trigger in shared folders. The tests get around this limitation by using the /tmp directory. - -Right now there is no equivalent solution for Windows and macOS, but there are Windows VMs [freely available from Microsoft](http://www.modern.ie/en-us/virtualization-tools#downloads). - -### Maintainers - -Help maintaining fsnotify is welcome. To be a maintainer: - -* Submit a pull request and sign the CLA as above. -* You must be able to run the test suite on Mac, Windows, Linux and BSD. - -To keep master clean, the fsnotify project uses the "apply mail" workflow outlined in Nathaniel Talbott's post ["Merge pull request" Considered Harmful][am]. This requires installing [hub][]. - -All code changes should be internal pull requests. - -Releases are tagged using [Semantic Versioning](http://semver.org/). - -[hub]: https://github.com/github/hub -[am]: http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.VGa5yZPF_Zs diff --git a/vendor/github.com/go-fsnotify/fsnotify/LICENSE b/vendor/github.com/go-fsnotify/fsnotify/LICENSE deleted file mode 100644 index f21e540..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2012 fsnotify Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/go-fsnotify/fsnotify/README.md b/vendor/github.com/go-fsnotify/fsnotify/README.md deleted file mode 100644 index 3993207..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# File system notifications for Go - -[![GoDoc](https://godoc.org/github.com/fsnotify/fsnotify?status.svg)](https://godoc.org/github.com/fsnotify/fsnotify) [![Go Report Card](https://goreportcard.com/badge/github.com/fsnotify/fsnotify)](https://goreportcard.com/report/github.com/fsnotify/fsnotify) - -fsnotify utilizes [golang.org/x/sys](https://godoc.org/golang.org/x/sys) rather than `syscall` from the standard library. Ensure you have the latest version installed by running: - -```console -go get -u golang.org/x/sys/... -``` - -Cross platform: Windows, Linux, BSD and macOS. - -|Adapter |OS |Status | -|----------|----------|----------| -|inotify |Linux 2.6.27 or later, Android\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| -|kqueue |BSD, macOS, iOS\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| -|ReadDirectoryChangesW|Windows|Supported [![Build status](https://ci.appveyor.com/api/projects/status/ivwjubaih4r0udeh/branch/master?svg=true)](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)| -|FSEvents |macOS |[Planned](https://github.com/fsnotify/fsnotify/issues/11)| -|FEN |Solaris 11 |[In Progress](https://github.com/fsnotify/fsnotify/issues/12)| -|fanotify |Linux 2.6.37+ | | -|USN Journals |Windows |[Maybe](https://github.com/fsnotify/fsnotify/issues/53)| -|Polling |*All* |[Maybe](https://github.com/fsnotify/fsnotify/issues/9)| - -\* Android and iOS are untested. - -Please see [the documentation](https://godoc.org/github.com/fsnotify/fsnotify) and consult the [FAQ](#faq) for usage information. - -## API stability - -fsnotify is a fork of [howeyc/fsnotify](https://godoc.org/github.com/howeyc/fsnotify) with a new API as of v1.0. The API is based on [this design document](http://goo.gl/MrYxyA). - -All [releases](https://github.com/fsnotify/fsnotify/releases) are tagged based on [Semantic Versioning](http://semver.org/). Further API changes are [planned](https://github.com/fsnotify/fsnotify/milestones), and will be tagged with a new major revision number. - -Go 1.6 supports dependencies located in the `vendor/` folder. Unless you are creating a library, it is recommended that you copy fsnotify into `vendor/github.com/fsnotify/fsnotify` within your project, and likewise for `golang.org/x/sys`. - -## Contributing - -Please refer to [CONTRIBUTING][] before opening an issue or pull request. - -## Example - -See [example_test.go](https://github.com/fsnotify/fsnotify/blob/master/example_test.go). - -## FAQ - -**When a file is moved to another directory is it still being watched?** - -No (it shouldn't be, unless you are watching where it was moved to). - -**When I watch a directory, are all subdirectories watched as well?** - -No, you must add watches for any directory you want to watch (a recursive watcher is on the roadmap [#18][]). - -**Do I have to watch the Error and Event channels in a separate goroutine?** - -As of now, yes. Looking into making this single-thread friendly (see [howeyc #7][#7]) - -**Why am I receiving multiple events for the same file on OS X?** - -Spotlight indexing on OS X can result in multiple events (see [howeyc #62][#62]). A temporary workaround is to add your folder(s) to the *Spotlight Privacy settings* until we have a native FSEvents implementation (see [#11][]). - -**How many files can be watched at once?** - -There are OS-specific limits as to how many watches can be created: -* Linux: /proc/sys/fs/inotify/max_user_watches contains the limit, reaching this limit results in a "no space left on device" error. -* BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc", reaching these limits results in a "too many open files" error. - -[#62]: https://github.com/howeyc/fsnotify/issues/62 -[#18]: https://github.com/fsnotify/fsnotify/issues/18 -[#11]: https://github.com/fsnotify/fsnotify/issues/11 -[#7]: https://github.com/howeyc/fsnotify/issues/7 - -[contributing]: https://github.com/fsnotify/fsnotify/blob/master/CONTRIBUTING.md - -## Related Projects - -* [notify](https://github.com/rjeczalik/notify) -* [fsevents](https://github.com/fsnotify/fsevents) - diff --git a/vendor/github.com/go-fsnotify/fsnotify/fen.go b/vendor/github.com/go-fsnotify/fsnotify/fen.go deleted file mode 100644 index ced39cb..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/fen.go +++ /dev/null @@ -1,37 +0,0 @@ -// 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. - -// +build solaris - -package fsnotify - -import ( - "errors" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - return nil, errors.New("FEN based watcher not yet supported for fsnotify\n") -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - return nil -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - return nil -} - -// Remove stops watching the the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - return nil -} diff --git a/vendor/github.com/go-fsnotify/fsnotify/fsnotify.go b/vendor/github.com/go-fsnotify/fsnotify/fsnotify.go deleted file mode 100644 index 190bf0d..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/fsnotify.go +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2012 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. - -// +build !plan9 - -// Package fsnotify provides a platform-independent interface for file system notifications. -package fsnotify - -import ( - "bytes" - "errors" - "fmt" -) - -// Event represents a single file system notification. -type Event struct { - Name string // Relative path to the file or directory. - Op Op // File operation that triggered the event. -} - -// Op describes a set of file operations. -type Op uint32 - -// These are the generalized file operations that can trigger a notification. -const ( - Create Op = 1 << iota - Write - Remove - Rename - Chmod -) - -func (op Op) String() string { - // Use a buffer for efficient string concatenation - var buffer bytes.Buffer - - if op&Create == Create { - buffer.WriteString("|CREATE") - } - if op&Remove == Remove { - buffer.WriteString("|REMOVE") - } - if op&Write == Write { - buffer.WriteString("|WRITE") - } - if op&Rename == Rename { - buffer.WriteString("|RENAME") - } - if op&Chmod == Chmod { - buffer.WriteString("|CHMOD") - } - if buffer.Len() == 0 { - return "" - } - return buffer.String()[1:] // Strip leading pipe -} - -// String returns a string representation of the event in the form -// "file: REMOVE|WRITE|..." -func (e Event) String() string { - return fmt.Sprintf("%q: %s", e.Name, e.Op.String()) -} - -// Common errors that can be reported by a watcher -var ErrEventOverflow = errors.New("fsnotify queue overflow") diff --git a/vendor/github.com/go-fsnotify/fsnotify/inotify.go b/vendor/github.com/go-fsnotify/fsnotify/inotify.go deleted file mode 100644 index d9fd1b8..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/inotify.go +++ /dev/null @@ -1,337 +0,0 @@ -// 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. - -// +build linux - -package fsnotify - -import ( - "errors" - "fmt" - "io" - "os" - "path/filepath" - "strings" - "sync" - "unsafe" - - "golang.org/x/sys/unix" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - mu sync.Mutex // Map access - fd int - poller *fdPoller - watches map[string]*watch // Map of inotify watches (key: path) - paths map[int]string // Map of watched paths (key: watch descriptor) - done chan struct{} // Channel for sending a "quit message" to the reader goroutine - doneResp chan struct{} // Channel to respond to Close -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - // Create inotify fd - fd, errno := unix.InotifyInit1(unix.IN_CLOEXEC) - if fd == -1 { - return nil, errno - } - // Create epoll - poller, err := newFdPoller(fd) - if err != nil { - unix.Close(fd) - return nil, err - } - w := &Watcher{ - fd: fd, - poller: poller, - watches: make(map[string]*watch), - paths: make(map[int]string), - Events: make(chan Event), - Errors: make(chan error), - done: make(chan struct{}), - doneResp: make(chan struct{}), - } - - go w.readEvents() - return w, nil -} - -func (w *Watcher) isClosed() bool { - select { - case <-w.done: - return true - default: - return false - } -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - if w.isClosed() { - return nil - } - - // Send 'close' signal to goroutine, and set the Watcher to closed. - close(w.done) - - // Wake up goroutine - w.poller.wake() - - // Wait for goroutine to close - <-w.doneResp - - return nil -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - name = filepath.Clean(name) - if w.isClosed() { - return errors.New("inotify instance already closed") - } - - const agnosticEvents = unix.IN_MOVED_TO | unix.IN_MOVED_FROM | - unix.IN_CREATE | unix.IN_ATTRIB | unix.IN_MODIFY | - unix.IN_MOVE_SELF | unix.IN_DELETE | unix.IN_DELETE_SELF - - var flags uint32 = agnosticEvents - - w.mu.Lock() - defer w.mu.Unlock() - watchEntry := w.watches[name] - if watchEntry != nil { - flags |= watchEntry.flags | unix.IN_MASK_ADD - } - wd, errno := unix.InotifyAddWatch(w.fd, name, flags) - if wd == -1 { - return errno - } - - if watchEntry == nil { - w.watches[name] = &watch{wd: uint32(wd), flags: flags} - w.paths[wd] = name - } else { - watchEntry.wd = uint32(wd) - watchEntry.flags = flags - } - - return nil -} - -// Remove stops watching the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - name = filepath.Clean(name) - - // Fetch the watch. - w.mu.Lock() - defer w.mu.Unlock() - watch, ok := w.watches[name] - - // Remove it from inotify. - if !ok { - return fmt.Errorf("can't remove non-existent inotify watch for: %s", name) - } - - // We successfully removed the watch if InotifyRmWatch doesn't return an - // error, we need to clean up our internal state to ensure it matches - // inotify's kernel state. - delete(w.paths, int(watch.wd)) - delete(w.watches, name) - - // inotify_rm_watch will return EINVAL if the file has been deleted; - // the inotify will already have been removed. - // watches and pathes are deleted in ignoreLinux() implicitly and asynchronously - // by calling inotify_rm_watch() below. e.g. readEvents() goroutine receives IN_IGNORE - // so that EINVAL means that the wd is being rm_watch()ed or its file removed - // by another thread and we have not received IN_IGNORE event. - success, errno := unix.InotifyRmWatch(w.fd, watch.wd) - if success == -1 { - // TODO: Perhaps it's not helpful to return an error here in every case. - // the only two possible errors are: - // EBADF, which happens when w.fd is not a valid file descriptor of any kind. - // EINVAL, which is when fd is not an inotify descriptor or wd is not a valid watch descriptor. - // Watch descriptors are invalidated when they are removed explicitly or implicitly; - // explicitly by inotify_rm_watch, implicitly when the file they are watching is deleted. - return errno - } - - return nil -} - -type watch struct { - wd uint32 // Watch descriptor (as returned by the inotify_add_watch() syscall) - flags uint32 // inotify flags of this watch (see inotify(7) for the list of valid flags) -} - -// readEvents reads from the inotify file descriptor, converts the -// received events into Event objects and sends them via the Events channel -func (w *Watcher) readEvents() { - var ( - buf [unix.SizeofInotifyEvent * 4096]byte // Buffer for a maximum of 4096 raw events - n int // Number of bytes read with read() - errno error // Syscall errno - ok bool // For poller.wait - ) - - defer close(w.doneResp) - defer close(w.Errors) - defer close(w.Events) - defer unix.Close(w.fd) - defer w.poller.close() - - for { - // See if we have been closed. - if w.isClosed() { - return - } - - ok, errno = w.poller.wait() - if errno != nil { - select { - case w.Errors <- errno: - case <-w.done: - return - } - continue - } - - if !ok { - continue - } - - n, errno = unix.Read(w.fd, buf[:]) - // If a signal interrupted execution, see if we've been asked to close, and try again. - // http://man7.org/linux/man-pages/man7/signal.7.html : - // "Before Linux 3.8, reads from an inotify(7) file descriptor were not restartable" - if errno == unix.EINTR { - continue - } - - // unix.Read might have been woken up by Close. If so, we're done. - if w.isClosed() { - return - } - - if n < unix.SizeofInotifyEvent { - var err error - if n == 0 { - // If EOF is received. This should really never happen. - err = io.EOF - } else if n < 0 { - // If an error occurred while reading. - err = errno - } else { - // Read was too short. - err = errors.New("notify: short read in readEvents()") - } - select { - case w.Errors <- err: - case <-w.done: - return - } - continue - } - - var offset uint32 - // We don't know how many events we just read into the buffer - // While the offset points to at least one whole event... - for offset <= uint32(n-unix.SizeofInotifyEvent) { - // Point "raw" to the event in the buffer - raw := (*unix.InotifyEvent)(unsafe.Pointer(&buf[offset])) - - mask := uint32(raw.Mask) - nameLen := uint32(raw.Len) - - if mask&unix.IN_Q_OVERFLOW != 0 { - select { - case w.Errors <- ErrEventOverflow: - case <-w.done: - return - } - } - - // If the event happened to the watched directory or the watched file, the kernel - // doesn't append the filename to the event, but we would like to always fill the - // the "Name" field with a valid filename. We retrieve the path of the watch from - // the "paths" map. - w.mu.Lock() - name, ok := w.paths[int(raw.Wd)] - // IN_DELETE_SELF occurs when the file/directory being watched is removed. - // This is a sign to clean up the maps, otherwise we are no longer in sync - // with the inotify kernel state which has already deleted the watch - // automatically. - if ok && mask&unix.IN_DELETE_SELF == unix.IN_DELETE_SELF { - delete(w.paths, int(raw.Wd)) - delete(w.watches, name) - } - w.mu.Unlock() - - if nameLen > 0 { - // Point "bytes" at the first byte of the filename - bytes := (*[unix.PathMax]byte)(unsafe.Pointer(&buf[offset+unix.SizeofInotifyEvent])) - // The filename is padded with NULL bytes. TrimRight() gets rid of those. - name += "/" + strings.TrimRight(string(bytes[0:nameLen]), "\000") - } - - event := newEvent(name, mask) - - // Send the events that are not ignored on the events channel - if !event.ignoreLinux(mask) { - select { - case w.Events <- event: - case <-w.done: - return - } - } - - // Move to the next event in the buffer - offset += unix.SizeofInotifyEvent + nameLen - } - } -} - -// Certain types of events can be "ignored" and not sent over the Events -// channel. Such as events marked ignore by the kernel, or MODIFY events -// against files that do not exist. -func (e *Event) ignoreLinux(mask uint32) bool { - // Ignore anything the inotify API says to ignore - if mask&unix.IN_IGNORED == unix.IN_IGNORED { - return true - } - - // If the event is not a DELETE or RENAME, the file must exist. - // Otherwise the event is ignored. - // *Note*: this was put in place because it was seen that a MODIFY - // event was sent after the DELETE. This ignores that MODIFY and - // assumes a DELETE will come or has come if the file doesn't exist. - if !(e.Op&Remove == Remove || e.Op&Rename == Rename) { - _, statErr := os.Lstat(e.Name) - return os.IsNotExist(statErr) - } - return false -} - -// newEvent returns an platform-independent Event based on an inotify mask. -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&unix.IN_CREATE == unix.IN_CREATE || mask&unix.IN_MOVED_TO == unix.IN_MOVED_TO { - e.Op |= Create - } - if mask&unix.IN_DELETE_SELF == unix.IN_DELETE_SELF || mask&unix.IN_DELETE == unix.IN_DELETE { - e.Op |= Remove - } - if mask&unix.IN_MODIFY == unix.IN_MODIFY { - e.Op |= Write - } - if mask&unix.IN_MOVE_SELF == unix.IN_MOVE_SELF || mask&unix.IN_MOVED_FROM == unix.IN_MOVED_FROM { - e.Op |= Rename - } - if mask&unix.IN_ATTRIB == unix.IN_ATTRIB { - e.Op |= Chmod - } - return e -} diff --git a/vendor/github.com/go-fsnotify/fsnotify/inotify_poller.go b/vendor/github.com/go-fsnotify/fsnotify/inotify_poller.go deleted file mode 100644 index cc7db4b..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/inotify_poller.go +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2015 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. - -// +build linux - -package fsnotify - -import ( - "errors" - - "golang.org/x/sys/unix" -) - -type fdPoller struct { - fd int // File descriptor (as returned by the inotify_init() syscall) - epfd int // Epoll file descriptor - pipe [2]int // Pipe for waking up -} - -func emptyPoller(fd int) *fdPoller { - poller := new(fdPoller) - poller.fd = fd - poller.epfd = -1 - poller.pipe[0] = -1 - poller.pipe[1] = -1 - return poller -} - -// Create a new inotify poller. -// This creates an inotify handler, and an epoll handler. -func newFdPoller(fd int) (*fdPoller, error) { - var errno error - poller := emptyPoller(fd) - defer func() { - if errno != nil { - poller.close() - } - }() - poller.fd = fd - - // Create epoll fd - poller.epfd, errno = unix.EpollCreate1(0) - if poller.epfd == -1 { - return nil, errno - } - // Create pipe; pipe[0] is the read end, pipe[1] the write end. - errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK) - if errno != nil { - return nil, errno - } - - // Register inotify fd with epoll - event := unix.EpollEvent{ - Fd: int32(poller.fd), - Events: unix.EPOLLIN, - } - errno = unix.EpollCtl(poller.epfd, unix.EPOLL_CTL_ADD, poller.fd, &event) - if errno != nil { - return nil, errno - } - - // Register pipe fd with epoll - event = unix.EpollEvent{ - Fd: int32(poller.pipe[0]), - Events: unix.EPOLLIN, - } - errno = unix.EpollCtl(poller.epfd, unix.EPOLL_CTL_ADD, poller.pipe[0], &event) - if errno != nil { - return nil, errno - } - - return poller, nil -} - -// Wait using epoll. -// Returns true if something is ready to be read, -// false if there is not. -func (poller *fdPoller) wait() (bool, error) { - // 3 possible events per fd, and 2 fds, makes a maximum of 6 events. - // I don't know whether epoll_wait returns the number of events returned, - // or the total number of events ready. - // I decided to catch both by making the buffer one larger than the maximum. - events := make([]unix.EpollEvent, 7) - for { - n, errno := unix.EpollWait(poller.epfd, events, -1) - if n == -1 { - if errno == unix.EINTR { - continue - } - return false, errno - } - if n == 0 { - // If there are no events, try again. - continue - } - if n > 6 { - // This should never happen. More events were returned than should be possible. - return false, errors.New("epoll_wait returned more events than I know what to do with") - } - ready := events[:n] - epollhup := false - epollerr := false - epollin := false - for _, event := range ready { - if event.Fd == int32(poller.fd) { - if event.Events&unix.EPOLLHUP != 0 { - // This should not happen, but if it does, treat it as a wakeup. - epollhup = true - } - if event.Events&unix.EPOLLERR != 0 { - // If an error is waiting on the file descriptor, we should pretend - // something is ready to read, and let unix.Read pick up the error. - epollerr = true - } - if event.Events&unix.EPOLLIN != 0 { - // There is data to read. - epollin = true - } - } - if event.Fd == int32(poller.pipe[0]) { - if event.Events&unix.EPOLLHUP != 0 { - // Write pipe descriptor was closed, by us. This means we're closing down the - // watcher, and we should wake up. - } - if event.Events&unix.EPOLLERR != 0 { - // If an error is waiting on the pipe file descriptor. - // This is an absolute mystery, and should never ever happen. - return false, errors.New("Error on the pipe descriptor.") - } - if event.Events&unix.EPOLLIN != 0 { - // This is a regular wakeup, so we have to clear the buffer. - err := poller.clearWake() - if err != nil { - return false, err - } - } - } - } - - if epollhup || epollerr || epollin { - return true, nil - } - return false, nil - } -} - -// Close the write end of the poller. -func (poller *fdPoller) wake() error { - buf := make([]byte, 1) - n, errno := unix.Write(poller.pipe[1], buf) - if n == -1 { - if errno == unix.EAGAIN { - // Buffer is full, poller will wake. - return nil - } - return errno - } - return nil -} - -func (poller *fdPoller) clearWake() error { - // You have to be woken up a LOT in order to get to 100! - buf := make([]byte, 100) - n, errno := unix.Read(poller.pipe[0], buf) - if n == -1 { - if errno == unix.EAGAIN { - // Buffer is empty, someone else cleared our wake. - return nil - } - return errno - } - return nil -} - -// Close all poller file descriptors, but not the one passed to it. -func (poller *fdPoller) close() { - if poller.pipe[1] != -1 { - unix.Close(poller.pipe[1]) - } - if poller.pipe[0] != -1 { - unix.Close(poller.pipe[0]) - } - if poller.epfd != -1 { - unix.Close(poller.epfd) - } -} diff --git a/vendor/github.com/go-fsnotify/fsnotify/kqueue.go b/vendor/github.com/go-fsnotify/fsnotify/kqueue.go deleted file mode 100644 index c2b4acb..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/kqueue.go +++ /dev/null @@ -1,503 +0,0 @@ -// 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. - -// +build freebsd openbsd netbsd dragonfly darwin - -package fsnotify - -import ( - "errors" - "fmt" - "io/ioutil" - "os" - "path/filepath" - "sync" - "time" - - "golang.org/x/sys/unix" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - done chan bool // Channel for sending a "quit message" to the reader goroutine - - kq int // File descriptor (as returned by the kqueue() syscall). - - mu sync.Mutex // Protects access to watcher data - watches map[string]int // Map of watched file descriptors (key: path). - externalWatches map[string]bool // Map of watches added by user of the library. - dirFlags map[string]uint32 // Map of watched directories to fflags used in kqueue. - paths map[int]pathInfo // Map file descriptors to path names for processing kqueue events. - fileExists map[string]bool // Keep track of if we know this file exists (to stop duplicate create events). - isClosed bool // Set to true when Close() is first called -} - -type pathInfo struct { - name string - isDir bool -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - kq, err := kqueue() - if err != nil { - return nil, err - } - - w := &Watcher{ - kq: kq, - watches: make(map[string]int), - dirFlags: make(map[string]uint32), - paths: make(map[int]pathInfo), - fileExists: make(map[string]bool), - externalWatches: make(map[string]bool), - Events: make(chan Event), - Errors: make(chan error), - done: make(chan bool), - } - - go w.readEvents() - return w, nil -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - w.mu.Lock() - if w.isClosed { - w.mu.Unlock() - return nil - } - w.isClosed = true - w.mu.Unlock() - - // copy paths to remove while locked - w.mu.Lock() - var pathsToRemove = make([]string, 0, len(w.watches)) - for name := range w.watches { - pathsToRemove = append(pathsToRemove, name) - } - w.mu.Unlock() - // unlock before calling Remove, which also locks - - var err error - for _, name := range pathsToRemove { - if e := w.Remove(name); e != nil && err == nil { - err = e - } - } - - // Send "quit" message to the reader goroutine: - w.done <- true - - return nil -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - w.mu.Lock() - w.externalWatches[name] = true - w.mu.Unlock() - _, err := w.addWatch(name, noteAllEvents) - return err -} - -// Remove stops watching the the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - name = filepath.Clean(name) - w.mu.Lock() - watchfd, ok := w.watches[name] - w.mu.Unlock() - if !ok { - return fmt.Errorf("can't remove non-existent kevent watch for: %s", name) - } - - const registerRemove = unix.EV_DELETE - if err := register(w.kq, []int{watchfd}, registerRemove, 0); err != nil { - return err - } - - unix.Close(watchfd) - - w.mu.Lock() - isDir := w.paths[watchfd].isDir - delete(w.watches, name) - delete(w.paths, watchfd) - delete(w.dirFlags, name) - w.mu.Unlock() - - // Find all watched paths that are in this directory that are not external. - if isDir { - var pathsToRemove []string - w.mu.Lock() - for _, path := range w.paths { - wdir, _ := filepath.Split(path.name) - if filepath.Clean(wdir) == name { - if !w.externalWatches[path.name] { - pathsToRemove = append(pathsToRemove, path.name) - } - } - } - w.mu.Unlock() - for _, name := range pathsToRemove { - // Since these are internal, not much sense in propagating error - // to the user, as that will just confuse them with an error about - // a path they did not explicitly watch themselves. - w.Remove(name) - } - } - - return nil -} - -// Watch all events (except NOTE_EXTEND, NOTE_LINK, NOTE_REVOKE) -const noteAllEvents = unix.NOTE_DELETE | unix.NOTE_WRITE | unix.NOTE_ATTRIB | unix.NOTE_RENAME - -// keventWaitTime to block on each read from kevent -var keventWaitTime = durationToTimespec(100 * time.Millisecond) - -// addWatch adds name to the watched file set. -// The flags are interpreted as described in kevent(2). -// Returns the real path to the file which was added, if any, which may be different from the one passed in the case of symlinks. -func (w *Watcher) addWatch(name string, flags uint32) (string, error) { - var isDir bool - // Make ./name and name equivalent - name = filepath.Clean(name) - - w.mu.Lock() - if w.isClosed { - w.mu.Unlock() - return "", errors.New("kevent instance already closed") - } - watchfd, alreadyWatching := w.watches[name] - // We already have a watch, but we can still override flags. - if alreadyWatching { - isDir = w.paths[watchfd].isDir - } - w.mu.Unlock() - - if !alreadyWatching { - fi, err := os.Lstat(name) - if err != nil { - return "", err - } - - // Don't watch sockets. - if fi.Mode()&os.ModeSocket == os.ModeSocket { - return "", nil - } - - // Don't watch named pipes. - if fi.Mode()&os.ModeNamedPipe == os.ModeNamedPipe { - return "", nil - } - - // Follow Symlinks - // Unfortunately, Linux can add bogus symlinks to watch list without - // issue, and Windows can't do symlinks period (AFAIK). To maintain - // consistency, we will act like everything is fine. There will simply - // be no file events for broken symlinks. - // Hence the returns of nil on errors. - if fi.Mode()&os.ModeSymlink == os.ModeSymlink { - name, err = filepath.EvalSymlinks(name) - if err != nil { - return "", nil - } - - w.mu.Lock() - _, alreadyWatching = w.watches[name] - w.mu.Unlock() - - if alreadyWatching { - return name, nil - } - - fi, err = os.Lstat(name) - if err != nil { - return "", nil - } - } - - watchfd, err = unix.Open(name, openMode, 0700) - if watchfd == -1 { - return "", err - } - - isDir = fi.IsDir() - } - - const registerAdd = unix.EV_ADD | unix.EV_CLEAR | unix.EV_ENABLE - if err := register(w.kq, []int{watchfd}, registerAdd, flags); err != nil { - unix.Close(watchfd) - return "", err - } - - if !alreadyWatching { - w.mu.Lock() - w.watches[name] = watchfd - w.paths[watchfd] = pathInfo{name: name, isDir: isDir} - w.mu.Unlock() - } - - if isDir { - // Watch the directory if it has not been watched before, - // or if it was watched before, but perhaps only a NOTE_DELETE (watchDirectoryFiles) - w.mu.Lock() - - watchDir := (flags&unix.NOTE_WRITE) == unix.NOTE_WRITE && - (!alreadyWatching || (w.dirFlags[name]&unix.NOTE_WRITE) != unix.NOTE_WRITE) - // Store flags so this watch can be updated later - w.dirFlags[name] = flags - w.mu.Unlock() - - if watchDir { - if err := w.watchDirectoryFiles(name); err != nil { - return "", err - } - } - } - return name, nil -} - -// readEvents reads from kqueue and converts the received kevents into -// Event values that it sends down the Events channel. -func (w *Watcher) readEvents() { - eventBuffer := make([]unix.Kevent_t, 10) - - for { - // See if there is a message on the "done" channel - select { - case <-w.done: - err := unix.Close(w.kq) - if err != nil { - w.Errors <- err - } - close(w.Events) - close(w.Errors) - return - default: - } - - // Get new events - kevents, err := read(w.kq, eventBuffer, &keventWaitTime) - // EINTR is okay, the syscall was interrupted before timeout expired. - if err != nil && err != unix.EINTR { - w.Errors <- err - continue - } - - // Flush the events we received to the Events channel - for len(kevents) > 0 { - kevent := &kevents[0] - watchfd := int(kevent.Ident) - mask := uint32(kevent.Fflags) - w.mu.Lock() - path := w.paths[watchfd] - w.mu.Unlock() - event := newEvent(path.name, mask) - - if path.isDir && !(event.Op&Remove == Remove) { - // Double check to make sure the directory exists. This can happen when - // we do a rm -fr on a recursively watched folders and we receive a - // modification event first but the folder has been deleted and later - // receive the delete event - if _, err := os.Lstat(event.Name); os.IsNotExist(err) { - // mark is as delete event - event.Op |= Remove - } - } - - if event.Op&Rename == Rename || event.Op&Remove == Remove { - w.Remove(event.Name) - w.mu.Lock() - delete(w.fileExists, event.Name) - w.mu.Unlock() - } - - if path.isDir && event.Op&Write == Write && !(event.Op&Remove == Remove) { - w.sendDirectoryChangeEvents(event.Name) - } else { - // Send the event on the Events channel - w.Events <- event - } - - if event.Op&Remove == Remove { - // Look for a file that may have overwritten this. - // For example, mv f1 f2 will delete f2, then create f2. - if path.isDir { - fileDir := filepath.Clean(event.Name) - w.mu.Lock() - _, found := w.watches[fileDir] - w.mu.Unlock() - if found { - // make sure the directory exists before we watch for changes. When we - // do a recursive watch and perform rm -fr, the parent directory might - // have gone missing, ignore the missing directory and let the - // upcoming delete event remove the watch from the parent directory. - if _, err := os.Lstat(fileDir); err == nil { - w.sendDirectoryChangeEvents(fileDir) - } - } - } else { - filePath := filepath.Clean(event.Name) - if fileInfo, err := os.Lstat(filePath); err == nil { - w.sendFileCreatedEventIfNew(filePath, fileInfo) - } - } - } - - // Move to next event - kevents = kevents[1:] - } - } -} - -// newEvent returns an platform-independent Event based on kqueue Fflags. -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&unix.NOTE_DELETE == unix.NOTE_DELETE { - e.Op |= Remove - } - if mask&unix.NOTE_WRITE == unix.NOTE_WRITE { - e.Op |= Write - } - if mask&unix.NOTE_RENAME == unix.NOTE_RENAME { - e.Op |= Rename - } - if mask&unix.NOTE_ATTRIB == unix.NOTE_ATTRIB { - e.Op |= Chmod - } - return e -} - -func newCreateEvent(name string) Event { - return Event{Name: name, Op: Create} -} - -// watchDirectoryFiles to mimic inotify when adding a watch on a directory -func (w *Watcher) watchDirectoryFiles(dirPath string) error { - // Get all files - files, err := ioutil.ReadDir(dirPath) - if err != nil { - return err - } - - for _, fileInfo := range files { - filePath := filepath.Join(dirPath, fileInfo.Name()) - filePath, err = w.internalWatch(filePath, fileInfo) - if err != nil { - return err - } - - w.mu.Lock() - w.fileExists[filePath] = true - w.mu.Unlock() - } - - return nil -} - -// sendDirectoryEvents searches the directory for newly created files -// and sends them over the event channel. This functionality is to have -// the BSD version of fsnotify match Linux inotify which provides a -// create event for files created in a watched directory. -func (w *Watcher) sendDirectoryChangeEvents(dirPath string) { - // Get all files - files, err := ioutil.ReadDir(dirPath) - if err != nil { - w.Errors <- err - } - - // Search for new files - for _, fileInfo := range files { - filePath := filepath.Join(dirPath, fileInfo.Name()) - err := w.sendFileCreatedEventIfNew(filePath, fileInfo) - - if err != nil { - return - } - } -} - -// sendFileCreatedEvent sends a create event if the file isn't already being tracked. -func (w *Watcher) sendFileCreatedEventIfNew(filePath string, fileInfo os.FileInfo) (err error) { - w.mu.Lock() - _, doesExist := w.fileExists[filePath] - w.mu.Unlock() - if !doesExist { - // Send create event - w.Events <- newCreateEvent(filePath) - } - - // like watchDirectoryFiles (but without doing another ReadDir) - filePath, err = w.internalWatch(filePath, fileInfo) - if err != nil { - return err - } - - w.mu.Lock() - w.fileExists[filePath] = true - w.mu.Unlock() - - return nil -} - -func (w *Watcher) internalWatch(name string, fileInfo os.FileInfo) (string, error) { - if fileInfo.IsDir() { - // mimic Linux providing delete events for subdirectories - // but preserve the flags used if currently watching subdirectory - w.mu.Lock() - flags := w.dirFlags[name] - w.mu.Unlock() - - flags |= unix.NOTE_DELETE | unix.NOTE_RENAME - return w.addWatch(name, flags) - } - - // watch file to mimic Linux inotify - return w.addWatch(name, noteAllEvents) -} - -// kqueue creates a new kernel event queue and returns a descriptor. -func kqueue() (kq int, err error) { - kq, err = unix.Kqueue() - if kq == -1 { - return kq, err - } - return kq, nil -} - -// register events with the queue -func register(kq int, fds []int, flags int, fflags uint32) error { - changes := make([]unix.Kevent_t, len(fds)) - - for i, fd := range fds { - // SetKevent converts int to the platform-specific types: - unix.SetKevent(&changes[i], fd, unix.EVFILT_VNODE, flags) - changes[i].Fflags = fflags - } - - // register the events - success, err := unix.Kevent(kq, changes, nil, nil) - if success == -1 { - return err - } - return nil -} - -// read retrieves pending events, or waits until an event occurs. -// A timeout of nil blocks indefinitely, while 0 polls the queue. -func read(kq int, events []unix.Kevent_t, timeout *unix.Timespec) ([]unix.Kevent_t, error) { - n, err := unix.Kevent(kq, nil, events, timeout) - if err != nil { - return nil, err - } - return events[0:n], nil -} - -// durationToTimespec prepares a timeout value -func durationToTimespec(d time.Duration) unix.Timespec { - return unix.NsecToTimespec(d.Nanoseconds()) -} diff --git a/vendor/github.com/go-fsnotify/fsnotify/open_mode_bsd.go b/vendor/github.com/go-fsnotify/fsnotify/open_mode_bsd.go deleted file mode 100644 index 7d8de14..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/open_mode_bsd.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 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. - -// +build freebsd openbsd netbsd dragonfly - -package fsnotify - -import "golang.org/x/sys/unix" - -const openMode = unix.O_NONBLOCK | unix.O_RDONLY diff --git a/vendor/github.com/go-fsnotify/fsnotify/open_mode_darwin.go b/vendor/github.com/go-fsnotify/fsnotify/open_mode_darwin.go deleted file mode 100644 index 9139e17..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/open_mode_darwin.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2013 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. - -// +build darwin - -package fsnotify - -import "golang.org/x/sys/unix" - -// note: this constant is not defined on BSD -const openMode = unix.O_EVTONLY diff --git a/vendor/github.com/go-fsnotify/fsnotify/windows.go b/vendor/github.com/go-fsnotify/fsnotify/windows.go deleted file mode 100644 index 09436f3..0000000 --- a/vendor/github.com/go-fsnotify/fsnotify/windows.go +++ /dev/null @@ -1,561 +0,0 @@ -// Copyright 2011 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. - -// +build windows - -package fsnotify - -import ( - "errors" - "fmt" - "os" - "path/filepath" - "runtime" - "sync" - "syscall" - "unsafe" -) - -// Watcher watches a set of files, delivering events to a channel. -type Watcher struct { - Events chan Event - Errors chan error - isClosed bool // Set to true when Close() is first called - mu sync.Mutex // Map access - port syscall.Handle // Handle to completion port - watches watchMap // Map of watches (key: i-number) - input chan *input // Inputs to the reader are sent on this channel - quit chan chan<- error -} - -// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. -func NewWatcher() (*Watcher, error) { - port, e := syscall.CreateIoCompletionPort(syscall.InvalidHandle, 0, 0, 0) - if e != nil { - return nil, os.NewSyscallError("CreateIoCompletionPort", e) - } - w := &Watcher{ - port: port, - watches: make(watchMap), - input: make(chan *input, 1), - Events: make(chan Event, 50), - Errors: make(chan error), - quit: make(chan chan<- error, 1), - } - go w.readEvents() - return w, nil -} - -// Close removes all watches and closes the events channel. -func (w *Watcher) Close() error { - if w.isClosed { - return nil - } - w.isClosed = true - - // Send "quit" message to the reader goroutine - ch := make(chan error) - w.quit <- ch - if err := w.wakeupReader(); err != nil { - return err - } - return <-ch -} - -// Add starts watching the named file or directory (non-recursively). -func (w *Watcher) Add(name string) error { - if w.isClosed { - return errors.New("watcher already closed") - } - in := &input{ - op: opAddWatch, - path: filepath.Clean(name), - flags: sysFSALLEVENTS, - reply: make(chan error), - } - w.input <- in - if err := w.wakeupReader(); err != nil { - return err - } - return <-in.reply -} - -// Remove stops watching the the named file or directory (non-recursively). -func (w *Watcher) Remove(name string) error { - in := &input{ - op: opRemoveWatch, - path: filepath.Clean(name), - reply: make(chan error), - } - w.input <- in - if err := w.wakeupReader(); err != nil { - return err - } - return <-in.reply -} - -const ( - // Options for AddWatch - sysFSONESHOT = 0x80000000 - sysFSONLYDIR = 0x1000000 - - // Events - sysFSACCESS = 0x1 - sysFSALLEVENTS = 0xfff - sysFSATTRIB = 0x4 - sysFSCLOSE = 0x18 - sysFSCREATE = 0x100 - sysFSDELETE = 0x200 - sysFSDELETESELF = 0x400 - sysFSMODIFY = 0x2 - sysFSMOVE = 0xc0 - sysFSMOVEDFROM = 0x40 - sysFSMOVEDTO = 0x80 - sysFSMOVESELF = 0x800 - - // Special events - sysFSIGNORED = 0x8000 - sysFSQOVERFLOW = 0x4000 -) - -func newEvent(name string, mask uint32) Event { - e := Event{Name: name} - if mask&sysFSCREATE == sysFSCREATE || mask&sysFSMOVEDTO == sysFSMOVEDTO { - e.Op |= Create - } - if mask&sysFSDELETE == sysFSDELETE || mask&sysFSDELETESELF == sysFSDELETESELF { - e.Op |= Remove - } - if mask&sysFSMODIFY == sysFSMODIFY { - e.Op |= Write - } - if mask&sysFSMOVE == sysFSMOVE || mask&sysFSMOVESELF == sysFSMOVESELF || mask&sysFSMOVEDFROM == sysFSMOVEDFROM { - e.Op |= Rename - } - if mask&sysFSATTRIB == sysFSATTRIB { - e.Op |= Chmod - } - return e -} - -const ( - opAddWatch = iota - opRemoveWatch -) - -const ( - provisional uint64 = 1 << (32 + iota) -) - -type input struct { - op int - path string - flags uint32 - reply chan error -} - -type inode struct { - handle syscall.Handle - volume uint32 - index uint64 -} - -type watch struct { - ov syscall.Overlapped - ino *inode // i-number - path string // Directory path - mask uint64 // Directory itself is being watched with these notify flags - names map[string]uint64 // Map of names being watched and their notify flags - rename string // Remembers the old name while renaming a file - buf [4096]byte -} - -type indexMap map[uint64]*watch -type watchMap map[uint32]indexMap - -func (w *Watcher) wakeupReader() error { - e := syscall.PostQueuedCompletionStatus(w.port, 0, 0, nil) - if e != nil { - return os.NewSyscallError("PostQueuedCompletionStatus", e) - } - return nil -} - -func getDir(pathname string) (dir string, err error) { - attr, e := syscall.GetFileAttributes(syscall.StringToUTF16Ptr(pathname)) - if e != nil { - return "", os.NewSyscallError("GetFileAttributes", e) - } - if attr&syscall.FILE_ATTRIBUTE_DIRECTORY != 0 { - dir = pathname - } else { - dir, _ = filepath.Split(pathname) - dir = filepath.Clean(dir) - } - return -} - -func getIno(path string) (ino *inode, err error) { - h, e := syscall.CreateFile(syscall.StringToUTF16Ptr(path), - syscall.FILE_LIST_DIRECTORY, - syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE|syscall.FILE_SHARE_DELETE, - nil, syscall.OPEN_EXISTING, - syscall.FILE_FLAG_BACKUP_SEMANTICS|syscall.FILE_FLAG_OVERLAPPED, 0) - if e != nil { - return nil, os.NewSyscallError("CreateFile", e) - } - var fi syscall.ByHandleFileInformation - if e = syscall.GetFileInformationByHandle(h, &fi); e != nil { - syscall.CloseHandle(h) - return nil, os.NewSyscallError("GetFileInformationByHandle", e) - } - ino = &inode{ - handle: h, - volume: fi.VolumeSerialNumber, - index: uint64(fi.FileIndexHigh)<<32 | uint64(fi.FileIndexLow), - } - return ino, nil -} - -// Must run within the I/O thread. -func (m watchMap) get(ino *inode) *watch { - if i := m[ino.volume]; i != nil { - return i[ino.index] - } - return nil -} - -// Must run within the I/O thread. -func (m watchMap) set(ino *inode, watch *watch) { - i := m[ino.volume] - if i == nil { - i = make(indexMap) - m[ino.volume] = i - } - i[ino.index] = watch -} - -// Must run within the I/O thread. -func (w *Watcher) addWatch(pathname string, flags uint64) error { - dir, err := getDir(pathname) - if err != nil { - return err - } - if flags&sysFSONLYDIR != 0 && pathname != dir { - return nil - } - ino, err := getIno(dir) - if err != nil { - return err - } - w.mu.Lock() - watchEntry := w.watches.get(ino) - w.mu.Unlock() - if watchEntry == nil { - if _, e := syscall.CreateIoCompletionPort(ino.handle, w.port, 0, 0); e != nil { - syscall.CloseHandle(ino.handle) - return os.NewSyscallError("CreateIoCompletionPort", e) - } - watchEntry = &watch{ - ino: ino, - path: dir, - names: make(map[string]uint64), - } - w.mu.Lock() - w.watches.set(ino, watchEntry) - w.mu.Unlock() - flags |= provisional - } else { - syscall.CloseHandle(ino.handle) - } - if pathname == dir { - watchEntry.mask |= flags - } else { - watchEntry.names[filepath.Base(pathname)] |= flags - } - if err = w.startRead(watchEntry); err != nil { - return err - } - if pathname == dir { - watchEntry.mask &= ^provisional - } else { - watchEntry.names[filepath.Base(pathname)] &= ^provisional - } - return nil -} - -// Must run within the I/O thread. -func (w *Watcher) remWatch(pathname string) error { - dir, err := getDir(pathname) - if err != nil { - return err - } - ino, err := getIno(dir) - if err != nil { - return err - } - w.mu.Lock() - watch := w.watches.get(ino) - w.mu.Unlock() - if watch == nil { - return fmt.Errorf("can't remove non-existent watch for: %s", pathname) - } - if pathname == dir { - w.sendEvent(watch.path, watch.mask&sysFSIGNORED) - watch.mask = 0 - } else { - name := filepath.Base(pathname) - w.sendEvent(filepath.Join(watch.path, name), watch.names[name]&sysFSIGNORED) - delete(watch.names, name) - } - return w.startRead(watch) -} - -// Must run within the I/O thread. -func (w *Watcher) deleteWatch(watch *watch) { - for name, mask := range watch.names { - if mask&provisional == 0 { - w.sendEvent(filepath.Join(watch.path, name), mask&sysFSIGNORED) - } - delete(watch.names, name) - } - if watch.mask != 0 { - if watch.mask&provisional == 0 { - w.sendEvent(watch.path, watch.mask&sysFSIGNORED) - } - watch.mask = 0 - } -} - -// Must run within the I/O thread. -func (w *Watcher) startRead(watch *watch) error { - if e := syscall.CancelIo(watch.ino.handle); e != nil { - w.Errors <- os.NewSyscallError("CancelIo", e) - w.deleteWatch(watch) - } - mask := toWindowsFlags(watch.mask) - for _, m := range watch.names { - mask |= toWindowsFlags(m) - } - if mask == 0 { - if e := syscall.CloseHandle(watch.ino.handle); e != nil { - w.Errors <- os.NewSyscallError("CloseHandle", e) - } - w.mu.Lock() - delete(w.watches[watch.ino.volume], watch.ino.index) - w.mu.Unlock() - return nil - } - e := syscall.ReadDirectoryChanges(watch.ino.handle, &watch.buf[0], - uint32(unsafe.Sizeof(watch.buf)), false, mask, nil, &watch.ov, 0) - if e != nil { - err := os.NewSyscallError("ReadDirectoryChanges", e) - if e == syscall.ERROR_ACCESS_DENIED && watch.mask&provisional == 0 { - // Watched directory was probably removed - if w.sendEvent(watch.path, watch.mask&sysFSDELETESELF) { - if watch.mask&sysFSONESHOT != 0 { - watch.mask = 0 - } - } - err = nil - } - w.deleteWatch(watch) - w.startRead(watch) - return err - } - return nil -} - -// readEvents reads from the I/O completion port, converts the -// received events into Event objects and sends them via the Events channel. -// Entry point to the I/O thread. -func (w *Watcher) readEvents() { - var ( - n, key uint32 - ov *syscall.Overlapped - ) - runtime.LockOSThread() - - for { - e := syscall.GetQueuedCompletionStatus(w.port, &n, &key, &ov, syscall.INFINITE) - watch := (*watch)(unsafe.Pointer(ov)) - - if watch == nil { - select { - case ch := <-w.quit: - w.mu.Lock() - var indexes []indexMap - for _, index := range w.watches { - indexes = append(indexes, index) - } - w.mu.Unlock() - for _, index := range indexes { - for _, watch := range index { - w.deleteWatch(watch) - w.startRead(watch) - } - } - var err error - if e := syscall.CloseHandle(w.port); e != nil { - err = os.NewSyscallError("CloseHandle", e) - } - close(w.Events) - close(w.Errors) - ch <- err - return - case in := <-w.input: - switch in.op { - case opAddWatch: - in.reply <- w.addWatch(in.path, uint64(in.flags)) - case opRemoveWatch: - in.reply <- w.remWatch(in.path) - } - default: - } - continue - } - - switch e { - case syscall.ERROR_MORE_DATA: - if watch == nil { - w.Errors <- errors.New("ERROR_MORE_DATA has unexpectedly null lpOverlapped buffer") - } else { - // The i/o succeeded but the buffer is full. - // In theory we should be building up a full packet. - // In practice we can get away with just carrying on. - n = uint32(unsafe.Sizeof(watch.buf)) - } - case syscall.ERROR_ACCESS_DENIED: - // Watched directory was probably removed - w.sendEvent(watch.path, watch.mask&sysFSDELETESELF) - w.deleteWatch(watch) - w.startRead(watch) - continue - case syscall.ERROR_OPERATION_ABORTED: - // CancelIo was called on this handle - continue - default: - w.Errors <- os.NewSyscallError("GetQueuedCompletionPort", e) - continue - case nil: - } - - var offset uint32 - for { - if n == 0 { - w.Events <- newEvent("", sysFSQOVERFLOW) - w.Errors <- errors.New("short read in readEvents()") - break - } - - // Point "raw" to the event in the buffer - raw := (*syscall.FileNotifyInformation)(unsafe.Pointer(&watch.buf[offset])) - buf := (*[syscall.MAX_PATH]uint16)(unsafe.Pointer(&raw.FileName)) - name := syscall.UTF16ToString(buf[:raw.FileNameLength/2]) - fullname := filepath.Join(watch.path, name) - - var mask uint64 - switch raw.Action { - case syscall.FILE_ACTION_REMOVED: - mask = sysFSDELETESELF - case syscall.FILE_ACTION_MODIFIED: - mask = sysFSMODIFY - case syscall.FILE_ACTION_RENAMED_OLD_NAME: - watch.rename = name - case syscall.FILE_ACTION_RENAMED_NEW_NAME: - if watch.names[watch.rename] != 0 { - watch.names[name] |= watch.names[watch.rename] - delete(watch.names, watch.rename) - mask = sysFSMOVESELF - } - } - - sendNameEvent := func() { - if w.sendEvent(fullname, watch.names[name]&mask) { - if watch.names[name]&sysFSONESHOT != 0 { - delete(watch.names, name) - } - } - } - if raw.Action != syscall.FILE_ACTION_RENAMED_NEW_NAME { - sendNameEvent() - } - if raw.Action == syscall.FILE_ACTION_REMOVED { - w.sendEvent(fullname, watch.names[name]&sysFSIGNORED) - delete(watch.names, name) - } - if w.sendEvent(fullname, watch.mask&toFSnotifyFlags(raw.Action)) { - if watch.mask&sysFSONESHOT != 0 { - watch.mask = 0 - } - } - if raw.Action == syscall.FILE_ACTION_RENAMED_NEW_NAME { - fullname = filepath.Join(watch.path, watch.rename) - sendNameEvent() - } - - // Move to the next event in the buffer - if raw.NextEntryOffset == 0 { - break - } - offset += raw.NextEntryOffset - - // Error! - if offset >= n { - w.Errors <- errors.New("Windows system assumed buffer larger than it is, events have likely been missed.") - break - } - } - - if err := w.startRead(watch); err != nil { - w.Errors <- err - } - } -} - -func (w *Watcher) sendEvent(name string, mask uint64) bool { - if mask == 0 { - return false - } - event := newEvent(name, uint32(mask)) - select { - case ch := <-w.quit: - w.quit <- ch - case w.Events <- event: - } - return true -} - -func toWindowsFlags(mask uint64) uint32 { - var m uint32 - if mask&sysFSACCESS != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_LAST_ACCESS - } - if mask&sysFSMODIFY != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_LAST_WRITE - } - if mask&sysFSATTRIB != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_ATTRIBUTES - } - if mask&(sysFSMOVE|sysFSCREATE|sysFSDELETE) != 0 { - m |= syscall.FILE_NOTIFY_CHANGE_FILE_NAME | syscall.FILE_NOTIFY_CHANGE_DIR_NAME - } - return m -} - -func toFSnotifyFlags(action uint32) uint64 { - switch action { - case syscall.FILE_ACTION_ADDED: - return sysFSCREATE - case syscall.FILE_ACTION_REMOVED: - return sysFSDELETE - case syscall.FILE_ACTION_MODIFIED: - return sysFSMODIFY - case syscall.FILE_ACTION_RENAMED_OLD_NAME: - return sysFSMOVEDFROM - case syscall.FILE_ACTION_RENAMED_NEW_NAME: - return sysFSMOVEDTO - } - return 0 -} diff --git a/vendor/github.com/gorilla/context/LICENSE b/vendor/github.com/gorilla/context/LICENSE deleted file mode 100644 index 0e5fb87..0000000 --- a/vendor/github.com/gorilla/context/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2012 Rodrigo Moraes. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/context/README.md b/vendor/github.com/gorilla/context/README.md deleted file mode 100644 index 08f8669..0000000 --- a/vendor/github.com/gorilla/context/README.md +++ /dev/null @@ -1,10 +0,0 @@ -context -======= -[![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) - -gorilla/context is a general purpose registry for global request variables. - -> Note: gorilla/context, having been born well before `context.Context` existed, does not play well -> with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`. - -Read the full documentation here: http://www.gorillatoolkit.org/pkg/context diff --git a/vendor/github.com/gorilla/context/context.go b/vendor/github.com/gorilla/context/context.go deleted file mode 100644 index 81cb128..0000000 --- a/vendor/github.com/gorilla/context/context.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package context - -import ( - "net/http" - "sync" - "time" -) - -var ( - mutex sync.RWMutex - data = make(map[*http.Request]map[interface{}]interface{}) - datat = make(map[*http.Request]int64) -) - -// Set stores a value for a given key in a given request. -func Set(r *http.Request, key, val interface{}) { - mutex.Lock() - if data[r] == nil { - data[r] = make(map[interface{}]interface{}) - datat[r] = time.Now().Unix() - } - data[r][key] = val - mutex.Unlock() -} - -// Get returns a value stored for a given key in a given request. -func Get(r *http.Request, key interface{}) interface{} { - mutex.RLock() - if ctx := data[r]; ctx != nil { - value := ctx[key] - mutex.RUnlock() - return value - } - mutex.RUnlock() - return nil -} - -// GetOk returns stored value and presence state like multi-value return of map access. -func GetOk(r *http.Request, key interface{}) (interface{}, bool) { - mutex.RLock() - if _, ok := data[r]; ok { - value, ok := data[r][key] - mutex.RUnlock() - return value, ok - } - mutex.RUnlock() - return nil, false -} - -// GetAll returns all stored values for the request as a map. Nil is returned for invalid requests. -func GetAll(r *http.Request) map[interface{}]interface{} { - mutex.RLock() - if context, ok := data[r]; ok { - result := make(map[interface{}]interface{}, len(context)) - for k, v := range context { - result[k] = v - } - mutex.RUnlock() - return result - } - mutex.RUnlock() - return nil -} - -// GetAllOk returns all stored values for the request as a map and a boolean value that indicates if -// the request was registered. -func GetAllOk(r *http.Request) (map[interface{}]interface{}, bool) { - mutex.RLock() - context, ok := data[r] - result := make(map[interface{}]interface{}, len(context)) - for k, v := range context { - result[k] = v - } - mutex.RUnlock() - return result, ok -} - -// Delete removes a value stored for a given key in a given request. -func Delete(r *http.Request, key interface{}) { - mutex.Lock() - if data[r] != nil { - delete(data[r], key) - } - mutex.Unlock() -} - -// Clear removes all values stored for a given request. -// -// This is usually called by a handler wrapper to clean up request -// variables at the end of a request lifetime. See ClearHandler(). -func Clear(r *http.Request) { - mutex.Lock() - clear(r) - mutex.Unlock() -} - -// clear is Clear without the lock. -func clear(r *http.Request) { - delete(data, r) - delete(datat, r) -} - -// Purge removes request data stored for longer than maxAge, in seconds. -// It returns the amount of requests removed. -// -// If maxAge <= 0, all request data is removed. -// -// This is only used for sanity check: in case context cleaning was not -// properly set some request data can be kept forever, consuming an increasing -// amount of memory. In case this is detected, Purge() must be called -// periodically until the problem is fixed. -func Purge(maxAge int) int { - mutex.Lock() - count := 0 - if maxAge <= 0 { - count = len(data) - data = make(map[*http.Request]map[interface{}]interface{}) - datat = make(map[*http.Request]int64) - } else { - min := time.Now().Unix() - int64(maxAge) - for r := range data { - if datat[r] < min { - clear(r) - count++ - } - } - } - mutex.Unlock() - return count -} - -// ClearHandler wraps an http.Handler and clears request values at the end -// of a request lifetime. -func ClearHandler(h http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - defer Clear(r) - h.ServeHTTP(w, r) - }) -} diff --git a/vendor/github.com/gorilla/context/doc.go b/vendor/github.com/gorilla/context/doc.go deleted file mode 100644 index 448d1bf..0000000 --- a/vendor/github.com/gorilla/context/doc.go +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -Package context stores values shared during a request lifetime. - -Note: gorilla/context, having been born well before `context.Context` existed, -does not play well > with the shallow copying of the request that -[`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) -(added to net/http Go 1.7 onwards) performs. You should either use *just* -gorilla/context, or moving forward, the new `http.Request.Context()`. - -For example, a router can set variables extracted from the URL and later -application handlers can access those values, or it can be used to store -sessions values to be saved at the end of a request. There are several -others common uses. - -The idea was posted by Brad Fitzpatrick to the go-nuts mailing list: - - http://groups.google.com/group/golang-nuts/msg/e2d679d303aa5d53 - -Here's the basic usage: first define the keys that you will need. The key -type is interface{} so a key can be of any type that supports equality. -Here we define a key using a custom int type to avoid name collisions: - - package foo - - import ( - "github.com/gorilla/context" - ) - - type key int - - const MyKey key = 0 - -Then set a variable. Variables are bound to an http.Request object, so you -need a request instance to set a value: - - context.Set(r, MyKey, "bar") - -The application can later access the variable using the same key you provided: - - func MyHandler(w http.ResponseWriter, r *http.Request) { - // val is "bar". - val := context.Get(r, foo.MyKey) - - // returns ("bar", true) - val, ok := context.GetOk(r, foo.MyKey) - // ... - } - -And that's all about the basic usage. We discuss some other ideas below. - -Any type can be stored in the context. To enforce a given type, make the key -private and wrap Get() and Set() to accept and return values of a specific -type: - - type key int - - const mykey key = 0 - - // GetMyKey returns a value for this package from the request values. - func GetMyKey(r *http.Request) SomeType { - if rv := context.Get(r, mykey); rv != nil { - return rv.(SomeType) - } - return nil - } - - // SetMyKey sets a value for this package in the request values. - func SetMyKey(r *http.Request, val SomeType) { - context.Set(r, mykey, val) - } - -Variables must be cleared at the end of a request, to remove all values -that were stored. This can be done in an http.Handler, after a request was -served. Just call Clear() passing the request: - - context.Clear(r) - -...or use ClearHandler(), which conveniently wraps an http.Handler to clear -variables at the end of a request lifetime. - -The Routers from the packages gorilla/mux and gorilla/pat call Clear() -so if you are using either of them you don't need to clear the context manually. -*/ -package context diff --git a/vendor/github.com/gorilla/securecookie/LICENSE b/vendor/github.com/gorilla/securecookie/LICENSE deleted file mode 100644 index 0e5fb87..0000000 --- a/vendor/github.com/gorilla/securecookie/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2012 Rodrigo Moraes. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/securecookie/README.md b/vendor/github.com/gorilla/securecookie/README.md deleted file mode 100644 index aa7bd1a..0000000 --- a/vendor/github.com/gorilla/securecookie/README.md +++ /dev/null @@ -1,80 +0,0 @@ -securecookie -============ -[![GoDoc](https://godoc.org/github.com/gorilla/securecookie?status.svg)](https://godoc.org/github.com/gorilla/securecookie) [![Build Status](https://travis-ci.org/gorilla/securecookie.png?branch=master)](https://travis-ci.org/gorilla/securecookie) -[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/securecookie/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/securecookie?badge) - - -securecookie encodes and decodes authenticated and optionally encrypted -cookie values. - -Secure cookies can't be forged, because their values are validated using HMAC. -When encrypted, the content is also inaccessible to malicious eyes. It is still -recommended that sensitive data not be stored in cookies, and that HTTPS be used -to prevent cookie [replay attacks](https://en.wikipedia.org/wiki/Replay_attack). - -## Examples - -To use it, first create a new SecureCookie instance: - -```go -// Hash keys should be at least 32 bytes long -var hashKey = []byte("very-secret") -// Block keys should be 16 bytes (AES-128) or 32 bytes (AES-256) long. -// Shorter keys may weaken the encryption used. -var blockKey = []byte("a-lot-secret") -var s = securecookie.New(hashKey, blockKey) -``` - -The hashKey is required, used to authenticate the cookie value using HMAC. -It is recommended to use a key with 32 or 64 bytes. - -The blockKey is optional, used to encrypt the cookie value -- set it to nil -to not use encryption. If set, the length must correspond to the block size -of the encryption algorithm. For AES, used by default, valid lengths are -16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. - -Strong keys can be created using the convenience function GenerateRandomKey(). - -Once a SecureCookie instance is set, use it to encode a cookie value: - -```go -func SetCookieHandler(w http.ResponseWriter, r *http.Request) { - value := map[string]string{ - "foo": "bar", - } - if encoded, err := s.Encode("cookie-name", value); err == nil { - cookie := &http.Cookie{ - Name: "cookie-name", - Value: encoded, - Path: "/", - Secure: true, - HttpOnly: true, - } - http.SetCookie(w, cookie) - } -} -``` - -Later, use the same SecureCookie instance to decode and validate a cookie -value: - -```go -func ReadCookieHandler(w http.ResponseWriter, r *http.Request) { - if cookie, err := r.Cookie("cookie-name"); err == nil { - value := make(map[string]string) - if err = s2.Decode("cookie-name", cookie.Value, &value); err == nil { - fmt.Fprintf(w, "The value of foo is %q", value["foo"]) - } - } -} -``` - -We stored a map[string]string, but secure cookies can hold any value that -can be encoded using `encoding/gob`. To store custom types, they must be -registered first using gob.Register(). For basic types this is not needed; -it works out of the box. An optional JSON encoder that uses `encoding/json` is -available for types compatible with JSON. - -## License - -BSD licensed. See the LICENSE file for details. diff --git a/vendor/github.com/gorilla/securecookie/doc.go b/vendor/github.com/gorilla/securecookie/doc.go deleted file mode 100644 index ae89408..0000000 --- a/vendor/github.com/gorilla/securecookie/doc.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -Package securecookie encodes and decodes authenticated and optionally -encrypted cookie values. - -Secure cookies can't be forged, because their values are validated using HMAC. -When encrypted, the content is also inaccessible to malicious eyes. - -To use it, first create a new SecureCookie instance: - - var hashKey = []byte("very-secret") - var blockKey = []byte("a-lot-secret") - var s = securecookie.New(hashKey, blockKey) - -The hashKey is required, used to authenticate the cookie value using HMAC. -It is recommended to use a key with 32 or 64 bytes. - -The blockKey is optional, used to encrypt the cookie value -- set it to nil -to not use encryption. If set, the length must correspond to the block size -of the encryption algorithm. For AES, used by default, valid lengths are -16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. - -Strong keys can be created using the convenience function GenerateRandomKey(). - -Once a SecureCookie instance is set, use it to encode a cookie value: - - func SetCookieHandler(w http.ResponseWriter, r *http.Request) { - value := map[string]string{ - "foo": "bar", - } - if encoded, err := s.Encode("cookie-name", value); err == nil { - cookie := &http.Cookie{ - Name: "cookie-name", - Value: encoded, - Path: "/", - } - http.SetCookie(w, cookie) - } - } - -Later, use the same SecureCookie instance to decode and validate a cookie -value: - - func ReadCookieHandler(w http.ResponseWriter, r *http.Request) { - if cookie, err := r.Cookie("cookie-name"); err == nil { - value := make(map[string]string) - if err = s2.Decode("cookie-name", cookie.Value, &value); err == nil { - fmt.Fprintf(w, "The value of foo is %q", value["foo"]) - } - } - } - -We stored a map[string]string, but secure cookies can hold any value that -can be encoded using encoding/gob. To store custom types, they must be -registered first using gob.Register(). For basic types this is not needed; -it works out of the box. -*/ -package securecookie diff --git a/vendor/github.com/gorilla/securecookie/fuzz.go b/vendor/github.com/gorilla/securecookie/fuzz.go deleted file mode 100644 index e4d0534..0000000 --- a/vendor/github.com/gorilla/securecookie/fuzz.go +++ /dev/null @@ -1,25 +0,0 @@ -// +build gofuzz - -package securecookie - -var hashKey = []byte("very-secret12345") -var blockKey = []byte("a-lot-secret1234") -var s = New(hashKey, blockKey) - -type Cookie struct { - B bool - I int - S string -} - -func Fuzz(data []byte) int { - datas := string(data) - var c Cookie - if err := s.Decode("fuzz", datas, &c); err != nil { - return 0 - } - if _, err := s.Encode("fuzz", c); err != nil { - panic(err) - } - return 1 -} diff --git a/vendor/github.com/gorilla/securecookie/securecookie.go b/vendor/github.com/gorilla/securecookie/securecookie.go deleted file mode 100644 index cd4e097..0000000 --- a/vendor/github.com/gorilla/securecookie/securecookie.go +++ /dev/null @@ -1,646 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package securecookie - -import ( - "bytes" - "crypto/aes" - "crypto/cipher" - "crypto/hmac" - "crypto/rand" - "crypto/sha256" - "crypto/subtle" - "encoding/base64" - "encoding/gob" - "encoding/json" - "fmt" - "hash" - "io" - "strconv" - "strings" - "time" -) - -// Error is the interface of all errors returned by functions in this library. -type Error interface { - error - - // IsUsage returns true for errors indicating the client code probably - // uses this library incorrectly. For example, the client may have - // failed to provide a valid hash key, or may have failed to configure - // the Serializer adequately for encoding value. - IsUsage() bool - - // IsDecode returns true for errors indicating that a cookie could not - // be decoded and validated. Since cookies are usually untrusted - // user-provided input, errors of this type should be expected. - // Usually, the proper action is simply to reject the request. - IsDecode() bool - - // IsInternal returns true for unexpected errors occurring in the - // securecookie implementation. - IsInternal() bool - - // Cause, if it returns a non-nil value, indicates that this error was - // propagated from some underlying library. If this method returns nil, - // this error was raised directly by this library. - // - // Cause is provided principally for debugging/logging purposes; it is - // rare that application logic should perform meaningfully different - // logic based on Cause. See, for example, the caveats described on - // (MultiError).Cause(). - Cause() error -} - -// errorType is a bitmask giving the error type(s) of an cookieError value. -type errorType int - -const ( - usageError = errorType(1 << iota) - decodeError - internalError -) - -type cookieError struct { - typ errorType - msg string - cause error -} - -func (e cookieError) IsUsage() bool { return (e.typ & usageError) != 0 } -func (e cookieError) IsDecode() bool { return (e.typ & decodeError) != 0 } -func (e cookieError) IsInternal() bool { return (e.typ & internalError) != 0 } - -func (e cookieError) Cause() error { return e.cause } - -func (e cookieError) Error() string { - parts := []string{"securecookie: "} - if e.msg == "" { - parts = append(parts, "error") - } else { - parts = append(parts, e.msg) - } - if c := e.Cause(); c != nil { - parts = append(parts, " - caused by: ", c.Error()) - } - return strings.Join(parts, "") -} - -var ( - errGeneratingIV = cookieError{typ: internalError, msg: "failed to generate random iv"} - - errNoCodecs = cookieError{typ: usageError, msg: "no codecs provided"} - errHashKeyNotSet = cookieError{typ: usageError, msg: "hash key is not set"} - errBlockKeyNotSet = cookieError{typ: usageError, msg: "block key is not set"} - errEncodedValueTooLong = cookieError{typ: usageError, msg: "the value is too long"} - - errValueToDecodeTooLong = cookieError{typ: decodeError, msg: "the value is too long"} - errTimestampInvalid = cookieError{typ: decodeError, msg: "invalid timestamp"} - errTimestampTooNew = cookieError{typ: decodeError, msg: "timestamp is too new"} - errTimestampExpired = cookieError{typ: decodeError, msg: "expired timestamp"} - errDecryptionFailed = cookieError{typ: decodeError, msg: "the value could not be decrypted"} - errValueNotByte = cookieError{typ: decodeError, msg: "value not a []byte."} - errValueNotBytePtr = cookieError{typ: decodeError, msg: "value not a pointer to []byte."} - - // ErrMacInvalid indicates that cookie decoding failed because the HMAC - // could not be extracted and verified. Direct use of this error - // variable is deprecated; it is public only for legacy compatibility, - // and may be privatized in the future, as it is rarely useful to - // distinguish between this error and other Error implementations. - ErrMacInvalid = cookieError{typ: decodeError, msg: "the value is not valid"} -) - -// Codec defines an interface to encode and decode cookie values. -type Codec interface { - Encode(name string, value interface{}) (string, error) - Decode(name, value string, dst interface{}) error -} - -// New returns a new SecureCookie. -// -// hashKey is required, used to authenticate values using HMAC. Create it using -// GenerateRandomKey(). It is recommended to use a key with 32 or 64 bytes. -// -// blockKey is optional, used to encrypt values. Create it using -// GenerateRandomKey(). The key length must correspond to the block size -// of the encryption algorithm. For AES, used by default, valid lengths are -// 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. -// The default encoder used for cookie serialization is encoding/gob. -// -// Note that keys created using GenerateRandomKey() are not automatically -// persisted. New keys will be created when the application is restarted, and -// previously issued cookies will not be able to be decoded. -func New(hashKey, blockKey []byte) *SecureCookie { - s := &SecureCookie{ - hashKey: hashKey, - blockKey: blockKey, - hashFunc: sha256.New, - maxAge: 86400 * 30, - maxLength: 4096, - sz: GobEncoder{}, - } - if hashKey == nil { - s.err = errHashKeyNotSet - } - if blockKey != nil { - s.BlockFunc(aes.NewCipher) - } - return s -} - -// SecureCookie encodes and decodes authenticated and optionally encrypted -// cookie values. -type SecureCookie struct { - hashKey []byte - hashFunc func() hash.Hash - blockKey []byte - block cipher.Block - maxLength int - maxAge int64 - minAge int64 - err error - sz Serializer - // For testing purposes, the function that returns the current timestamp. - // If not set, it will use time.Now().UTC().Unix(). - timeFunc func() int64 -} - -// Serializer provides an interface for providing custom serializers for cookie -// values. -type Serializer interface { - Serialize(src interface{}) ([]byte, error) - Deserialize(src []byte, dst interface{}) error -} - -// GobEncoder encodes cookie values using encoding/gob. This is the simplest -// encoder and can handle complex types via gob.Register. -type GobEncoder struct{} - -// JSONEncoder encodes cookie values using encoding/json. Users who wish to -// encode complex types need to satisfy the json.Marshaller and -// json.Unmarshaller interfaces. -type JSONEncoder struct{} - -// NopEncoder does not encode cookie values, and instead simply accepts a []byte -// (as an interface{}) and returns a []byte. This is particularly useful when -// you encoding an object upstream and do not wish to re-encode it. -type NopEncoder struct{} - -// MaxLength restricts the maximum length, in bytes, for the cookie value. -// -// Default is 4096, which is the maximum value accepted by Internet Explorer. -func (s *SecureCookie) MaxLength(value int) *SecureCookie { - s.maxLength = value - return s -} - -// MaxAge restricts the maximum age, in seconds, for the cookie value. -// -// Default is 86400 * 30. Set it to 0 for no restriction. -func (s *SecureCookie) MaxAge(value int) *SecureCookie { - s.maxAge = int64(value) - return s -} - -// MinAge restricts the minimum age, in seconds, for the cookie value. -// -// Default is 0 (no restriction). -func (s *SecureCookie) MinAge(value int) *SecureCookie { - s.minAge = int64(value) - return s -} - -// HashFunc sets the hash function used to create HMAC. -// -// Default is crypto/sha256.New. -func (s *SecureCookie) HashFunc(f func() hash.Hash) *SecureCookie { - s.hashFunc = f - return s -} - -// BlockFunc sets the encryption function used to create a cipher.Block. -// -// Default is crypto/aes.New. -func (s *SecureCookie) BlockFunc(f func([]byte) (cipher.Block, error)) *SecureCookie { - if s.blockKey == nil { - s.err = errBlockKeyNotSet - } else if block, err := f(s.blockKey); err == nil { - s.block = block - } else { - s.err = cookieError{cause: err, typ: usageError} - } - return s -} - -// Encoding sets the encoding/serialization method for cookies. -// -// Default is encoding/gob. To encode special structures using encoding/gob, -// they must be registered first using gob.Register(). -func (s *SecureCookie) SetSerializer(sz Serializer) *SecureCookie { - s.sz = sz - - return s -} - -// Encode encodes a cookie value. -// -// It serializes, optionally encrypts, signs with a message authentication code, -// and finally encodes the value. -// -// The name argument is the cookie name. It is stored with the encoded value. -// The value argument is the value to be encoded. It can be any value that can -// be encoded using the currently selected serializer; see SetSerializer(). -// -// It is the client's responsibility to ensure that value, when encoded using -// the current serialization/encryption settings on s and then base64-encoded, -// is shorter than the maximum permissible length. -func (s *SecureCookie) Encode(name string, value interface{}) (string, error) { - if s.err != nil { - return "", s.err - } - if s.hashKey == nil { - s.err = errHashKeyNotSet - return "", s.err - } - var err error - var b []byte - // 1. Serialize. - if b, err = s.sz.Serialize(value); err != nil { - return "", cookieError{cause: err, typ: usageError} - } - // 2. Encrypt (optional). - if s.block != nil { - if b, err = encrypt(s.block, b); err != nil { - return "", cookieError{cause: err, typ: usageError} - } - } - b = encode(b) - // 3. Create MAC for "name|date|value". Extra pipe to be used later. - b = []byte(fmt.Sprintf("%s|%d|%s|", name, s.timestamp(), b)) - mac := createMac(hmac.New(s.hashFunc, s.hashKey), b[:len(b)-1]) - // Append mac, remove name. - b = append(b, mac...)[len(name)+1:] - // 4. Encode to base64. - b = encode(b) - // 5. Check length. - if s.maxLength != 0 && len(b) > s.maxLength { - return "", errEncodedValueTooLong - } - // Done. - return string(b), nil -} - -// Decode decodes a cookie value. -// -// It decodes, verifies a message authentication code, optionally decrypts and -// finally deserializes the value. -// -// The name argument is the cookie name. It must be the same name used when -// it was stored. The value argument is the encoded cookie value. The dst -// argument is where the cookie will be decoded. It must be a pointer. -func (s *SecureCookie) Decode(name, value string, dst interface{}) error { - if s.err != nil { - return s.err - } - if s.hashKey == nil { - s.err = errHashKeyNotSet - return s.err - } - // 1. Check length. - if s.maxLength != 0 && len(value) > s.maxLength { - return errValueToDecodeTooLong - } - // 2. Decode from base64. - b, err := decode([]byte(value)) - if err != nil { - return err - } - // 3. Verify MAC. Value is "date|value|mac". - parts := bytes.SplitN(b, []byte("|"), 3) - if len(parts) != 3 { - return ErrMacInvalid - } - h := hmac.New(s.hashFunc, s.hashKey) - b = append([]byte(name+"|"), b[:len(b)-len(parts[2])-1]...) - if err = verifyMac(h, b, parts[2]); err != nil { - return err - } - // 4. Verify date ranges. - var t1 int64 - if t1, err = strconv.ParseInt(string(parts[0]), 10, 64); err != nil { - return errTimestampInvalid - } - t2 := s.timestamp() - if s.minAge != 0 && t1 > t2-s.minAge { - return errTimestampTooNew - } - if s.maxAge != 0 && t1 < t2-s.maxAge { - return errTimestampExpired - } - // 5. Decrypt (optional). - b, err = decode(parts[1]) - if err != nil { - return err - } - if s.block != nil { - if b, err = decrypt(s.block, b); err != nil { - return err - } - } - // 6. Deserialize. - if err = s.sz.Deserialize(b, dst); err != nil { - return cookieError{cause: err, typ: decodeError} - } - // Done. - return nil -} - -// timestamp returns the current timestamp, in seconds. -// -// For testing purposes, the function that generates the timestamp can be -// overridden. If not set, it will return time.Now().UTC().Unix(). -func (s *SecureCookie) timestamp() int64 { - if s.timeFunc == nil { - return time.Now().UTC().Unix() - } - return s.timeFunc() -} - -// Authentication ------------------------------------------------------------- - -// createMac creates a message authentication code (MAC). -func createMac(h hash.Hash, value []byte) []byte { - h.Write(value) - return h.Sum(nil) -} - -// verifyMac verifies that a message authentication code (MAC) is valid. -func verifyMac(h hash.Hash, value []byte, mac []byte) error { - mac2 := createMac(h, value) - // Check that both MACs are of equal length, as subtle.ConstantTimeCompare - // does not do this prior to Go 1.4. - if len(mac) == len(mac2) && subtle.ConstantTimeCompare(mac, mac2) == 1 { - return nil - } - return ErrMacInvalid -} - -// Encryption ----------------------------------------------------------------- - -// encrypt encrypts a value using the given block in counter mode. -// -// A random initialization vector (http://goo.gl/zF67k) with the length of the -// block size is prepended to the resulting ciphertext. -func encrypt(block cipher.Block, value []byte) ([]byte, error) { - iv := GenerateRandomKey(block.BlockSize()) - if iv == nil { - return nil, errGeneratingIV - } - // Encrypt it. - stream := cipher.NewCTR(block, iv) - stream.XORKeyStream(value, value) - // Return iv + ciphertext. - return append(iv, value...), nil -} - -// decrypt decrypts a value using the given block in counter mode. -// -// The value to be decrypted must be prepended by a initialization vector -// (http://goo.gl/zF67k) with the length of the block size. -func decrypt(block cipher.Block, value []byte) ([]byte, error) { - size := block.BlockSize() - if len(value) > size { - // Extract iv. - iv := value[:size] - // Extract ciphertext. - value = value[size:] - // Decrypt it. - stream := cipher.NewCTR(block, iv) - stream.XORKeyStream(value, value) - return value, nil - } - return nil, errDecryptionFailed -} - -// Serialization -------------------------------------------------------------- - -// Serialize encodes a value using gob. -func (e GobEncoder) Serialize(src interface{}) ([]byte, error) { - buf := new(bytes.Buffer) - enc := gob.NewEncoder(buf) - if err := enc.Encode(src); err != nil { - return nil, cookieError{cause: err, typ: usageError} - } - return buf.Bytes(), nil -} - -// Deserialize decodes a value using gob. -func (e GobEncoder) Deserialize(src []byte, dst interface{}) error { - dec := gob.NewDecoder(bytes.NewBuffer(src)) - if err := dec.Decode(dst); err != nil { - return cookieError{cause: err, typ: decodeError} - } - return nil -} - -// Serialize encodes a value using encoding/json. -func (e JSONEncoder) Serialize(src interface{}) ([]byte, error) { - buf := new(bytes.Buffer) - enc := json.NewEncoder(buf) - if err := enc.Encode(src); err != nil { - return nil, cookieError{cause: err, typ: usageError} - } - return buf.Bytes(), nil -} - -// Deserialize decodes a value using encoding/json. -func (e JSONEncoder) Deserialize(src []byte, dst interface{}) error { - dec := json.NewDecoder(bytes.NewReader(src)) - if err := dec.Decode(dst); err != nil { - return cookieError{cause: err, typ: decodeError} - } - return nil -} - -// Serialize passes a []byte through as-is. -func (e NopEncoder) Serialize(src interface{}) ([]byte, error) { - if b, ok := src.([]byte); ok { - return b, nil - } - - return nil, errValueNotByte -} - -// Deserialize passes a []byte through as-is. -func (e NopEncoder) Deserialize(src []byte, dst interface{}) error { - if dat, ok := dst.(*[]byte); ok { - *dat = src - return nil - } - return errValueNotBytePtr -} - -// Encoding ------------------------------------------------------------------- - -// encode encodes a value using base64. -func encode(value []byte) []byte { - encoded := make([]byte, base64.URLEncoding.EncodedLen(len(value))) - base64.URLEncoding.Encode(encoded, value) - return encoded -} - -// decode decodes a cookie using base64. -func decode(value []byte) ([]byte, error) { - decoded := make([]byte, base64.URLEncoding.DecodedLen(len(value))) - b, err := base64.URLEncoding.Decode(decoded, value) - if err != nil { - return nil, cookieError{cause: err, typ: decodeError, msg: "base64 decode failed"} - } - return decoded[:b], nil -} - -// Helpers -------------------------------------------------------------------- - -// GenerateRandomKey creates a random key with the given length in bytes. -// On failure, returns nil. -// -// Callers should explicitly check for the possibility of a nil return, treat -// it as a failure of the system random number generator, and not continue. -func GenerateRandomKey(length int) []byte { - k := make([]byte, length) - if _, err := io.ReadFull(rand.Reader, k); err != nil { - return nil - } - return k -} - -// CodecsFromPairs returns a slice of SecureCookie instances. -// -// It is a convenience function to create a list of codecs for key rotation. Note -// that the generated Codecs will have the default options applied: callers -// should iterate over each Codec and type-assert the underlying *SecureCookie to -// change these. -// -// Example: -// -// codecs := securecookie.CodecsFromPairs( -// []byte("new-hash-key"), -// []byte("new-block-key"), -// []byte("old-hash-key"), -// []byte("old-block-key"), -// ) -// -// // Modify each instance. -// for _, s := range codecs { -// if cookie, ok := s.(*securecookie.SecureCookie); ok { -// cookie.MaxAge(86400 * 7) -// cookie.SetSerializer(securecookie.JSONEncoder{}) -// cookie.HashFunc(sha512.New512_256) -// } -// } -// -func CodecsFromPairs(keyPairs ...[]byte) []Codec { - codecs := make([]Codec, len(keyPairs)/2+len(keyPairs)%2) - for i := 0; i < len(keyPairs); i += 2 { - var blockKey []byte - if i+1 < len(keyPairs) { - blockKey = keyPairs[i+1] - } - codecs[i/2] = New(keyPairs[i], blockKey) - } - return codecs -} - -// EncodeMulti encodes a cookie value using a group of codecs. -// -// The codecs are tried in order. Multiple codecs are accepted to allow -// key rotation. -// -// On error, may return a MultiError. -func EncodeMulti(name string, value interface{}, codecs ...Codec) (string, error) { - if len(codecs) == 0 { - return "", errNoCodecs - } - - var errors MultiError - for _, codec := range codecs { - encoded, err := codec.Encode(name, value) - if err == nil { - return encoded, nil - } - errors = append(errors, err) - } - return "", errors -} - -// DecodeMulti decodes a cookie value using a group of codecs. -// -// The codecs are tried in order. Multiple codecs are accepted to allow -// key rotation. -// -// On error, may return a MultiError. -func DecodeMulti(name string, value string, dst interface{}, codecs ...Codec) error { - if len(codecs) == 0 { - return errNoCodecs - } - - var errors MultiError - for _, codec := range codecs { - err := codec.Decode(name, value, dst) - if err == nil { - return nil - } - errors = append(errors, err) - } - return errors -} - -// MultiError groups multiple errors. -type MultiError []error - -func (m MultiError) IsUsage() bool { return m.any(func(e Error) bool { return e.IsUsage() }) } -func (m MultiError) IsDecode() bool { return m.any(func(e Error) bool { return e.IsDecode() }) } -func (m MultiError) IsInternal() bool { return m.any(func(e Error) bool { return e.IsInternal() }) } - -// Cause returns nil for MultiError; there is no unique underlying cause in the -// general case. -// -// Note: we could conceivably return a non-nil Cause only when there is exactly -// one child error with a Cause. However, it would be brittle for client code -// to rely on the arity of causes inside a MultiError, so we have opted not to -// provide this functionality. Clients which really wish to access the Causes -// of the underlying errors are free to iterate through the errors themselves. -func (m MultiError) Cause() error { return nil } - -func (m MultiError) Error() string { - s, n := "", 0 - for _, e := range m { - if e != nil { - if n == 0 { - s = e.Error() - } - n++ - } - } - switch n { - case 0: - return "(0 errors)" - case 1: - return s - case 2: - return s + " (and 1 other error)" - } - return fmt.Sprintf("%s (and %d other errors)", s, n-1) -} - -// any returns true if any element of m is an Error for which pred returns true. -func (m MultiError) any(pred func(Error) bool) bool { - for _, e := range m { - if ourErr, ok := e.(Error); ok && pred(ourErr) { - return true - } - } - return false -} diff --git a/vendor/github.com/gorilla/sessions/LICENSE b/vendor/github.com/gorilla/sessions/LICENSE deleted file mode 100644 index 0e5fb87..0000000 --- a/vendor/github.com/gorilla/sessions/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2012 Rodrigo Moraes. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/sessions/README.md b/vendor/github.com/gorilla/sessions/README.md deleted file mode 100644 index ebc60d0..0000000 --- a/vendor/github.com/gorilla/sessions/README.md +++ /dev/null @@ -1,90 +0,0 @@ -sessions -======== -[![GoDoc](https://godoc.org/github.com/gorilla/sessions?status.svg)](https://godoc.org/github.com/gorilla/sessions) [![Build Status](https://travis-ci.org/gorilla/sessions.png?branch=master)](https://travis-ci.org/gorilla/sessions) -[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/sessions/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/sessions?badge) - - -gorilla/sessions provides cookie and filesystem sessions and infrastructure for -custom session backends. - -The key features are: - -* Simple API: use it as an easy way to set signed (and optionally - encrypted) cookies. -* Built-in backends to store sessions in cookies or the filesystem. -* Flash messages: session values that last until read. -* Convenient way to switch session persistency (aka "remember me") and set - other attributes. -* Mechanism to rotate authentication and encryption keys. -* Multiple sessions per request, even using different backends. -* Interfaces and infrastructure for custom session backends: sessions from - different stores can be retrieved and batch-saved using a common API. - -Let's start with an example that shows the sessions API in a nutshell: - -```go - import ( - "net/http" - "github.com/gorilla/sessions" - ) - - var store = sessions.NewCookieStore([]byte("something-very-secret")) - - func MyHandler(w http.ResponseWriter, r *http.Request) { - // Get a session. We're ignoring the error resulted from decoding an - // existing session: Get() always returns a session, even if empty. - session, _ := store.Get(r, "session-name") - // Set some session values. - session.Values["foo"] = "bar" - session.Values[42] = 43 - // Save it before we write to the response/return from the handler. - session.Save(r, w) - } -``` - -First we initialize a session store calling `NewCookieStore()` and passing a -secret key used to authenticate the session. Inside the handler, we call -`store.Get()` to retrieve an existing session or a new one. Then we set some -session values in session.Values, which is a `map[interface{}]interface{}`. -And finally we call `session.Save()` to save the session in the response. - -Important Note: If you aren't using gorilla/mux, you need to wrap your handlers -with -[`context.ClearHandler`](http://www.gorillatoolkit.org/pkg/context#ClearHandler) -as or else you will leak memory! An easy way to do this is to wrap the top-level -mux when calling http.ListenAndServe: - -```go - http.ListenAndServe(":8080", context.ClearHandler(http.DefaultServeMux)) -``` - -The ClearHandler function is provided by the gorilla/context package. - -More examples are available [on the Gorilla -website](http://www.gorillatoolkit.org/pkg/sessions). - -## Store Implementations - -Other implementations of the `sessions.Store` interface: - -* [github.com/starJammer/gorilla-sessions-arangodb](https://github.com/starJammer/gorilla-sessions-arangodb) - ArangoDB -* [github.com/yosssi/boltstore](https://github.com/yosssi/boltstore) - Bolt -* [github.com/srinathgs/couchbasestore](https://github.com/srinathgs/couchbasestore) - Couchbase -* [github.com/denizeren/dynamostore](https://github.com/denizeren/dynamostore) - Dynamodb on AWS -* [github.com/savaki/dynastore](https://github.com/savaki/dynastore) - DynamoDB on AWS (Official AWS library) -* [github.com/bradleypeabody/gorilla-sessions-memcache](https://github.com/bradleypeabody/gorilla-sessions-memcache) - Memcache -* [github.com/dsoprea/go-appengine-sessioncascade](https://github.com/dsoprea/go-appengine-sessioncascade) - Memcache/Datastore/Context in AppEngine -* [github.com/kidstuff/mongostore](https://github.com/kidstuff/mongostore) - MongoDB -* [github.com/srinathgs/mysqlstore](https://github.com/srinathgs/mysqlstore) - MySQL -* [github.com/EnumApps/clustersqlstore](https://github.com/EnumApps/clustersqlstore) - MySQL Cluster -* [github.com/antonlindstrom/pgstore](https://github.com/antonlindstrom/pgstore) - PostgreSQL -* [github.com/boj/redistore](https://github.com/boj/redistore) - Redis -* [github.com/boj/rethinkstore](https://github.com/boj/rethinkstore) - RethinkDB -* [github.com/boj/riakstore](https://github.com/boj/riakstore) - Riak -* [github.com/michaeljs1990/sqlitestore](https://github.com/michaeljs1990/sqlitestore) - SQLite -* [github.com/wader/gormstore](https://github.com/wader/gormstore) - GORM (MySQL, PostgreSQL, SQLite) -* [github.com/gernest/qlstore](https://github.com/gernest/qlstore) - ql - -## License - -BSD licensed. See the LICENSE file for details. diff --git a/vendor/github.com/gorilla/sessions/doc.go b/vendor/github.com/gorilla/sessions/doc.go deleted file mode 100644 index 591d932..0000000 --- a/vendor/github.com/gorilla/sessions/doc.go +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -Package sessions provides cookie and filesystem sessions and -infrastructure for custom session backends. - -The key features are: - - * Simple API: use it as an easy way to set signed (and optionally - encrypted) cookies. - * Built-in backends to store sessions in cookies or the filesystem. - * Flash messages: session values that last until read. - * Convenient way to switch session persistency (aka "remember me") and set - other attributes. - * Mechanism to rotate authentication and encryption keys. - * Multiple sessions per request, even using different backends. - * Interfaces and infrastructure for custom session backends: sessions from - different stores can be retrieved and batch-saved using a common API. - -Let's start with an example that shows the sessions API in a nutshell: - - import ( - "net/http" - "github.com/gorilla/sessions" - ) - - var store = sessions.NewCookieStore([]byte("something-very-secret")) - - func MyHandler(w http.ResponseWriter, r *http.Request) { - // Get a session. Get() always returns a session, even if empty. - session, err := store.Get(r, "session-name") - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - // Set some session values. - session.Values["foo"] = "bar" - session.Values[42] = 43 - // Save it before we write to the response/return from the handler. - session.Save(r, w) - } - -First we initialize a session store calling NewCookieStore() and passing a -secret key used to authenticate the session. Inside the handler, we call -store.Get() to retrieve an existing session or a new one. Then we set some -session values in session.Values, which is a map[interface{}]interface{}. -And finally we call session.Save() to save the session in the response. - -Note that in production code, we should check for errors when calling -session.Save(r, w), and either display an error message or otherwise handle it. - -Save must be called before writing to the response, otherwise the session -cookie will not be sent to the client. - -Important Note: If you aren't using gorilla/mux, you need to wrap your handlers -with context.ClearHandler as or else you will leak memory! An easy way to do this -is to wrap the top-level mux when calling http.ListenAndServe: - - http.ListenAndServe(":8080", context.ClearHandler(http.DefaultServeMux)) - -The ClearHandler function is provided by the gorilla/context package. - -That's all you need to know for the basic usage. Let's take a look at other -options, starting with flash messages. - -Flash messages are session values that last until read. The term appeared with -Ruby On Rails a few years back. When we request a flash message, it is removed -from the session. To add a flash, call session.AddFlash(), and to get all -flashes, call session.Flashes(). Here is an example: - - func MyHandler(w http.ResponseWriter, r *http.Request) { - // Get a session. - session, err := store.Get(r, "session-name") - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - // Get the previously flashes, if any. - if flashes := session.Flashes(); len(flashes) > 0 { - // Use the flash values. - } else { - // Set a new flash. - session.AddFlash("Hello, flash messages world!") - } - session.Save(r, w) - } - -Flash messages are useful to set information to be read after a redirection, -like after form submissions. - -There may also be cases where you want to store a complex datatype within a -session, such as a struct. Sessions are serialised using the encoding/gob package, -so it is easy to register new datatypes for storage in sessions: - - import( - "encoding/gob" - "github.com/gorilla/sessions" - ) - - type Person struct { - FirstName string - LastName string - Email string - Age int - } - - type M map[string]interface{} - - func init() { - - gob.Register(&Person{}) - gob.Register(&M{}) - } - -As it's not possible to pass a raw type as a parameter to a function, gob.Register() -relies on us passing it a value of the desired type. In the example above we've passed -it a pointer to a struct and a pointer to a custom type representing a -map[string]interface. (We could have passed non-pointer values if we wished.) This will -then allow us to serialise/deserialise values of those types to and from our sessions. - -Note that because session values are stored in a map[string]interface{}, there's -a need to type-assert data when retrieving it. We'll use the Person struct we registered above: - - func MyHandler(w http.ResponseWriter, r *http.Request) { - session, err := store.Get(r, "session-name") - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - // Retrieve our struct and type-assert it - val := session.Values["person"] - var person = &Person{} - if person, ok := val.(*Person); !ok { - // Handle the case that it's not an expected type - } - - // Now we can use our person object - } - -By default, session cookies last for a month. This is probably too long for -some cases, but it is easy to change this and other attributes during -runtime. Sessions can be configured individually or the store can be -configured and then all sessions saved using it will use that configuration. -We access session.Options or store.Options to set a new configuration. The -fields are basically a subset of http.Cookie fields. Let's change the -maximum age of a session to one week: - - session.Options = &sessions.Options{ - Path: "/", - MaxAge: 86400 * 7, - HttpOnly: true, - } - -Sometimes we may want to change authentication and/or encryption keys without -breaking existing sessions. The CookieStore supports key rotation, and to use -it you just need to set multiple authentication and encryption keys, in pairs, -to be tested in order: - - var store = sessions.NewCookieStore( - []byte("new-authentication-key"), - []byte("new-encryption-key"), - []byte("old-authentication-key"), - []byte("old-encryption-key"), - ) - -New sessions will be saved using the first pair. Old sessions can still be -read because the first pair will fail, and the second will be tested. This -makes it easy to "rotate" secret keys and still be able to validate existing -sessions. Note: for all pairs the encryption key is optional; set it to nil -or omit it and and encryption won't be used. - -Multiple sessions can be used in the same request, even with different -session backends. When this happens, calling Save() on each session -individually would be cumbersome, so we have a way to save all sessions -at once: it's sessions.Save(). Here's an example: - - var store = sessions.NewCookieStore([]byte("something-very-secret")) - - func MyHandler(w http.ResponseWriter, r *http.Request) { - // Get a session and set a value. - session1, _ := store.Get(r, "session-one") - session1.Values["foo"] = "bar" - // Get another session and set another value. - session2, _ := store.Get(r, "session-two") - session2.Values[42] = 43 - // Save all sessions. - sessions.Save(r, w) - } - -This is possible because when we call Get() from a session store, it adds the -session to a common registry. Save() uses it to save all registered sessions. -*/ -package sessions diff --git a/vendor/github.com/gorilla/sessions/lex.go b/vendor/github.com/gorilla/sessions/lex.go deleted file mode 100644 index 4bbbe10..0000000 --- a/vendor/github.com/gorilla/sessions/lex.go +++ /dev/null @@ -1,102 +0,0 @@ -// This file contains code adapted from the Go standard library -// https://github.com/golang/go/blob/39ad0fd0789872f9469167be7fe9578625ff246e/src/net/http/lex.go - -package sessions - -import "strings" - -var isTokenTable = [127]bool{ - '!': true, - '#': true, - '$': true, - '%': true, - '&': true, - '\'': true, - '*': true, - '+': true, - '-': true, - '.': true, - '0': true, - '1': true, - '2': true, - '3': true, - '4': true, - '5': true, - '6': true, - '7': true, - '8': true, - '9': true, - 'A': true, - 'B': true, - 'C': true, - 'D': true, - 'E': true, - 'F': true, - 'G': true, - 'H': true, - 'I': true, - 'J': true, - 'K': true, - 'L': true, - 'M': true, - 'N': true, - 'O': true, - 'P': true, - 'Q': true, - 'R': true, - 'S': true, - 'T': true, - 'U': true, - 'W': true, - 'V': true, - 'X': true, - 'Y': true, - 'Z': true, - '^': true, - '_': true, - '`': true, - 'a': true, - 'b': true, - 'c': true, - 'd': true, - 'e': true, - 'f': true, - 'g': true, - 'h': true, - 'i': true, - 'j': true, - 'k': true, - 'l': true, - 'm': true, - 'n': true, - 'o': true, - 'p': true, - 'q': true, - 'r': true, - 's': true, - 't': true, - 'u': true, - 'v': true, - 'w': true, - 'x': true, - 'y': true, - 'z': true, - '|': true, - '~': true, -} - -func isToken(r rune) bool { - i := int(r) - return i < len(isTokenTable) && isTokenTable[i] -} - -func isNotToken(r rune) bool { - return !isToken(r) -} - -func isCookieNameValid(raw string) bool { - if raw == "" { - return false - } - return strings.IndexFunc(raw, isNotToken) < 0 -} diff --git a/vendor/github.com/gorilla/sessions/sessions.go b/vendor/github.com/gorilla/sessions/sessions.go deleted file mode 100644 index fe0d2bc..0000000 --- a/vendor/github.com/gorilla/sessions/sessions.go +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package sessions - -import ( - "encoding/gob" - "fmt" - "net/http" - "time" - - "github.com/gorilla/context" -) - -// Default flashes key. -const flashesKey = "_flash" - -// Options -------------------------------------------------------------------- - -// Options stores configuration for a session or session store. -// -// Fields are a subset of http.Cookie fields. -type Options struct { - Path string - Domain string - // MaxAge=0 means no 'Max-Age' attribute specified. - // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'. - // MaxAge>0 means Max-Age attribute present and given in seconds. - MaxAge int - Secure bool - HttpOnly bool -} - -// Session -------------------------------------------------------------------- - -// NewSession is called by session stores to create a new session instance. -func NewSession(store Store, name string) *Session { - return &Session{ - Values: make(map[interface{}]interface{}), - store: store, - name: name, - } -} - -// Session stores the values and optional configuration for a session. -type Session struct { - // The ID of the session, generated by stores. It should not be used for - // user data. - ID string - // Values contains the user-data for the session. - Values map[interface{}]interface{} - Options *Options - IsNew bool - store Store - name string -} - -// Flashes returns a slice of flash messages from the session. -// -// A single variadic argument is accepted, and it is optional: it defines -// the flash key. If not defined "_flash" is used by default. -func (s *Session) Flashes(vars ...string) []interface{} { - var flashes []interface{} - key := flashesKey - if len(vars) > 0 { - key = vars[0] - } - if v, ok := s.Values[key]; ok { - // Drop the flashes and return it. - delete(s.Values, key) - flashes = v.([]interface{}) - } - return flashes -} - -// AddFlash adds a flash message to the session. -// -// A single variadic argument is accepted, and it is optional: it defines -// the flash key. If not defined "_flash" is used by default. -func (s *Session) AddFlash(value interface{}, vars ...string) { - key := flashesKey - if len(vars) > 0 { - key = vars[0] - } - var flashes []interface{} - if v, ok := s.Values[key]; ok { - flashes = v.([]interface{}) - } - s.Values[key] = append(flashes, value) -} - -// Save is a convenience method to save this session. It is the same as calling -// store.Save(request, response, session). You should call Save before writing to -// the response or returning from the handler. -func (s *Session) Save(r *http.Request, w http.ResponseWriter) error { - return s.store.Save(r, w, s) -} - -// Name returns the name used to register the session. -func (s *Session) Name() string { - return s.name -} - -// Store returns the session store used to register the session. -func (s *Session) Store() Store { - return s.store -} - -// Registry ------------------------------------------------------------------- - -// sessionInfo stores a session tracked by the registry. -type sessionInfo struct { - s *Session - e error -} - -// contextKey is the type used to store the registry in the context. -type contextKey int - -// registryKey is the key used to store the registry in the context. -const registryKey contextKey = 0 - -// GetRegistry returns a registry instance for the current request. -func GetRegistry(r *http.Request) *Registry { - registry := context.Get(r, registryKey) - if registry != nil { - return registry.(*Registry) - } - newRegistry := &Registry{ - request: r, - sessions: make(map[string]sessionInfo), - } - context.Set(r, registryKey, newRegistry) - return newRegistry -} - -// Registry stores sessions used during a request. -type Registry struct { - request *http.Request - sessions map[string]sessionInfo -} - -// Get registers and returns a session for the given name and session store. -// -// It returns a new session if there are no sessions registered for the name. -func (s *Registry) Get(store Store, name string) (session *Session, err error) { - if !isCookieNameValid(name) { - return nil, fmt.Errorf("sessions: invalid character in cookie name: %s", name) - } - if info, ok := s.sessions[name]; ok { - session, err = info.s, info.e - } else { - session, err = store.New(s.request, name) - session.name = name - s.sessions[name] = sessionInfo{s: session, e: err} - } - session.store = store - return -} - -// Save saves all sessions registered for the current request. -func (s *Registry) Save(w http.ResponseWriter) error { - var errMulti MultiError - for name, info := range s.sessions { - session := info.s - if session.store == nil { - errMulti = append(errMulti, fmt.Errorf( - "sessions: missing store for session %q", name)) - } else if err := session.store.Save(s.request, w, session); err != nil { - errMulti = append(errMulti, fmt.Errorf( - "sessions: error saving session %q -- %v", name, err)) - } - } - if errMulti != nil { - return errMulti - } - return nil -} - -// Helpers -------------------------------------------------------------------- - -func init() { - gob.Register([]interface{}{}) -} - -// Save saves all sessions used during the current request. -func Save(r *http.Request, w http.ResponseWriter) error { - return GetRegistry(r).Save(w) -} - -// NewCookie returns an http.Cookie with the options set. It also sets -// the Expires field calculated based on the MaxAge value, for Internet -// Explorer compatibility. -func NewCookie(name, value string, options *Options) *http.Cookie { - cookie := &http.Cookie{ - Name: name, - Value: value, - Path: options.Path, - Domain: options.Domain, - MaxAge: options.MaxAge, - Secure: options.Secure, - HttpOnly: options.HttpOnly, - } - if options.MaxAge > 0 { - d := time.Duration(options.MaxAge) * time.Second - cookie.Expires = time.Now().Add(d) - } else if options.MaxAge < 0 { - // Set it to the past to expire now. - cookie.Expires = time.Unix(1, 0) - } - return cookie -} - -// Error ---------------------------------------------------------------------- - -// MultiError stores multiple errors. -// -// Borrowed from the App Engine SDK. -type MultiError []error - -func (m MultiError) Error() string { - s, n := "", 0 - for _, e := range m { - if e != nil { - if n == 0 { - s = e.Error() - } - n++ - } - } - switch n { - case 0: - return "(0 errors)" - case 1: - return s - case 2: - return s + " (and 1 other error)" - } - return fmt.Sprintf("%s (and %d other errors)", s, n-1) -} diff --git a/vendor/github.com/gorilla/sessions/store.go b/vendor/github.com/gorilla/sessions/store.go deleted file mode 100644 index 4ff6b6c..0000000 --- a/vendor/github.com/gorilla/sessions/store.go +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright 2012 The Gorilla Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package sessions - -import ( - "encoding/base32" - "io/ioutil" - "net/http" - "os" - "path/filepath" - "strings" - "sync" - - "github.com/gorilla/securecookie" -) - -// Store is an interface for custom session stores. -// -// See CookieStore and FilesystemStore for examples. -type Store interface { - // Get should return a cached session. - Get(r *http.Request, name string) (*Session, error) - - // New should create and return a new session. - // - // Note that New should never return a nil session, even in the case of - // an error if using the Registry infrastructure to cache the session. - New(r *http.Request, name string) (*Session, error) - - // Save should persist session to the underlying store implementation. - Save(r *http.Request, w http.ResponseWriter, s *Session) error -} - -// CookieStore ---------------------------------------------------------------- - -// NewCookieStore returns a new CookieStore. -// -// Keys are defined in pairs to allow key rotation, but the common case is -// to set a single authentication key and optionally an encryption key. -// -// The first key in a pair is used for authentication and the second for -// encryption. The encryption key can be set to nil or omitted in the last -// pair, but the authentication key is required in all pairs. -// -// It is recommended to use an authentication key with 32 or 64 bytes. -// The encryption key, if set, must be either 16, 24, or 32 bytes to select -// AES-128, AES-192, or AES-256 modes. -// -// Use the convenience function securecookie.GenerateRandomKey() to create -// strong keys. -func NewCookieStore(keyPairs ...[]byte) *CookieStore { - cs := &CookieStore{ - Codecs: securecookie.CodecsFromPairs(keyPairs...), - Options: &Options{ - Path: "/", - MaxAge: 86400 * 30, - }, - } - - cs.MaxAge(cs.Options.MaxAge) - return cs -} - -// CookieStore stores sessions using secure cookies. -type CookieStore struct { - Codecs []securecookie.Codec - Options *Options // default configuration -} - -// Get returns a session for the given name after adding it to the registry. -// -// It returns a new session if the sessions doesn't exist. Access IsNew on -// the session to check if it is an existing session or a new one. -// -// It returns a new session and an error if the session exists but could -// not be decoded. -func (s *CookieStore) Get(r *http.Request, name string) (*Session, error) { - return GetRegistry(r).Get(s, name) -} - -// New returns a session for the given name without adding it to the registry. -// -// The difference between New() and Get() is that calling New() twice will -// decode the session data twice, while Get() registers and reuses the same -// decoded session after the first call. -func (s *CookieStore) New(r *http.Request, name string) (*Session, error) { - session := NewSession(s, name) - opts := *s.Options - session.Options = &opts - session.IsNew = true - var err error - if c, errCookie := r.Cookie(name); errCookie == nil { - err = securecookie.DecodeMulti(name, c.Value, &session.Values, - s.Codecs...) - if err == nil { - session.IsNew = false - } - } - return session, err -} - -// Save adds a single session to the response. -func (s *CookieStore) Save(r *http.Request, w http.ResponseWriter, - session *Session) error { - encoded, err := securecookie.EncodeMulti(session.Name(), session.Values, - s.Codecs...) - if err != nil { - return err - } - http.SetCookie(w, NewCookie(session.Name(), encoded, session.Options)) - return nil -} - -// MaxAge sets the maximum age for the store and the underlying cookie -// implementation. Individual sessions can be deleted by setting Options.MaxAge -// = -1 for that session. -func (s *CookieStore) MaxAge(age int) { - s.Options.MaxAge = age - - // Set the maxAge for each securecookie instance. - for _, codec := range s.Codecs { - if sc, ok := codec.(*securecookie.SecureCookie); ok { - sc.MaxAge(age) - } - } -} - -// FilesystemStore ------------------------------------------------------------ - -var fileMutex sync.RWMutex - -// NewFilesystemStore returns a new FilesystemStore. -// -// The path argument is the directory where sessions will be saved. If empty -// it will use os.TempDir(). -// -// See NewCookieStore() for a description of the other parameters. -func NewFilesystemStore(path string, keyPairs ...[]byte) *FilesystemStore { - if path == "" { - path = os.TempDir() - } - fs := &FilesystemStore{ - Codecs: securecookie.CodecsFromPairs(keyPairs...), - Options: &Options{ - Path: "/", - MaxAge: 86400 * 30, - }, - path: path, - } - - fs.MaxAge(fs.Options.MaxAge) - return fs -} - -// FilesystemStore stores sessions in the filesystem. -// -// It also serves as a reference for custom stores. -// -// This store is still experimental and not well tested. Feedback is welcome. -type FilesystemStore struct { - Codecs []securecookie.Codec - Options *Options // default configuration - path string -} - -// MaxLength restricts the maximum length of new sessions to l. -// If l is 0 there is no limit to the size of a session, use with caution. -// The default for a new FilesystemStore is 4096. -func (s *FilesystemStore) MaxLength(l int) { - for _, c := range s.Codecs { - if codec, ok := c.(*securecookie.SecureCookie); ok { - codec.MaxLength(l) - } - } -} - -// Get returns a session for the given name after adding it to the registry. -// -// See CookieStore.Get(). -func (s *FilesystemStore) Get(r *http.Request, name string) (*Session, error) { - return GetRegistry(r).Get(s, name) -} - -// New returns a session for the given name without adding it to the registry. -// -// See CookieStore.New(). -func (s *FilesystemStore) New(r *http.Request, name string) (*Session, error) { - session := NewSession(s, name) - opts := *s.Options - session.Options = &opts - session.IsNew = true - var err error - if c, errCookie := r.Cookie(name); errCookie == nil { - err = securecookie.DecodeMulti(name, c.Value, &session.ID, s.Codecs...) - if err == nil { - err = s.load(session) - if err == nil { - session.IsNew = false - } - } - } - return session, err -} - -// Save adds a single session to the response. -// -// If the Options.MaxAge of the session is <= 0 then the session file will be -// deleted from the store path. With this process it enforces the properly -// session cookie handling so no need to trust in the cookie management in the -// web browser. -func (s *FilesystemStore) Save(r *http.Request, w http.ResponseWriter, - session *Session) error { - // Delete if max-age is <= 0 - if session.Options.MaxAge <= 0 { - if err := s.erase(session); err != nil { - return err - } - http.SetCookie(w, NewCookie(session.Name(), "", session.Options)) - return nil - } - - if session.ID == "" { - // Because the ID is used in the filename, encode it to - // use alphanumeric characters only. - session.ID = strings.TrimRight( - base32.StdEncoding.EncodeToString( - securecookie.GenerateRandomKey(32)), "=") - } - if err := s.save(session); err != nil { - return err - } - encoded, err := securecookie.EncodeMulti(session.Name(), session.ID, - s.Codecs...) - if err != nil { - return err - } - http.SetCookie(w, NewCookie(session.Name(), encoded, session.Options)) - return nil -} - -// MaxAge sets the maximum age for the store and the underlying cookie -// implementation. Individual sessions can be deleted by setting Options.MaxAge -// = -1 for that session. -func (s *FilesystemStore) MaxAge(age int) { - s.Options.MaxAge = age - - // Set the maxAge for each securecookie instance. - for _, codec := range s.Codecs { - if sc, ok := codec.(*securecookie.SecureCookie); ok { - sc.MaxAge(age) - } - } -} - -// save writes encoded session.Values to a file. -func (s *FilesystemStore) save(session *Session) error { - encoded, err := securecookie.EncodeMulti(session.Name(), session.Values, - s.Codecs...) - if err != nil { - return err - } - filename := filepath.Join(s.path, "session_"+session.ID) - fileMutex.Lock() - defer fileMutex.Unlock() - return ioutil.WriteFile(filename, []byte(encoded), 0600) -} - -// load reads a file and decodes its content into session.Values. -func (s *FilesystemStore) load(session *Session) error { - filename := filepath.Join(s.path, "session_"+session.ID) - fileMutex.RLock() - defer fileMutex.RUnlock() - fdata, err := ioutil.ReadFile(filename) - if err != nil { - return err - } - if err = securecookie.DecodeMulti(session.Name(), string(fdata), - &session.Values, s.Codecs...); err != nil { - return err - } - return nil -} - -// delete session file -func (s *FilesystemStore) erase(session *Session) error { - filename := filepath.Join(s.path, "session_"+session.ID) - - fileMutex.RLock() - defer fileMutex.RUnlock() - - err := os.Remove(filename) - return err -} diff --git a/vendor/github.com/gorilla/websocket/AUTHORS b/vendor/github.com/gorilla/websocket/AUTHORS deleted file mode 100644 index b003eca..0000000 --- a/vendor/github.com/gorilla/websocket/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -# This is the official list of Gorilla WebSocket authors for copyright -# purposes. -# -# Please keep the list sorted. - -Gary Burd -Joachim Bauch - diff --git a/vendor/github.com/gorilla/websocket/LICENSE b/vendor/github.com/gorilla/websocket/LICENSE deleted file mode 100644 index 9171c97..0000000 --- a/vendor/github.com/gorilla/websocket/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/websocket/README.md b/vendor/github.com/gorilla/websocket/README.md deleted file mode 100644 index 33c3d2b..0000000 --- a/vendor/github.com/gorilla/websocket/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# Gorilla WebSocket - -Gorilla WebSocket is a [Go](http://golang.org/) implementation of the -[WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. - -[![Build Status](https://travis-ci.org/gorilla/websocket.svg?branch=master)](https://travis-ci.org/gorilla/websocket) -[![GoDoc](https://godoc.org/github.com/gorilla/websocket?status.svg)](https://godoc.org/github.com/gorilla/websocket) - -### Documentation - -* [API Reference](http://godoc.org/github.com/gorilla/websocket) -* [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) -* [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) -* [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) -* [File watch example](https://github.com/gorilla/websocket/tree/master/examples/filewatch) - -### Status - -The Gorilla WebSocket package provides a complete and tested implementation of -the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. The -package API is stable. - -### Installation - - go get github.com/gorilla/websocket - -### Protocol Compliance - -The Gorilla WebSocket package passes the server tests in the [Autobahn Test -Suite](http://autobahn.ws/testsuite) using the application in the [examples/autobahn -subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). - -### Gorilla WebSocket compared with other packages - - - - - - - - - - - - - - - - - - -
github.com/gorillagolang.org/x/net
RFC 6455 Features
Passes Autobahn Test SuiteYesNo
Receive fragmented messageYesNo, see note 1
Send close messageYesNo
Send pings and receive pongsYesNo
Get the type of a received data messageYesYes, see note 2
Other Features
Compression ExtensionsExperimentalNo
Read message using io.ReaderYesNo, see note 3
Write message using io.WriteCloserYesNo, see note 3
- -Notes: - -1. Large messages are fragmented in [Chrome's new WebSocket implementation](http://www.ietf.org/mail-archive/web/hybi/current/msg10503.html). -2. The application can get the type of a received data message by implementing - a [Codec marshal](http://godoc.org/golang.org/x/net/websocket#Codec.Marshal) - function. -3. The go.net io.Reader and io.Writer operate across WebSocket frame boundaries. - Read returns when the input buffer is full or a frame boundary is - encountered. Each call to Write sends a single frame message. The Gorilla - io.Reader and io.WriteCloser operate on a single WebSocket message. - diff --git a/vendor/github.com/gorilla/websocket/client.go b/vendor/github.com/gorilla/websocket/client.go deleted file mode 100644 index 43a87c7..0000000 --- a/vendor/github.com/gorilla/websocket/client.go +++ /dev/null @@ -1,392 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bufio" - "bytes" - "crypto/tls" - "encoding/base64" - "errors" - "io" - "io/ioutil" - "net" - "net/http" - "net/url" - "strings" - "time" -) - -// ErrBadHandshake is returned when the server response to opening handshake is -// invalid. -var ErrBadHandshake = errors.New("websocket: bad handshake") - -var errInvalidCompression = errors.New("websocket: invalid compression negotiation") - -// NewClient creates a new client connection using the given net connection. -// The URL u specifies the host and request URI. Use requestHeader to specify -// the origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies -// (Cookie). Use the response.Header to get the selected subprotocol -// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). -// -// If the WebSocket handshake fails, ErrBadHandshake is returned along with a -// non-nil *http.Response so that callers can handle redirects, authentication, -// etc. -// -// Deprecated: Use Dialer instead. -func NewClient(netConn net.Conn, u *url.URL, requestHeader http.Header, readBufSize, writeBufSize int) (c *Conn, response *http.Response, err error) { - d := Dialer{ - ReadBufferSize: readBufSize, - WriteBufferSize: writeBufSize, - NetDial: func(net, addr string) (net.Conn, error) { - return netConn, nil - }, - } - return d.Dial(u.String(), requestHeader) -} - -// A Dialer contains options for connecting to WebSocket server. -type Dialer struct { - // NetDial specifies the dial function for creating TCP connections. If - // NetDial is nil, net.Dial is used. - NetDial func(network, addr string) (net.Conn, error) - - // Proxy specifies a function to return a proxy for a given - // Request. If the function returns a non-nil error, the - // request is aborted with the provided error. - // If Proxy is nil or returns a nil *URL, no proxy is used. - Proxy func(*http.Request) (*url.URL, error) - - // TLSClientConfig specifies the TLS configuration to use with tls.Client. - // If nil, the default configuration is used. - TLSClientConfig *tls.Config - - // HandshakeTimeout specifies the duration for the handshake to complete. - HandshakeTimeout time.Duration - - // ReadBufferSize and WriteBufferSize specify I/O buffer sizes. If a buffer - // size is zero, then a useful default size is used. The I/O buffer sizes - // do not limit the size of the messages that can be sent or received. - ReadBufferSize, WriteBufferSize int - - // Subprotocols specifies the client's requested subprotocols. - Subprotocols []string - - // EnableCompression specifies if the client should attempt to negotiate - // per message compression (RFC 7692). Setting this value to true does not - // guarantee that compression will be supported. Currently only "no context - // takeover" modes are supported. - EnableCompression bool - - // Jar specifies the cookie jar. - // If Jar is nil, cookies are not sent in requests and ignored - // in responses. - Jar http.CookieJar -} - -var errMalformedURL = errors.New("malformed ws or wss URL") - -// parseURL parses the URL. -// -// This function is a replacement for the standard library url.Parse function. -// In Go 1.4 and earlier, url.Parse loses information from the path. -func parseURL(s string) (*url.URL, error) { - // From the RFC: - // - // ws-URI = "ws:" "//" host [ ":" port ] path [ "?" query ] - // wss-URI = "wss:" "//" host [ ":" port ] path [ "?" query ] - var u url.URL - switch { - case strings.HasPrefix(s, "ws://"): - u.Scheme = "ws" - s = s[len("ws://"):] - case strings.HasPrefix(s, "wss://"): - u.Scheme = "wss" - s = s[len("wss://"):] - default: - return nil, errMalformedURL - } - - if i := strings.Index(s, "?"); i >= 0 { - u.RawQuery = s[i+1:] - s = s[:i] - } - - if i := strings.Index(s, "/"); i >= 0 { - u.Opaque = s[i:] - s = s[:i] - } else { - u.Opaque = "/" - } - - u.Host = s - - if strings.Contains(u.Host, "@") { - // Don't bother parsing user information because user information is - // not allowed in websocket URIs. - return nil, errMalformedURL - } - - return &u, nil -} - -func hostPortNoPort(u *url.URL) (hostPort, hostNoPort string) { - hostPort = u.Host - hostNoPort = u.Host - if i := strings.LastIndex(u.Host, ":"); i > strings.LastIndex(u.Host, "]") { - hostNoPort = hostNoPort[:i] - } else { - switch u.Scheme { - case "wss": - hostPort += ":443" - case "https": - hostPort += ":443" - default: - hostPort += ":80" - } - } - return hostPort, hostNoPort -} - -// DefaultDialer is a dialer with all fields set to the default zero values. -var DefaultDialer = &Dialer{ - Proxy: http.ProxyFromEnvironment, -} - -// Dial creates a new client connection. Use requestHeader to specify the -// origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies (Cookie). -// Use the response.Header to get the selected subprotocol -// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). -// -// If the WebSocket handshake fails, ErrBadHandshake is returned along with a -// non-nil *http.Response so that callers can handle redirects, authentication, -// etcetera. The response body may not contain the entire response and does not -// need to be closed by the application. -func (d *Dialer) Dial(urlStr string, requestHeader http.Header) (*Conn, *http.Response, error) { - - if d == nil { - d = &Dialer{ - Proxy: http.ProxyFromEnvironment, - } - } - - challengeKey, err := generateChallengeKey() - if err != nil { - return nil, nil, err - } - - u, err := parseURL(urlStr) - if err != nil { - return nil, nil, err - } - - switch u.Scheme { - case "ws": - u.Scheme = "http" - case "wss": - u.Scheme = "https" - default: - return nil, nil, errMalformedURL - } - - if u.User != nil { - // User name and password are not allowed in websocket URIs. - return nil, nil, errMalformedURL - } - - req := &http.Request{ - Method: "GET", - URL: u, - Proto: "HTTP/1.1", - ProtoMajor: 1, - ProtoMinor: 1, - Header: make(http.Header), - Host: u.Host, - } - - // Set the cookies present in the cookie jar of the dialer - if d.Jar != nil { - for _, cookie := range d.Jar.Cookies(u) { - req.AddCookie(cookie) - } - } - - // Set the request headers using the capitalization for names and values in - // RFC examples. Although the capitalization shouldn't matter, there are - // servers that depend on it. The Header.Set method is not used because the - // method canonicalizes the header names. - req.Header["Upgrade"] = []string{"websocket"} - req.Header["Connection"] = []string{"Upgrade"} - req.Header["Sec-WebSocket-Key"] = []string{challengeKey} - req.Header["Sec-WebSocket-Version"] = []string{"13"} - if len(d.Subprotocols) > 0 { - req.Header["Sec-WebSocket-Protocol"] = []string{strings.Join(d.Subprotocols, ", ")} - } - for k, vs := range requestHeader { - switch { - case k == "Host": - if len(vs) > 0 { - req.Host = vs[0] - } - case k == "Upgrade" || - k == "Connection" || - k == "Sec-Websocket-Key" || - k == "Sec-Websocket-Version" || - k == "Sec-Websocket-Extensions" || - (k == "Sec-Websocket-Protocol" && len(d.Subprotocols) > 0): - return nil, nil, errors.New("websocket: duplicate header not allowed: " + k) - default: - req.Header[k] = vs - } - } - - if d.EnableCompression { - req.Header.Set("Sec-Websocket-Extensions", "permessage-deflate; server_no_context_takeover; client_no_context_takeover") - } - - hostPort, hostNoPort := hostPortNoPort(u) - - var proxyURL *url.URL - // Check wether the proxy method has been configured - if d.Proxy != nil { - proxyURL, err = d.Proxy(req) - } - if err != nil { - return nil, nil, err - } - - var targetHostPort string - if proxyURL != nil { - targetHostPort, _ = hostPortNoPort(proxyURL) - } else { - targetHostPort = hostPort - } - - var deadline time.Time - if d.HandshakeTimeout != 0 { - deadline = time.Now().Add(d.HandshakeTimeout) - } - - netDial := d.NetDial - if netDial == nil { - netDialer := &net.Dialer{Deadline: deadline} - netDial = netDialer.Dial - } - - netConn, err := netDial("tcp", targetHostPort) - if err != nil { - return nil, nil, err - } - - defer func() { - if netConn != nil { - netConn.Close() - } - }() - - if err := netConn.SetDeadline(deadline); err != nil { - return nil, nil, err - } - - if proxyURL != nil { - connectHeader := make(http.Header) - if user := proxyURL.User; user != nil { - proxyUser := user.Username() - if proxyPassword, passwordSet := user.Password(); passwordSet { - credential := base64.StdEncoding.EncodeToString([]byte(proxyUser + ":" + proxyPassword)) - connectHeader.Set("Proxy-Authorization", "Basic "+credential) - } - } - connectReq := &http.Request{ - Method: "CONNECT", - URL: &url.URL{Opaque: hostPort}, - Host: hostPort, - Header: connectHeader, - } - - connectReq.Write(netConn) - - // Read response. - // Okay to use and discard buffered reader here, because - // TLS server will not speak until spoken to. - br := bufio.NewReader(netConn) - resp, err := http.ReadResponse(br, connectReq) - if err != nil { - return nil, nil, err - } - if resp.StatusCode != 200 { - f := strings.SplitN(resp.Status, " ", 2) - return nil, nil, errors.New(f[1]) - } - } - - if u.Scheme == "https" { - cfg := cloneTLSConfig(d.TLSClientConfig) - if cfg.ServerName == "" { - cfg.ServerName = hostNoPort - } - tlsConn := tls.Client(netConn, cfg) - netConn = tlsConn - if err := tlsConn.Handshake(); err != nil { - return nil, nil, err - } - if !cfg.InsecureSkipVerify { - if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil { - return nil, nil, err - } - } - } - - conn := newConn(netConn, false, d.ReadBufferSize, d.WriteBufferSize) - - if err := req.Write(netConn); err != nil { - return nil, nil, err - } - - resp, err := http.ReadResponse(conn.br, req) - if err != nil { - return nil, nil, err - } - - if d.Jar != nil { - if rc := resp.Cookies(); len(rc) > 0 { - d.Jar.SetCookies(u, rc) - } - } - - if resp.StatusCode != 101 || - !strings.EqualFold(resp.Header.Get("Upgrade"), "websocket") || - !strings.EqualFold(resp.Header.Get("Connection"), "upgrade") || - resp.Header.Get("Sec-Websocket-Accept") != computeAcceptKey(challengeKey) { - // Before closing the network connection on return from this - // function, slurp up some of the response to aid application - // debugging. - buf := make([]byte, 1024) - n, _ := io.ReadFull(resp.Body, buf) - resp.Body = ioutil.NopCloser(bytes.NewReader(buf[:n])) - return nil, resp, ErrBadHandshake - } - - for _, ext := range parseExtensions(resp.Header) { - if ext[""] != "permessage-deflate" { - continue - } - _, snct := ext["server_no_context_takeover"] - _, cnct := ext["client_no_context_takeover"] - if !snct || !cnct { - return nil, resp, errInvalidCompression - } - conn.newCompressionWriter = compressNoContextTakeover - conn.newDecompressionReader = decompressNoContextTakeover - break - } - - resp.Body = ioutil.NopCloser(bytes.NewReader([]byte{})) - conn.subprotocol = resp.Header.Get("Sec-Websocket-Protocol") - - netConn.SetDeadline(time.Time{}) - netConn = nil // to avoid close in defer. - return conn, resp, nil -} diff --git a/vendor/github.com/gorilla/websocket/client_clone.go b/vendor/github.com/gorilla/websocket/client_clone.go deleted file mode 100644 index 4f0d943..0000000 --- a/vendor/github.com/gorilla/websocket/client_clone.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.8 - -package websocket - -import "crypto/tls" - -func cloneTLSConfig(cfg *tls.Config) *tls.Config { - if cfg == nil { - return &tls.Config{} - } - return cfg.Clone() -} diff --git a/vendor/github.com/gorilla/websocket/client_clone_legacy.go b/vendor/github.com/gorilla/websocket/client_clone_legacy.go deleted file mode 100644 index babb007..0000000 --- a/vendor/github.com/gorilla/websocket/client_clone_legacy.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.8 - -package websocket - -import "crypto/tls" - -// cloneTLSConfig clones all public fields except the fields -// SessionTicketsDisabled and SessionTicketKey. This avoids copying the -// sync.Mutex in the sync.Once and makes it safe to call cloneTLSConfig on a -// config in active use. -func cloneTLSConfig(cfg *tls.Config) *tls.Config { - if cfg == nil { - return &tls.Config{} - } - return &tls.Config{ - Rand: cfg.Rand, - Time: cfg.Time, - Certificates: cfg.Certificates, - NameToCertificate: cfg.NameToCertificate, - GetCertificate: cfg.GetCertificate, - RootCAs: cfg.RootCAs, - NextProtos: cfg.NextProtos, - ServerName: cfg.ServerName, - ClientAuth: cfg.ClientAuth, - ClientCAs: cfg.ClientCAs, - InsecureSkipVerify: cfg.InsecureSkipVerify, - CipherSuites: cfg.CipherSuites, - PreferServerCipherSuites: cfg.PreferServerCipherSuites, - ClientSessionCache: cfg.ClientSessionCache, - MinVersion: cfg.MinVersion, - MaxVersion: cfg.MaxVersion, - CurvePreferences: cfg.CurvePreferences, - } -} diff --git a/vendor/github.com/gorilla/websocket/compression.go b/vendor/github.com/gorilla/websocket/compression.go deleted file mode 100644 index 813ffb1..0000000 --- a/vendor/github.com/gorilla/websocket/compression.go +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "compress/flate" - "errors" - "io" - "strings" - "sync" -) - -const ( - minCompressionLevel = -2 // flate.HuffmanOnly not defined in Go < 1.6 - maxCompressionLevel = flate.BestCompression - defaultCompressionLevel = 1 -) - -var ( - flateWriterPools [maxCompressionLevel - minCompressionLevel + 1]sync.Pool - flateReaderPool = sync.Pool{New: func() interface{} { - return flate.NewReader(nil) - }} -) - -func decompressNoContextTakeover(r io.Reader) io.ReadCloser { - const tail = - // Add four bytes as specified in RFC - "\x00\x00\xff\xff" + - // Add final block to squelch unexpected EOF error from flate reader. - "\x01\x00\x00\xff\xff" - - fr, _ := flateReaderPool.Get().(io.ReadCloser) - fr.(flate.Resetter).Reset(io.MultiReader(r, strings.NewReader(tail)), nil) - return &flateReadWrapper{fr} -} - -func isValidCompressionLevel(level int) bool { - return minCompressionLevel <= level && level <= maxCompressionLevel -} - -func compressNoContextTakeover(w io.WriteCloser, level int) io.WriteCloser { - p := &flateWriterPools[level-minCompressionLevel] - tw := &truncWriter{w: w} - fw, _ := p.Get().(*flate.Writer) - if fw == nil { - fw, _ = flate.NewWriter(tw, level) - } else { - fw.Reset(tw) - } - return &flateWriteWrapper{fw: fw, tw: tw, p: p} -} - -// truncWriter is an io.Writer that writes all but the last four bytes of the -// stream to another io.Writer. -type truncWriter struct { - w io.WriteCloser - n int - p [4]byte -} - -func (w *truncWriter) Write(p []byte) (int, error) { - n := 0 - - // fill buffer first for simplicity. - if w.n < len(w.p) { - n = copy(w.p[w.n:], p) - p = p[n:] - w.n += n - if len(p) == 0 { - return n, nil - } - } - - m := len(p) - if m > len(w.p) { - m = len(w.p) - } - - if nn, err := w.w.Write(w.p[:m]); err != nil { - return n + nn, err - } - - copy(w.p[:], w.p[m:]) - copy(w.p[len(w.p)-m:], p[len(p)-m:]) - nn, err := w.w.Write(p[:len(p)-m]) - return n + nn, err -} - -type flateWriteWrapper struct { - fw *flate.Writer - tw *truncWriter - p *sync.Pool -} - -func (w *flateWriteWrapper) Write(p []byte) (int, error) { - if w.fw == nil { - return 0, errWriteClosed - } - return w.fw.Write(p) -} - -func (w *flateWriteWrapper) Close() error { - if w.fw == nil { - return errWriteClosed - } - err1 := w.fw.Flush() - w.p.Put(w.fw) - w.fw = nil - if w.tw.p != [4]byte{0, 0, 0xff, 0xff} { - return errors.New("websocket: internal error, unexpected bytes at end of flate stream") - } - err2 := w.tw.w.Close() - if err1 != nil { - return err1 - } - return err2 -} - -type flateReadWrapper struct { - fr io.ReadCloser -} - -func (r *flateReadWrapper) Read(p []byte) (int, error) { - if r.fr == nil { - return 0, io.ErrClosedPipe - } - n, err := r.fr.Read(p) - if err == io.EOF { - // Preemptively place the reader back in the pool. This helps with - // scenarios where the application does not call NextReader() soon after - // this final read. - r.Close() - } - return n, err -} - -func (r *flateReadWrapper) Close() error { - if r.fr == nil { - return io.ErrClosedPipe - } - err := r.fr.Close() - flateReaderPool.Put(r.fr) - r.fr = nil - return err -} diff --git a/vendor/github.com/gorilla/websocket/conn.go b/vendor/github.com/gorilla/websocket/conn.go deleted file mode 100644 index 97e1dba..0000000 --- a/vendor/github.com/gorilla/websocket/conn.go +++ /dev/null @@ -1,1149 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bufio" - "encoding/binary" - "errors" - "io" - "io/ioutil" - "math/rand" - "net" - "strconv" - "sync" - "time" - "unicode/utf8" -) - -const ( - // Frame header byte 0 bits from Section 5.2 of RFC 6455 - finalBit = 1 << 7 - rsv1Bit = 1 << 6 - rsv2Bit = 1 << 5 - rsv3Bit = 1 << 4 - - // Frame header byte 1 bits from Section 5.2 of RFC 6455 - maskBit = 1 << 7 - - maxFrameHeaderSize = 2 + 8 + 4 // Fixed header + length + mask - maxControlFramePayloadSize = 125 - - writeWait = time.Second - - defaultReadBufferSize = 4096 - defaultWriteBufferSize = 4096 - - continuationFrame = 0 - noFrame = -1 -) - -// Close codes defined in RFC 6455, section 11.7. -const ( - CloseNormalClosure = 1000 - CloseGoingAway = 1001 - CloseProtocolError = 1002 - CloseUnsupportedData = 1003 - CloseNoStatusReceived = 1005 - CloseAbnormalClosure = 1006 - CloseInvalidFramePayloadData = 1007 - ClosePolicyViolation = 1008 - CloseMessageTooBig = 1009 - CloseMandatoryExtension = 1010 - CloseInternalServerErr = 1011 - CloseServiceRestart = 1012 - CloseTryAgainLater = 1013 - CloseTLSHandshake = 1015 -) - -// The message types are defined in RFC 6455, section 11.8. -const ( - // TextMessage denotes a text data message. The text message payload is - // interpreted as UTF-8 encoded text data. - TextMessage = 1 - - // BinaryMessage denotes a binary data message. - BinaryMessage = 2 - - // CloseMessage denotes a close control message. The optional message - // payload contains a numeric code and text. Use the FormatCloseMessage - // function to format a close message payload. - CloseMessage = 8 - - // PingMessage denotes a ping control message. The optional message payload - // is UTF-8 encoded text. - PingMessage = 9 - - // PongMessage denotes a ping control message. The optional message payload - // is UTF-8 encoded text. - PongMessage = 10 -) - -// ErrCloseSent is returned when the application writes a message to the -// connection after sending a close message. -var ErrCloseSent = errors.New("websocket: close sent") - -// ErrReadLimit is returned when reading a message that is larger than the -// read limit set for the connection. -var ErrReadLimit = errors.New("websocket: read limit exceeded") - -// netError satisfies the net Error interface. -type netError struct { - msg string - temporary bool - timeout bool -} - -func (e *netError) Error() string { return e.msg } -func (e *netError) Temporary() bool { return e.temporary } -func (e *netError) Timeout() bool { return e.timeout } - -// CloseError represents close frame. -type CloseError struct { - - // Code is defined in RFC 6455, section 11.7. - Code int - - // Text is the optional text payload. - Text string -} - -func (e *CloseError) Error() string { - s := []byte("websocket: close ") - s = strconv.AppendInt(s, int64(e.Code), 10) - switch e.Code { - case CloseNormalClosure: - s = append(s, " (normal)"...) - case CloseGoingAway: - s = append(s, " (going away)"...) - case CloseProtocolError: - s = append(s, " (protocol error)"...) - case CloseUnsupportedData: - s = append(s, " (unsupported data)"...) - case CloseNoStatusReceived: - s = append(s, " (no status)"...) - case CloseAbnormalClosure: - s = append(s, " (abnormal closure)"...) - case CloseInvalidFramePayloadData: - s = append(s, " (invalid payload data)"...) - case ClosePolicyViolation: - s = append(s, " (policy violation)"...) - case CloseMessageTooBig: - s = append(s, " (message too big)"...) - case CloseMandatoryExtension: - s = append(s, " (mandatory extension missing)"...) - case CloseInternalServerErr: - s = append(s, " (internal server error)"...) - case CloseTLSHandshake: - s = append(s, " (TLS handshake error)"...) - } - if e.Text != "" { - s = append(s, ": "...) - s = append(s, e.Text...) - } - return string(s) -} - -// IsCloseError returns boolean indicating whether the error is a *CloseError -// with one of the specified codes. -func IsCloseError(err error, codes ...int) bool { - if e, ok := err.(*CloseError); ok { - for _, code := range codes { - if e.Code == code { - return true - } - } - } - return false -} - -// IsUnexpectedCloseError returns boolean indicating whether the error is a -// *CloseError with a code not in the list of expected codes. -func IsUnexpectedCloseError(err error, expectedCodes ...int) bool { - if e, ok := err.(*CloseError); ok { - for _, code := range expectedCodes { - if e.Code == code { - return false - } - } - return true - } - return false -} - -var ( - errWriteTimeout = &netError{msg: "websocket: write timeout", timeout: true, temporary: true} - errUnexpectedEOF = &CloseError{Code: CloseAbnormalClosure, Text: io.ErrUnexpectedEOF.Error()} - errBadWriteOpCode = errors.New("websocket: bad write message type") - errWriteClosed = errors.New("websocket: write closed") - errInvalidControlFrame = errors.New("websocket: invalid control frame") -) - -func newMaskKey() [4]byte { - n := rand.Uint32() - return [4]byte{byte(n), byte(n >> 8), byte(n >> 16), byte(n >> 24)} -} - -func hideTempErr(err error) error { - if e, ok := err.(net.Error); ok && e.Temporary() { - err = &netError{msg: e.Error(), timeout: e.Timeout()} - } - return err -} - -func isControl(frameType int) bool { - return frameType == CloseMessage || frameType == PingMessage || frameType == PongMessage -} - -func isData(frameType int) bool { - return frameType == TextMessage || frameType == BinaryMessage -} - -var validReceivedCloseCodes = map[int]bool{ - // see http://www.iana.org/assignments/websocket/websocket.xhtml#close-code-number - - CloseNormalClosure: true, - CloseGoingAway: true, - CloseProtocolError: true, - CloseUnsupportedData: true, - CloseNoStatusReceived: false, - CloseAbnormalClosure: false, - CloseInvalidFramePayloadData: true, - ClosePolicyViolation: true, - CloseMessageTooBig: true, - CloseMandatoryExtension: true, - CloseInternalServerErr: true, - CloseServiceRestart: true, - CloseTryAgainLater: true, - CloseTLSHandshake: false, -} - -func isValidReceivedCloseCode(code int) bool { - return validReceivedCloseCodes[code] || (code >= 3000 && code <= 4999) -} - -// The Conn type represents a WebSocket connection. -type Conn struct { - conn net.Conn - isServer bool - subprotocol string - - // Write fields - mu chan bool // used as mutex to protect write to conn - writeBuf []byte // frame is constructed in this buffer. - writeDeadline time.Time - writer io.WriteCloser // the current writer returned to the application - isWriting bool // for best-effort concurrent write detection - - writeErrMu sync.Mutex - writeErr error - - enableWriteCompression bool - compressionLevel int - newCompressionWriter func(io.WriteCloser, int) io.WriteCloser - - // Read fields - reader io.ReadCloser // the current reader returned to the application - readErr error - br *bufio.Reader - readRemaining int64 // bytes remaining in current frame. - readFinal bool // true the current message has more frames. - readLength int64 // Message size. - readLimit int64 // Maximum message size. - readMaskPos int - readMaskKey [4]byte - handlePong func(string) error - handlePing func(string) error - handleClose func(int, string) error - readErrCount int - messageReader *messageReader // the current low-level reader - - readDecompress bool // whether last read frame had RSV1 set - newDecompressionReader func(io.Reader) io.ReadCloser -} - -func newConn(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int) *Conn { - return newConnBRW(conn, isServer, readBufferSize, writeBufferSize, nil) -} - -type writeHook struct { - p []byte -} - -func (wh *writeHook) Write(p []byte) (int, error) { - wh.p = p - return len(p), nil -} - -func newConnBRW(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int, brw *bufio.ReadWriter) *Conn { - mu := make(chan bool, 1) - mu <- true - - var br *bufio.Reader - if readBufferSize == 0 && brw != nil && brw.Reader != nil { - // Reuse the supplied bufio.Reader if the buffer has a useful size. - // This code assumes that peek on a reader returns - // bufio.Reader.buf[:0]. - brw.Reader.Reset(conn) - if p, err := brw.Reader.Peek(0); err == nil && cap(p) >= 256 { - br = brw.Reader - } - } - if br == nil { - if readBufferSize == 0 { - readBufferSize = defaultReadBufferSize - } - if readBufferSize < maxControlFramePayloadSize { - readBufferSize = maxControlFramePayloadSize - } - br = bufio.NewReaderSize(conn, readBufferSize) - } - - var writeBuf []byte - if writeBufferSize == 0 && brw != nil && brw.Writer != nil { - // Use the bufio.Writer's buffer if the buffer has a useful size. This - // code assumes that bufio.Writer.buf[:1] is passed to the - // bufio.Writer's underlying writer. - var wh writeHook - brw.Writer.Reset(&wh) - brw.Writer.WriteByte(0) - brw.Flush() - if cap(wh.p) >= maxFrameHeaderSize+256 { - writeBuf = wh.p[:cap(wh.p)] - } - } - - if writeBuf == nil { - if writeBufferSize == 0 { - writeBufferSize = defaultWriteBufferSize - } - writeBuf = make([]byte, writeBufferSize+maxFrameHeaderSize) - } - - c := &Conn{ - isServer: isServer, - br: br, - conn: conn, - mu: mu, - readFinal: true, - writeBuf: writeBuf, - enableWriteCompression: true, - compressionLevel: defaultCompressionLevel, - } - c.SetCloseHandler(nil) - c.SetPingHandler(nil) - c.SetPongHandler(nil) - return c -} - -// Subprotocol returns the negotiated protocol for the connection. -func (c *Conn) Subprotocol() string { - return c.subprotocol -} - -// Close closes the underlying network connection without sending or waiting for a close frame. -func (c *Conn) Close() error { - return c.conn.Close() -} - -// LocalAddr returns the local network address. -func (c *Conn) LocalAddr() net.Addr { - return c.conn.LocalAddr() -} - -// RemoteAddr returns the remote network address. -func (c *Conn) RemoteAddr() net.Addr { - return c.conn.RemoteAddr() -} - -// Write methods - -func (c *Conn) writeFatal(err error) error { - err = hideTempErr(err) - c.writeErrMu.Lock() - if c.writeErr == nil { - c.writeErr = err - } - c.writeErrMu.Unlock() - return err -} - -func (c *Conn) write(frameType int, deadline time.Time, bufs ...[]byte) error { - <-c.mu - defer func() { c.mu <- true }() - - c.writeErrMu.Lock() - err := c.writeErr - c.writeErrMu.Unlock() - if err != nil { - return err - } - - c.conn.SetWriteDeadline(deadline) - for _, buf := range bufs { - if len(buf) > 0 { - _, err := c.conn.Write(buf) - if err != nil { - return c.writeFatal(err) - } - } - } - - if frameType == CloseMessage { - c.writeFatal(ErrCloseSent) - } - return nil -} - -// WriteControl writes a control message with the given deadline. The allowed -// message types are CloseMessage, PingMessage and PongMessage. -func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) error { - if !isControl(messageType) { - return errBadWriteOpCode - } - if len(data) > maxControlFramePayloadSize { - return errInvalidControlFrame - } - - b0 := byte(messageType) | finalBit - b1 := byte(len(data)) - if !c.isServer { - b1 |= maskBit - } - - buf := make([]byte, 0, maxFrameHeaderSize+maxControlFramePayloadSize) - buf = append(buf, b0, b1) - - if c.isServer { - buf = append(buf, data...) - } else { - key := newMaskKey() - buf = append(buf, key[:]...) - buf = append(buf, data...) - maskBytes(key, 0, buf[6:]) - } - - d := time.Hour * 1000 - if !deadline.IsZero() { - d = deadline.Sub(time.Now()) - if d < 0 { - return errWriteTimeout - } - } - - timer := time.NewTimer(d) - select { - case <-c.mu: - timer.Stop() - case <-timer.C: - return errWriteTimeout - } - defer func() { c.mu <- true }() - - c.writeErrMu.Lock() - err := c.writeErr - c.writeErrMu.Unlock() - if err != nil { - return err - } - - c.conn.SetWriteDeadline(deadline) - _, err = c.conn.Write(buf) - if err != nil { - return c.writeFatal(err) - } - if messageType == CloseMessage { - c.writeFatal(ErrCloseSent) - } - return err -} - -func (c *Conn) prepWrite(messageType int) error { - // Close previous writer if not already closed by the application. It's - // probably better to return an error in this situation, but we cannot - // change this without breaking existing applications. - if c.writer != nil { - c.writer.Close() - c.writer = nil - } - - if !isControl(messageType) && !isData(messageType) { - return errBadWriteOpCode - } - - c.writeErrMu.Lock() - err := c.writeErr - c.writeErrMu.Unlock() - return err -} - -// NextWriter returns a writer for the next message to send. The writer's Close -// method flushes the complete message to the network. -// -// There can be at most one open writer on a connection. NextWriter closes the -// previous writer if the application has not already done so. -func (c *Conn) NextWriter(messageType int) (io.WriteCloser, error) { - if err := c.prepWrite(messageType); err != nil { - return nil, err - } - - mw := &messageWriter{ - c: c, - frameType: messageType, - pos: maxFrameHeaderSize, - } - c.writer = mw - if c.newCompressionWriter != nil && c.enableWriteCompression && isData(messageType) { - w := c.newCompressionWriter(c.writer, c.compressionLevel) - mw.compress = true - c.writer = w - } - return c.writer, nil -} - -type messageWriter struct { - c *Conn - compress bool // whether next call to flushFrame should set RSV1 - pos int // end of data in writeBuf. - frameType int // type of the current frame. - err error -} - -func (w *messageWriter) fatal(err error) error { - if w.err != nil { - w.err = err - w.c.writer = nil - } - return err -} - -// flushFrame writes buffered data and extra as a frame to the network. The -// final argument indicates that this is the last frame in the message. -func (w *messageWriter) flushFrame(final bool, extra []byte) error { - c := w.c - length := w.pos - maxFrameHeaderSize + len(extra) - - // Check for invalid control frames. - if isControl(w.frameType) && - (!final || length > maxControlFramePayloadSize) { - return w.fatal(errInvalidControlFrame) - } - - b0 := byte(w.frameType) - if final { - b0 |= finalBit - } - if w.compress { - b0 |= rsv1Bit - } - w.compress = false - - b1 := byte(0) - if !c.isServer { - b1 |= maskBit - } - - // Assume that the frame starts at beginning of c.writeBuf. - framePos := 0 - if c.isServer { - // Adjust up if mask not included in the header. - framePos = 4 - } - - switch { - case length >= 65536: - c.writeBuf[framePos] = b0 - c.writeBuf[framePos+1] = b1 | 127 - binary.BigEndian.PutUint64(c.writeBuf[framePos+2:], uint64(length)) - case length > 125: - framePos += 6 - c.writeBuf[framePos] = b0 - c.writeBuf[framePos+1] = b1 | 126 - binary.BigEndian.PutUint16(c.writeBuf[framePos+2:], uint16(length)) - default: - framePos += 8 - c.writeBuf[framePos] = b0 - c.writeBuf[framePos+1] = b1 | byte(length) - } - - if !c.isServer { - key := newMaskKey() - copy(c.writeBuf[maxFrameHeaderSize-4:], key[:]) - maskBytes(key, 0, c.writeBuf[maxFrameHeaderSize:w.pos]) - if len(extra) > 0 { - return c.writeFatal(errors.New("websocket: internal error, extra used in client mode")) - } - } - - // Write the buffers to the connection with best-effort detection of - // concurrent writes. See the concurrency section in the package - // documentation for more info. - - if c.isWriting { - panic("concurrent write to websocket connection") - } - c.isWriting = true - - err := c.write(w.frameType, c.writeDeadline, c.writeBuf[framePos:w.pos], extra) - - if !c.isWriting { - panic("concurrent write to websocket connection") - } - c.isWriting = false - - if err != nil { - return w.fatal(err) - } - - if final { - c.writer = nil - return nil - } - - // Setup for next frame. - w.pos = maxFrameHeaderSize - w.frameType = continuationFrame - return nil -} - -func (w *messageWriter) ncopy(max int) (int, error) { - n := len(w.c.writeBuf) - w.pos - if n <= 0 { - if err := w.flushFrame(false, nil); err != nil { - return 0, err - } - n = len(w.c.writeBuf) - w.pos - } - if n > max { - n = max - } - return n, nil -} - -func (w *messageWriter) Write(p []byte) (int, error) { - if w.err != nil { - return 0, w.err - } - - if len(p) > 2*len(w.c.writeBuf) && w.c.isServer { - // Don't buffer large messages. - err := w.flushFrame(false, p) - if err != nil { - return 0, err - } - return len(p), nil - } - - nn := len(p) - for len(p) > 0 { - n, err := w.ncopy(len(p)) - if err != nil { - return 0, err - } - copy(w.c.writeBuf[w.pos:], p[:n]) - w.pos += n - p = p[n:] - } - return nn, nil -} - -func (w *messageWriter) WriteString(p string) (int, error) { - if w.err != nil { - return 0, w.err - } - - nn := len(p) - for len(p) > 0 { - n, err := w.ncopy(len(p)) - if err != nil { - return 0, err - } - copy(w.c.writeBuf[w.pos:], p[:n]) - w.pos += n - p = p[n:] - } - return nn, nil -} - -func (w *messageWriter) ReadFrom(r io.Reader) (nn int64, err error) { - if w.err != nil { - return 0, w.err - } - for { - if w.pos == len(w.c.writeBuf) { - err = w.flushFrame(false, nil) - if err != nil { - break - } - } - var n int - n, err = r.Read(w.c.writeBuf[w.pos:]) - w.pos += n - nn += int64(n) - if err != nil { - if err == io.EOF { - err = nil - } - break - } - } - return nn, err -} - -func (w *messageWriter) Close() error { - if w.err != nil { - return w.err - } - if err := w.flushFrame(true, nil); err != nil { - return err - } - w.err = errWriteClosed - return nil -} - -// WritePreparedMessage writes prepared message into connection. -func (c *Conn) WritePreparedMessage(pm *PreparedMessage) error { - frameType, frameData, err := pm.frame(prepareKey{ - isServer: c.isServer, - compress: c.newCompressionWriter != nil && c.enableWriteCompression && isData(pm.messageType), - compressionLevel: c.compressionLevel, - }) - if err != nil { - return err - } - if c.isWriting { - panic("concurrent write to websocket connection") - } - c.isWriting = true - err = c.write(frameType, c.writeDeadline, frameData, nil) - if !c.isWriting { - panic("concurrent write to websocket connection") - } - c.isWriting = false - return err -} - -// WriteMessage is a helper method for getting a writer using NextWriter, -// writing the message and closing the writer. -func (c *Conn) WriteMessage(messageType int, data []byte) error { - - if c.isServer && (c.newCompressionWriter == nil || !c.enableWriteCompression) { - // Fast path with no allocations and single frame. - - if err := c.prepWrite(messageType); err != nil { - return err - } - mw := messageWriter{c: c, frameType: messageType, pos: maxFrameHeaderSize} - n := copy(c.writeBuf[mw.pos:], data) - mw.pos += n - data = data[n:] - return mw.flushFrame(true, data) - } - - w, err := c.NextWriter(messageType) - if err != nil { - return err - } - if _, err = w.Write(data); err != nil { - return err - } - return w.Close() -} - -// SetWriteDeadline sets the write deadline on the underlying network -// connection. After a write has timed out, the websocket state is corrupt and -// all future writes will return an error. A zero value for t means writes will -// not time out. -func (c *Conn) SetWriteDeadline(t time.Time) error { - c.writeDeadline = t - return nil -} - -// Read methods - -func (c *Conn) advanceFrame() (int, error) { - - // 1. Skip remainder of previous frame. - - if c.readRemaining > 0 { - if _, err := io.CopyN(ioutil.Discard, c.br, c.readRemaining); err != nil { - return noFrame, err - } - } - - // 2. Read and parse first two bytes of frame header. - - p, err := c.read(2) - if err != nil { - return noFrame, err - } - - final := p[0]&finalBit != 0 - frameType := int(p[0] & 0xf) - mask := p[1]&maskBit != 0 - c.readRemaining = int64(p[1] & 0x7f) - - c.readDecompress = false - if c.newDecompressionReader != nil && (p[0]&rsv1Bit) != 0 { - c.readDecompress = true - p[0] &^= rsv1Bit - } - - if rsv := p[0] & (rsv1Bit | rsv2Bit | rsv3Bit); rsv != 0 { - return noFrame, c.handleProtocolError("unexpected reserved bits 0x" + strconv.FormatInt(int64(rsv), 16)) - } - - switch frameType { - case CloseMessage, PingMessage, PongMessage: - if c.readRemaining > maxControlFramePayloadSize { - return noFrame, c.handleProtocolError("control frame length > 125") - } - if !final { - return noFrame, c.handleProtocolError("control frame not final") - } - case TextMessage, BinaryMessage: - if !c.readFinal { - return noFrame, c.handleProtocolError("message start before final message frame") - } - c.readFinal = final - case continuationFrame: - if c.readFinal { - return noFrame, c.handleProtocolError("continuation after final message frame") - } - c.readFinal = final - default: - return noFrame, c.handleProtocolError("unknown opcode " + strconv.Itoa(frameType)) - } - - // 3. Read and parse frame length. - - switch c.readRemaining { - case 126: - p, err := c.read(2) - if err != nil { - return noFrame, err - } - c.readRemaining = int64(binary.BigEndian.Uint16(p)) - case 127: - p, err := c.read(8) - if err != nil { - return noFrame, err - } - c.readRemaining = int64(binary.BigEndian.Uint64(p)) - } - - // 4. Handle frame masking. - - if mask != c.isServer { - return noFrame, c.handleProtocolError("incorrect mask flag") - } - - if mask { - c.readMaskPos = 0 - p, err := c.read(len(c.readMaskKey)) - if err != nil { - return noFrame, err - } - copy(c.readMaskKey[:], p) - } - - // 5. For text and binary messages, enforce read limit and return. - - if frameType == continuationFrame || frameType == TextMessage || frameType == BinaryMessage { - - c.readLength += c.readRemaining - if c.readLimit > 0 && c.readLength > c.readLimit { - c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)) - return noFrame, ErrReadLimit - } - - return frameType, nil - } - - // 6. Read control frame payload. - - var payload []byte - if c.readRemaining > 0 { - payload, err = c.read(int(c.readRemaining)) - c.readRemaining = 0 - if err != nil { - return noFrame, err - } - if c.isServer { - maskBytes(c.readMaskKey, 0, payload) - } - } - - // 7. Process control frame payload. - - switch frameType { - case PongMessage: - if err := c.handlePong(string(payload)); err != nil { - return noFrame, err - } - case PingMessage: - if err := c.handlePing(string(payload)); err != nil { - return noFrame, err - } - case CloseMessage: - closeCode := CloseNoStatusReceived - closeText := "" - if len(payload) >= 2 { - closeCode = int(binary.BigEndian.Uint16(payload)) - if !isValidReceivedCloseCode(closeCode) { - return noFrame, c.handleProtocolError("invalid close code") - } - closeText = string(payload[2:]) - if !utf8.ValidString(closeText) { - return noFrame, c.handleProtocolError("invalid utf8 payload in close frame") - } - } - if err := c.handleClose(closeCode, closeText); err != nil { - return noFrame, err - } - return noFrame, &CloseError{Code: closeCode, Text: closeText} - } - - return frameType, nil -} - -func (c *Conn) handleProtocolError(message string) error { - c.WriteControl(CloseMessage, FormatCloseMessage(CloseProtocolError, message), time.Now().Add(writeWait)) - return errors.New("websocket: " + message) -} - -// NextReader returns the next data message received from the peer. The -// returned messageType is either TextMessage or BinaryMessage. -// -// There can be at most one open reader on a connection. NextReader discards -// the previous message if the application has not already consumed it. -// -// Applications must break out of the application's read loop when this method -// returns a non-nil error value. Errors returned from this method are -// permanent. Once this method returns a non-nil error, all subsequent calls to -// this method return the same error. -func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { - // Close previous reader, only relevant for decompression. - if c.reader != nil { - c.reader.Close() - c.reader = nil - } - - c.messageReader = nil - c.readLength = 0 - - for c.readErr == nil { - frameType, err := c.advanceFrame() - if err != nil { - c.readErr = hideTempErr(err) - break - } - if frameType == TextMessage || frameType == BinaryMessage { - c.messageReader = &messageReader{c} - c.reader = c.messageReader - if c.readDecompress { - c.reader = c.newDecompressionReader(c.reader) - } - return frameType, c.reader, nil - } - } - - // Applications that do handle the error returned from this method spin in - // tight loop on connection failure. To help application developers detect - // this error, panic on repeated reads to the failed connection. - c.readErrCount++ - if c.readErrCount >= 1000 { - panic("repeated read on failed websocket connection") - } - - return noFrame, nil, c.readErr -} - -type messageReader struct{ c *Conn } - -func (r *messageReader) Read(b []byte) (int, error) { - c := r.c - if c.messageReader != r { - return 0, io.EOF - } - - for c.readErr == nil { - - if c.readRemaining > 0 { - if int64(len(b)) > c.readRemaining { - b = b[:c.readRemaining] - } - n, err := c.br.Read(b) - c.readErr = hideTempErr(err) - if c.isServer { - c.readMaskPos = maskBytes(c.readMaskKey, c.readMaskPos, b[:n]) - } - c.readRemaining -= int64(n) - if c.readRemaining > 0 && c.readErr == io.EOF { - c.readErr = errUnexpectedEOF - } - return n, c.readErr - } - - if c.readFinal { - c.messageReader = nil - return 0, io.EOF - } - - frameType, err := c.advanceFrame() - switch { - case err != nil: - c.readErr = hideTempErr(err) - case frameType == TextMessage || frameType == BinaryMessage: - c.readErr = errors.New("websocket: internal error, unexpected text or binary in Reader") - } - } - - err := c.readErr - if err == io.EOF && c.messageReader == r { - err = errUnexpectedEOF - } - return 0, err -} - -func (r *messageReader) Close() error { - return nil -} - -// ReadMessage is a helper method for getting a reader using NextReader and -// reading from that reader to a buffer. -func (c *Conn) ReadMessage() (messageType int, p []byte, err error) { - var r io.Reader - messageType, r, err = c.NextReader() - if err != nil { - return messageType, nil, err - } - p, err = ioutil.ReadAll(r) - return messageType, p, err -} - -// SetReadDeadline sets the read deadline on the underlying network connection. -// After a read has timed out, the websocket connection state is corrupt and -// all future reads will return an error. A zero value for t means reads will -// not time out. -func (c *Conn) SetReadDeadline(t time.Time) error { - return c.conn.SetReadDeadline(t) -} - -// SetReadLimit sets the maximum size for a message read from the peer. If a -// message exceeds the limit, the connection sends a close frame to the peer -// and returns ErrReadLimit to the application. -func (c *Conn) SetReadLimit(limit int64) { - c.readLimit = limit -} - -// CloseHandler returns the current close handler -func (c *Conn) CloseHandler() func(code int, text string) error { - return c.handleClose -} - -// SetCloseHandler sets the handler for close messages received from the peer. -// The code argument to h is the received close code or CloseNoStatusReceived -// if the close message is empty. The default close handler sends a close frame -// back to the peer. -// -// The application must read the connection to process close messages as -// described in the section on Control Frames above. -// -// The connection read methods return a CloseError when a close frame is -// received. Most applications should handle close messages as part of their -// normal error handling. Applications should only set a close handler when the -// application must perform some action before sending a close frame back to -// the peer. -func (c *Conn) SetCloseHandler(h func(code int, text string) error) { - if h == nil { - h = func(code int, text string) error { - message := []byte{} - if code != CloseNoStatusReceived { - message = FormatCloseMessage(code, "") - } - c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)) - return nil - } - } - c.handleClose = h -} - -// PingHandler returns the current ping handler -func (c *Conn) PingHandler() func(appData string) error { - return c.handlePing -} - -// SetPingHandler sets the handler for ping messages received from the peer. -// The appData argument to h is the PING frame application data. The default -// ping handler sends a pong to the peer. -// -// The application must read the connection to process ping messages as -// described in the section on Control Frames above. -func (c *Conn) SetPingHandler(h func(appData string) error) { - if h == nil { - h = func(message string) error { - err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait)) - if err == ErrCloseSent { - return nil - } else if e, ok := err.(net.Error); ok && e.Temporary() { - return nil - } - return err - } - } - c.handlePing = h -} - -// PongHandler returns the current pong handler -func (c *Conn) PongHandler() func(appData string) error { - return c.handlePong -} - -// SetPongHandler sets the handler for pong messages received from the peer. -// The appData argument to h is the PONG frame application data. The default -// pong handler does nothing. -// -// The application must read the connection to process ping messages as -// described in the section on Control Frames above. -func (c *Conn) SetPongHandler(h func(appData string) error) { - if h == nil { - h = func(string) error { return nil } - } - c.handlePong = h -} - -// UnderlyingConn returns the internal net.Conn. This can be used to further -// modifications to connection specific flags. -func (c *Conn) UnderlyingConn() net.Conn { - return c.conn -} - -// EnableWriteCompression enables and disables write compression of -// subsequent text and binary messages. This function is a noop if -// compression was not negotiated with the peer. -func (c *Conn) EnableWriteCompression(enable bool) { - c.enableWriteCompression = enable -} - -// SetCompressionLevel sets the flate compression level for subsequent text and -// binary messages. This function is a noop if compression was not negotiated -// with the peer. See the compress/flate package for a description of -// compression levels. -func (c *Conn) SetCompressionLevel(level int) error { - if !isValidCompressionLevel(level) { - return errors.New("websocket: invalid compression level") - } - c.compressionLevel = level - return nil -} - -// FormatCloseMessage formats closeCode and text as a WebSocket close message. -func FormatCloseMessage(closeCode int, text string) []byte { - buf := make([]byte, 2+len(text)) - binary.BigEndian.PutUint16(buf, uint16(closeCode)) - copy(buf[2:], text) - return buf -} diff --git a/vendor/github.com/gorilla/websocket/conn_read.go b/vendor/github.com/gorilla/websocket/conn_read.go deleted file mode 100644 index 1ea1505..0000000 --- a/vendor/github.com/gorilla/websocket/conn_read.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.5 - -package websocket - -import "io" - -func (c *Conn) read(n int) ([]byte, error) { - p, err := c.br.Peek(n) - if err == io.EOF { - err = errUnexpectedEOF - } - c.br.Discard(len(p)) - return p, err -} diff --git a/vendor/github.com/gorilla/websocket/conn_read_legacy.go b/vendor/github.com/gorilla/websocket/conn_read_legacy.go deleted file mode 100644 index 018541c..0000000 --- a/vendor/github.com/gorilla/websocket/conn_read_legacy.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.5 - -package websocket - -import "io" - -func (c *Conn) read(n int) ([]byte, error) { - p, err := c.br.Peek(n) - if err == io.EOF { - err = errUnexpectedEOF - } - if len(p) > 0 { - // advance over the bytes just read - io.ReadFull(c.br, p) - } - return p, err -} diff --git a/vendor/github.com/gorilla/websocket/doc.go b/vendor/github.com/gorilla/websocket/doc.go deleted file mode 100644 index e291a95..0000000 --- a/vendor/github.com/gorilla/websocket/doc.go +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package websocket implements the WebSocket protocol defined in RFC 6455. -// -// Overview -// -// The Conn type represents a WebSocket connection. A server application uses -// the Upgrade function from an Upgrader object with a HTTP request handler -// to get a pointer to a Conn: -// -// var upgrader = websocket.Upgrader{ -// ReadBufferSize: 1024, -// WriteBufferSize: 1024, -// } -// -// func handler(w http.ResponseWriter, r *http.Request) { -// conn, err := upgrader.Upgrade(w, r, nil) -// if err != nil { -// log.Println(err) -// return -// } -// ... Use conn to send and receive messages. -// } -// -// Call the connection's WriteMessage and ReadMessage methods to send and -// receive messages as a slice of bytes. This snippet of code shows how to echo -// messages using these methods: -// -// for { -// messageType, p, err := conn.ReadMessage() -// if err != nil { -// return -// } -// if err = conn.WriteMessage(messageType, p); err != nil { -// return err -// } -// } -// -// In above snippet of code, p is a []byte and messageType is an int with value -// websocket.BinaryMessage or websocket.TextMessage. -// -// An application can also send and receive messages using the io.WriteCloser -// and io.Reader interfaces. To send a message, call the connection NextWriter -// method to get an io.WriteCloser, write the message to the writer and close -// the writer when done. To receive a message, call the connection NextReader -// method to get an io.Reader and read until io.EOF is returned. This snippet -// shows how to echo messages using the NextWriter and NextReader methods: -// -// for { -// messageType, r, err := conn.NextReader() -// if err != nil { -// return -// } -// w, err := conn.NextWriter(messageType) -// if err != nil { -// return err -// } -// if _, err := io.Copy(w, r); err != nil { -// return err -// } -// if err := w.Close(); err != nil { -// return err -// } -// } -// -// Data Messages -// -// The WebSocket protocol distinguishes between text and binary data messages. -// Text messages are interpreted as UTF-8 encoded text. The interpretation of -// binary messages is left to the application. -// -// This package uses the TextMessage and BinaryMessage integer constants to -// identify the two data message types. The ReadMessage and NextReader methods -// return the type of the received message. The messageType argument to the -// WriteMessage and NextWriter methods specifies the type of a sent message. -// -// It is the application's responsibility to ensure that text messages are -// valid UTF-8 encoded text. -// -// Control Messages -// -// The WebSocket protocol defines three types of control messages: close, ping -// and pong. Call the connection WriteControl, WriteMessage or NextWriter -// methods to send a control message to the peer. -// -// Connections handle received close messages by sending a close message to the -// peer and returning a *CloseError from the the NextReader, ReadMessage or the -// message Read method. -// -// Connections handle received ping and pong messages by invoking callback -// functions set with SetPingHandler and SetPongHandler methods. The callback -// functions are called from the NextReader, ReadMessage and the message Read -// methods. -// -// The default ping handler sends a pong to the peer. The application's reading -// goroutine can block for a short time while the handler writes the pong data -// to the connection. -// -// The application must read the connection to process ping, pong and close -// messages sent from the peer. If the application is not otherwise interested -// in messages from the peer, then the application should start a goroutine to -// read and discard messages from the peer. A simple example is: -// -// func readLoop(c *websocket.Conn) { -// for { -// if _, _, err := c.NextReader(); err != nil { -// c.Close() -// break -// } -// } -// } -// -// Concurrency -// -// Connections support one concurrent reader and one concurrent writer. -// -// Applications are responsible for ensuring that no more than one goroutine -// calls the write methods (NextWriter, SetWriteDeadline, WriteMessage, -// WriteJSON, EnableWriteCompression, SetCompressionLevel) concurrently and -// that no more than one goroutine calls the read methods (NextReader, -// SetReadDeadline, ReadMessage, ReadJSON, SetPongHandler, SetPingHandler) -// concurrently. -// -// The Close and WriteControl methods can be called concurrently with all other -// methods. -// -// Origin Considerations -// -// Web browsers allow Javascript applications to open a WebSocket connection to -// any host. It's up to the server to enforce an origin policy using the Origin -// request header sent by the browser. -// -// The Upgrader calls the function specified in the CheckOrigin field to check -// the origin. If the CheckOrigin function returns false, then the Upgrade -// method fails the WebSocket handshake with HTTP status 403. -// -// If the CheckOrigin field is nil, then the Upgrader uses a safe default: fail -// the handshake if the Origin request header is present and not equal to the -// Host request header. -// -// An application can allow connections from any origin by specifying a -// function that always returns true: -// -// var upgrader = websocket.Upgrader{ -// CheckOrigin: func(r *http.Request) bool { return true }, -// } -// -// The deprecated Upgrade function does not enforce an origin policy. It's the -// application's responsibility to check the Origin header before calling -// Upgrade. -// -// Compression EXPERIMENTAL -// -// Per message compression extensions (RFC 7692) are experimentally supported -// by this package in a limited capacity. Setting the EnableCompression option -// to true in Dialer or Upgrader will attempt to negotiate per message deflate -// support. -// -// var upgrader = websocket.Upgrader{ -// EnableCompression: true, -// } -// -// If compression was successfully negotiated with the connection's peer, any -// message received in compressed form will be automatically decompressed. -// All Read methods will return uncompressed bytes. -// -// Per message compression of messages written to a connection can be enabled -// or disabled by calling the corresponding Conn method: -// -// conn.EnableWriteCompression(false) -// -// Currently this package does not support compression with "context takeover". -// This means that messages must be compressed and decompressed in isolation, -// without retaining sliding window or dictionary state across messages. For -// more details refer to RFC 7692. -// -// Use of compression is experimental and may result in decreased performance. -package websocket diff --git a/vendor/github.com/gorilla/websocket/json.go b/vendor/github.com/gorilla/websocket/json.go deleted file mode 100644 index 4f0e368..0000000 --- a/vendor/github.com/gorilla/websocket/json.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "encoding/json" - "io" -) - -// WriteJSON is deprecated, use c.WriteJSON instead. -func WriteJSON(c *Conn, v interface{}) error { - return c.WriteJSON(v) -} - -// WriteJSON writes the JSON encoding of v to the connection. -// -// See the documentation for encoding/json Marshal for details about the -// conversion of Go values to JSON. -func (c *Conn) WriteJSON(v interface{}) error { - w, err := c.NextWriter(TextMessage) - if err != nil { - return err - } - err1 := json.NewEncoder(w).Encode(v) - err2 := w.Close() - if err1 != nil { - return err1 - } - return err2 -} - -// ReadJSON is deprecated, use c.ReadJSON instead. -func ReadJSON(c *Conn, v interface{}) error { - return c.ReadJSON(v) -} - -// ReadJSON reads the next JSON-encoded message from the connection and stores -// it in the value pointed to by v. -// -// See the documentation for the encoding/json Unmarshal function for details -// about the conversion of JSON to a Go value. -func (c *Conn) ReadJSON(v interface{}) error { - _, r, err := c.NextReader() - if err != nil { - return err - } - err = json.NewDecoder(r).Decode(v) - if err == io.EOF { - // One value is expected in the message. - err = io.ErrUnexpectedEOF - } - return err -} diff --git a/vendor/github.com/gorilla/websocket/mask.go b/vendor/github.com/gorilla/websocket/mask.go deleted file mode 100644 index 6a88bbc..0000000 --- a/vendor/github.com/gorilla/websocket/mask.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of -// this source code is governed by a BSD-style license that can be found in the -// LICENSE file. - -// +build !appengine - -package websocket - -import "unsafe" - -const wordSize = int(unsafe.Sizeof(uintptr(0))) - -func maskBytes(key [4]byte, pos int, b []byte) int { - - // Mask one byte at a time for small buffers. - if len(b) < 2*wordSize { - for i := range b { - b[i] ^= key[pos&3] - pos++ - } - return pos & 3 - } - - // Mask one byte at a time to word boundary. - if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 { - n = wordSize - n - for i := range b[:n] { - b[i] ^= key[pos&3] - pos++ - } - b = b[n:] - } - - // Create aligned word size key. - var k [wordSize]byte - for i := range k { - k[i] = key[(pos+i)&3] - } - kw := *(*uintptr)(unsafe.Pointer(&k)) - - // Mask one word at a time. - n := (len(b) / wordSize) * wordSize - for i := 0; i < n; i += wordSize { - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&b[0])) + uintptr(i))) ^= kw - } - - // Mask one byte at a time for remaining bytes. - b = b[n:] - for i := range b { - b[i] ^= key[pos&3] - pos++ - } - - return pos & 3 -} diff --git a/vendor/github.com/gorilla/websocket/mask_safe.go b/vendor/github.com/gorilla/websocket/mask_safe.go deleted file mode 100644 index 2aac060..0000000 --- a/vendor/github.com/gorilla/websocket/mask_safe.go +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of -// this source code is governed by a BSD-style license that can be found in the -// LICENSE file. - -// +build appengine - -package websocket - -func maskBytes(key [4]byte, pos int, b []byte) int { - for i := range b { - b[i] ^= key[pos&3] - pos++ - } - return pos & 3 -} diff --git a/vendor/github.com/gorilla/websocket/prepared.go b/vendor/github.com/gorilla/websocket/prepared.go deleted file mode 100644 index 1efffbd..0000000 --- a/vendor/github.com/gorilla/websocket/prepared.go +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bytes" - "net" - "sync" - "time" -) - -// PreparedMessage caches on the wire representations of a message payload. -// Use PreparedMessage to efficiently send a message payload to multiple -// connections. PreparedMessage is especially useful when compression is used -// because the CPU and memory expensive compression operation can be executed -// once for a given set of compression options. -type PreparedMessage struct { - messageType int - data []byte - err error - mu sync.Mutex - frames map[prepareKey]*preparedFrame -} - -// prepareKey defines a unique set of options to cache prepared frames in PreparedMessage. -type prepareKey struct { - isServer bool - compress bool - compressionLevel int -} - -// preparedFrame contains data in wire representation. -type preparedFrame struct { - once sync.Once - data []byte -} - -// NewPreparedMessage returns an initialized PreparedMessage. You can then send -// it to connection using WritePreparedMessage method. Valid wire -// representation will be calculated lazily only once for a set of current -// connection options. -func NewPreparedMessage(messageType int, data []byte) (*PreparedMessage, error) { - pm := &PreparedMessage{ - messageType: messageType, - frames: make(map[prepareKey]*preparedFrame), - data: data, - } - - // Prepare a plain server frame. - _, frameData, err := pm.frame(prepareKey{isServer: true, compress: false}) - if err != nil { - return nil, err - } - - // To protect against caller modifying the data argument, remember the data - // copied to the plain server frame. - pm.data = frameData[len(frameData)-len(data):] - return pm, nil -} - -func (pm *PreparedMessage) frame(key prepareKey) (int, []byte, error) { - pm.mu.Lock() - frame, ok := pm.frames[key] - if !ok { - frame = &preparedFrame{} - pm.frames[key] = frame - } - pm.mu.Unlock() - - var err error - frame.once.Do(func() { - // Prepare a frame using a 'fake' connection. - // TODO: Refactor code in conn.go to allow more direct construction of - // the frame. - mu := make(chan bool, 1) - mu <- true - var nc prepareConn - c := &Conn{ - conn: &nc, - mu: mu, - isServer: key.isServer, - compressionLevel: key.compressionLevel, - enableWriteCompression: true, - writeBuf: make([]byte, defaultWriteBufferSize+maxFrameHeaderSize), - } - if key.compress { - c.newCompressionWriter = compressNoContextTakeover - } - err = c.WriteMessage(pm.messageType, pm.data) - frame.data = nc.buf.Bytes() - }) - return pm.messageType, frame.data, err -} - -type prepareConn struct { - buf bytes.Buffer - net.Conn -} - -func (pc *prepareConn) Write(p []byte) (int, error) { return pc.buf.Write(p) } -func (pc *prepareConn) SetWriteDeadline(t time.Time) error { return nil } diff --git a/vendor/github.com/gorilla/websocket/server.go b/vendor/github.com/gorilla/websocket/server.go deleted file mode 100644 index 3495e0f..0000000 --- a/vendor/github.com/gorilla/websocket/server.go +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bufio" - "errors" - "net" - "net/http" - "net/url" - "strings" - "time" -) - -// HandshakeError describes an error with the handshake from the peer. -type HandshakeError struct { - message string -} - -func (e HandshakeError) Error() string { return e.message } - -// Upgrader specifies parameters for upgrading an HTTP connection to a -// WebSocket connection. -type Upgrader struct { - // HandshakeTimeout specifies the duration for the handshake to complete. - HandshakeTimeout time.Duration - - // ReadBufferSize and WriteBufferSize specify I/O buffer sizes. If a buffer - // size is zero, then buffers allocated by the HTTP server are used. The - // I/O buffer sizes do not limit the size of the messages that can be sent - // or received. - ReadBufferSize, WriteBufferSize int - - // Subprotocols specifies the server's supported protocols in order of - // preference. If this field is set, then the Upgrade method negotiates a - // subprotocol by selecting the first match in this list with a protocol - // requested by the client. - Subprotocols []string - - // Error specifies the function for generating HTTP error responses. If Error - // is nil, then http.Error is used to generate the HTTP response. - Error func(w http.ResponseWriter, r *http.Request, status int, reason error) - - // CheckOrigin returns true if the request Origin header is acceptable. If - // CheckOrigin is nil, the host in the Origin header must not be set or - // must match the host of the request. - CheckOrigin func(r *http.Request) bool - - // EnableCompression specify if the server should attempt to negotiate per - // message compression (RFC 7692). Setting this value to true does not - // guarantee that compression will be supported. Currently only "no context - // takeover" modes are supported. - EnableCompression bool -} - -func (u *Upgrader) returnError(w http.ResponseWriter, r *http.Request, status int, reason string) (*Conn, error) { - err := HandshakeError{reason} - if u.Error != nil { - u.Error(w, r, status, err) - } else { - w.Header().Set("Sec-Websocket-Version", "13") - http.Error(w, http.StatusText(status), status) - } - return nil, err -} - -// checkSameOrigin returns true if the origin is not set or is equal to the request host. -func checkSameOrigin(r *http.Request) bool { - origin := r.Header["Origin"] - if len(origin) == 0 { - return true - } - u, err := url.Parse(origin[0]) - if err != nil { - return false - } - return u.Host == r.Host -} - -func (u *Upgrader) selectSubprotocol(r *http.Request, responseHeader http.Header) string { - if u.Subprotocols != nil { - clientProtocols := Subprotocols(r) - for _, serverProtocol := range u.Subprotocols { - for _, clientProtocol := range clientProtocols { - if clientProtocol == serverProtocol { - return clientProtocol - } - } - } - } else if responseHeader != nil { - return responseHeader.Get("Sec-Websocket-Protocol") - } - return "" -} - -// Upgrade upgrades the HTTP server connection to the WebSocket protocol. -// -// The responseHeader is included in the response to the client's upgrade -// request. Use the responseHeader to specify cookies (Set-Cookie) and the -// application negotiated subprotocol (Sec-Websocket-Protocol). -// -// If the upgrade fails, then Upgrade replies to the client with an HTTP error -// response. -func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (*Conn, error) { - if r.Method != "GET" { - return u.returnError(w, r, http.StatusMethodNotAllowed, "websocket: not a websocket handshake: request method is not GET") - } - - if _, ok := responseHeader["Sec-Websocket-Extensions"]; ok { - return u.returnError(w, r, http.StatusInternalServerError, "websocket: application specific 'Sec-Websocket-Extensions' headers are unsupported") - } - - if !tokenListContainsValue(r.Header, "Connection", "upgrade") { - return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header") - } - - if !tokenListContainsValue(r.Header, "Upgrade", "websocket") { - return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: 'websocket' token not found in 'Upgrade' header") - } - - if !tokenListContainsValue(r.Header, "Sec-Websocket-Version", "13") { - return u.returnError(w, r, http.StatusBadRequest, "websocket: unsupported version: 13 not found in 'Sec-Websocket-Version' header") - } - - checkOrigin := u.CheckOrigin - if checkOrigin == nil { - checkOrigin = checkSameOrigin - } - if !checkOrigin(r) { - return u.returnError(w, r, http.StatusForbidden, "websocket: 'Origin' header value not allowed") - } - - challengeKey := r.Header.Get("Sec-Websocket-Key") - if challengeKey == "" { - return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: `Sec-Websocket-Key' header is missing or blank") - } - - subprotocol := u.selectSubprotocol(r, responseHeader) - - // Negotiate PMCE - var compress bool - if u.EnableCompression { - for _, ext := range parseExtensions(r.Header) { - if ext[""] != "permessage-deflate" { - continue - } - compress = true - break - } - } - - var ( - netConn net.Conn - err error - ) - - h, ok := w.(http.Hijacker) - if !ok { - return u.returnError(w, r, http.StatusInternalServerError, "websocket: response does not implement http.Hijacker") - } - var brw *bufio.ReadWriter - netConn, brw, err = h.Hijack() - if err != nil { - return u.returnError(w, r, http.StatusInternalServerError, err.Error()) - } - - if brw.Reader.Buffered() > 0 { - netConn.Close() - return nil, errors.New("websocket: client sent data before handshake is complete") - } - - c := newConnBRW(netConn, true, u.ReadBufferSize, u.WriteBufferSize, brw) - c.subprotocol = subprotocol - - if compress { - c.newCompressionWriter = compressNoContextTakeover - c.newDecompressionReader = decompressNoContextTakeover - } - - p := c.writeBuf[:0] - p = append(p, "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "...) - p = append(p, computeAcceptKey(challengeKey)...) - p = append(p, "\r\n"...) - if c.subprotocol != "" { - p = append(p, "Sec-Websocket-Protocol: "...) - p = append(p, c.subprotocol...) - p = append(p, "\r\n"...) - } - if compress { - p = append(p, "Sec-Websocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover\r\n"...) - } - for k, vs := range responseHeader { - if k == "Sec-Websocket-Protocol" { - continue - } - for _, v := range vs { - p = append(p, k...) - p = append(p, ": "...) - for i := 0; i < len(v); i++ { - b := v[i] - if b <= 31 { - // prevent response splitting. - b = ' ' - } - p = append(p, b) - } - p = append(p, "\r\n"...) - } - } - p = append(p, "\r\n"...) - - // Clear deadlines set by HTTP server. - netConn.SetDeadline(time.Time{}) - - if u.HandshakeTimeout > 0 { - netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout)) - } - if _, err = netConn.Write(p); err != nil { - netConn.Close() - return nil, err - } - if u.HandshakeTimeout > 0 { - netConn.SetWriteDeadline(time.Time{}) - } - - return c, nil -} - -// Upgrade upgrades the HTTP server connection to the WebSocket protocol. -// -// This function is deprecated, use websocket.Upgrader instead. -// -// The application is responsible for checking the request origin before -// calling Upgrade. An example implementation of the same origin policy is: -// -// if req.Header.Get("Origin") != "http://"+req.Host { -// http.Error(w, "Origin not allowed", 403) -// return -// } -// -// If the endpoint supports subprotocols, then the application is responsible -// for negotiating the protocol used on the connection. Use the Subprotocols() -// function to get the subprotocols requested by the client. Use the -// Sec-Websocket-Protocol response header to specify the subprotocol selected -// by the application. -// -// The responseHeader is included in the response to the client's upgrade -// request. Use the responseHeader to specify cookies (Set-Cookie) and the -// negotiated subprotocol (Sec-Websocket-Protocol). -// -// The connection buffers IO to the underlying network connection. The -// readBufSize and writeBufSize parameters specify the size of the buffers to -// use. Messages can be larger than the buffers. -// -// If the request is not a valid WebSocket handshake, then Upgrade returns an -// error of type HandshakeError. Applications should handle this error by -// replying to the client with an HTTP error response. -func Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header, readBufSize, writeBufSize int) (*Conn, error) { - u := Upgrader{ReadBufferSize: readBufSize, WriteBufferSize: writeBufSize} - u.Error = func(w http.ResponseWriter, r *http.Request, status int, reason error) { - // don't return errors to maintain backwards compatibility - } - u.CheckOrigin = func(r *http.Request) bool { - // allow all connections by default - return true - } - return u.Upgrade(w, r, responseHeader) -} - -// Subprotocols returns the subprotocols requested by the client in the -// Sec-Websocket-Protocol header. -func Subprotocols(r *http.Request) []string { - h := strings.TrimSpace(r.Header.Get("Sec-Websocket-Protocol")) - if h == "" { - return nil - } - protocols := strings.Split(h, ",") - for i := range protocols { - protocols[i] = strings.TrimSpace(protocols[i]) - } - return protocols -} - -// IsWebSocketUpgrade returns true if the client requested upgrade to the -// WebSocket protocol. -func IsWebSocketUpgrade(r *http.Request) bool { - return tokenListContainsValue(r.Header, "Connection", "upgrade") && - tokenListContainsValue(r.Header, "Upgrade", "websocket") -} diff --git a/vendor/github.com/gorilla/websocket/util.go b/vendor/github.com/gorilla/websocket/util.go deleted file mode 100644 index 9a4908d..0000000 --- a/vendor/github.com/gorilla/websocket/util.go +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "crypto/rand" - "crypto/sha1" - "encoding/base64" - "io" - "net/http" - "strings" -) - -var keyGUID = []byte("258EAFA5-E914-47DA-95CA-C5AB0DC85B11") - -func computeAcceptKey(challengeKey string) string { - h := sha1.New() - h.Write([]byte(challengeKey)) - h.Write(keyGUID) - return base64.StdEncoding.EncodeToString(h.Sum(nil)) -} - -func generateChallengeKey() (string, error) { - p := make([]byte, 16) - if _, err := io.ReadFull(rand.Reader, p); err != nil { - return "", err - } - return base64.StdEncoding.EncodeToString(p), nil -} - -// Octet types from RFC 2616. -var octetTypes [256]byte - -const ( - isTokenOctet = 1 << iota - isSpaceOctet -) - -func init() { - // From RFC 2616 - // - // OCTET = - // CHAR = - // CTL = - // CR = - // LF = - // SP = - // HT = - // <"> = - // CRLF = CR LF - // LWS = [CRLF] 1*( SP | HT ) - // TEXT = - // separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> - // | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT - // token = 1* - // qdtext = > - - for c := 0; c < 256; c++ { - var t byte - isCtl := c <= 31 || c == 127 - isChar := 0 <= c && c <= 127 - isSeparator := strings.IndexRune(" \t\"(),/:;<=>?@[]\\{}", rune(c)) >= 0 - if strings.IndexRune(" \t\r\n", rune(c)) >= 0 { - t |= isSpaceOctet - } - if isChar && !isCtl && !isSeparator { - t |= isTokenOctet - } - octetTypes[c] = t - } -} - -func skipSpace(s string) (rest string) { - i := 0 - for ; i < len(s); i++ { - if octetTypes[s[i]]&isSpaceOctet == 0 { - break - } - } - return s[i:] -} - -func nextToken(s string) (token, rest string) { - i := 0 - for ; i < len(s); i++ { - if octetTypes[s[i]]&isTokenOctet == 0 { - break - } - } - return s[:i], s[i:] -} - -func nextTokenOrQuoted(s string) (value string, rest string) { - if !strings.HasPrefix(s, "\"") { - return nextToken(s) - } - s = s[1:] - for i := 0; i < len(s); i++ { - switch s[i] { - case '"': - return s[:i], s[i+1:] - case '\\': - p := make([]byte, len(s)-1) - j := copy(p, s[:i]) - escape := true - for i = i + 1; i < len(s); i++ { - b := s[i] - switch { - case escape: - escape = false - p[j] = b - j += 1 - case b == '\\': - escape = true - case b == '"': - return string(p[:j]), s[i+1:] - default: - p[j] = b - j += 1 - } - } - return "", "" - } - } - return "", "" -} - -// tokenListContainsValue returns true if the 1#token header with the given -// name contains token. -func tokenListContainsValue(header http.Header, name string, value string) bool { -headers: - for _, s := range header[name] { - for { - var t string - t, s = nextToken(skipSpace(s)) - if t == "" { - continue headers - } - s = skipSpace(s) - if s != "" && s[0] != ',' { - continue headers - } - if strings.EqualFold(t, value) { - return true - } - if s == "" { - continue headers - } - s = s[1:] - } - } - return false -} - -// parseExtensiosn parses WebSocket extensions from a header. -func parseExtensions(header http.Header) []map[string]string { - - // From RFC 6455: - // - // Sec-WebSocket-Extensions = extension-list - // extension-list = 1#extension - // extension = extension-token *( ";" extension-param ) - // extension-token = registered-token - // registered-token = token - // extension-param = token [ "=" (token | quoted-string) ] - // ;When using the quoted-string syntax variant, the value - // ;after quoted-string unescaping MUST conform to the - // ;'token' ABNF. - - var result []map[string]string -headers: - for _, s := range header["Sec-Websocket-Extensions"] { - for { - var t string - t, s = nextToken(skipSpace(s)) - if t == "" { - continue headers - } - ext := map[string]string{"": t} - for { - s = skipSpace(s) - if !strings.HasPrefix(s, ";") { - break - } - var k string - k, s = nextToken(skipSpace(s[1:])) - if k == "" { - continue headers - } - s = skipSpace(s) - var v string - if strings.HasPrefix(s, "=") { - v, s = nextTokenOrQuoted(skipSpace(s[1:])) - s = skipSpace(s) - } - if s != "" && s[0] != ',' && s[0] != ';' { - continue headers - } - ext[k] = v - } - if s != "" && s[0] != ',' { - continue headers - } - result = append(result, ext) - if s == "" { - continue headers - } - s = s[1:] - } - } - return result -} diff --git a/vendor/github.com/nsf/gocode/LICENSE b/vendor/github.com/nsf/gocode/LICENSE deleted file mode 100644 index 5ce0cee..0000000 --- a/vendor/github.com/nsf/gocode/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2010 nsf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/github.com/nsf/gocode/README.md b/vendor/github.com/nsf/gocode/README.md deleted file mode 100644 index 11148c8..0000000 --- a/vendor/github.com/nsf/gocode/README.md +++ /dev/null @@ -1,195 +0,0 @@ -## An autocompletion daemon for the Go programming language - -Gocode is a helper tool which is intended to be integrated with your source code editor, like vim, neovim and emacs. It provides several advanced capabilities, which currently includes: - - - Context-sensitive autocompletion - -It is called *daemon*, because it uses client/server architecture for caching purposes. In particular, it makes autocompletions very fast. Typical autocompletion time with warm cache is 30ms, which is barely noticeable. - -Also watch the [demo screencast](http://nosmileface.ru/images/gocode-demo.swf). - -![Gocode in vim](http://nosmileface.ru/images/gocode-screenshot.png) - -![Gocode in emacs](http://nosmileface.ru/images/emacs-gocode.png) - -### Setup - - 1. You should have a correctly installed Go compiler environment and your personal workspace ($GOPATH). If you have no idea what **$GOPATH** is, take a look [here](http://golang.org/doc/code.html). Please make sure that your **$GOPATH/bin** is available in your **$PATH**. This is important, because most editors assume that **gocode** binary is available in one of the directories, specified by your **$PATH** environment variable. Otherwise manually copy the **gocode** binary from **$GOPATH/bin** to a location which is part of your **$PATH** after getting it in step 2. - - Do these steps only if you understand why you need to do them: - - `export GOPATH=$HOME/goprojects` - - `export PATH=$PATH:$GOPATH/bin` - - 2. Then you need to get the appropriate version of the gocode, for 6g/8g/5g compiler you can do this: - - `go get -u github.com/nsf/gocode` (-u flag for "update") - - Windows users should consider doing this instead: - - `go get -u -ldflags -H=windowsgui github.com/nsf/gocode` - - That way on the Windows OS gocode will be built as a GUI application and doing so solves hanging window issues with some of the editors. - - 3. Next steps are editor specific. See below. - -### Vim setup - -#### Vim manual installation - -Note: As of go 1.5 there is no $GOROOT/misc/vim script. Suggested installation is via [vim-go plugin](https://github.com/fatih/vim-go). - -In order to install vim scripts, you need to fulfill the following steps: - - 1. Install official Go vim scripts from **$GOROOT/misc/vim**. If you did that already, proceed to the step 2. - - 2. Install gocode vim scripts. Usually it's enough to do the following: - - 2.1. `vim/update.sh` - - **update.sh** script does the following: - - #!/bin/sh - mkdir -p "$HOME/.vim/autoload" - mkdir -p "$HOME/.vim/ftplugin/go" - cp "${0%/*}/autoload/gocomplete.vim" "$HOME/.vim/autoload" - cp "${0%/*}/ftplugin/go/gocomplete.vim" "$HOME/.vim/ftplugin/go" - - 2.2. Alternatively, you can create symlinks using symlink.sh script in order to avoid running update.sh after every gocode update. - - **symlink.sh** script does the following: - - #!/bin/sh - cd "${0%/*}" - ROOTDIR=`pwd` - mkdir -p "$HOME/.vim/autoload" - mkdir -p "$HOME/.vim/ftplugin/go" - ln -s "$ROOTDIR/autoload/gocomplete.vim" "$HOME/.vim/autoload/" - ln -s "$ROOTDIR/ftplugin/go/gocomplete.vim" "$HOME/.vim/ftplugin/go/" - - 3. Make sure vim has filetype plugin enabled. Simply add that to your **.vimrc**: - - `filetype plugin on` - - 4. Autocompletion should work now. Use `` for autocompletion (omnifunc autocompletion). - -#### Using Vundle in Vim - -Add the following line to your **.vimrc**: - -`Plugin 'nsf/gocode', {'rtp': 'vim/'}` - -And then update your packages by running `:PluginInstall`. - -#### Using vim-plug in Vim - -Add the following line to your **.vimrc**: - -`Plug 'nsf/gocode', { 'rtp': 'vim', 'do': '~/.vim/plugged/gocode/vim/symlink.sh' }` - -And then update your packages by running `:PlugInstall`. - -#### Other - -Alternatively take a look at the vundle/pathogen friendly repo: https://github.com/Blackrush/vim-gocode. - -### Neovim setup -#### Neovim manual installation - - Neovim users should also follow `Vim manual installation`, except that you should goto `gocode/nvim` in step 2, and remember that, the Neovim configuration file is `~/.config/nvim/init.vim`. - -#### Using Vundle in Neovim - -Add the following line to your **init.vim**: - -`Plugin 'nsf/gocode', {'rtp': 'nvim/'}` - -And then update your packages by running `:PluginInstall`. - -#### Using vim-plug in Neovim - -Add the following line to your **init.vim**: - -`Plug 'nsf/gocode', { 'rtp': 'nvim', 'do': '~/.config/nvim/plugged/gocode/nvim/symlink.sh' }` - -And then update your packages by running `:PlugInstall`. - -### Emacs setup - -In order to install emacs script, you need to fulfill the following steps: - - 1. Install [auto-complete-mode](http://www.emacswiki.org/emacs/AutoComplete) - - 2. Copy **emacs/go-autocomplete.el** file from the gocode source distribution to a directory which is in your 'load-path' in emacs. - - 3. Add these lines to your **.emacs**: - - (require 'go-autocomplete) - (require 'auto-complete-config) - (ac-config-default) - -Also, there is an alternative plugin for emacs using company-mode. See `emacs-company/README` for installation instructions. - -If you're a MacOSX user, you may find that script useful: https://github.com/purcell/exec-path-from-shell. It helps you with setting up the right environment variables as Go and gocode require it. By default it pulls the PATH, but don't forget to add the GOPATH as well, e.g.: - -``` -(when (memq window-system '(mac ns)) - (exec-path-from-shell-initialize) - (exec-path-from-shell-copy-env "GOPATH")) -``` - -### Options - -You can change all available options using `gocode set` command. The config file uses json format and is usually stored somewhere in **~/.config/gocode** directory. On windows it's stored in the appropriate AppData folder. It's suggested to avoid modifying config file manually, do that using the `gocode set` command. - -`gocode set` lists all options and their values. - -`gocode set
email. Or for short question find me on IRC: #go-nuts @ freenode. - -### Misc - - - It's a good idea to use the latest git version always. I'm trying to keep it in a working state. - - Use `go install` (not `go build`) for building a local source tree. The objects in `pkg/` are needed for Gocode to work. diff --git a/vendor/github.com/nsf/gocode/autocompletecontext.go b/vendor/github.com/nsf/gocode/autocompletecontext.go deleted file mode 100644 index 473cbd3..0000000 --- a/vendor/github.com/nsf/gocode/autocompletecontext.go +++ /dev/null @@ -1,689 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "go/ast" - "go/parser" - "go/token" - "os" - "path/filepath" - "runtime" - "sort" - "strings" - "time" -) - -//------------------------------------------------------------------------- -// out_buffers -// -// Temporary structure for writing autocomplete response. -//------------------------------------------------------------------------- - -// fields must be exported for RPC -type candidate struct { - Name string - Type string - Class decl_class -} - -type out_buffers struct { - tmpbuf *bytes.Buffer - candidates []candidate - ctx *auto_complete_context - tmpns map[string]bool - ignorecase bool -} - -func new_out_buffers(ctx *auto_complete_context) *out_buffers { - b := new(out_buffers) - b.tmpbuf = bytes.NewBuffer(make([]byte, 0, 1024)) - b.candidates = make([]candidate, 0, 64) - b.ctx = ctx - return b -} - -func (b *out_buffers) Len() int { - return len(b.candidates) -} - -func (b *out_buffers) Less(i, j int) bool { - x := b.candidates[i] - y := b.candidates[j] - if x.Class == y.Class { - return x.Name < y.Name - } - return x.Class < y.Class -} - -func (b *out_buffers) Swap(i, j int) { - b.candidates[i], b.candidates[j] = b.candidates[j], b.candidates[i] -} - -func (b *out_buffers) append_decl(p, name string, decl *decl, class decl_class) { - c1 := !g_config.ProposeBuiltins && decl.scope == g_universe_scope && decl.name != "Error" - c2 := class != decl_invalid && decl.class != class - c3 := class == decl_invalid && !has_prefix(name, p, b.ignorecase) - c4 := !decl.matches() - c5 := !check_type_expr(decl.typ) - - if c1 || c2 || c3 || c4 || c5 { - return - } - - decl.pretty_print_type(b.tmpbuf) - b.candidates = append(b.candidates, candidate{ - Name: name, - Type: b.tmpbuf.String(), - Class: decl.class, - }) - b.tmpbuf.Reset() -} - -func (b *out_buffers) append_embedded(p string, decl *decl, class decl_class) { - if decl.embedded == nil { - return - } - - first_level := false - if b.tmpns == nil { - // first level, create tmp namespace - b.tmpns = make(map[string]bool) - first_level = true - - // add all children of the current decl to the namespace - for _, c := range decl.children { - b.tmpns[c.name] = true - } - } - - for _, emb := range decl.embedded { - typedecl := type_to_decl(emb, decl.scope) - if typedecl == nil { - continue - } - - // prevent infinite recursion here - if typedecl.flags&decl_visited != 0 { - continue - } - typedecl.flags |= decl_visited - defer typedecl.clear_visited() - - for _, c := range typedecl.children { - if _, has := b.tmpns[c.name]; has { - continue - } - b.append_decl(p, c.name, c, class) - b.tmpns[c.name] = true - } - b.append_embedded(p, typedecl, class) - } - - if first_level { - // remove tmp namespace - b.tmpns = nil - } -} - -//------------------------------------------------------------------------- -// auto_complete_context -// -// Context that holds cache structures for autocompletion needs. It -// includes cache for packages and for main package files. -//------------------------------------------------------------------------- - -type auto_complete_context struct { - current *auto_complete_file // currently edited file - others []*decl_file_cache // other files of the current package - pkg *scope - - pcache package_cache // packages cache - declcache *decl_cache // top-level declarations cache -} - -func new_auto_complete_context(pcache package_cache, declcache *decl_cache) *auto_complete_context { - c := new(auto_complete_context) - c.current = new_auto_complete_file("", declcache.context) - c.pcache = pcache - c.declcache = declcache - return c -} - -func (c *auto_complete_context) update_caches() { - // temporary map for packages that we need to check for a cache expiration - // map is used as a set of unique items to prevent double checks - ps := make(map[string]*package_file_cache) - - // collect import information from all of the files - c.pcache.append_packages(ps, c.current.packages) - c.others = get_other_package_files(c.current.name, c.current.package_name, c.declcache) - for _, other := range c.others { - c.pcache.append_packages(ps, other.packages) - } - - update_packages(ps) - - // fix imports for all files - fixup_packages(c.current.filescope, c.current.packages, c.pcache) - for _, f := range c.others { - fixup_packages(f.filescope, f.packages, c.pcache) - } - - // At this point we have collected all top level declarations, now we need to - // merge them in the common package block. - c.merge_decls() -} - -func (c *auto_complete_context) merge_decls() { - c.pkg = new_scope(g_universe_scope) - merge_decls(c.current.filescope, c.pkg, c.current.decls) - merge_decls_from_packages(c.pkg, c.current.packages, c.pcache) - for _, f := range c.others { - merge_decls(f.filescope, c.pkg, f.decls) - merge_decls_from_packages(c.pkg, f.packages, c.pcache) - } -} - -func (c *auto_complete_context) make_decl_set(scope *scope) map[string]*decl { - set := make(map[string]*decl, len(c.pkg.entities)*2) - make_decl_set_recursive(set, scope) - return set -} - -func (c *auto_complete_context) get_candidates_from_set(set map[string]*decl, partial string, class decl_class, b *out_buffers) { - for key, value := range set { - if value == nil { - continue - } - value.infer_type() - b.append_decl(partial, key, value, class) - } -} - -func (c *auto_complete_context) get_candidates_from_decl(cc cursor_context, class decl_class, b *out_buffers) { - // propose all children of a subject declaration and - for _, decl := range cc.decl.children { - if cc.decl.class == decl_package && !ast.IsExported(decl.name) { - continue - } - if cc.struct_field { - // if we're autocompleting struct field init, skip all methods - if _, ok := decl.typ.(*ast.FuncType); ok { - continue - } - } - b.append_decl(cc.partial, decl.name, decl, class) - } - // propose all children of an underlying struct/interface type - adecl := advance_to_struct_or_interface(cc.decl) - if adecl != nil && adecl != cc.decl { - for _, decl := range adecl.children { - if decl.class == decl_var { - b.append_decl(cc.partial, decl.name, decl, class) - } - } - } - // propose all children of its embedded types - b.append_embedded(cc.partial, cc.decl, class) -} - -func (c *auto_complete_context) get_import_candidates(partial string, b *out_buffers) { - pkgdirs := g_daemon.context.pkg_dirs() - resultSet := map[string]struct{}{} - for _, pkgdir := range pkgdirs { - // convert srcpath to pkgpath and get candidates - get_import_candidates_dir(pkgdir, filepath.FromSlash(partial), b.ignorecase, resultSet) - } - for k := range resultSet { - b.candidates = append(b.candidates, candidate{Name: k, Class: decl_import}) - } -} - -func get_import_candidates_dir(root, partial string, ignorecase bool, r map[string]struct{}) { - var fpath string - var match bool - if strings.HasSuffix(partial, "/") { - fpath = filepath.Join(root, partial) - } else { - fpath = filepath.Join(root, filepath.Dir(partial)) - match = true - } - fi := readdir(fpath) - for i := range fi { - name := fi[i].Name() - rel, err := filepath.Rel(root, filepath.Join(fpath, name)) - if err != nil { - panic(err) - } - if match && !has_prefix(rel, partial, ignorecase) { - continue - } else if fi[i].IsDir() { - get_import_candidates_dir(root, rel+string(filepath.Separator), ignorecase, r) - } else { - ext := filepath.Ext(name) - if ext != ".a" { - continue - } else { - rel = rel[0 : len(rel)-2] - } - r[vendorlessImportPath(filepath.ToSlash(rel))] = struct{}{} - } - } -} - -// returns three slices of the same length containing: -// 1. apropos names -// 2. apropos types (pretty-printed) -// 3. apropos classes -// and length of the part that should be replaced (if any) -func (c *auto_complete_context) apropos(file []byte, filename string, cursor int) ([]candidate, int) { - c.current.cursor = cursor - c.current.name = filename - - // Update caches and parse the current file. - // This process is quite complicated, because I was trying to design it in a - // concurrent fashion. Apparently I'm not really good at that. Hopefully - // will be better in future. - - // Ugly hack, but it actually may help in some cases. Insert a - // semicolon right at the cursor location. - filesemi := make([]byte, len(file)+1) - copy(filesemi, file[:cursor]) - filesemi[cursor] = ';' - copy(filesemi[cursor+1:], file[cursor:]) - - // Does full processing of the currently edited file (top-level declarations plus - // active function). - c.current.process_data(filesemi) - - // Updates cache of other files and packages. See the function for details of - // the process. At the end merges all the top-level declarations into the package - // block. - c.update_caches() - - // And we're ready to Go. ;) - - b := new_out_buffers(c) - - partial := 0 - cc, ok := c.deduce_cursor_context(file, cursor) - if !ok { - var d *decl - if ident, ok := cc.expr.(*ast.Ident); ok && g_config.UnimportedPackages { - d = resolveKnownPackageIdent(ident.Name, c.current.name, c.current.context) - } - if d == nil { - return nil, 0 - } - cc.decl = d - } - - class := decl_invalid - switch cc.partial { - case "const": - class = decl_const - case "var": - class = decl_var - case "type": - class = decl_type - case "func": - class = decl_func - case "package": - class = decl_package - } - - if cc.decl_import { - c.get_import_candidates(cc.partial, b) - if cc.partial != "" && len(b.candidates) == 0 { - // as a fallback, try case insensitive approach - b.ignorecase = true - c.get_import_candidates(cc.partial, b) - } - } else if cc.decl == nil { - // In case if no declaraion is a subject of completion, propose all: - set := c.make_decl_set(c.current.scope) - c.get_candidates_from_set(set, cc.partial, class, b) - if cc.partial != "" && len(b.candidates) == 0 { - // as a fallback, try case insensitive approach - b.ignorecase = true - c.get_candidates_from_set(set, cc.partial, class, b) - } - } else { - c.get_candidates_from_decl(cc, class, b) - if cc.partial != "" && len(b.candidates) == 0 { - // as a fallback, try case insensitive approach - b.ignorecase = true - c.get_candidates_from_decl(cc, class, b) - } - } - partial = len(cc.partial) - - if len(b.candidates) == 0 { - return nil, 0 - } - - sort.Sort(b) - return b.candidates, partial -} - -func update_packages(ps map[string]*package_file_cache) { - // initiate package cache update - done := make(chan bool) - for _, p := range ps { - go func(p *package_file_cache) { - defer func() { - if err := recover(); err != nil { - print_backtrace(err) - done <- false - } - }() - p.update_cache() - done <- true - }(p) - } - - // wait for its completion - for _ = range ps { - if !<-done { - panic("One of the package cache updaters panicked") - } - } -} - -func merge_decls(filescope *scope, pkg *scope, decls map[string]*decl) { - for _, d := range decls { - pkg.merge_decl(d) - } - filescope.parent = pkg -} - -func merge_decls_from_packages(pkgscope *scope, pkgs []package_import, pcache package_cache) { - for _, p := range pkgs { - path, alias := p.path, p.alias - if alias != "." { - continue - } - p := pcache[path].main - if p == nil { - continue - } - for _, d := range p.children { - if ast.IsExported(d.name) { - pkgscope.merge_decl(d) - } - } - } -} - -func fixup_packages(filescope *scope, pkgs []package_import, pcache package_cache) { - for _, p := range pkgs { - path, alias := p.path, p.alias - if alias == "" { - alias = pcache[path].defalias - } - // skip packages that will be merged to the package scope - if alias == "." { - continue - } - filescope.replace_decl(alias, pcache[path].main) - } -} - -func get_other_package_files(filename, packageName string, declcache *decl_cache) []*decl_file_cache { - others := find_other_package_files(filename, packageName) - - ret := make([]*decl_file_cache, len(others)) - done := make(chan *decl_file_cache) - - for _, nm := range others { - go func(name string) { - defer func() { - if err := recover(); err != nil { - print_backtrace(err) - done <- nil - } - }() - done <- declcache.get_and_update(name) - }(nm) - } - - for i := range others { - ret[i] = <-done - if ret[i] == nil { - panic("One of the decl cache updaters panicked") - } - } - - return ret -} - -func find_other_package_files(filename, package_name string) []string { - if filename == "" { - return nil - } - - dir, file := filepath.Split(filename) - files_in_dir, err := readdir_lstat(dir) - if err != nil { - panic(err) - } - - count := 0 - for _, stat := range files_in_dir { - ok, _ := filepath.Match("*.go", stat.Name()) - if !ok || stat.Name() == file { - continue - } - count++ - } - - out := make([]string, 0, count) - for _, stat := range files_in_dir { - const non_regular = os.ModeDir | os.ModeSymlink | - os.ModeDevice | os.ModeNamedPipe | os.ModeSocket - - ok, _ := filepath.Match("*.go", stat.Name()) - if !ok || stat.Name() == file || stat.Mode()&non_regular != 0 { - continue - } - - abspath := filepath.Join(dir, stat.Name()) - if file_package_name(abspath) == package_name { - n := len(out) - out = out[:n+1] - out[n] = abspath - } - } - - return out -} - -func file_package_name(filename string) string { - file, _ := parser.ParseFile(token.NewFileSet(), filename, nil, parser.PackageClauseOnly) - return file.Name.Name -} - -func make_decl_set_recursive(set map[string]*decl, scope *scope) { - for name, ent := range scope.entities { - if _, ok := set[name]; !ok { - set[name] = ent - } - } - if scope.parent != nil { - make_decl_set_recursive(set, scope.parent) - } -} - -func check_func_field_list(f *ast.FieldList) bool { - if f == nil { - return true - } - - for _, field := range f.List { - if !check_type_expr(field.Type) { - return false - } - } - return true -} - -// checks for a type expression correctness, it the type expression has -// ast.BadExpr somewhere, returns false, otherwise true -func check_type_expr(e ast.Expr) bool { - switch t := e.(type) { - case *ast.StarExpr: - return check_type_expr(t.X) - case *ast.ArrayType: - return check_type_expr(t.Elt) - case *ast.SelectorExpr: - return check_type_expr(t.X) - case *ast.FuncType: - a := check_func_field_list(t.Params) - b := check_func_field_list(t.Results) - return a && b - case *ast.MapType: - a := check_type_expr(t.Key) - b := check_type_expr(t.Value) - return a && b - case *ast.Ellipsis: - return check_type_expr(t.Elt) - case *ast.ChanType: - return check_type_expr(t.Value) - case *ast.BadExpr: - return false - default: - return true - } - return true -} - -//------------------------------------------------------------------------- -// Status output -//------------------------------------------------------------------------- - -type decl_slice []*decl - -func (s decl_slice) Less(i, j int) bool { - if s[i].class != s[j].class { - return s[i].name < s[j].name - } - return s[i].class < s[j].class -} -func (s decl_slice) Len() int { return len(s) } -func (s decl_slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } - -const ( - color_red = "\033[0;31m" - color_red_bold = "\033[1;31m" - color_green = "\033[0;32m" - color_green_bold = "\033[1;32m" - color_yellow = "\033[0;33m" - color_yellow_bold = "\033[1;33m" - color_blue = "\033[0;34m" - color_blue_bold = "\033[1;34m" - color_magenta = "\033[0;35m" - color_magenta_bold = "\033[1;35m" - color_cyan = "\033[0;36m" - color_cyan_bold = "\033[1;36m" - color_white = "\033[0;37m" - color_white_bold = "\033[1;37m" - color_none = "\033[0m" -) - -var g_decl_class_to_color = [...]string{ - decl_const: color_white_bold, - decl_var: color_magenta, - decl_type: color_cyan, - decl_func: color_green, - decl_package: color_red, - decl_methods_stub: color_red, -} - -var g_decl_class_to_string_status = [...]string{ - decl_const: " const", - decl_var: " var", - decl_type: " type", - decl_func: " func", - decl_package: "package", - decl_methods_stub: " stub", -} - -func (c *auto_complete_context) status() string { - - buf := bytes.NewBuffer(make([]byte, 0, 4096)) - fmt.Fprintf(buf, "Server's GOMAXPROCS == %d\n", runtime.GOMAXPROCS(0)) - fmt.Fprintf(buf, "\nPackage cache contains %d entries\n", len(c.pcache)) - fmt.Fprintf(buf, "\nListing these entries:\n") - for _, mod := range c.pcache { - fmt.Fprintf(buf, "\tname: %s (default alias: %s)\n", mod.name, mod.defalias) - fmt.Fprintf(buf, "\timports %d declarations and %d packages\n", len(mod.main.children), len(mod.others)) - if mod.mtime == -1 { - fmt.Fprintf(buf, "\tthis package stays in cache forever (built-in package)\n") - } else { - mtime := time.Unix(0, mod.mtime) - fmt.Fprintf(buf, "\tlast modification time: %s\n", mtime) - } - fmt.Fprintf(buf, "\n") - } - if c.current.name != "" { - fmt.Fprintf(buf, "Last edited file: %s (package: %s)\n", c.current.name, c.current.package_name) - if len(c.others) > 0 { - fmt.Fprintf(buf, "\nOther files from the current package:\n") - } - for _, f := range c.others { - fmt.Fprintf(buf, "\t%s\n", f.name) - } - fmt.Fprintf(buf, "\nListing declarations from files:\n") - - const status_decls = "\t%s%s" + color_none + " " + color_yellow + "%s" + color_none + "\n" - const status_decls_children = "\t%s%s" + color_none + " " + color_yellow + "%s" + color_none + " (%d)\n" - - fmt.Fprintf(buf, "\n%s:\n", c.current.name) - ds := make(decl_slice, len(c.current.decls)) - i := 0 - for _, d := range c.current.decls { - ds[i] = d - i++ - } - sort.Sort(ds) - for _, d := range ds { - if len(d.children) > 0 { - fmt.Fprintf(buf, status_decls_children, - g_decl_class_to_color[d.class], - g_decl_class_to_string_status[d.class], - d.name, len(d.children)) - } else { - fmt.Fprintf(buf, status_decls, - g_decl_class_to_color[d.class], - g_decl_class_to_string_status[d.class], - d.name) - } - } - - for _, f := range c.others { - fmt.Fprintf(buf, "\n%s:\n", f.name) - ds = make(decl_slice, len(f.decls)) - i = 0 - for _, d := range f.decls { - ds[i] = d - i++ - } - sort.Sort(ds) - for _, d := range ds { - if len(d.children) > 0 { - fmt.Fprintf(buf, status_decls_children, - g_decl_class_to_color[d.class], - g_decl_class_to_string_status[d.class], - d.name, len(d.children)) - } else { - fmt.Fprintf(buf, status_decls, - g_decl_class_to_color[d.class], - g_decl_class_to_string_status[d.class], - d.name) - } - } - } - } - return buf.String() -} diff --git a/vendor/github.com/nsf/gocode/autocompletefile.go b/vendor/github.com/nsf/gocode/autocompletefile.go deleted file mode 100644 index ca6d2ca..0000000 --- a/vendor/github.com/nsf/gocode/autocompletefile.go +++ /dev/null @@ -1,418 +0,0 @@ -package main - -import ( - "bytes" - "go/ast" - "go/parser" - "go/scanner" - "go/token" - "log" -) - -func parse_decl_list(fset *token.FileSet, data []byte) ([]ast.Decl, error) { - var buf bytes.Buffer - buf.WriteString("package p;") - buf.Write(data) - file, err := parser.ParseFile(fset, "", buf.Bytes(), parser.AllErrors) - if err != nil { - return file.Decls, err - } - return file.Decls, nil -} - -func log_parse_error(intro string, err error) { - if el, ok := err.(scanner.ErrorList); ok { - log.Printf("%s:", intro) - for _, er := range el { - log.Printf(" %s", er) - } - } else { - log.Printf("%s: %s", intro, err) - } -} - -//------------------------------------------------------------------------- -// auto_complete_file -//------------------------------------------------------------------------- - -type auto_complete_file struct { - name string - package_name string - - decls map[string]*decl - packages []package_import - filescope *scope - scope *scope - - cursor int // for current file buffer only - fset *token.FileSet - context *package_lookup_context -} - -func new_auto_complete_file(name string, context *package_lookup_context) *auto_complete_file { - p := new(auto_complete_file) - p.name = name - p.cursor = -1 - p.fset = token.NewFileSet() - p.context = context - return p -} - -func (f *auto_complete_file) offset(p token.Pos) int { - const fixlen = len("package p;") - return f.fset.Position(p).Offset - fixlen -} - -// this one is used for current file buffer exclusively -func (f *auto_complete_file) process_data(data []byte) { - cur, filedata, block := rip_off_decl(data, f.cursor) - file, err := parser.ParseFile(f.fset, "", filedata, parser.AllErrors) - if err != nil && *g_debug { - log_parse_error("Error parsing input file (outer block)", err) - } - f.package_name = package_name(file) - - f.decls = make(map[string]*decl) - f.packages = collect_package_imports(f.name, file.Decls, f.context) - f.filescope = new_scope(nil) - f.scope = f.filescope - - for _, d := range file.Decls { - anonymify_ast(d, 0, f.filescope) - } - - // process all top-level declarations - for _, decl := range file.Decls { - append_to_top_decls(f.decls, decl, f.scope) - } - if block != nil { - // process local function as top-level declaration - decls, err := parse_decl_list(f.fset, block) - if err != nil && *g_debug { - log_parse_error("Error parsing input file (inner block)", err) - } - - for _, d := range decls { - anonymify_ast(d, 0, f.filescope) - } - - for _, decl := range decls { - append_to_top_decls(f.decls, decl, f.scope) - } - - // process function internals - f.cursor = cur - for _, decl := range decls { - f.process_decl_locals(decl) - } - } - -} - -func (f *auto_complete_file) process_decl_locals(decl ast.Decl) { - switch t := decl.(type) { - case *ast.FuncDecl: - if f.cursor_in(t.Body) { - s := f.scope - f.scope = new_scope(f.scope) - - f.process_field_list(t.Recv, s) - f.process_field_list(t.Type.Params, s) - f.process_field_list(t.Type.Results, s) - f.process_block_stmt(t.Body) - } - default: - v := new(func_lit_visitor) - v.ctx = f - ast.Walk(v, decl) - } -} - -func (f *auto_complete_file) process_decl(decl ast.Decl) { - if t, ok := decl.(*ast.GenDecl); ok && f.offset(t.TokPos) > f.cursor { - return - } - prevscope := f.scope - foreach_decl(decl, func(data *foreach_decl_struct) { - class := ast_decl_class(data.decl) - if class != decl_type { - f.scope, prevscope = advance_scope(f.scope) - } - for i, name := range data.names { - typ, v, vi := data.type_value_index(i) - - d := new_decl_full(name.Name, class, 0, typ, v, vi, prevscope) - if d == nil { - return - } - - f.scope.add_named_decl(d) - } - }) -} - -func (f *auto_complete_file) process_block_stmt(block *ast.BlockStmt) { - if block != nil && f.cursor_in(block) { - f.scope, _ = advance_scope(f.scope) - - for _, stmt := range block.List { - f.process_stmt(stmt) - } - - // hack to process all func literals - v := new(func_lit_visitor) - v.ctx = f - ast.Walk(v, block) - } -} - -type func_lit_visitor struct { - ctx *auto_complete_file -} - -func (v *func_lit_visitor) Visit(node ast.Node) ast.Visitor { - if t, ok := node.(*ast.FuncLit); ok && v.ctx.cursor_in(t.Body) { - s := v.ctx.scope - v.ctx.scope = new_scope(v.ctx.scope) - - v.ctx.process_field_list(t.Type.Params, s) - v.ctx.process_field_list(t.Type.Results, s) - v.ctx.process_block_stmt(t.Body) - - return nil - } - return v -} - -func (f *auto_complete_file) process_stmt(stmt ast.Stmt) { - switch t := stmt.(type) { - case *ast.DeclStmt: - f.process_decl(t.Decl) - case *ast.AssignStmt: - f.process_assign_stmt(t) - case *ast.IfStmt: - if f.cursor_in_if_head(t) { - f.process_stmt(t.Init) - } else if f.cursor_in_if_stmt(t) { - f.scope, _ = advance_scope(f.scope) - f.process_stmt(t.Init) - f.process_block_stmt(t.Body) - f.process_stmt(t.Else) - } - case *ast.BlockStmt: - f.process_block_stmt(t) - case *ast.RangeStmt: - f.process_range_stmt(t) - case *ast.ForStmt: - if f.cursor_in_for_head(t) { - f.process_stmt(t.Init) - } else if f.cursor_in(t.Body) { - f.scope, _ = advance_scope(f.scope) - - f.process_stmt(t.Init) - f.process_block_stmt(t.Body) - } - case *ast.SwitchStmt: - f.process_switch_stmt(t) - case *ast.TypeSwitchStmt: - f.process_type_switch_stmt(t) - case *ast.SelectStmt: - f.process_select_stmt(t) - case *ast.LabeledStmt: - f.process_stmt(t.Stmt) - } -} - -func (f *auto_complete_file) process_select_stmt(a *ast.SelectStmt) { - if !f.cursor_in(a.Body) { - return - } - var prevscope *scope - f.scope, prevscope = advance_scope(f.scope) - - var last_cursor_after *ast.CommClause - for _, s := range a.Body.List { - if cc := s.(*ast.CommClause); f.cursor > f.offset(cc.Colon) { - last_cursor_after = cc - } - } - - if last_cursor_after != nil { - if last_cursor_after.Comm != nil { - //if lastCursorAfter.Lhs != nil && lastCursorAfter.Tok == token.DEFINE { - if astmt, ok := last_cursor_after.Comm.(*ast.AssignStmt); ok && astmt.Tok == token.DEFINE { - vname := astmt.Lhs[0].(*ast.Ident).Name - v := new_decl_var(vname, nil, astmt.Rhs[0], -1, prevscope) - f.scope.add_named_decl(v) - } - } - for _, s := range last_cursor_after.Body { - f.process_stmt(s) - } - } -} - -func (f *auto_complete_file) process_type_switch_stmt(a *ast.TypeSwitchStmt) { - if !f.cursor_in(a.Body) { - return - } - var prevscope *scope - f.scope, prevscope = advance_scope(f.scope) - - f.process_stmt(a.Init) - // type var - var tv *decl - if a, ok := a.Assign.(*ast.AssignStmt); ok { - lhs := a.Lhs - rhs := a.Rhs - if lhs != nil && len(lhs) == 1 { - tvname := lhs[0].(*ast.Ident).Name - tv = new_decl_var(tvname, nil, rhs[0], -1, prevscope) - } - } - - var last_cursor_after *ast.CaseClause - for _, s := range a.Body.List { - if cc := s.(*ast.CaseClause); f.cursor > f.offset(cc.Colon) { - last_cursor_after = cc - } - } - - if last_cursor_after != nil { - if tv != nil { - if last_cursor_after.List != nil && len(last_cursor_after.List) == 1 { - tv.typ = last_cursor_after.List[0] - tv.value = nil - } - f.scope.add_named_decl(tv) - } - for _, s := range last_cursor_after.Body { - f.process_stmt(s) - } - } -} - -func (f *auto_complete_file) process_switch_stmt(a *ast.SwitchStmt) { - if !f.cursor_in(a.Body) { - return - } - f.scope, _ = advance_scope(f.scope) - - f.process_stmt(a.Init) - var last_cursor_after *ast.CaseClause - for _, s := range a.Body.List { - if cc := s.(*ast.CaseClause); f.cursor > f.offset(cc.Colon) { - last_cursor_after = cc - } - } - if last_cursor_after != nil { - for _, s := range last_cursor_after.Body { - f.process_stmt(s) - } - } -} - -func (f *auto_complete_file) process_range_stmt(a *ast.RangeStmt) { - if !f.cursor_in(a.Body) { - return - } - var prevscope *scope - f.scope, prevscope = advance_scope(f.scope) - - if a.Tok == token.DEFINE { - if t, ok := a.Key.(*ast.Ident); ok { - d := new_decl_var(t.Name, nil, a.X, 0, prevscope) - if d != nil { - d.flags |= decl_rangevar - f.scope.add_named_decl(d) - } - } - - if a.Value != nil { - if t, ok := a.Value.(*ast.Ident); ok { - d := new_decl_var(t.Name, nil, a.X, 1, prevscope) - if d != nil { - d.flags |= decl_rangevar - f.scope.add_named_decl(d) - } - } - } - } - - f.process_block_stmt(a.Body) -} - -func (f *auto_complete_file) process_assign_stmt(a *ast.AssignStmt) { - if a.Tok != token.DEFINE || f.offset(a.TokPos) > f.cursor { - return - } - - names := make([]*ast.Ident, len(a.Lhs)) - for i, name := range a.Lhs { - id, ok := name.(*ast.Ident) - if !ok { - // something is wrong, just ignore the whole stmt - return - } - names[i] = id - } - - var prevscope *scope - f.scope, prevscope = advance_scope(f.scope) - - pack := decl_pack{names, nil, a.Rhs} - for i, name := range pack.names { - typ, v, vi := pack.type_value_index(i) - d := new_decl_var(name.Name, typ, v, vi, prevscope) - if d == nil { - continue - } - - f.scope.add_named_decl(d) - } -} - -func (f *auto_complete_file) process_field_list(field_list *ast.FieldList, s *scope) { - if field_list != nil { - decls := ast_field_list_to_decls(field_list, decl_var, 0, s, false) - for _, d := range decls { - f.scope.add_named_decl(d) - } - } -} - -func (f *auto_complete_file) cursor_in_if_head(s *ast.IfStmt) bool { - if f.cursor > f.offset(s.If) && f.cursor <= f.offset(s.Body.Lbrace) { - return true - } - return false -} - -func (f *auto_complete_file) cursor_in_if_stmt(s *ast.IfStmt) bool { - if f.cursor > f.offset(s.If) { - // magic -10 comes from auto_complete_file.offset method, see - // len() expr in there - if f.offset(s.End()) == -10 || f.cursor < f.offset(s.End()) { - return true - } - } - return false -} - -func (f *auto_complete_file) cursor_in_for_head(s *ast.ForStmt) bool { - if f.cursor > f.offset(s.For) && f.cursor <= f.offset(s.Body.Lbrace) { - return true - } - return false -} - -func (f *auto_complete_file) cursor_in(block *ast.BlockStmt) bool { - if f.cursor == -1 || block == nil { - return false - } - - if f.cursor > f.offset(block.Lbrace) && f.cursor <= f.offset(block.Rbrace) { - return true - } - return false -} diff --git a/vendor/github.com/nsf/gocode/client.go b/vendor/github.com/nsf/gocode/client.go deleted file mode 100644 index b16f82c..0000000 --- a/vendor/github.com/nsf/gocode/client.go +++ /dev/null @@ -1,182 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "go/build" - "io/ioutil" - "net/rpc" - "os" - "path/filepath" - "strconv" - "time" -) - -func do_client() int { - addr := *g_addr - if *g_sock == "unix" { - addr = get_socket_filename() - } - - // client - client, err := rpc.Dial(*g_sock, addr) - if err != nil { - if *g_sock == "unix" && file_exists(addr) { - os.Remove(addr) - } - - err = try_run_server() - if err != nil { - fmt.Printf("%s\n", err.Error()) - return 1 - } - client, err = try_to_connect(*g_sock, addr) - if err != nil { - fmt.Printf("%s\n", err.Error()) - return 1 - } - } - defer client.Close() - - if flag.NArg() > 0 { - switch flag.Arg(0) { - case "autocomplete": - cmd_auto_complete(client) - case "close": - cmd_close(client) - case "status": - cmd_status(client) - case "drop-cache": - cmd_drop_cache(client) - case "set": - cmd_set(client) - default: - fmt.Printf("unknown argument: %q, try running \"gocode -h\"\n", flag.Arg(0)) - return 1 - } - } - return 0 -} - -func try_run_server() error { - path := get_executable_filename() - args := []string{os.Args[0], "-s", "-sock", *g_sock, "-addr", *g_addr} - cwd, _ := os.Getwd() - - var err error - stdin, err := os.Open(os.DevNull) - if err != nil { - return err - } - stdout, err := os.OpenFile(os.DevNull, os.O_WRONLY, 0) - if err != nil { - return err - } - stderr, err := os.OpenFile(os.DevNull, os.O_WRONLY, 0) - if err != nil { - return err - } - - procattr := os.ProcAttr{Dir: cwd, Env: os.Environ(), Files: []*os.File{stdin, stdout, stderr}} - p, err := os.StartProcess(path, args, &procattr) - if err != nil { - return err - } - - return p.Release() -} - -func try_to_connect(network, address string) (client *rpc.Client, err error) { - t := 0 - for { - client, err = rpc.Dial(network, address) - if err != nil && t < 1000 { - time.Sleep(10 * time.Millisecond) - t += 10 - continue - } - break - } - - return -} - -func prepare_file_filename_cursor() ([]byte, string, int) { - var file []byte - var err error - - if *g_input != "" { - file, err = ioutil.ReadFile(*g_input) - } else { - file, err = ioutil.ReadAll(os.Stdin) - } - - if err != nil { - panic(err.Error()) - } - - var skipped int - file, skipped = filter_out_shebang(file) - - filename := *g_input - cursor := -1 - - offset := "" - switch flag.NArg() { - case 2: - offset = flag.Arg(1) - case 3: - filename = flag.Arg(1) // Override default filename - offset = flag.Arg(2) - } - - if offset != "" { - if offset[0] == 'c' || offset[0] == 'C' { - cursor, _ = strconv.Atoi(offset[1:]) - cursor = char_to_byte_offset(file, cursor) - } else { - cursor, _ = strconv.Atoi(offset) - } - } - - cursor -= skipped - if filename != "" && !filepath.IsAbs(filename) { - cwd, _ := os.Getwd() - filename = filepath.Join(cwd, filename) - } - return file, filename, cursor -} - -//------------------------------------------------------------------------- -// commands -//------------------------------------------------------------------------- - -func cmd_status(c *rpc.Client) { - fmt.Printf("%s\n", client_status(c, 0)) -} - -func cmd_auto_complete(c *rpc.Client) { - context := pack_build_context(&build.Default) - file, filename, cursor := prepare_file_filename_cursor() - f := get_formatter(*g_format) - f.write_candidates(client_auto_complete(c, file, filename, cursor, context)) -} - -func cmd_close(c *rpc.Client) { - client_close(c, 0) -} - -func cmd_drop_cache(c *rpc.Client) { - client_drop_cache(c, 0) -} - -func cmd_set(c *rpc.Client) { - switch flag.NArg() { - case 1: - fmt.Print(client_set(c, "\x00", "\x00")) - case 2: - fmt.Print(client_set(c, flag.Arg(1), "\x00")) - case 3: - fmt.Print(client_set(c, flag.Arg(1), flag.Arg(2))) - } -} diff --git a/vendor/github.com/nsf/gocode/config.go b/vendor/github.com/nsf/gocode/config.go deleted file mode 100644 index 01b198f..0000000 --- a/vendor/github.com/nsf/gocode/config.go +++ /dev/null @@ -1,177 +0,0 @@ -package main - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "io/ioutil" - "os" - "reflect" - "strconv" -) - -//------------------------------------------------------------------------- -// config -// -// Structure represents persistent config storage of the gocode daemon. Usually -// the config is located somewhere in ~/.config/gocode directory. -//------------------------------------------------------------------------- - -type config struct { - ProposeBuiltins bool `json:"propose-builtins"` - LibPath string `json:"lib-path"` - CustomPkgPrefix string `json:"custom-pkg-prefix"` - CustomVendorDir string `json:"custom-vendor-dir"` - Autobuild bool `json:"autobuild"` - ForceDebugOutput string `json:"force-debug-output"` - PackageLookupMode string `json:"package-lookup-mode"` - CloseTimeout int `json:"close-timeout"` - UnimportedPackages bool `json:"unimported-packages"` -} - -var g_config = config{ - ProposeBuiltins: false, - LibPath: "", - CustomPkgPrefix: "", - Autobuild: false, - ForceDebugOutput: "", - PackageLookupMode: "go", - CloseTimeout: 1800, - UnimportedPackages: false, -} - -var g_string_to_bool = map[string]bool{ - "t": true, - "true": true, - "y": true, - "yes": true, - "on": true, - "1": true, - "f": false, - "false": false, - "n": false, - "no": false, - "off": false, - "0": false, -} - -func set_value(v reflect.Value, value string) { - switch t := v; t.Kind() { - case reflect.Bool: - v, ok := g_string_to_bool[value] - if ok { - t.SetBool(v) - } - case reflect.String: - t.SetString(value) - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - v, err := strconv.ParseInt(value, 10, 64) - if err == nil { - t.SetInt(v) - } - case reflect.Float32, reflect.Float64: - v, err := strconv.ParseFloat(value, 64) - if err == nil { - t.SetFloat(v) - } - } -} - -func list_value(v reflect.Value, name string, w io.Writer) { - switch t := v; t.Kind() { - case reflect.Bool: - fmt.Fprintf(w, "%s %v\n", name, t.Bool()) - case reflect.String: - fmt.Fprintf(w, "%s \"%v\"\n", name, t.String()) - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - fmt.Fprintf(w, "%s %v\n", name, t.Int()) - case reflect.Float32, reflect.Float64: - fmt.Fprintf(w, "%s %v\n", name, t.Float()) - } -} - -func (this *config) list() string { - str, typ := this.value_and_type() - buf := bytes.NewBuffer(make([]byte, 0, 256)) - for i := 0; i < str.NumField(); i++ { - v := str.Field(i) - name := typ.Field(i).Tag.Get("json") - list_value(v, name, buf) - } - return buf.String() -} - -func (this *config) list_option(name string) string { - str, typ := this.value_and_type() - buf := bytes.NewBuffer(make([]byte, 0, 256)) - for i := 0; i < str.NumField(); i++ { - v := str.Field(i) - nm := typ.Field(i).Tag.Get("json") - if nm == name { - list_value(v, name, buf) - } - } - return buf.String() -} - -func (this *config) set_option(name, value string) string { - str, typ := this.value_and_type() - buf := bytes.NewBuffer(make([]byte, 0, 256)) - for i := 0; i < str.NumField(); i++ { - v := str.Field(i) - nm := typ.Field(i).Tag.Get("json") - if nm == name { - set_value(v, value) - list_value(v, name, buf) - } - } - this.write() - return buf.String() - -} - -func (this *config) value_and_type() (reflect.Value, reflect.Type) { - v := reflect.ValueOf(this).Elem() - return v, v.Type() -} - -func (this *config) write() error { - data, err := json.Marshal(this) - if err != nil { - return err - } - - // make sure config dir exists - dir := config_dir() - if !file_exists(dir) { - os.MkdirAll(dir, 0755) - } - - f, err := os.Create(config_file()) - if err != nil { - return err - } - defer f.Close() - - _, err = f.Write(data) - if err != nil { - return err - } - - return nil -} - -func (this *config) read() error { - data, err := ioutil.ReadFile(config_file()) - if err != nil { - return err - } - - err = json.Unmarshal(data, this) - if err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/nsf/gocode/cursorcontext.go b/vendor/github.com/nsf/gocode/cursorcontext.go deleted file mode 100644 index ae8fb38..0000000 --- a/vendor/github.com/nsf/gocode/cursorcontext.go +++ /dev/null @@ -1,557 +0,0 @@ -package main - -import ( - "bytes" - "go/ast" - "go/parser" - "go/scanner" - "go/token" - "log" -) - -type cursor_context struct { - decl *decl - partial string - struct_field bool - decl_import bool - - // store expression that was supposed to be deduced to "decl", however - // if decl is nil, then deduction failed, we could try to resolve it to - // unimported package instead - expr ast.Expr -} - -type token_iterator struct { - tokens []token_item - token_index int -} - -type token_item struct { - off int - tok token.Token - lit string -} - -func (i token_item) literal() string { - if i.tok.IsLiteral() { - return i.lit - } else { - return i.tok.String() - } - return "" -} - -func new_token_iterator(src []byte, cursor int) token_iterator { - tokens := make([]token_item, 0, 1000) - var s scanner.Scanner - fset := token.NewFileSet() - file := fset.AddFile("", fset.Base(), len(src)) - s.Init(file, src, nil, 0) - for { - pos, tok, lit := s.Scan() - off := fset.Position(pos).Offset - if tok == token.EOF || cursor <= off { - break - } - tokens = append(tokens, token_item{ - off: off, - tok: tok, - lit: lit, - }) - } - return token_iterator{ - tokens: tokens, - token_index: len(tokens) - 1, - } -} - -func (this *token_iterator) token() token_item { - return this.tokens[this.token_index] -} - -func (this *token_iterator) go_back() bool { - if this.token_index <= 0 { - return false - } - this.token_index-- - return true -} - -var bracket_pairs_map = map[token.Token]token.Token{ - token.RPAREN: token.LPAREN, - token.RBRACK: token.LBRACK, - token.RBRACE: token.LBRACE, -} - -func (ti *token_iterator) skip_to_left(left, right token.Token) bool { - if ti.token().tok == left { - return true - } - balance := 1 - for balance != 0 { - if !ti.go_back() { - return false - } - switch ti.token().tok { - case right: - balance++ - case left: - balance-- - } - } - return true -} - -// when the cursor is at the ')' or ']' or '}', move the cursor to an opposite -// bracket pair, this functions takes nested bracket pairs into account -func (this *token_iterator) skip_to_balanced_pair() bool { - right := this.token().tok - left := bracket_pairs_map[right] - return this.skip_to_left(left, right) -} - -// Move the cursor to the open brace of the current block, taking nested blocks -// into account. -func (this *token_iterator) skip_to_left_curly() bool { - return this.skip_to_left(token.LBRACE, token.RBRACE) -} - -// Extract the type expression right before the enclosing curly bracket block. -// Examples (# - the cursor): -// &lib.Struct{Whatever: 1, Hel#} // returns "lib.Struct" -// X{#} // returns X -// The idea is that we check if this type expression is a type and it is, we -// can apply special filtering for autocompletion results. -// Sadly, this doesn't cover anonymous structs. -func (ti *token_iterator) extract_struct_type() string { - if !ti.skip_to_left_curly() { - return "" - } - if !ti.go_back() { - return "" - } - if ti.token().tok != token.IDENT { - return "" - } - b := ti.token().literal() - if !ti.go_back() { - return b - } - if ti.token().tok != token.PERIOD { - return b - } - if !ti.go_back() { - return b - } - if ti.token().tok != token.IDENT { - return b - } - return ti.token().literal() + "." + b -} - -// Starting from the token under the cursor move back and extract something -// that resembles a valid Go primary expression. Examples of primary expressions -// from Go spec: -// x -// 2 -// (s + ".txt") -// f(3.1415, true) -// Point{1, 2} -// m["foo"] -// s[i : j + 1] -// obj.color -// f.p[i].x() -// -// As you can see we can move through all of them using balanced bracket -// matching and applying simple rules -// E.g. -// Point{1, 2}.m["foo"].s[i : j + 1].MethodCall(a, func(a, b int) int { return a + b }). -// Can be seen as: -// Point{ }.m[ ].s[ ].MethodCall( ). -// Which boils the rules down to these connected via dots: -// ident -// ident[] -// ident{} -// ident() -// Of course there are also slightly more complicated rules for brackets: -// ident{}.ident()[5][4](), etc. -func (this *token_iterator) extract_go_expr() string { - orig := this.token_index - - // Contains the type of the previously scanned token (initialized with - // the token right under the cursor). This is the token to the *right* of - // the current one. - prev := this.token().tok -loop: - for { - if !this.go_back() { - return token_items_to_string(this.tokens[:orig]) - } - switch this.token().tok { - case token.PERIOD: - // If the '.' is not followed by IDENT, it's invalid. - if prev != token.IDENT { - break loop - } - case token.IDENT: - // Valid tokens after IDENT are '.', '[', '{' and '('. - switch prev { - case token.PERIOD, token.LBRACK, token.LBRACE, token.LPAREN: - // all ok - default: - break loop - } - case token.RBRACE: - // This one can only be a part of type initialization, like: - // Dummy{}.Hello() - // It is valid Go if Hello method is defined on a non-pointer receiver. - if prev != token.PERIOD { - break loop - } - this.skip_to_balanced_pair() - case token.RPAREN, token.RBRACK: - // After ']' and ')' their opening counterparts are valid '[', '(', - // as well as the dot. - switch prev { - case token.PERIOD, token.LBRACK, token.LPAREN: - // all ok - default: - break loop - } - this.skip_to_balanced_pair() - default: - break loop - } - prev = this.token().tok - } - expr := token_items_to_string(this.tokens[this.token_index+1 : orig]) - if *g_debug { - log.Printf("extracted expression tokens: %s", expr) - } - return expr -} - -// Given a slice of token_item, reassembles them into the original literal -// expression. -func token_items_to_string(tokens []token_item) string { - var buf bytes.Buffer - for _, t := range tokens { - buf.WriteString(t.literal()) - } - return buf.String() -} - -// this function is called when the cursor is at the '.' and you need to get the -// declaration before that dot -func (c *auto_complete_context) deduce_cursor_decl(iter *token_iterator) (*decl, ast.Expr) { - expr, err := parser.ParseExpr(iter.extract_go_expr()) - if err != nil { - return nil, nil - } - return expr_to_decl(expr, c.current.scope), expr -} - -// try to find and extract the surrounding struct literal type -func (c *auto_complete_context) deduce_struct_type_decl(iter *token_iterator) *decl { - typ := iter.extract_struct_type() - if typ == "" { - return nil - } - - expr, err := parser.ParseExpr(typ) - if err != nil { - return nil - } - decl := type_to_decl(expr, c.current.scope) - if decl == nil { - return nil - } - if _, ok := decl.typ.(*ast.StructType); !ok { - return nil - } - return decl -} - -// Entry point from autocompletion, the function looks at text before the cursor -// and figures out the declaration the cursor is on. This declaration is -// used in filtering the resulting set of autocompletion suggestions. -func (c *auto_complete_context) deduce_cursor_context(file []byte, cursor int) (cursor_context, bool) { - if cursor <= 0 { - return cursor_context{}, true - } - - iter := new_token_iterator(file, cursor) - if len(iter.tokens) == 0 { - return cursor_context{}, false - } - - // figure out what is just before the cursor - switch tok := iter.token(); tok.tok { - case token.STRING: - // make sure cursor is inside the string - s := tok.literal() - if len(s) > 1 && s[len(s)-1] == '"' && tok.off+len(s) <= cursor { - return cursor_context{}, true - } - // now figure out if inside an import declaration - var ptok = token.STRING - for iter.go_back() { - itok := iter.token().tok - switch itok { - case token.STRING: - switch ptok { - case token.SEMICOLON, token.IDENT, token.PERIOD: - default: - return cursor_context{}, true - } - case token.LPAREN, token.SEMICOLON: - switch ptok { - case token.STRING, token.IDENT, token.PERIOD: - default: - return cursor_context{}, true - } - case token.IDENT, token.PERIOD: - switch ptok { - case token.STRING: - default: - return cursor_context{}, true - } - case token.IMPORT: - switch ptok { - case token.STRING, token.IDENT, token.PERIOD, token.LPAREN: - path_len := cursor - tok.off - path := s[1:path_len] - return cursor_context{decl_import: true, partial: path}, true - default: - return cursor_context{}, true - } - default: - return cursor_context{}, true - } - ptok = itok - } - case token.PERIOD: - // we're '.' - // figure out decl, Partial is "" - decl, expr := c.deduce_cursor_decl(&iter) - return cursor_context{decl: decl, expr: expr}, decl != nil - case token.IDENT, token.TYPE, token.CONST, token.VAR, token.FUNC, token.PACKAGE: - // we're '.' - // parse as Partial and figure out decl - var partial string - if tok.tok == token.IDENT { - // Calculate the offset of the cursor position within the identifier. - // For instance, if we are 'ab#c', we want partial_len = 2 and partial = ab. - partial_len := cursor - tok.off - - // If it happens that the cursor is past the end of the literal, - // means there is a space between the literal and the cursor, think - // of it as no context, because that's what it really is. - if partial_len > len(tok.literal()) { - return cursor_context{}, true - } - partial = tok.literal()[0:partial_len] - } else { - // Do not try to truncate if it is not an identifier. - partial = tok.literal() - } - - iter.go_back() - switch iter.token().tok { - case token.PERIOD: - decl, expr := c.deduce_cursor_decl(&iter) - return cursor_context{decl: decl, partial: partial, expr: expr}, decl != nil - case token.COMMA, token.LBRACE: - // This can happen for struct fields: - // &Struct{Hello: 1, Wor#} // (# - the cursor) - // Let's try to find the struct type - decl := c.deduce_struct_type_decl(&iter) - return cursor_context{ - decl: decl, - partial: partial, - struct_field: decl != nil, - }, true - default: - return cursor_context{partial: partial}, true - } - case token.COMMA, token.LBRACE: - // Try to parse the current expression as a structure initialization. - decl := c.deduce_struct_type_decl(&iter) - return cursor_context{ - decl: decl, - partial: "", - struct_field: decl != nil, - }, true - } - - return cursor_context{}, true -} - -// Decl deduction failed, but we're on ".", this ident can be an -// unexported package, let's try to match the ident against a set of known -// packages and if it matches try to import it. -// TODO: Right now I've made a static list of built-in packages, but in theory -// we could scan all GOPATH packages as well. Now, don't forget that default -// package name has nothing to do with package file name, that's why we need to -// scan the packages. And many of them will have conflicts. Can we make a smart -// prediction algorithm which will prefer certain packages over another ones? -func resolveKnownPackageIdent(ident string, filename string, context *package_lookup_context) *decl { - importPath, ok := knownPackageIdents[ident] - if !ok { - return nil - } - - path, ok := abs_path_for_package(filename, importPath, context) - if !ok { - return nil - } - - p := new_package_file_cache(path) - p.update_cache() - return p.main -} - -var knownPackageIdents = map[string]string{ - "adler32": "hash/adler32", - "aes": "crypto/aes", - "ascii85": "encoding/ascii85", - "asn1": "encoding/asn1", - "ast": "go/ast", - "atomic": "sync/atomic", - "base32": "encoding/base32", - "base64": "encoding/base64", - "big": "math/big", - "binary": "encoding/binary", - "bufio": "bufio", - "build": "go/build", - "bytes": "bytes", - "bzip2": "compress/bzip2", - "cgi": "net/http/cgi", - "cgo": "runtime/cgo", - "cipher": "crypto/cipher", - "cmplx": "math/cmplx", - "color": "image/color", - "constant": "go/constant", - "context": "context", - "cookiejar": "net/http/cookiejar", - "crc32": "hash/crc32", - "crc64": "hash/crc64", - "crypto": "crypto", - "csv": "encoding/csv", - "debug": "runtime/debug", - "des": "crypto/des", - "doc": "go/doc", - "draw": "image/draw", - "driver": "database/sql/driver", - "dsa": "crypto/dsa", - "dwarf": "debug/dwarf", - "ecdsa": "crypto/ecdsa", - "elf": "debug/elf", - "elliptic": "crypto/elliptic", - "encoding": "encoding", - "errors": "errors", - "exec": "os/exec", - "expvar": "expvar", - "fcgi": "net/http/fcgi", - "filepath": "path/filepath", - "flag": "flag", - "flate": "compress/flate", - "fmt": "fmt", - "fnv": "hash/fnv", - "format": "go/format", - "gif": "image/gif", - "gob": "encoding/gob", - "gosym": "debug/gosym", - "gzip": "compress/gzip", - "hash": "hash", - "heap": "container/heap", - "hex": "encoding/hex", - "hmac": "crypto/hmac", - "hpack": "vendor/golang_org/x/net/http2/hpack", - "html": "html", - "http": "net/http", - "httplex": "vendor/golang_org/x/net/lex/httplex", - "httptest": "net/http/httptest", - "httptrace": "net/http/httptrace", - "httputil": "net/http/httputil", - "image": "image", - "importer": "go/importer", - "io": "io", - "iotest": "testing/iotest", - "ioutil": "io/ioutil", - "jpeg": "image/jpeg", - "json": "encoding/json", - "jsonrpc": "net/rpc/jsonrpc", - "list": "container/list", - "log": "log", - "lzw": "compress/lzw", - "macho": "debug/macho", - "mail": "net/mail", - "math": "math", - "md5": "crypto/md5", - "mime": "mime", - "multipart": "mime/multipart", - "net": "net", - "os": "os", - "palette": "image/color/palette", - "parse": "text/template/parse", - "parser": "go/parser", - "path": "path", - "pe": "debug/pe", - "pem": "encoding/pem", - "pkix": "crypto/x509/pkix", - "plan9obj": "debug/plan9obj", - "png": "image/png", - "pprof": "net/http/pprof", - "printer": "go/printer", - "quick": "testing/quick", - "quotedprintable": "mime/quotedprintable", - "race": "runtime/race", - "rand": "math/rand", - "rc4": "crypto/rc4", - "reflect": "reflect", - "regexp": "regexp", - "ring": "container/ring", - "rpc": "net/rpc", - "rsa": "crypto/rsa", - "runtime": "runtime", - "scanner": "text/scanner", - "sha1": "crypto/sha1", - "sha256": "crypto/sha256", - "sha512": "crypto/sha512", - "signal": "os/signal", - "smtp": "net/smtp", - "sort": "sort", - "sql": "database/sql", - "strconv": "strconv", - "strings": "strings", - "subtle": "crypto/subtle", - "suffixarray": "index/suffixarray", - "sync": "sync", - "syntax": "regexp/syntax", - "syscall": "syscall", - "syslog": "log/syslog", - "tabwriter": "text/tabwriter", - "tar": "archive/tar", - "template": "html/template", - "testing": "testing", - "textproto": "net/textproto", - "time": "time", - "tls": "crypto/tls", - "token": "go/token", - "trace": "runtime/trace", - "types": "go/types", - "unicode": "unicode", - "url": "net/url", - "user": "os/user", - "utf16": "unicode/utf16", - "utf8": "unicode/utf8", - "x509": "crypto/x509", - "xml": "encoding/xml", - "zip": "archive/zip", - "zlib": "compress/zlib", - //"scanner": "go/scanner", // DUP: prefer text/scanner - //"template": "text/template", // DUP: prefer html/template - //"pprof": "runtime/pprof", // DUP: prefer net/http/pprof - //"rand": "crypto/rand", // DUP: prefer math/rand -} diff --git a/vendor/github.com/nsf/gocode/decl.go b/vendor/github.com/nsf/gocode/decl.go deleted file mode 100644 index a19a601..0000000 --- a/vendor/github.com/nsf/gocode/decl.go +++ /dev/null @@ -1,1412 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - "io" - "reflect" - "strings" - "sync" -) - -// decl.class -type decl_class int16 - -const ( - decl_invalid = decl_class(-1 + iota) - - // these are in a sorted order - decl_const - decl_func - decl_import - decl_package - decl_type - decl_var - - // this one serves as a temporary type for those methods that were - // declared before their actual owner - decl_methods_stub -) - -func (this decl_class) String() string { - switch this { - case decl_invalid: - return "PANIC" - case decl_const: - return "const" - case decl_func: - return "func" - case decl_import: - return "import" - case decl_package: - return "package" - case decl_type: - return "type" - case decl_var: - return "var" - case decl_methods_stub: - return "IF YOU SEE THIS, REPORT A BUG" // :D - } - panic("unreachable") -} - -// decl.flags -type decl_flags int16 - -const ( - decl_foreign = decl_flags(1 << iota) // imported from another package - - // means that the decl is a part of the range statement - // its type is inferred in a special way - decl_rangevar - - // for preventing infinite recursions and loops in type inference code - decl_visited -) - -//------------------------------------------------------------------------- -// decl -// -// The most important data structure of the whole gocode project. It -// describes a single declaration and its children. -//------------------------------------------------------------------------- - -type decl struct { - // Name starts with '$' if the declaration describes an anonymous type. - // '$s_%d' for anonymous struct types - // '$i_%d' for anonymous interface types - name string - typ ast.Expr - class decl_class - flags decl_flags - - // functions for interface type, fields+methods for struct type - children map[string]*decl - - // embedded types - embedded []ast.Expr - - // if the type is unknown at AST building time, I'm using these - value ast.Expr - - // if it's a multiassignment and the Value is a CallExpr, it is being set - // to an index into the return value tuple, otherwise it's a -1 - value_index int - - // scope where this Decl was declared in (not its visibilty scope!) - // Decl uses it for type inference - scope *scope -} - -func ast_decl_type(d ast.Decl) ast.Expr { - switch t := d.(type) { - case *ast.GenDecl: - switch t.Tok { - case token.CONST, token.VAR: - c := t.Specs[0].(*ast.ValueSpec) - return c.Type - case token.TYPE: - t := t.Specs[0].(*ast.TypeSpec) - return t.Type - } - case *ast.FuncDecl: - return t.Type - } - panic("unreachable") - return nil -} - -func ast_decl_class(d ast.Decl) decl_class { - switch t := d.(type) { - case *ast.GenDecl: - switch t.Tok { - case token.VAR: - return decl_var - case token.CONST: - return decl_const - case token.TYPE: - return decl_type - } - case *ast.FuncDecl: - return decl_func - } - panic("unreachable") -} - -func ast_decl_convertable(d ast.Decl) bool { - switch t := d.(type) { - case *ast.GenDecl: - switch t.Tok { - case token.VAR, token.CONST, token.TYPE: - return true - } - case *ast.FuncDecl: - return true - } - return false -} - -func ast_field_list_to_decls(f *ast.FieldList, class decl_class, flags decl_flags, scope *scope, add_anonymous bool) map[string]*decl { - count := 0 - for _, field := range f.List { - count += len(field.Names) - } - - decls := make(map[string]*decl, count) - for _, field := range f.List { - for _, name := range field.Names { - if flags&decl_foreign != 0 && !ast.IsExported(name.Name) { - continue - } - d := &decl{ - name: name.Name, - typ: field.Type, - class: class, - flags: flags, - scope: scope, - value_index: -1, - } - decls[d.name] = d - } - - // add anonymous field as a child (type embedding) - if class == decl_var && field.Names == nil && add_anonymous { - tp := get_type_path(field.Type) - if flags&decl_foreign != 0 && !ast.IsExported(tp.name) { - continue - } - d := &decl{ - name: tp.name, - typ: field.Type, - class: class, - flags: flags, - scope: scope, - value_index: -1, - } - decls[d.name] = d - } - } - return decls -} - -func ast_field_list_to_embedded(f *ast.FieldList) []ast.Expr { - count := 0 - for _, field := range f.List { - if field.Names == nil || field.Names[0].Name == "?" { - count++ - } - } - - if count == 0 { - return nil - } - - embedded := make([]ast.Expr, count) - i := 0 - for _, field := range f.List { - if field.Names == nil || field.Names[0].Name == "?" { - embedded[i] = field.Type - i++ - } - } - - return embedded -} - -func ast_type_to_embedded(ty ast.Expr) []ast.Expr { - switch t := ty.(type) { - case *ast.StructType: - return ast_field_list_to_embedded(t.Fields) - case *ast.InterfaceType: - return ast_field_list_to_embedded(t.Methods) - } - return nil -} - -func ast_type_to_children(ty ast.Expr, flags decl_flags, scope *scope) map[string]*decl { - switch t := ty.(type) { - case *ast.StructType: - return ast_field_list_to_decls(t.Fields, decl_var, flags, scope, true) - case *ast.InterfaceType: - return ast_field_list_to_decls(t.Methods, decl_func, flags, scope, false) - } - return nil -} - -//------------------------------------------------------------------------- -// anonymous_id_gen -// -// ID generator for anonymous types (thread-safe) -//------------------------------------------------------------------------- - -type anonymous_id_gen struct { - sync.Mutex - i int -} - -func (a *anonymous_id_gen) gen() (id int) { - a.Lock() - defer a.Unlock() - id = a.i - a.i++ - return -} - -var g_anon_gen anonymous_id_gen - -//------------------------------------------------------------------------- - -func check_for_anon_type(t ast.Expr, flags decl_flags, s *scope) ast.Expr { - if t == nil { - return nil - } - var name string - - switch t.(type) { - case *ast.StructType: - name = fmt.Sprintf("$s_%d", g_anon_gen.gen()) - case *ast.InterfaceType: - name = fmt.Sprintf("$i_%d", g_anon_gen.gen()) - } - - if name != "" { - anonymify_ast(t, flags, s) - d := new_decl_full(name, decl_type, flags, t, nil, -1, s) - s.add_named_decl(d) - return ast.NewIdent(name) - } - return t -} - -//------------------------------------------------------------------------- - -func new_decl_full(name string, class decl_class, flags decl_flags, typ, v ast.Expr, vi int, s *scope) *decl { - if name == "_" { - return nil - } - d := new(decl) - d.name = name - d.class = class - d.flags = flags - d.typ = typ - d.value = v - d.value_index = vi - d.scope = s - d.children = ast_type_to_children(d.typ, flags, s) - d.embedded = ast_type_to_embedded(d.typ) - return d -} - -func new_decl(name string, class decl_class, scope *scope) *decl { - decl := new(decl) - decl.name = name - decl.class = class - decl.value_index = -1 - decl.scope = scope - return decl -} - -func new_decl_var(name string, typ ast.Expr, value ast.Expr, vindex int, scope *scope) *decl { - if name == "_" { - return nil - } - decl := new(decl) - decl.name = name - decl.class = decl_var - decl.typ = typ - decl.value = value - decl.value_index = vindex - decl.scope = scope - return decl -} - -func method_of(d ast.Decl) string { - if t, ok := d.(*ast.FuncDecl); ok { - if t.Recv != nil { - switch t := t.Recv.List[0].Type.(type) { - case *ast.StarExpr: - if se, ok := t.X.(*ast.SelectorExpr); ok { - return se.Sel.Name - } - if ident, ok := t.X.(*ast.Ident); ok { - return ident.Name - } - return "" - case *ast.Ident: - return t.Name - default: - return "" - } - } - } - return "" -} - -func (other *decl) deep_copy() *decl { - d := new(decl) - d.name = other.name - d.class = other.class - d.typ = other.typ - d.value = other.value - d.value_index = other.value_index - d.children = make(map[string]*decl, len(other.children)) - for key, value := range other.children { - d.children[key] = value - } - if other.embedded != nil { - d.embedded = make([]ast.Expr, len(other.embedded)) - copy(d.embedded, other.embedded) - } - d.scope = other.scope - return d -} - -func (d *decl) clear_visited() { - d.flags &^= decl_visited -} - -func (d *decl) expand_or_replace(other *decl) { - // expand only if it's a methods stub, otherwise simply copy - if d.class != decl_methods_stub && other.class != decl_methods_stub { - d = other - return - } - - if d.class == decl_methods_stub { - d.typ = other.typ - d.class = other.class - } - - if other.children != nil { - for _, c := range other.children { - d.add_child(c) - } - } - - if other.embedded != nil { - d.embedded = other.embedded - d.scope = other.scope - } -} - -func (d *decl) matches() bool { - if strings.HasPrefix(d.name, "$") || d.class == decl_methods_stub { - return false - } - return true -} - -func (d *decl) pretty_print_type(out io.Writer) { - switch d.class { - case decl_type: - switch d.typ.(type) { - case *ast.StructType: - // TODO: not used due to anonymify? - fmt.Fprintf(out, "struct") - case *ast.InterfaceType: - // TODO: not used due to anonymify? - fmt.Fprintf(out, "interface") - default: - if d.typ != nil { - pretty_print_type_expr(out, d.typ) - } - } - case decl_var: - if d.typ != nil { - pretty_print_type_expr(out, d.typ) - } - case decl_func: - pretty_print_type_expr(out, d.typ) - } -} - -func (d *decl) add_child(cd *decl) { - if d.children == nil { - d.children = make(map[string]*decl) - } - d.children[cd.name] = cd -} - -func check_for_builtin_funcs(typ *ast.Ident, c *ast.CallExpr, scope *scope) (ast.Expr, *scope) { - if strings.HasPrefix(typ.Name, "func(") { - if t, ok := c.Fun.(*ast.Ident); ok { - switch t.Name { - case "new": - if len(c.Args) > 0 { - e := new(ast.StarExpr) - e.X = c.Args[0] - return e, scope - } - case "make": - if len(c.Args) > 0 { - return c.Args[0], scope - } - case "append": - if len(c.Args) > 0 { - t, scope, _ := infer_type(c.Args[0], scope, -1) - return t, scope - } - case "complex": - // TODO: fix it - return ast.NewIdent("complex"), g_universe_scope - case "closed": - return ast.NewIdent("bool"), g_universe_scope - case "cap": - return ast.NewIdent("int"), g_universe_scope - case "copy": - return ast.NewIdent("int"), g_universe_scope - case "len": - return ast.NewIdent("int"), g_universe_scope - } - // TODO: - // func recover() interface{} - // func imag(c ComplexType) FloatType - // func real(c ComplexType) FloatType - } - } - return nil, nil -} - -func func_return_type(f *ast.FuncType, index int) ast.Expr { - if f.Results == nil { - return nil - } - - if index == -1 { - return f.Results.List[0].Type - } - - i := 0 - var field *ast.Field - for _, field = range f.Results.List { - if i >= index { - return field.Type - } - if field.Names != nil { - i += len(field.Names) - } else { - i++ - } - } - if i >= index { - return field.Type - } - return nil -} - -type type_path struct { - pkg string - name string -} - -func (tp *type_path) is_nil() bool { - return tp.pkg == "" && tp.name == "" -} - -// converts type expressions like: -// ast.Expr -// *ast.Expr -// $ast$go/ast.Expr -// to a path that can be used to lookup a type related Decl -func get_type_path(e ast.Expr) (r type_path) { - if e == nil { - return type_path{"", ""} - } - - switch t := e.(type) { - case *ast.Ident: - r.name = t.Name - case *ast.StarExpr: - r = get_type_path(t.X) - case *ast.SelectorExpr: - if ident, ok := t.X.(*ast.Ident); ok { - r.pkg = ident.Name - } - r.name = t.Sel.Name - } - return -} - -func lookup_path(tp type_path, scope *scope) *decl { - if tp.is_nil() { - return nil - } - var decl *decl - if tp.pkg != "" { - decl = scope.lookup(tp.pkg) - // return nil early if the package wasn't found but it's part - // of the type specification - if decl == nil { - return nil - } - } - - if decl != nil { - if tp.name != "" { - return decl.find_child(tp.name) - } else { - return decl - } - } - - return scope.lookup(tp.name) -} - -func lookup_pkg(tp type_path, scope *scope) string { - if tp.is_nil() { - return "" - } - if tp.pkg == "" { - return "" - } - decl := scope.lookup(tp.pkg) - if decl == nil { - return "" - } - return decl.name -} - -func type_to_decl(t ast.Expr, scope *scope) *decl { - tp := get_type_path(t) - d := lookup_path(tp, scope) - if d != nil && d.class == decl_var { - // weird variable declaration pointing to itself - return nil - } - return d -} - -func expr_to_decl(e ast.Expr, scope *scope) *decl { - t, scope, _ := infer_type(e, scope, -1) - return type_to_decl(t, scope) -} - -//------------------------------------------------------------------------- -// Type inference -//------------------------------------------------------------------------- - -type type_predicate func(ast.Expr) bool - -func advance_to_type(pred type_predicate, v ast.Expr, scope *scope) (ast.Expr, *scope) { - if pred(v) { - return v, scope - } - - decl := type_to_decl(v, scope) - if decl == nil { - return nil, nil - } - - if decl.flags&decl_visited != 0 { - return nil, nil - } - decl.flags |= decl_visited - defer decl.clear_visited() - - return advance_to_type(pred, decl.typ, decl.scope) -} - -func advance_to_struct_or_interface(decl *decl) *decl { - if decl.flags&decl_visited != 0 { - return nil - } - decl.flags |= decl_visited - defer decl.clear_visited() - - if struct_interface_predicate(decl.typ) { - return decl - } - - decl = type_to_decl(decl.typ, decl.scope) - if decl == nil { - return nil - } - return advance_to_struct_or_interface(decl) -} - -func struct_interface_predicate(v ast.Expr) bool { - switch v.(type) { - case *ast.StructType, *ast.InterfaceType: - return true - } - return false -} - -func chan_predicate(v ast.Expr) bool { - _, ok := v.(*ast.ChanType) - return ok -} - -func index_predicate(v ast.Expr) bool { - switch v.(type) { - case *ast.ArrayType, *ast.MapType, *ast.Ellipsis: - return true - } - return false -} - -func star_predicate(v ast.Expr) bool { - _, ok := v.(*ast.StarExpr) - return ok -} - -func func_predicate(v ast.Expr) bool { - _, ok := v.(*ast.FuncType) - return ok -} - -func range_predicate(v ast.Expr) bool { - switch t := v.(type) { - case *ast.Ident: - if t.Name == "string" { - return true - } - case *ast.ArrayType, *ast.MapType, *ast.ChanType, *ast.Ellipsis: - return true - } - return false -} - -type anonymous_typer struct { - flags decl_flags - scope *scope -} - -func (a *anonymous_typer) Visit(node ast.Node) ast.Visitor { - switch t := node.(type) { - case *ast.CompositeLit: - t.Type = check_for_anon_type(t.Type, a.flags, a.scope) - case *ast.MapType: - t.Key = check_for_anon_type(t.Key, a.flags, a.scope) - t.Value = check_for_anon_type(t.Value, a.flags, a.scope) - case *ast.ArrayType: - t.Elt = check_for_anon_type(t.Elt, a.flags, a.scope) - case *ast.Ellipsis: - t.Elt = check_for_anon_type(t.Elt, a.flags, a.scope) - case *ast.ChanType: - t.Value = check_for_anon_type(t.Value, a.flags, a.scope) - case *ast.Field: - t.Type = check_for_anon_type(t.Type, a.flags, a.scope) - case *ast.CallExpr: - t.Fun = check_for_anon_type(t.Fun, a.flags, a.scope) - case *ast.ParenExpr: - t.X = check_for_anon_type(t.X, a.flags, a.scope) - case *ast.StarExpr: - t.X = check_for_anon_type(t.X, a.flags, a.scope) - case *ast.GenDecl: - switch t.Tok { - case token.VAR: - for _, s := range t.Specs { - vs := s.(*ast.ValueSpec) - vs.Type = check_for_anon_type(vs.Type, a.flags, a.scope) - } - } - } - return a -} - -func anonymify_ast(node ast.Node, flags decl_flags, scope *scope) { - v := anonymous_typer{flags, scope} - ast.Walk(&v, node) -} - -// RETURNS: -// - type expression which represents a full name of a type -// - bool whether a type expression is actually a type (used internally) -// - scope in which type makes sense -func infer_type(v ast.Expr, scope *scope, index int) (ast.Expr, *scope, bool) { - switch t := v.(type) { - case *ast.CompositeLit: - return t.Type, scope, true - case *ast.Ident: - if d := scope.lookup(t.Name); d != nil { - if d.class == decl_package { - return ast.NewIdent(t.Name), scope, false - } - typ, scope := d.infer_type() - return typ, scope, d.class == decl_type - } - case *ast.UnaryExpr: - switch t.Op { - case token.AND: - // &a makes sense only with values, don't even check for type - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - - e := new(ast.StarExpr) - e.X = it - return e, s, false - case token.ARROW: - // <-a makes sense only with values - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - switch index { - case -1, 0: - it, s = advance_to_type(chan_predicate, it, s) - return it.(*ast.ChanType).Value, s, false - case 1: - // technically it's a value, but in case of index == 1 - // it is always the last infer operation - return ast.NewIdent("bool"), g_universe_scope, false - } - case token.ADD, token.NOT, token.SUB, token.XOR: - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - return it, s, false - } - case *ast.BinaryExpr: - switch t.Op { - case token.EQL, token.NEQ, token.LSS, token.LEQ, - token.GTR, token.GEQ, token.LOR, token.LAND: - // logic operations, the result is a bool, always - return ast.NewIdent("bool"), g_universe_scope, false - case token.ADD, token.SUB, token.MUL, token.QUO, token.OR, - token.XOR, token.REM, token.AND, token.AND_NOT: - // try X, then Y, they should be the same anyway - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - it, s, _ = infer_type(t.Y, scope, -1) - if it == nil { - break - } - } - return it, s, false - case token.SHL, token.SHR: - // try only X for shifts, Y is always uint - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - return it, s, false - } - case *ast.IndexExpr: - // something[another] always returns a value and it works on a value too - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - it, s = advance_to_type(index_predicate, it, s) - switch t := it.(type) { - case *ast.ArrayType: - return t.Elt, s, false - case *ast.Ellipsis: - return t.Elt, s, false - case *ast.MapType: - switch index { - case -1, 0: - return t.Value, s, false - case 1: - return ast.NewIdent("bool"), g_universe_scope, false - } - } - case *ast.SliceExpr: - // something[start : end] always returns a value - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - it, s = advance_to_type(index_predicate, it, s) - switch t := it.(type) { - case *ast.ArrayType: - e := new(ast.ArrayType) - e.Elt = t.Elt - return e, s, false - } - case *ast.StarExpr: - it, s, is_type := infer_type(t.X, scope, -1) - if it == nil { - break - } - if is_type { - // if it's a type, add * modifier, make it a 'pointer of' type - e := new(ast.StarExpr) - e.X = it - return e, s, true - } else { - it, s := advance_to_type(star_predicate, it, s) - if se, ok := it.(*ast.StarExpr); ok { - return se.X, s, false - } - } - case *ast.CallExpr: - // this is a function call or a type cast: - // myFunc(1,2,3) or int16(myvar) - it, s, is_type := infer_type(t.Fun, scope, -1) - if it == nil { - break - } - - if is_type { - // a type cast - return it, scope, false - } else { - // it must be a function call or a built-in function - // first check for built-in - if ct, ok := it.(*ast.Ident); ok { - ty, s := check_for_builtin_funcs(ct, t, scope) - if ty != nil { - return ty, s, false - } - } - - // then check for an ordinary function call - it, scope = advance_to_type(func_predicate, it, s) - if ct, ok := it.(*ast.FuncType); ok { - return func_return_type(ct, index), s, false - } - } - case *ast.ParenExpr: - it, s, is_type := infer_type(t.X, scope, -1) - if it == nil { - break - } - return it, s, is_type - case *ast.SelectorExpr: - it, s, _ := infer_type(t.X, scope, -1) - if it == nil { - break - } - - if d := type_to_decl(it, s); d != nil { - c := d.find_child_and_in_embedded(t.Sel.Name) - if c != nil { - if c.class == decl_type { - return t, scope, true - } else { - typ, s := c.infer_type() - return typ, s, false - } - } - } - case *ast.FuncLit: - // it's a value, but I think most likely we don't even care, cause we can only - // call it, and CallExpr uses the type itself to figure out - return t.Type, scope, false - case *ast.TypeAssertExpr: - if t.Type == nil { - return infer_type(t.X, scope, -1) - } - switch index { - case -1, 0: - // converting a value to a different type, but return thing is a value - it, _, _ := infer_type(t.Type, scope, -1) - return it, scope, false - case 1: - return ast.NewIdent("bool"), g_universe_scope, false - } - case *ast.ArrayType, *ast.MapType, *ast.ChanType, *ast.Ellipsis, - *ast.FuncType, *ast.StructType, *ast.InterfaceType: - return t, scope, true - default: - _ = reflect.TypeOf(v) - //fmt.Println(ty) - } - return nil, nil, false -} - -// Uses Value, ValueIndex and Scope to infer the type of this -// declaration. Returns the type itself and the scope where this type -// makes sense. -func (d *decl) infer_type() (ast.Expr, *scope) { - // special case for range vars - if d.flags&decl_rangevar != 0 { - var scope *scope - d.typ, scope = infer_range_type(d.value, d.scope, d.value_index) - return d.typ, scope - } - - switch d.class { - case decl_package: - // package is handled specially in inferType - return nil, nil - case decl_type: - return ast.NewIdent(d.name), d.scope - } - - // shortcut - if d.typ != nil && d.value == nil { - return d.typ, d.scope - } - - // prevent loops - if d.flags&decl_visited != 0 { - return nil, nil - } - d.flags |= decl_visited - defer d.clear_visited() - - var scope *scope - d.typ, scope, _ = infer_type(d.value, d.scope, d.value_index) - return d.typ, scope -} - -func (d *decl) find_child(name string) *decl { - if d.flags&decl_visited != 0 { - return nil - } - d.flags |= decl_visited - defer d.clear_visited() - - if d.children != nil { - if c, ok := d.children[name]; ok { - return c - } - } - - decl := advance_to_struct_or_interface(d) - if decl != nil && decl != d { - return decl.find_child(name) - } - return nil -} - -func (d *decl) find_child_and_in_embedded(name string) *decl { - if d == nil { - return nil - } - - c := d.find_child(name) - if c == nil { - for _, e := range d.embedded { - typedecl := type_to_decl(e, d.scope) - c = typedecl.find_child_and_in_embedded(name) - if c != nil { - break - } - } - } - return c -} - -// Special type inference for range statements. -// [int], [int] := range [string] -// [int], [value] := range [slice or array] -// [key], [value] := range [map] -// [value], [nil] := range [chan] -func infer_range_type(e ast.Expr, sc *scope, valueindex int) (ast.Expr, *scope) { - t, s, _ := infer_type(e, sc, -1) - t, s = advance_to_type(range_predicate, t, s) - if t != nil { - var t1, t2 ast.Expr - var s1, s2 *scope - s1 = s - s2 = s - - switch t := t.(type) { - case *ast.Ident: - // string - if t.Name == "string" { - t1 = ast.NewIdent("int") - t2 = ast.NewIdent("rune") - s1 = g_universe_scope - s2 = g_universe_scope - } else { - t1, t2 = nil, nil - } - case *ast.ArrayType: - t1 = ast.NewIdent("int") - s1 = g_universe_scope - t2 = t.Elt - case *ast.Ellipsis: - t1 = ast.NewIdent("int") - s1 = g_universe_scope - t2 = t.Elt - case *ast.MapType: - t1 = t.Key - t2 = t.Value - case *ast.ChanType: - t1 = t.Value - t2 = nil - default: - t1, t2 = nil, nil - } - - switch valueindex { - case 0: - return t1, s1 - case 1: - return t2, s2 - } - } - return nil, nil -} - -//------------------------------------------------------------------------- -// Pretty printing -//------------------------------------------------------------------------- - -func get_array_len(e ast.Expr) string { - switch t := e.(type) { - case *ast.BasicLit: - return string(t.Value) - case *ast.Ellipsis: - return "..." - } - return "" -} - -func pretty_print_type_expr(out io.Writer, e ast.Expr) { - switch t := e.(type) { - case *ast.StarExpr: - fmt.Fprintf(out, "*") - pretty_print_type_expr(out, t.X) - case *ast.Ident: - if strings.HasPrefix(t.Name, "$") { - // beautify anonymous types - switch t.Name[1] { - case 's': - fmt.Fprintf(out, "struct") - case 'i': - // ok, in most cases anonymous interface is an - // empty interface, I'll just pretend that - // it's always true - fmt.Fprintf(out, "interface{}") - } - } else if !*g_debug && strings.HasPrefix(t.Name, "#") { - fmt.Fprintf(out, t.Name[1:]) - } else if !*g_debug && strings.HasPrefix(t.Name, "!") { - // these are full package names for disambiguating and pretty - // printing packages withing packages, e.g. - // !go/ast!ast vs. !github.com/nsf/my/ast!ast - // another ugly hack, if people are punished in hell for ugly hacks - // I'm screwed... - fmt.Fprintf(out, t.Name[strings.LastIndex(t.Name, "!")+1:]) - } else { - fmt.Fprintf(out, t.Name) - } - case *ast.ArrayType: - al := "" - if t.Len != nil { - al = get_array_len(t.Len) - } - if al != "" { - fmt.Fprintf(out, "[%s]", al) - } else { - fmt.Fprintf(out, "[]") - } - pretty_print_type_expr(out, t.Elt) - case *ast.SelectorExpr: - pretty_print_type_expr(out, t.X) - fmt.Fprintf(out, ".%s", t.Sel.Name) - case *ast.FuncType: - fmt.Fprintf(out, "func(") - pretty_print_func_field_list(out, t.Params) - fmt.Fprintf(out, ")") - - buf := bytes.NewBuffer(make([]byte, 0, 256)) - nresults := pretty_print_func_field_list(buf, t.Results) - if nresults > 0 { - results := buf.String() - if strings.IndexAny(results, ", ") != -1 { - results = "(" + results + ")" - } - fmt.Fprintf(out, " %s", results) - } - case *ast.MapType: - fmt.Fprintf(out, "map[") - pretty_print_type_expr(out, t.Key) - fmt.Fprintf(out, "]") - pretty_print_type_expr(out, t.Value) - case *ast.InterfaceType: - fmt.Fprintf(out, "interface{}") - case *ast.Ellipsis: - fmt.Fprintf(out, "...") - pretty_print_type_expr(out, t.Elt) - case *ast.StructType: - fmt.Fprintf(out, "struct") - case *ast.ChanType: - switch t.Dir { - case ast.RECV: - fmt.Fprintf(out, "<-chan ") - case ast.SEND: - fmt.Fprintf(out, "chan<- ") - case ast.SEND | ast.RECV: - fmt.Fprintf(out, "chan ") - } - pretty_print_type_expr(out, t.Value) - case *ast.ParenExpr: - fmt.Fprintf(out, "(") - pretty_print_type_expr(out, t.X) - fmt.Fprintf(out, ")") - case *ast.BadExpr: - // TODO: probably I should check that in a separate function - // and simply discard declarations with BadExpr as a part of their - // type - default: - // the element has some weird type, just ignore it - } -} - -func pretty_print_func_field_list(out io.Writer, f *ast.FieldList) int { - count := 0 - if f == nil { - return count - } - for i, field := range f.List { - // names - if field.Names != nil { - hasNonblank := false - for j, name := range field.Names { - if name.Name != "?" { - hasNonblank = true - fmt.Fprintf(out, "%s", name.Name) - if j != len(field.Names)-1 { - fmt.Fprintf(out, ", ") - } - } - count++ - } - if hasNonblank { - fmt.Fprintf(out, " ") - } - } else { - count++ - } - - // type - pretty_print_type_expr(out, field.Type) - - // , - if i != len(f.List)-1 { - fmt.Fprintf(out, ", ") - } - } - return count -} - -func ast_decl_names(d ast.Decl) []*ast.Ident { - var names []*ast.Ident - - switch t := d.(type) { - case *ast.GenDecl: - switch t.Tok { - case token.CONST: - c := t.Specs[0].(*ast.ValueSpec) - names = make([]*ast.Ident, len(c.Names)) - for i, name := range c.Names { - names[i] = name - } - case token.TYPE: - t := t.Specs[0].(*ast.TypeSpec) - names = make([]*ast.Ident, 1) - names[0] = t.Name - case token.VAR: - v := t.Specs[0].(*ast.ValueSpec) - names = make([]*ast.Ident, len(v.Names)) - for i, name := range v.Names { - names[i] = name - } - } - case *ast.FuncDecl: - names = make([]*ast.Ident, 1) - names[0] = t.Name - } - - return names -} - -func ast_decl_values(d ast.Decl) []ast.Expr { - // TODO: CONST values here too - switch t := d.(type) { - case *ast.GenDecl: - switch t.Tok { - case token.VAR: - v := t.Specs[0].(*ast.ValueSpec) - if v.Values != nil { - return v.Values - } - } - } - return nil -} - -func ast_decl_split(d ast.Decl) []ast.Decl { - var decls []ast.Decl - if t, ok := d.(*ast.GenDecl); ok { - decls = make([]ast.Decl, len(t.Specs)) - for i, s := range t.Specs { - decl := new(ast.GenDecl) - *decl = *t - decl.Specs = make([]ast.Spec, 1) - decl.Specs[0] = s - decls[i] = decl - } - } else { - decls = make([]ast.Decl, 1) - decls[0] = d - } - return decls -} - -//------------------------------------------------------------------------- -// decl_pack -//------------------------------------------------------------------------- - -type decl_pack struct { - names []*ast.Ident - typ ast.Expr - values []ast.Expr -} - -type foreach_decl_struct struct { - decl_pack - decl ast.Decl -} - -func (f *decl_pack) value(i int) ast.Expr { - if f.values == nil { - return nil - } - if len(f.values) > 1 { - return f.values[i] - } - return f.values[0] -} - -func (f *decl_pack) value_index(i int) (v ast.Expr, vi int) { - // default: nil value - v = nil - vi = -1 - - if f.values != nil { - // A = B, if there is only one name, the value is solo too - if len(f.names) == 1 { - return f.values[0], -1 - } - - if len(f.values) > 1 { - // in case if there are multiple values, it's a usual - // multiassignment - if i >= len(f.values) { - i = len(f.values) - 1 - } - v = f.values[i] - } else { - // in case if there is one value, but many names, it's - // a tuple unpack.. use index here - v = f.values[0] - vi = i - } - } - return -} - -func (f *decl_pack) type_value_index(i int) (ast.Expr, ast.Expr, int) { - if f.typ != nil { - // If there is a type, we don't care about value, just return the type - // and zero value. - return f.typ, nil, -1 - } - - // And otherwise we simply return nil type and a valid value for later inferring. - v, vi := f.value_index(i) - return nil, v, vi -} - -type foreach_decl_func func(data *foreach_decl_struct) - -func foreach_decl(decl ast.Decl, do foreach_decl_func) { - decls := ast_decl_split(decl) - var data foreach_decl_struct - for _, decl := range decls { - if !ast_decl_convertable(decl) { - continue - } - data.names = ast_decl_names(decl) - data.typ = ast_decl_type(decl) - data.values = ast_decl_values(decl) - data.decl = decl - - do(&data) - } -} - -//------------------------------------------------------------------------- -// Built-in declarations -//------------------------------------------------------------------------- - -var g_universe_scope = new_scope(nil) - -func init() { - builtin := ast.NewIdent("built-in") - - add_type := func(name string) { - d := new_decl(name, decl_type, g_universe_scope) - d.typ = builtin - g_universe_scope.add_named_decl(d) - } - add_type("bool") - add_type("byte") - add_type("complex64") - add_type("complex128") - add_type("float32") - add_type("float64") - add_type("int8") - add_type("int16") - add_type("int32") - add_type("int64") - add_type("string") - add_type("uint8") - add_type("uint16") - add_type("uint32") - add_type("uint64") - add_type("int") - add_type("uint") - add_type("uintptr") - add_type("rune") - - add_const := func(name string) { - d := new_decl(name, decl_const, g_universe_scope) - d.typ = builtin - g_universe_scope.add_named_decl(d) - } - add_const("true") - add_const("false") - add_const("iota") - add_const("nil") - - add_func := func(name, typ string) { - d := new_decl(name, decl_func, g_universe_scope) - d.typ = ast.NewIdent(typ) - g_universe_scope.add_named_decl(d) - } - add_func("append", "func([]type, ...type) []type") - add_func("cap", "func(container) int") - add_func("close", "func(channel)") - add_func("complex", "func(real, imag) complex") - add_func("copy", "func(dst, src)") - add_func("delete", "func(map[typeA]typeB, typeA)") - add_func("imag", "func(complex)") - add_func("len", "func(container) int") - add_func("make", "func(type, len[, cap]) type") - add_func("new", "func(type) *type") - add_func("panic", "func(interface{})") - add_func("print", "func(...interface{})") - add_func("println", "func(...interface{})") - add_func("real", "func(complex)") - add_func("recover", "func() interface{}") - - // built-in error interface - d := new_decl("error", decl_type, g_universe_scope) - d.typ = &ast.InterfaceType{} - d.children = make(map[string]*decl) - d.children["Error"] = new_decl("Error", decl_func, g_universe_scope) - d.children["Error"].typ = &ast.FuncType{ - Results: &ast.FieldList{ - List: []*ast.Field{ - { - Type: ast.NewIdent("string"), - }, - }, - }, - } - g_universe_scope.add_named_decl(d) -} diff --git a/vendor/github.com/nsf/gocode/declcache.go b/vendor/github.com/nsf/gocode/declcache.go deleted file mode 100644 index 6eb9313..0000000 --- a/vendor/github.com/nsf/gocode/declcache.go +++ /dev/null @@ -1,518 +0,0 @@ -package main - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "log" - "os" - "os/exec" - "path/filepath" - "strings" - "sync" -) - -//------------------------------------------------------------------------- -// []package_import -//------------------------------------------------------------------------- - -type package_import struct { - alias string - path string -} - -// Parses import declarations until the first non-import declaration and fills -// `packages` array with import information. -func collect_package_imports(filename string, decls []ast.Decl, context *package_lookup_context) []package_import { - pi := make([]package_import, 0, 16) - for _, decl := range decls { - if gd, ok := decl.(*ast.GenDecl); ok && gd.Tok == token.IMPORT { - for _, spec := range gd.Specs { - imp := spec.(*ast.ImportSpec) - path, alias := path_and_alias(imp) - path, ok := abs_path_for_package(filename, path, context) - if ok && alias != "_" { - pi = append(pi, package_import{alias, path}) - } - } - } else { - break - } - } - return pi -} - -//------------------------------------------------------------------------- -// decl_file_cache -// -// Contains cache for top-level declarations of a file as well as its -// contents, AST and import information. -//------------------------------------------------------------------------- - -type decl_file_cache struct { - name string // file name - mtime int64 // last modification time - - decls map[string]*decl // top-level declarations - error error // last error - packages []package_import // import information - filescope *scope - - fset *token.FileSet - context *package_lookup_context -} - -func new_decl_file_cache(name string, context *package_lookup_context) *decl_file_cache { - return &decl_file_cache{ - name: name, - context: context, - } -} - -func (f *decl_file_cache) update() { - stat, err := os.Stat(f.name) - if err != nil { - f.decls = nil - f.error = err - f.fset = nil - return - } - - statmtime := stat.ModTime().UnixNano() - if f.mtime == statmtime { - return - } - - f.mtime = statmtime - f.read_file() -} - -func (f *decl_file_cache) read_file() { - var data []byte - data, f.error = file_reader.read_file(f.name) - if f.error != nil { - return - } - data, _ = filter_out_shebang(data) - - f.process_data(data) -} - -func (f *decl_file_cache) process_data(data []byte) { - var file *ast.File - f.fset = token.NewFileSet() - file, f.error = parser.ParseFile(f.fset, "", data, 0) - f.filescope = new_scope(nil) - for _, d := range file.Decls { - anonymify_ast(d, 0, f.filescope) - } - f.packages = collect_package_imports(f.name, file.Decls, f.context) - f.decls = make(map[string]*decl, len(file.Decls)) - for _, decl := range file.Decls { - append_to_top_decls(f.decls, decl, f.filescope) - } -} - -func append_to_top_decls(decls map[string]*decl, decl ast.Decl, scope *scope) { - foreach_decl(decl, func(data *foreach_decl_struct) { - class := ast_decl_class(data.decl) - for i, name := range data.names { - typ, v, vi := data.type_value_index(i) - - d := new_decl_full(name.Name, class, 0, typ, v, vi, scope) - if d == nil { - return - } - - methodof := method_of(decl) - if methodof != "" { - decl, ok := decls[methodof] - if ok { - decl.add_child(d) - } else { - decl = new_decl(methodof, decl_methods_stub, scope) - decls[methodof] = decl - decl.add_child(d) - } - } else { - decl, ok := decls[d.name] - if ok { - decl.expand_or_replace(d) - } else { - decls[d.name] = d - } - } - } - }) -} - -func abs_path_for_package(filename, p string, context *package_lookup_context) (string, bool) { - dir, _ := filepath.Split(filename) - if len(p) == 0 { - return "", false - } - if p[0] == '.' { - return fmt.Sprintf("%s.a", filepath.Join(dir, p)), true - } - pkg, ok := find_go_dag_package(p, dir) - if ok { - return pkg, true - } - return find_global_file(p, context) -} - -func path_and_alias(imp *ast.ImportSpec) (string, string) { - path := "" - if imp.Path != nil && len(imp.Path.Value) > 0 { - path = string(imp.Path.Value) - path = path[1 : len(path)-1] - } - alias := "" - if imp.Name != nil { - alias = imp.Name.Name - } - return path, alias -} - -func find_go_dag_package(imp, filedir string) (string, bool) { - // Support godag directory structure - dir, pkg := filepath.Split(imp) - godag_pkg := filepath.Join(filedir, "..", dir, "_obj", pkg+".a") - if file_exists(godag_pkg) { - return godag_pkg, true - } - return "", false -} - -// autobuild compares the mod time of the source files of the package, and if any of them is newer -// than the package object file will rebuild it. -func autobuild(p *build.Package) error { - if p.Dir == "" { - return fmt.Errorf("no files to build") - } - ps, err := os.Stat(p.PkgObj) - if err != nil { - // Assume package file does not exist and build for the first time. - return build_package(p) - } - pt := ps.ModTime() - fs, err := readdir_lstat(p.Dir) - if err != nil { - return err - } - for _, f := range fs { - if f.IsDir() { - continue - } - if f.ModTime().After(pt) { - // Source file is newer than package file; rebuild. - return build_package(p) - } - } - return nil -} - -// build_package builds the package by calling `go install package/import`. If everything compiles -// correctly, the newly compiled package should then be in the usual place in the `$GOPATH/pkg` -// directory, and gocode will pick it up from there. -func build_package(p *build.Package) error { - if *g_debug { - log.Printf("-------------------") - log.Printf("rebuilding package %s", p.Name) - log.Printf("package import: %s", p.ImportPath) - log.Printf("package object: %s", p.PkgObj) - log.Printf("package source dir: %s", p.Dir) - log.Printf("package source files: %v", p.GoFiles) - log.Printf("GOPATH: %v", g_daemon.context.GOPATH) - log.Printf("GOROOT: %v", g_daemon.context.GOROOT) - } - env := os.Environ() - for i, v := range env { - if strings.HasPrefix(v, "GOPATH=") { - env[i] = "GOPATH=" + g_daemon.context.GOPATH - } else if strings.HasPrefix(v, "GOROOT=") { - env[i] = "GOROOT=" + g_daemon.context.GOROOT - } - } - - cmd := exec.Command("go", "install", p.ImportPath) - cmd.Env = env - - // TODO: Should read STDERR rather than STDOUT. - out, err := cmd.CombinedOutput() - if err != nil { - return err - } - if *g_debug { - log.Printf("build out: %s\n", string(out)) - } - return nil -} - -// executes autobuild function if autobuild option is enabled, logs error and -// ignores it -func try_autobuild(p *build.Package) { - if g_config.Autobuild { - err := autobuild(p) - if err != nil && *g_debug { - log.Printf("Autobuild error: %s\n", err) - } - } -} - -func log_found_package_maybe(imp, pkgpath string) { - if *g_debug { - log.Printf("Found %q at %q\n", imp, pkgpath) - } -} - -func log_build_context(context *package_lookup_context) { - log.Printf(" GOROOT: %s\n", context.GOROOT) - log.Printf(" GOPATH: %s\n", context.GOPATH) - log.Printf(" GOOS: %s\n", context.GOOS) - log.Printf(" GOARCH: %s\n", context.GOARCH) - log.Printf(" BzlProjectRoot: %q\n", context.BzlProjectRoot) - log.Printf(" GBProjectRoot: %q\n", context.GBProjectRoot) - log.Printf(" lib-path: %q\n", g_config.LibPath) -} - -// find_global_file returns the file path of the compiled package corresponding to the specified -// import, and a boolean stating whether such path is valid. -// TODO: Return only one value, possibly empty string if not found. -func find_global_file(imp string, context *package_lookup_context) (string, bool) { - // gocode synthetically generates the builtin package - // "unsafe", since the "unsafe.a" package doesn't really exist. - // Thus, when the user request for the package "unsafe" we - // would return synthetic global file that would be used - // just as a key name to find this synthetic package - if imp == "unsafe" { - return "unsafe", true - } - - pkgfile := fmt.Sprintf("%s.a", imp) - - // if lib-path is defined, use it - if g_config.LibPath != "" { - for _, p := range filepath.SplitList(g_config.LibPath) { - pkg_path := filepath.Join(p, pkgfile) - if file_exists(pkg_path) { - log_found_package_maybe(imp, pkg_path) - return pkg_path, true - } - // Also check the relevant pkg/OS_ARCH dir for the libpath, if provided. - pkgdir := fmt.Sprintf("%s_%s", context.GOOS, context.GOARCH) - pkg_path = filepath.Join(p, "pkg", pkgdir, pkgfile) - if file_exists(pkg_path) { - log_found_package_maybe(imp, pkg_path) - return pkg_path, true - } - } - } - - // gb-specific lookup mode, only if the root dir was found - if g_config.PackageLookupMode == "gb" && context.GBProjectRoot != "" { - root := context.GBProjectRoot - pkg_path := filepath.Join(root, "pkg", context.GOOS+"-"+context.GOARCH, pkgfile) - if file_exists(pkg_path) { - log_found_package_maybe(imp, pkg_path) - return pkg_path, true - } - } - - // bzl-specific lookup mode, only if the root dir was found - if g_config.PackageLookupMode == "bzl" && context.BzlProjectRoot != "" { - var root, impath string - if strings.HasPrefix(imp, g_config.CustomPkgPrefix+"/") { - root = filepath.Join(context.BzlProjectRoot, "bazel-bin") - impath = imp[len(g_config.CustomPkgPrefix)+1:] - } else if g_config.CustomVendorDir != "" { - // Try custom vendor dir. - root = filepath.Join(context.BzlProjectRoot, "bazel-bin", g_config.CustomVendorDir) - impath = imp - } - - if root != "" && impath != "" { - // There might be more than one ".a" files in the pkg path with bazel. - // But the best practice is to keep one go_library build target in each - // pakcage directory so that it follows the standard Go package - // structure. Thus here we assume there is at most one ".a" file existing - // in the pkg path. - if d, err := os.Open(filepath.Join(root, impath)); err == nil { - defer d.Close() - - if fis, err := d.Readdir(-1); err == nil { - for _, fi := range fis { - if !fi.IsDir() && filepath.Ext(fi.Name()) == ".a" { - pkg_path := filepath.Join(root, impath, fi.Name()) - log_found_package_maybe(imp, pkg_path) - return pkg_path, true - } - } - } - } - } - } - - if context.CurrentPackagePath != "" { - // Try vendor path first, see GO15VENDOREXPERIMENT. - // We don't check this environment variable however, seems like there is - // almost no harm in doing so (well.. if you experiment with vendoring, - // gocode will fail after enabling/disabling the flag, and you'll be - // forced to get rid of vendor binaries). But asking users to set this - // env var is up will bring more trouble. Because we also need to pass - // it from client to server, make sure their editors set it, etc. - // So, whatever, let's just pretend it's always on. - package_path := context.CurrentPackagePath - for { - limp := filepath.Join(package_path, "vendor", imp) - if p, err := context.Import(limp, "", build.AllowBinary|build.FindOnly); err == nil { - try_autobuild(p) - if file_exists(p.PkgObj) { - log_found_package_maybe(imp, p.PkgObj) - return p.PkgObj, true - } - } - if package_path == "" { - break - } - next_path := filepath.Dir(package_path) - // let's protect ourselves from inf recursion here - if next_path == package_path { - break - } - package_path = next_path - } - } - - if p, err := context.Import(imp, "", build.AllowBinary|build.FindOnly); err == nil { - try_autobuild(p) - if file_exists(p.PkgObj) { - log_found_package_maybe(imp, p.PkgObj) - return p.PkgObj, true - } - } - - if *g_debug { - log.Printf("Import path %q was not resolved\n", imp) - log.Println("Gocode's build context is:") - log_build_context(context) - } - return "", false -} - -func package_name(file *ast.File) string { - if file.Name != nil { - return file.Name.Name - } - return "" -} - -//------------------------------------------------------------------------- -// decl_cache -// -// Thread-safe collection of DeclFileCache entities. -//------------------------------------------------------------------------- - -type package_lookup_context struct { - build.Context - BzlProjectRoot string - GBProjectRoot string - CurrentPackagePath string -} - -// gopath returns the list of Go path directories. -func (ctxt *package_lookup_context) gopath() []string { - var all []string - for _, p := range filepath.SplitList(ctxt.GOPATH) { - if p == "" || p == ctxt.GOROOT { - // Empty paths are uninteresting. - // If the path is the GOROOT, ignore it. - // People sometimes set GOPATH=$GOROOT. - // Do not get confused by this common mistake. - continue - } - if strings.HasPrefix(p, "~") { - // Path segments starting with ~ on Unix are almost always - // users who have incorrectly quoted ~ while setting GOPATH, - // preventing it from expanding to $HOME. - // The situation is made more confusing by the fact that - // bash allows quoted ~ in $PATH (most shells do not). - // Do not get confused by this, and do not try to use the path. - // It does not exist, and printing errors about it confuses - // those users even more, because they think "sure ~ exists!". - // The go command diagnoses this situation and prints a - // useful error. - // On Windows, ~ is used in short names, such as c:\progra~1 - // for c:\program files. - continue - } - all = append(all, p) - } - return all -} - -func (ctxt *package_lookup_context) pkg_dirs() []string { - pkgdir := fmt.Sprintf("%s_%s", ctxt.GOOS, ctxt.GOARCH) - - var all []string - if ctxt.GOROOT != "" { - dir := filepath.Join(ctxt.GOROOT, "pkg", pkgdir) - if is_dir(dir) { - all = append(all, dir) - } - } - - switch g_config.PackageLookupMode { - case "go": - for _, p := range ctxt.gopath() { - dir := filepath.Join(p, "pkg", pkgdir) - if is_dir(dir) { - all = append(all, dir) - } - } - case "gb": - if ctxt.GBProjectRoot != "" { - pkgdir := fmt.Sprintf("%s-%s", ctxt.GOOS, ctxt.GOARCH) - dir := filepath.Join(ctxt.GBProjectRoot, "pkg", pkgdir) - if is_dir(dir) { - all = append(all, dir) - } - } - case "bzl": - // TODO: Support bazel mode - } - return all -} - -type decl_cache struct { - cache map[string]*decl_file_cache - context *package_lookup_context - sync.Mutex -} - -func new_decl_cache(context *package_lookup_context) *decl_cache { - return &decl_cache{ - cache: make(map[string]*decl_file_cache), - context: context, - } -} - -func (c *decl_cache) get(filename string) *decl_file_cache { - c.Lock() - defer c.Unlock() - - f, ok := c.cache[filename] - if !ok { - f = new_decl_file_cache(filename, c.context) - c.cache[filename] = f - } - return f -} - -func (c *decl_cache) get_and_update(filename string) *decl_file_cache { - f := c.get(filename) - f.update() - return f -} diff --git a/vendor/github.com/nsf/gocode/formatters.go b/vendor/github.com/nsf/gocode/formatters.go deleted file mode 100644 index b0ec264..0000000 --- a/vendor/github.com/nsf/gocode/formatters.go +++ /dev/null @@ -1,172 +0,0 @@ -package main - -import ( - "fmt" - "strings" -) - -//------------------------------------------------------------------------- -// formatter interfaces -//------------------------------------------------------------------------- - -type formatter interface { - write_candidates(candidates []candidate, num int) -} - -//------------------------------------------------------------------------- -// nice_formatter (just for testing, simple textual output) -//------------------------------------------------------------------------- - -type nice_formatter struct{} - -func (*nice_formatter) write_candidates(candidates []candidate, num int) { - if candidates == nil { - fmt.Printf("Nothing to complete.\n") - return - } - - fmt.Printf("Found %d candidates:\n", len(candidates)) - for _, c := range candidates { - abbr := fmt.Sprintf("%s %s %s", c.Class, c.Name, c.Type) - if c.Class == decl_func { - abbr = fmt.Sprintf("%s %s%s", c.Class, c.Name, c.Type[len("func"):]) - } - fmt.Printf(" %s\n", abbr) - } -} - -//------------------------------------------------------------------------- -// vim_formatter -//------------------------------------------------------------------------- - -type vim_formatter struct{} - -func (*vim_formatter) write_candidates(candidates []candidate, num int) { - if candidates == nil { - fmt.Print("[0, []]") - return - } - - fmt.Printf("[%d, [", num) - for i, c := range candidates { - if i != 0 { - fmt.Printf(", ") - } - - word := c.Name - if c.Class == decl_func { - word += "(" - if strings.HasPrefix(c.Type, "func()") { - word += ")" - } - } - - abbr := fmt.Sprintf("%s %s %s", c.Class, c.Name, c.Type) - if c.Class == decl_func { - abbr = fmt.Sprintf("%s %s%s", c.Class, c.Name, c.Type[len("func"):]) - } - fmt.Printf("{'word': '%s', 'abbr': '%s', 'info': '%s'}", word, abbr, abbr) - } - fmt.Printf("]]") -} - -//------------------------------------------------------------------------- -// godit_formatter -//------------------------------------------------------------------------- - -type godit_formatter struct{} - -func (*godit_formatter) write_candidates(candidates []candidate, num int) { - fmt.Printf("%d,,%d\n", num, len(candidates)) - for _, c := range candidates { - contents := c.Name - if c.Class == decl_func { - contents += "(" - if strings.HasPrefix(c.Type, "func()") { - contents += ")" - } - } - - display := fmt.Sprintf("%s %s %s", c.Class, c.Name, c.Type) - if c.Class == decl_func { - display = fmt.Sprintf("%s %s%s", c.Class, c.Name, c.Type[len("func"):]) - } - fmt.Printf("%s,,%s\n", display, contents) - } -} - -//------------------------------------------------------------------------- -// emacs_formatter -//------------------------------------------------------------------------- - -type emacs_formatter struct{} - -func (*emacs_formatter) write_candidates(candidates []candidate, num int) { - for _, c := range candidates { - var hint string - switch { - case c.Class == decl_func: - hint = c.Type - case c.Type == "": - hint = c.Class.String() - default: - hint = c.Class.String() + " " + c.Type - } - fmt.Printf("%s,,%s\n", c.Name, hint) - } -} - -//------------------------------------------------------------------------- -// csv_formatter -//------------------------------------------------------------------------- - -type csv_formatter struct{} - -func (*csv_formatter) write_candidates(candidates []candidate, num int) { - for _, c := range candidates { - fmt.Printf("%s,,%s,,%s\n", c.Class, c.Name, c.Type) - } -} - -//------------------------------------------------------------------------- -// json_formatter -//------------------------------------------------------------------------- - -type json_formatter struct{} - -func (*json_formatter) write_candidates(candidates []candidate, num int) { - if candidates == nil { - fmt.Print("[]") - return - } - - fmt.Printf(`[%d, [`, num) - for i, c := range candidates { - if i != 0 { - fmt.Printf(", ") - } - fmt.Printf(`{"class": "%s", "name": "%s", "type": "%s"}`, - c.Class, c.Name, c.Type) - } - fmt.Print("]]") -} - -//------------------------------------------------------------------------- - -func get_formatter(name string) formatter { - switch name { - case "vim": - return new(vim_formatter) - case "emacs": - return new(emacs_formatter) - case "nice": - return new(nice_formatter) - case "csv": - return new(csv_formatter) - case "json": - return new(json_formatter) - case "godit": - return new(godit_formatter) - } - return new(nice_formatter) -} diff --git a/vendor/github.com/nsf/gocode/gocode.go b/vendor/github.com/nsf/gocode/gocode.go deleted file mode 100644 index 650e346..0000000 --- a/vendor/github.com/nsf/gocode/gocode.go +++ /dev/null @@ -1,72 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - "net/http" - _ "net/http/pprof" - "os" - "path/filepath" -) - -var ( - g_is_server = flag.Bool("s", false, "run a server instead of a client") - g_format = flag.String("f", "nice", "output format (vim | emacs | nice | csv | json)") - g_input = flag.String("in", "", "use this file instead of stdin input") - g_sock = create_sock_flag("sock", "socket type (unix | tcp)") - g_addr = flag.String("addr", "127.0.0.1:37373", "address for tcp socket") - g_debug = flag.Bool("debug", false, "enable server-side debug mode") - g_profile = flag.Int("profile", 0, "port on which to expose profiling information for pprof; 0 to disable profiling") -) - -func get_socket_filename() string { - user := os.Getenv("USER") - if user == "" { - user = "all" - } - return filepath.Join(os.TempDir(), fmt.Sprintf("gocode-daemon.%s", user)) -} - -func show_usage() { - fmt.Fprintf(os.Stderr, - "Usage: %s [-s] [-f=] [-in=] [-sock=] [-addr=]\n"+ - " []\n\n", - os.Args[0]) - fmt.Fprintf(os.Stderr, - "Flags:\n") - flag.PrintDefaults() - fmt.Fprintf(os.Stderr, - "\nCommands:\n"+ - " autocomplete [] main autocompletion command\n"+ - " close close the gocode daemon\n"+ - " status gocode daemon status report\n"+ - " drop-cache drop gocode daemon's cache\n"+ - " set [ []] list or set config options\n") -} - -func main() { - flag.Usage = show_usage - flag.Parse() - - var retval int - if *g_is_server { - go func() { - if *g_profile <= 0 { - return - } - addr := fmt.Sprintf("localhost:%d", *g_profile) - // Use the following commands to profile the binary: - // go tool pprof http://localhost:6060/debug/pprof/profile # 30-second CPU profile - // go tool pprof http://localhost:6060/debug/pprof/heap # heap profile - // go tool pprof http://localhost:6060/debug/pprof/block # goroutine blocking profile - // See http://blog.golang.org/profiling-go-programs for more info. - log.Printf("enabling profiler on %s", addr) - log.Print(http.ListenAndServe(addr, nil)) - }() - retval = do_server() - } else { - retval = do_client() - } - os.Exit(retval) -} diff --git a/vendor/github.com/nsf/gocode/os_posix.go b/vendor/github.com/nsf/gocode/os_posix.go deleted file mode 100644 index ac076e3..0000000 --- a/vendor/github.com/nsf/gocode/os_posix.go +++ /dev/null @@ -1,48 +0,0 @@ -// +build !windows - -package main - -import ( - "flag" - "os" - "os/exec" - "path/filepath" -) - -func create_sock_flag(name, desc string) *string { - return flag.String(name, "unix", desc) -} - -// Full path of the current executable -func get_executable_filename() string { - // try readlink first - path, err := os.Readlink("/proc/self/exe") - if err == nil { - return path - } - // use argv[0] - path = os.Args[0] - if !filepath.IsAbs(path) { - cwd, _ := os.Getwd() - path = filepath.Join(cwd, path) - } - if file_exists(path) { - return path - } - // Fallback : use "gocode" and assume we are in the PATH... - path, err = exec.LookPath("gocode") - if err == nil { - return path - } - return "" -} - -// config location - -func config_dir() string { - return filepath.Join(xdg_home_dir(), "gocode") -} - -func config_file() string { - return filepath.Join(xdg_home_dir(), "gocode", "config.json") -} diff --git a/vendor/github.com/nsf/gocode/os_windows.go b/vendor/github.com/nsf/gocode/os_windows.go deleted file mode 100644 index 1a63f9d..0000000 --- a/vendor/github.com/nsf/gocode/os_windows.go +++ /dev/null @@ -1,56 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "path/filepath" - "syscall" - "unsafe" -) - -var ( - shell32 = syscall.NewLazyDLL("shell32.dll") - kernel32 = syscall.NewLazyDLL("kernel32.dll") -) - -var ( - proc_sh_get_folder_path = shell32.NewProc("SHGetFolderPathW") - proc_get_module_file_name = kernel32.NewProc("GetModuleFileNameW") -) - -func create_sock_flag(name, desc string) *string { - return flag.String(name, "tcp", desc) -} - -// Full path of the current executable -func get_executable_filename() string { - b := make([]uint16, syscall.MAX_PATH) - ret, _, err := syscall.Syscall(proc_get_module_file_name.Addr(), 3, - 0, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))) - if int(ret) == 0 { - panic(fmt.Sprintf("GetModuleFileNameW : err %d", int(err))) - } - return syscall.UTF16ToString(b) -} - -const ( - csidl_appdata = 0x1a -) - -func get_appdata_folder_path() string { - b := make([]uint16, syscall.MAX_PATH) - ret, _, err := syscall.Syscall6(proc_sh_get_folder_path.Addr(), 5, - 0, csidl_appdata, 0, 0, uintptr(unsafe.Pointer(&b[0])), 0) - if int(ret) != 0 { - panic(fmt.Sprintf("SHGetFolderPathW : err %d", int(err))) - } - return syscall.UTF16ToString(b) -} - -func config_dir() string { - return filepath.Join(get_appdata_folder_path(), "gocode") -} - -func config_file() string { - return filepath.Join(get_appdata_folder_path(), "gocode", "config.json") -} diff --git a/vendor/github.com/nsf/gocode/package.go b/vendor/github.com/nsf/gocode/package.go deleted file mode 100644 index ab57aad..0000000 --- a/vendor/github.com/nsf/gocode/package.go +++ /dev/null @@ -1,256 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "go/ast" - "os" - "strings" -) - -type package_parser interface { - parse_export(callback func(pkg string, decl ast.Decl)) -} - -//------------------------------------------------------------------------- -// package_file_cache -// -// Structure that represents a cache for an imported pacakge. In other words -// these are the contents of an archive (*.a) file. -//------------------------------------------------------------------------- - -type package_file_cache struct { - name string // file name - mtime int64 - defalias string - - scope *scope - main *decl // package declaration - others map[string]*decl -} - -func new_package_file_cache(name string) *package_file_cache { - m := new(package_file_cache) - m.name = name - m.mtime = 0 - m.defalias = "" - return m -} - -// Creates a cache that stays in cache forever. Useful for built-in packages. -func new_package_file_cache_forever(name, defalias string) *package_file_cache { - m := new(package_file_cache) - m.name = name - m.mtime = -1 - m.defalias = defalias - return m -} - -func (m *package_file_cache) find_file() string { - if file_exists(m.name) { - return m.name - } - - n := len(m.name) - filename := m.name[:n-1] + "6" - if file_exists(filename) { - return filename - } - - filename = m.name[:n-1] + "8" - if file_exists(filename) { - return filename - } - - filename = m.name[:n-1] + "5" - if file_exists(filename) { - return filename - } - return m.name -} - -func (m *package_file_cache) update_cache() { - if m.mtime == -1 { - return - } - fname := m.find_file() - stat, err := os.Stat(fname) - if err != nil { - return - } - - statmtime := stat.ModTime().UnixNano() - if m.mtime != statmtime { - m.mtime = statmtime - - data, err := file_reader.read_file(fname) - if err != nil { - return - } - m.process_package_data(data) - } -} - -func (m *package_file_cache) process_package_data(data []byte) { - m.scope = new_scope(g_universe_scope) - - // find import section - i := bytes.Index(data, []byte{'\n', '$', '$'}) - if i == -1 { - panic(fmt.Sprintf("Can't find the import section in the package file %s", m.name)) - } - data = data[i+len("\n$$"):] - - // main package - m.main = new_decl(m.name, decl_package, nil) - // create map for other packages - m.others = make(map[string]*decl) - - var pp package_parser - if data[0] == 'B' { - // binary format, skip 'B\n' - data = data[2:] - var p gc_bin_parser - p.init(data, m) - pp = &p - } else { - // textual format, find the beginning of the package clause - i = bytes.Index(data, []byte{'p', 'a', 'c', 'k', 'a', 'g', 'e'}) - if i == -1 { - panic("Can't find the package clause") - } - data = data[i:] - - var p gc_parser - p.init(data, m) - pp = &p - } - - pp.parse_export(func(pkg string, decl ast.Decl) { - anonymify_ast(decl, decl_foreign, m.scope) - if pkg == "" || strings.HasPrefix(pkg, "#") { - // main package - add_ast_decl_to_package(m.main, decl, m.scope) - } else { - // others - if _, ok := m.others[pkg]; !ok { - m.others[pkg] = new_decl(pkg, decl_package, nil) - } - add_ast_decl_to_package(m.others[pkg], decl, m.scope) - } - }) - - // hack, add ourselves to the package scope - mainName := "#" + m.defalias - m.add_package_to_scope(mainName, m.name) - - // replace dummy package decls in package scope to actual packages - for key := range m.scope.entities { - if !strings.HasPrefix(key, "#") && !strings.HasPrefix(key, "!") { - continue - } - pkg, ok := m.others[key] - if !ok && key == mainName { - pkg = m.main - } - m.scope.replace_decl(key, pkg) - } -} - -func (m *package_file_cache) add_package_to_scope(alias, realname string) { - d := new_decl(realname, decl_package, nil) - m.scope.add_decl(alias, d) -} - -func add_ast_decl_to_package(pkg *decl, decl ast.Decl, scope *scope) { - foreach_decl(decl, func(data *foreach_decl_struct) { - class := ast_decl_class(data.decl) - for i, name := range data.names { - typ, v, vi := data.type_value_index(i) - - d := new_decl_full(name.Name, class, decl_foreign, typ, v, vi, scope) - if d == nil { - return - } - - if !name.IsExported() && d.class != decl_type { - return - } - - methodof := method_of(data.decl) - if methodof != "" { - decl := pkg.find_child(methodof) - if decl != nil { - decl.add_child(d) - } else { - decl = new_decl(methodof, decl_methods_stub, scope) - decl.add_child(d) - pkg.add_child(decl) - } - } else { - decl := pkg.find_child(d.name) - if decl != nil { - decl.expand_or_replace(d) - } else { - pkg.add_child(d) - } - } - } - }) -} - -//------------------------------------------------------------------------- -// package_cache -//------------------------------------------------------------------------- - -type package_cache map[string]*package_file_cache - -func new_package_cache() package_cache { - m := make(package_cache) - - // add built-in "unsafe" package - m.add_builtin_unsafe_package() - - return m -} - -// Function fills 'ps' set with packages from 'packages' import information. -// In case if package is not in the cache, it creates one and adds one to the cache. -func (c package_cache) append_packages(ps map[string]*package_file_cache, pkgs []package_import) { - for _, m := range pkgs { - if _, ok := ps[m.path]; ok { - continue - } - - if mod, ok := c[m.path]; ok { - ps[m.path] = mod - } else { - mod = new_package_file_cache(m.path) - ps[m.path] = mod - c[m.path] = mod - } - } -} - -var g_builtin_unsafe_package = []byte(` -import -$$ -package unsafe - type @"".Pointer uintptr - func @"".Offsetof (? any) uintptr - func @"".Sizeof (? any) uintptr - func @"".Alignof (? any) uintptr - func @"".Typeof (i interface { }) interface { } - func @"".Reflect (i interface { }) (typ interface { }, addr @"".Pointer) - func @"".Unreflect (typ interface { }, addr @"".Pointer) interface { } - func @"".New (typ interface { }) @"".Pointer - func @"".NewArray (typ interface { }, n int) @"".Pointer - -$$ -`) - -func (c package_cache) add_builtin_unsafe_package() { - pkg := new_package_file_cache_forever("unsafe", "unsafe") - pkg.process_package_data(g_builtin_unsafe_package) - c["unsafe"] = pkg -} diff --git a/vendor/github.com/nsf/gocode/package_bin.go b/vendor/github.com/nsf/gocode/package_bin.go deleted file mode 100644 index e93d5d2..0000000 --- a/vendor/github.com/nsf/gocode/package_bin.go +++ /dev/null @@ -1,762 +0,0 @@ -package main - -import ( - "encoding/binary" - "fmt" - "go/ast" - "go/token" - "strconv" - "strings" - "unicode" - "unicode/utf8" -) - -//------------------------------------------------------------------------- -// gc_bin_parser -// -// The following part of the code may contain portions of the code from the Go -// standard library, which tells me to retain their copyright notice: -// -// Copyright (c) 2012 The Go Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -//------------------------------------------------------------------------- - -type gc_bin_parser struct { - data []byte - buf []byte // for reading strings - version int - - // object lists - strList []string // in order of appearance - pkgList []string // in order of appearance - typList []ast.Expr // in order of appearance - callback func(pkg string, decl ast.Decl) - pfc *package_file_cache - trackAllTypes bool - - // position encoding - posInfoFormat bool - prevFile string - prevLine int - - // debugging support - debugFormat bool - read int // bytes read - -} - -func (p *gc_bin_parser) init(data []byte, pfc *package_file_cache) { - p.data = data - p.version = -1 // unknown version - p.strList = []string{""} // empty string is mapped to 0 - p.pfc = pfc -} - -func (p *gc_bin_parser) parse_export(callback func(string, ast.Decl)) { - p.callback = callback - - // read version info - var versionstr string - if b := p.rawByte(); b == 'c' || b == 'd' { - // Go1.7 encoding; first byte encodes low-level - // encoding format (compact vs debug). - // For backward-compatibility only (avoid problems with - // old installed packages). Newly compiled packages use - // the extensible format string. - // TODO(gri) Remove this support eventually; after Go1.8. - if b == 'd' { - p.debugFormat = true - } - p.trackAllTypes = p.rawByte() == 'a' - p.posInfoFormat = p.int() != 0 - versionstr = p.string() - if versionstr == "v1" { - p.version = 0 - } - } else { - // Go1.8 extensible encoding - // read version string and extract version number (ignore anything after the version number) - versionstr = p.rawStringln(b) - if s := strings.SplitN(versionstr, " ", 3); len(s) >= 2 && s[0] == "version" { - if v, err := strconv.Atoi(s[1]); err == nil && v > 0 { - p.version = v - } - } - } - - // read version specific flags - extend as necessary - switch p.version { - // case 4: - // ... - // fallthrough - case 3, 2, 1: - // Support for Go 1.8 type aliases will be added very - // soon (Oct 2016). In the meantime, we make a - // best-effort attempt to read v3 export data, failing - // if we encounter a type alias. This allows the - // automated builders to make progress since - // type aliases are not yet used in practice. - // TODO(gri): add support for type aliases. - p.debugFormat = p.rawStringln(p.rawByte()) == "debug" - p.trackAllTypes = p.int() != 0 - p.posInfoFormat = p.int() != 0 - case 0: - // Go1.7 encoding format - nothing to do here - default: - panic(fmt.Errorf("unknown export format version %d (%q)", p.version, versionstr)) - } - - // --- generic export data --- - - // populate typList with predeclared "known" types - p.typList = append(p.typList, predeclared...) - - // read package data - p.pfc.defalias = p.pkg()[1:] - - // read objects of phase 1 only (see cmd/compiler/internal/gc/bexport.go) - objcount := 0 - for { - tag := p.tagOrIndex() - if tag == endTag { - break - } - p.obj(tag) - objcount++ - } - - // self-verification - if count := p.int(); count != objcount { - panic(fmt.Sprintf("got %d objects; want %d", objcount, count)) - } -} - -func (p *gc_bin_parser) pkg() string { - // if the package was seen before, i is its index (>= 0) - i := p.tagOrIndex() - if i >= 0 { - return p.pkgList[i] - } - - // otherwise, i is the package tag (< 0) - if i != packageTag { - panic(fmt.Sprintf("unexpected package tag %d", i)) - } - - // read package data - name := p.string() - path := p.string() - - // we should never see an empty package name - if name == "" { - panic("empty package name in import") - } - - // an empty path denotes the package we are currently importing; - // it must be the first package we see - if (path == "") != (len(p.pkgList) == 0) { - panic(fmt.Sprintf("package path %q for pkg index %d", path, len(p.pkgList))) - } - - var fullName string - if path != "" { - fullName = "!" + path + "!" + name - p.pfc.add_package_to_scope(fullName, path) - } else { - fullName = "#" + name - } - - // if the package was imported before, use that one; otherwise create a new one - p.pkgList = append(p.pkgList, fullName) - return p.pkgList[len(p.pkgList)-1] -} - -func (p *gc_bin_parser) obj(tag int) { - switch tag { - case constTag: - p.pos() - pkg, name := p.qualifiedName() - typ := p.typ("") - p.skipValue() // ignore const value, gocode's not interested - p.callback(pkg, &ast.GenDecl{ - Tok: token.CONST, - Specs: []ast.Spec{ - &ast.ValueSpec{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: typ, - Values: []ast.Expr{&ast.BasicLit{Kind: token.INT, Value: "0"}}, - }, - }, - }) - case typeTag: - _ = p.typ("") - - case varTag: - p.pos() - pkg, name := p.qualifiedName() - typ := p.typ("") - p.callback(pkg, &ast.GenDecl{ - Tok: token.VAR, - Specs: []ast.Spec{ - &ast.ValueSpec{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: typ, - }, - }, - }) - case funcTag: - p.pos() - pkg, name := p.qualifiedName() - params := p.paramList() - results := p.paramList() - p.callback(pkg, &ast.FuncDecl{ - Name: ast.NewIdent(name), - Type: &ast.FuncType{Params: params, Results: results}, - }) - - default: - panic(fmt.Sprintf("unexpected object tag %d", tag)) - } -} - -func (p *gc_bin_parser) pos() { - if !p.posInfoFormat { - return - } - - file := p.prevFile - line := p.prevLine - if delta := p.int(); delta != 0 { - // line changed - line += delta - } else if n := p.int(); n >= 0 { - // file changed - file = p.prevFile[:n] + p.string() - p.prevFile = file - line = p.int() - } - p.prevLine = line - - // TODO(gri) register new position -} - -func (p *gc_bin_parser) qualifiedName() (pkg string, name string) { - name = p.string() - pkg = p.pkg() - return pkg, name -} - -func (p *gc_bin_parser) reserveMaybe() int { - if p.trackAllTypes { - p.typList = append(p.typList, nil) - return len(p.typList) - 1 - } else { - return -1 - } -} - -func (p *gc_bin_parser) recordMaybe(idx int, t ast.Expr) ast.Expr { - if idx == -1 { - return t - } - p.typList[idx] = t - return t -} - -func (p *gc_bin_parser) record(t ast.Expr) { - p.typList = append(p.typList, t) -} - -// parent is the package which declared the type; parent == nil means -// the package currently imported. The parent package is needed for -// exported struct fields and interface methods which don't contain -// explicit package information in the export data. -func (p *gc_bin_parser) typ(parent string) ast.Expr { - // if the type was seen before, i is its index (>= 0) - i := p.tagOrIndex() - if i >= 0 { - return p.typList[i] - } - - // otherwise, i is the type tag (< 0) - switch i { - case namedTag: - // read type object - p.pos() - parent, name := p.qualifiedName() - tdecl := &ast.GenDecl{ - Tok: token.TYPE, - Specs: []ast.Spec{ - &ast.TypeSpec{ - Name: ast.NewIdent(name), - }, - }, - } - - // record it right away (underlying type can contain refs to t) - t := &ast.SelectorExpr{X: ast.NewIdent(parent), Sel: ast.NewIdent(name)} - p.record(t) - - // parse underlying type - t0 := p.typ(parent) - tdecl.Specs[0].(*ast.TypeSpec).Type = t0 - - p.callback(parent, tdecl) - - // interfaces have no methods - if _, ok := t0.(*ast.InterfaceType); ok { - return t - } - - // read associated methods - for i := p.int(); i > 0; i-- { - // TODO(gri) replace this with something closer to fieldName - p.pos() - name := p.string() - if !exported(name) { - p.pkg() - } - - recv := p.paramList() - params := p.paramList() - results := p.paramList() - p.int() // go:nointerface pragma - discarded - - strip_method_receiver(recv) - p.callback(parent, &ast.FuncDecl{ - Recv: recv, - Name: ast.NewIdent(name), - Type: &ast.FuncType{Params: params, Results: results}, - }) - } - return t - case arrayTag: - i := p.reserveMaybe() - n := p.int64() - elt := p.typ(parent) - return p.recordMaybe(i, &ast.ArrayType{ - Len: &ast.BasicLit{Kind: token.INT, Value: fmt.Sprint(n)}, - Elt: elt, - }) - - case sliceTag: - i := p.reserveMaybe() - elt := p.typ(parent) - return p.recordMaybe(i, &ast.ArrayType{Len: nil, Elt: elt}) - - case dddTag: - i := p.reserveMaybe() - elt := p.typ(parent) - return p.recordMaybe(i, &ast.Ellipsis{Elt: elt}) - - case structTag: - i := p.reserveMaybe() - return p.recordMaybe(i, p.structType(parent)) - - case pointerTag: - i := p.reserveMaybe() - elt := p.typ(parent) - return p.recordMaybe(i, &ast.StarExpr{X: elt}) - - case signatureTag: - i := p.reserveMaybe() - params := p.paramList() - results := p.paramList() - return p.recordMaybe(i, &ast.FuncType{Params: params, Results: results}) - - case interfaceTag: - i := p.reserveMaybe() - if p.int() != 0 { - panic("unexpected embedded interface") - } - methods := p.methodList(parent) - return p.recordMaybe(i, &ast.InterfaceType{Methods: &ast.FieldList{List: methods}}) - - case mapTag: - i := p.reserveMaybe() - key := p.typ(parent) - val := p.typ(parent) - return p.recordMaybe(i, &ast.MapType{Key: key, Value: val}) - - case chanTag: - i := p.reserveMaybe() - dir := ast.SEND | ast.RECV - switch d := p.int(); d { - case 1: - dir = ast.RECV - case 2: - dir = ast.SEND - case 3: - // already set - default: - panic(fmt.Sprintf("unexpected channel dir %d", d)) - } - elt := p.typ(parent) - return p.recordMaybe(i, &ast.ChanType{Dir: dir, Value: elt}) - - default: - panic(fmt.Sprintf("unexpected type tag %d", i)) - } -} - -func (p *gc_bin_parser) structType(parent string) *ast.StructType { - var fields []*ast.Field - if n := p.int(); n > 0 { - fields = make([]*ast.Field, n) - for i := range fields { - fields[i] = p.field(parent) - p.string() // tag, not interested in tags - } - } - return &ast.StructType{Fields: &ast.FieldList{List: fields}} -} - -func (p *gc_bin_parser) field(parent string) *ast.Field { - p.pos() - _, name := p.fieldName(parent) - typ := p.typ(parent) - - var names []*ast.Ident - if name != "" { - names = []*ast.Ident{ast.NewIdent(name)} - } - return &ast.Field{ - Names: names, - Type: typ, - } -} - -func (p *gc_bin_parser) methodList(parent string) (methods []*ast.Field) { - if n := p.int(); n > 0 { - methods = make([]*ast.Field, n) - for i := range methods { - methods[i] = p.method(parent) - } - } - return -} - -func (p *gc_bin_parser) method(parent string) *ast.Field { - p.pos() - _, name := p.fieldName(parent) - params := p.paramList() - results := p.paramList() - return &ast.Field{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: &ast.FuncType{Params: params, Results: results}, - } -} - -func (p *gc_bin_parser) fieldName(parent string) (string, string) { - name := p.string() - pkg := parent - if p.version == 0 && name == "_" { - // versions < 1 don't export a package for _ fields - // TODO: remove once versions are not supported anymore - return pkg, name - } - if name != "" && !exported(name) { - // explicitly qualified field - if name == "?" { - name = "" - } - pkg = p.pkg() - } - return pkg, name -} - -func (p *gc_bin_parser) paramList() *ast.FieldList { - n := p.int() - if n == 0 { - return nil - } - // negative length indicates unnamed parameters - named := true - if n < 0 { - n = -n - named = false - } - // n > 0 - flds := make([]*ast.Field, n) - for i := range flds { - flds[i] = p.param(named) - } - return &ast.FieldList{List: flds} -} - -func (p *gc_bin_parser) param(named bool) *ast.Field { - t := p.typ("") - - name := "?" - if named { - name = p.string() - if name == "" { - panic("expected named parameter") - } - if name != "_" { - p.pkg() - } - if i := strings.Index(name, "·"); i > 0 { - name = name[:i] // cut off gc-specific parameter numbering - } - } - - // read and discard compiler-specific info - p.string() - - return &ast.Field{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: t, - } -} - -func exported(name string) bool { - ch, _ := utf8.DecodeRuneInString(name) - return unicode.IsUpper(ch) -} - -func (p *gc_bin_parser) skipValue() { - switch tag := p.tagOrIndex(); tag { - case falseTag, trueTag: - case int64Tag: - p.int64() - case floatTag: - p.float() - case complexTag: - p.float() - p.float() - case stringTag: - p.string() - default: - panic(fmt.Sprintf("unexpected value tag %d", tag)) - } -} - -func (p *gc_bin_parser) float() { - sign := p.int() - if sign == 0 { - return - } - - p.int() // exp - p.string() // mant -} - -// ---------------------------------------------------------------------------- -// Low-level decoders - -func (p *gc_bin_parser) tagOrIndex() int { - if p.debugFormat { - p.marker('t') - } - - return int(p.rawInt64()) -} - -func (p *gc_bin_parser) int() int { - x := p.int64() - if int64(int(x)) != x { - panic("exported integer too large") - } - return int(x) -} - -func (p *gc_bin_parser) int64() int64 { - if p.debugFormat { - p.marker('i') - } - - return p.rawInt64() -} - -func (p *gc_bin_parser) string() string { - if p.debugFormat { - p.marker('s') - } - // if the string was seen before, i is its index (>= 0) - // (the empty string is at index 0) - i := p.rawInt64() - if i >= 0 { - return p.strList[i] - } - // otherwise, i is the negative string length (< 0) - if n := int(-i); n <= cap(p.buf) { - p.buf = p.buf[:n] - } else { - p.buf = make([]byte, n) - } - for i := range p.buf { - p.buf[i] = p.rawByte() - } - s := string(p.buf) - p.strList = append(p.strList, s) - return s -} - -func (p *gc_bin_parser) marker(want byte) { - if got := p.rawByte(); got != want { - panic(fmt.Sprintf("incorrect marker: got %c; want %c (pos = %d)", got, want, p.read)) - } - - pos := p.read - if n := int(p.rawInt64()); n != pos { - panic(fmt.Sprintf("incorrect position: got %d; want %d", n, pos)) - } -} - -// rawInt64 should only be used by low-level decoders. -func (p *gc_bin_parser) rawInt64() int64 { - i, err := binary.ReadVarint(p) - if err != nil { - panic(fmt.Sprintf("read error: %v", err)) - } - return i -} - -// rawStringln should only be used to read the initial version string. -func (p *gc_bin_parser) rawStringln(b byte) string { - p.buf = p.buf[:0] - for b != '\n' { - p.buf = append(p.buf, b) - b = p.rawByte() - } - return string(p.buf) -} - -// needed for binary.ReadVarint in rawInt64 -func (p *gc_bin_parser) ReadByte() (byte, error) { - return p.rawByte(), nil -} - -// byte is the bottleneck interface for reading p.data. -// It unescapes '|' 'S' to '$' and '|' '|' to '|'. -// rawByte should only be used by low-level decoders. -func (p *gc_bin_parser) rawByte() byte { - b := p.data[0] - r := 1 - if b == '|' { - b = p.data[1] - r = 2 - switch b { - case 'S': - b = '$' - case '|': - // nothing to do - default: - panic("unexpected escape sequence in export data") - } - } - p.data = p.data[r:] - p.read += r - return b - -} - -// ---------------------------------------------------------------------------- -// Export format - -// Tags. Must be < 0. -const ( - // Objects - packageTag = -(iota + 1) - constTag - typeTag - varTag - funcTag - endTag - - // Types - namedTag - arrayTag - sliceTag - dddTag - structTag - pointerTag - signatureTag - interfaceTag - mapTag - chanTag - - // Values - falseTag - trueTag - int64Tag - floatTag - fractionTag // not used by gc - complexTag - stringTag - unknownTag // not used by gc (only appears in packages with errors) -) - -var predeclared = []ast.Expr{ - // basic types - ast.NewIdent("bool"), - ast.NewIdent("int"), - ast.NewIdent("int8"), - ast.NewIdent("int16"), - ast.NewIdent("int32"), - ast.NewIdent("int64"), - ast.NewIdent("uint"), - ast.NewIdent("uint8"), - ast.NewIdent("uint16"), - ast.NewIdent("uint32"), - ast.NewIdent("uint64"), - ast.NewIdent("uintptr"), - ast.NewIdent("float32"), - ast.NewIdent("float64"), - ast.NewIdent("complex64"), - ast.NewIdent("complex128"), - ast.NewIdent("string"), - - // aliases - ast.NewIdent("byte"), - ast.NewIdent("rune"), - - // error - ast.NewIdent("error"), - - // TODO(nsf): don't think those are used in just package type info, - // maybe for consts, but we are not interested in that - // untyped types - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedBool], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedInt], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedRune], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedFloat], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedComplex], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedString], - ast.NewIdent(">_<"), // TODO: types.Typ[types.UntypedNil], - - // package unsafe - &ast.SelectorExpr{X: ast.NewIdent("unsafe"), Sel: ast.NewIdent("Pointer")}, - - // invalid type - ast.NewIdent(">_<"), // TODO: types.Typ[types.Invalid], // only appears in packages with errors - - // used internally by gc; never used by this package or in .a files - ast.NewIdent("any"), -} diff --git a/vendor/github.com/nsf/gocode/package_text.go b/vendor/github.com/nsf/gocode/package_text.go deleted file mode 100644 index 9ed7451..0000000 --- a/vendor/github.com/nsf/gocode/package_text.go +++ /dev/null @@ -1,678 +0,0 @@ -package main - -import ( - "bytes" - "errors" - "fmt" - "go/ast" - "go/token" - "strconv" - "text/scanner" -) - -//------------------------------------------------------------------------- -// gc_parser -// -// The following part of the code may contain portions of the code from the Go -// standard library, which tells me to retain their copyright notice: -// -// Copyright (c) 2009 The Go Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -//------------------------------------------------------------------------- - -type gc_parser struct { - scanner scanner.Scanner - tok rune - lit string - path_to_name map[string]string - beautify bool - pfc *package_file_cache -} - -func (p *gc_parser) init(data []byte, pfc *package_file_cache) { - p.scanner.Init(bytes.NewReader(data)) - p.scanner.Error = func(_ *scanner.Scanner, msg string) { p.error(msg) } - p.scanner.Mode = scanner.ScanIdents | scanner.ScanInts | scanner.ScanStrings | - scanner.ScanComments | scanner.ScanChars | scanner.SkipComments - p.scanner.Whitespace = 1<<'\t' | 1<<' ' | 1<<'\r' | 1<<'\v' | 1<<'\f' - p.scanner.Filename = "package.go" - p.next() - // and the built-in "unsafe" package to the path_to_name map - p.path_to_name = map[string]string{"unsafe": "unsafe"} - p.pfc = pfc -} - -func (p *gc_parser) next() { - p.tok = p.scanner.Scan() - switch p.tok { - case scanner.Ident, scanner.Int, scanner.String: - p.lit = p.scanner.TokenText() - default: - p.lit = "" - } -} - -func (p *gc_parser) error(msg string) { - panic(errors.New(msg)) -} - -func (p *gc_parser) errorf(format string, args ...interface{}) { - p.error(fmt.Sprintf(format, args...)) -} - -func (p *gc_parser) expect(tok rune) string { - lit := p.lit - if p.tok != tok { - p.errorf("expected %s, got %s (%q)", scanner.TokenString(tok), - scanner.TokenString(p.tok), lit) - } - p.next() - return lit -} - -func (p *gc_parser) expect_keyword(keyword string) { - lit := p.expect(scanner.Ident) - if lit != keyword { - p.errorf("expected keyword: %s, got: %q", keyword, lit) - } -} - -func (p *gc_parser) expect_special(what string) { - i := 0 - for i < len(what) { - if p.tok != rune(what[i]) { - break - } - - nc := p.scanner.Peek() - if i != len(what)-1 && nc <= ' ' { - break - } - - p.next() - i++ - } - - if i < len(what) { - p.errorf("expected: %q, got: %q", what, what[0:i]) - } -} - -// dotIdentifier = "?" | ( ident | '·' ) { ident | int | '·' } . -// we're doing lexer job here, kind of -func (p *gc_parser) parse_dot_ident() string { - if p.tok == '?' { - p.next() - return "?" - } - - ident := "" - sep := 'x' - i, j := 0, -1 - for (p.tok == scanner.Ident || p.tok == scanner.Int || p.tok == '·') && sep > ' ' { - ident += p.lit - if p.tok == '·' { - ident += "·" - j = i - i++ - } - i += len(p.lit) - sep = p.scanner.Peek() - p.next() - } - // middot = \xc2\xb7 - if j != -1 && i > j+1 { - c := ident[j+2] - if c >= '0' && c <= '9' { - ident = ident[0:j] - } - } - return ident -} - -// ImportPath = string_lit . -// quoted name of the path, but we return it as an identifier, taking an alias -// from 'pathToAlias' map, it is filled by import statements -func (p *gc_parser) parse_package() *ast.Ident { - path, err := strconv.Unquote(p.expect(scanner.String)) - if err != nil { - panic(err) - } - - return ast.NewIdent(path) -} - -// ExportedName = "@" ImportPath "." dotIdentifier . -func (p *gc_parser) parse_exported_name() *ast.SelectorExpr { - p.expect('@') - pkg := p.parse_package() - if pkg.Name == "" { - pkg.Name = "#" + p.pfc.defalias - } else { - pkg.Name = p.path_to_name[pkg.Name] - } - p.expect('.') - name := ast.NewIdent(p.parse_dot_ident()) - return &ast.SelectorExpr{X: pkg, Sel: name} -} - -// Name = identifier | "?" | ExportedName . -func (p *gc_parser) parse_name() (string, ast.Expr) { - switch p.tok { - case scanner.Ident: - name := p.lit - p.next() - return name, ast.NewIdent(name) - case '?': - p.next() - return "?", ast.NewIdent("?") - case '@': - en := p.parse_exported_name() - return en.Sel.Name, en - } - p.error("name expected") - return "", nil -} - -// Field = Name Type [ string_lit ] . -func (p *gc_parser) parse_field() *ast.Field { - var tag string - name, _ := p.parse_name() - typ := p.parse_type() - if p.tok == scanner.String { - tag = p.expect(scanner.String) - } - - var names []*ast.Ident - if name != "?" { - names = []*ast.Ident{ast.NewIdent(name)} - } - - return &ast.Field{ - Names: names, - Type: typ, - Tag: &ast.BasicLit{Kind: token.STRING, Value: tag}, - } -} - -// Parameter = ( identifier | "?" ) [ "..." ] Type [ string_lit ] . -func (p *gc_parser) parse_parameter() *ast.Field { - // name - name, _ := p.parse_name() - - // type - var typ ast.Expr - if p.tok == '.' { - p.expect_special("...") - typ = &ast.Ellipsis{Elt: p.parse_type()} - } else { - typ = p.parse_type() - } - - var tag string - if p.tok == scanner.String { - tag = p.expect(scanner.String) - } - - return &ast.Field{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: typ, - Tag: &ast.BasicLit{Kind: token.STRING, Value: tag}, - } -} - -// Parameters = "(" [ ParameterList ] ")" . -// ParameterList = { Parameter "," } Parameter . -func (p *gc_parser) parse_parameters() *ast.FieldList { - flds := []*ast.Field{} - parse_parameter := func() { - par := p.parse_parameter() - flds = append(flds, par) - } - - p.expect('(') - if p.tok != ')' { - parse_parameter() - for p.tok == ',' { - p.next() - parse_parameter() - } - } - p.expect(')') - return &ast.FieldList{List: flds} -} - -// Signature = Parameters [ Result ] . -// Result = Type | Parameters . -func (p *gc_parser) parse_signature() *ast.FuncType { - var params *ast.FieldList - var results *ast.FieldList - - params = p.parse_parameters() - switch p.tok { - case scanner.Ident, '[', '*', '<', '@': - fld := &ast.Field{Type: p.parse_type()} - results = &ast.FieldList{List: []*ast.Field{fld}} - case '(': - results = p.parse_parameters() - } - return &ast.FuncType{Params: params, Results: results} -} - -// MethodOrEmbedSpec = Name [ Signature ] . -func (p *gc_parser) parse_method_or_embed_spec() *ast.Field { - name, nameexpr := p.parse_name() - if p.tok == '(' { - typ := p.parse_signature() - return &ast.Field{ - Names: []*ast.Ident{ast.NewIdent(name)}, - Type: typ, - } - } - - return &ast.Field{ - Type: nameexpr, - } -} - -// int_lit = [ "-" | "+" ] { "0" ... "9" } . -func (p *gc_parser) parse_int() { - switch p.tok { - case '-', '+': - p.next() - } - p.expect(scanner.Int) -} - -// number = int_lit [ "p" int_lit ] . -func (p *gc_parser) parse_number() { - p.parse_int() - if p.lit == "p" { - p.next() - p.parse_int() - } -} - -//------------------------------------------------------------------------------- -// gc_parser.types -//------------------------------------------------------------------------------- - -// InterfaceType = "interface" "{" [ MethodOrEmbedList ] "}" . -// MethodOrEmbedList = MethodOrEmbedSpec { ";" MethodOrEmbedSpec } . -func (p *gc_parser) parse_interface_type() ast.Expr { - var methods []*ast.Field - parse_method := func() { - meth := p.parse_method_or_embed_spec() - methods = append(methods, meth) - } - - p.expect_keyword("interface") - p.expect('{') - if p.tok != '}' { - parse_method() - for p.tok == ';' { - p.next() - parse_method() - } - } - p.expect('}') - return &ast.InterfaceType{Methods: &ast.FieldList{List: methods}} -} - -// StructType = "struct" "{" [ FieldList ] "}" . -// FieldList = Field { ";" Field } . -func (p *gc_parser) parse_struct_type() ast.Expr { - var fields []*ast.Field - parse_field := func() { - fld := p.parse_field() - fields = append(fields, fld) - } - - p.expect_keyword("struct") - p.expect('{') - if p.tok != '}' { - parse_field() - for p.tok == ';' { - p.next() - parse_field() - } - } - p.expect('}') - return &ast.StructType{Fields: &ast.FieldList{List: fields}} -} - -// MapType = "map" "[" Type "]" Type . -func (p *gc_parser) parse_map_type() ast.Expr { - p.expect_keyword("map") - p.expect('[') - key := p.parse_type() - p.expect(']') - elt := p.parse_type() - return &ast.MapType{Key: key, Value: elt} -} - -// ChanType = ( "chan" [ "<-" ] | "<-" "chan" ) Type . -func (p *gc_parser) parse_chan_type() ast.Expr { - dir := ast.SEND | ast.RECV - if p.tok == scanner.Ident { - p.expect_keyword("chan") - if p.tok == '<' { - p.expect_special("<-") - dir = ast.SEND - } - } else { - p.expect_special("<-") - p.expect_keyword("chan") - dir = ast.RECV - } - - elt := p.parse_type() - return &ast.ChanType{Dir: dir, Value: elt} -} - -// ArrayOrSliceType = ArrayType | SliceType . -// ArrayType = "[" int_lit "]" Type . -// SliceType = "[" "]" Type . -func (p *gc_parser) parse_array_or_slice_type() ast.Expr { - p.expect('[') - if p.tok == ']' { - // SliceType - p.next() // skip ']' - return &ast.ArrayType{Len: nil, Elt: p.parse_type()} - } - - // ArrayType - lit := p.expect(scanner.Int) - p.expect(']') - return &ast.ArrayType{ - Len: &ast.BasicLit{Kind: token.INT, Value: lit}, - Elt: p.parse_type(), - } -} - -// Type = -// BasicType | TypeName | ArrayType | SliceType | StructType | -// PointerType | FuncType | InterfaceType | MapType | ChanType | -// "(" Type ")" . -// BasicType = ident . -// TypeName = ExportedName . -// SliceType = "[" "]" Type . -// PointerType = "*" Type . -// FuncType = "func" Signature . -func (p *gc_parser) parse_type() ast.Expr { - switch p.tok { - case scanner.Ident: - switch p.lit { - case "struct": - return p.parse_struct_type() - case "func": - p.next() - return p.parse_signature() - case "interface": - return p.parse_interface_type() - case "map": - return p.parse_map_type() - case "chan": - return p.parse_chan_type() - default: - lit := p.lit - p.next() - return ast.NewIdent(lit) - } - case '@': - return p.parse_exported_name() - case '[': - return p.parse_array_or_slice_type() - case '*': - p.next() - return &ast.StarExpr{X: p.parse_type()} - case '<': - return p.parse_chan_type() - case '(': - p.next() - typ := p.parse_type() - p.expect(')') - return typ - } - p.errorf("unexpected token: %s", scanner.TokenString(p.tok)) - return nil -} - -//------------------------------------------------------------------------------- -// gc_parser.declarations -//------------------------------------------------------------------------------- - -// ImportDecl = "import" identifier string_lit . -func (p *gc_parser) parse_import_decl() { - p.expect_keyword("import") - alias := p.expect(scanner.Ident) - path := p.parse_package() - fullName := "!" + path.Name + "!" + alias - p.path_to_name[path.Name] = fullName - p.pfc.add_package_to_scope(fullName, path.Name) -} - -// ConstDecl = "const" ExportedName [ Type ] "=" Literal . -// Literal = bool_lit | int_lit | float_lit | complex_lit | string_lit . -// bool_lit = "true" | "false" . -// complex_lit = "(" float_lit "+" float_lit ")" . -// rune_lit = "(" int_lit "+" int_lit ")" . -// string_lit = `"` { unicode_char } `"` . -func (p *gc_parser) parse_const_decl() (string, *ast.GenDecl) { - // TODO: do we really need actual const value? gocode doesn't use this - p.expect_keyword("const") - name := p.parse_exported_name() - - var typ ast.Expr - if p.tok != '=' { - typ = p.parse_type() - } - - p.expect('=') - - // skip the value - switch p.tok { - case scanner.Ident: - // must be bool, true or false - p.next() - case '-', '+', scanner.Int: - // number - p.parse_number() - case '(': - // complex_lit or rune_lit - p.next() // skip '(' - if p.tok == scanner.Char { - p.next() - } else { - p.parse_number() - } - p.expect('+') - p.parse_number() - p.expect(')') - case scanner.Char: - p.next() - case scanner.String: - p.next() - default: - p.error("expected literal") - } - - return name.X.(*ast.Ident).Name, &ast.GenDecl{ - Tok: token.CONST, - Specs: []ast.Spec{ - &ast.ValueSpec{ - Names: []*ast.Ident{name.Sel}, - Type: typ, - Values: []ast.Expr{&ast.BasicLit{Kind: token.INT, Value: "0"}}, - }, - }, - } -} - -// TypeDecl = "type" ExportedName Type . -func (p *gc_parser) parse_type_decl() (string, *ast.GenDecl) { - p.expect_keyword("type") - name := p.parse_exported_name() - typ := p.parse_type() - return name.X.(*ast.Ident).Name, &ast.GenDecl{ - Tok: token.TYPE, - Specs: []ast.Spec{ - &ast.TypeSpec{ - Name: name.Sel, - Type: typ, - }, - }, - } -} - -// VarDecl = "var" ExportedName Type . -func (p *gc_parser) parse_var_decl() (string, *ast.GenDecl) { - p.expect_keyword("var") - name := p.parse_exported_name() - typ := p.parse_type() - return name.X.(*ast.Ident).Name, &ast.GenDecl{ - Tok: token.VAR, - Specs: []ast.Spec{ - &ast.ValueSpec{ - Names: []*ast.Ident{name.Sel}, - Type: typ, - }, - }, - } -} - -// FuncBody = "{" ... "}" . -func (p *gc_parser) parse_func_body() { - p.expect('{') - for i := 1; i > 0; p.next() { - switch p.tok { - case '{': - i++ - case '}': - i-- - } - } -} - -// FuncDecl = "func" ExportedName Signature [ FuncBody ] . -func (p *gc_parser) parse_func_decl() (string, *ast.FuncDecl) { - // "func" was already consumed by lookahead - name := p.parse_exported_name() - typ := p.parse_signature() - if p.tok == '{' { - p.parse_func_body() - } - return name.X.(*ast.Ident).Name, &ast.FuncDecl{ - Name: name.Sel, - Type: typ, - } -} - -func strip_method_receiver(recv *ast.FieldList) string { - var sel *ast.SelectorExpr - - // find selector expression - typ := recv.List[0].Type - switch t := typ.(type) { - case *ast.StarExpr: - sel = t.X.(*ast.SelectorExpr) - case *ast.SelectorExpr: - sel = t - } - - // extract package path - pkg := sel.X.(*ast.Ident).Name - - // write back stripped type - switch t := typ.(type) { - case *ast.StarExpr: - t.X = sel.Sel - case *ast.SelectorExpr: - recv.List[0].Type = sel.Sel - } - - return pkg -} - -// MethodDecl = "func" Receiver Name Signature . -// Receiver = "(" ( identifier | "?" ) [ "*" ] ExportedName ")" [ FuncBody ] . -func (p *gc_parser) parse_method_decl() (string, *ast.FuncDecl) { - recv := p.parse_parameters() - pkg := strip_method_receiver(recv) - name, _ := p.parse_name() - typ := p.parse_signature() - if p.tok == '{' { - p.parse_func_body() - } - return pkg, &ast.FuncDecl{ - Recv: recv, - Name: ast.NewIdent(name), - Type: typ, - } -} - -// Decl = [ ImportDecl | ConstDecl | TypeDecl | VarDecl | FuncDecl | MethodDecl ] "\n" . -func (p *gc_parser) parse_decl() (pkg string, decl ast.Decl) { - switch p.lit { - case "import": - p.parse_import_decl() - case "const": - pkg, decl = p.parse_const_decl() - case "type": - pkg, decl = p.parse_type_decl() - case "var": - pkg, decl = p.parse_var_decl() - case "func": - p.next() - if p.tok == '(' { - pkg, decl = p.parse_method_decl() - } else { - pkg, decl = p.parse_func_decl() - } - } - p.expect('\n') - return -} - -// Export = PackageClause { Decl } "$$" . -// PackageClause = "package" identifier [ "safe" ] "\n" . -func (p *gc_parser) parse_export(callback func(string, ast.Decl)) { - p.expect_keyword("package") - p.pfc.defalias = p.expect(scanner.Ident) - if p.tok != '\n' { - p.expect_keyword("safe") - } - p.expect('\n') - - for p.tok != '$' && p.tok != scanner.EOF { - pkg, decl := p.parse_decl() - if decl != nil { - callback(pkg, decl) - } - } -} diff --git a/vendor/github.com/nsf/gocode/pre_go17.go b/vendor/github.com/nsf/gocode/pre_go17.go deleted file mode 100644 index 202ef5a..0000000 --- a/vendor/github.com/nsf/gocode/pre_go17.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build !go1.7 - -package main - -func init() { - knownPackageIdents["context"] = "golang.org/x/net/context" -} diff --git a/vendor/github.com/nsf/gocode/ripper.go b/vendor/github.com/nsf/gocode/ripper.go deleted file mode 100644 index e1c2f75..0000000 --- a/vendor/github.com/nsf/gocode/ripper.go +++ /dev/null @@ -1,141 +0,0 @@ -package main - -import ( - "go/scanner" - "go/token" -) - -// All the code in this file serves single purpose: -// It separates a function with the cursor inside and the rest of the code. I'm -// doing that, because sometimes parser is not able to recover itself from an -// error and the autocompletion results become less complete. - -type tok_pos_pair struct { - tok token.Token - pos token.Pos -} - -type tok_collection struct { - tokens []tok_pos_pair - fset *token.FileSet -} - -func (this *tok_collection) next(s *scanner.Scanner) bool { - pos, tok, _ := s.Scan() - if tok == token.EOF { - return false - } - - this.tokens = append(this.tokens, tok_pos_pair{tok, pos}) - return true -} - -func (this *tok_collection) find_decl_beg(pos int) int { - lowest := 0 - lowpos := -1 - lowi := -1 - cur := 0 - for i := pos; i >= 0; i-- { - t := this.tokens[i] - switch t.tok { - case token.RBRACE: - cur++ - case token.LBRACE: - cur-- - } - - if cur < lowest { - lowest = cur - lowpos = this.fset.Position(t.pos).Offset - lowi = i - } - } - - cur = lowest - for i := lowi - 1; i >= 0; i-- { - t := this.tokens[i] - switch t.tok { - case token.RBRACE: - cur++ - case token.LBRACE: - cur-- - } - if t.tok == token.SEMICOLON && cur == lowest { - lowpos = this.fset.Position(t.pos).Offset - break - } - } - - return lowpos -} - -func (this *tok_collection) find_decl_end(pos int) int { - highest := 0 - highpos := -1 - cur := 0 - - if this.tokens[pos].tok == token.LBRACE { - pos++ - } - - for i := pos; i < len(this.tokens); i++ { - t := this.tokens[i] - switch t.tok { - case token.RBRACE: - cur++ - case token.LBRACE: - cur-- - } - - if cur > highest { - highest = cur - highpos = this.fset.Position(t.pos).Offset - } - } - - return highpos -} - -func (this *tok_collection) find_outermost_scope(cursor int) (int, int) { - pos := 0 - - for i, t := range this.tokens { - if cursor <= this.fset.Position(t.pos).Offset { - break - } - pos = i - } - - return this.find_decl_beg(pos), this.find_decl_end(pos) -} - -// return new cursor position, file without ripped part and the ripped part itself -// variants: -// new-cursor, file-without-ripped-part, ripped-part -// old-cursor, file, nil -func (this *tok_collection) rip_off_decl(file []byte, cursor int) (int, []byte, []byte) { - this.fset = token.NewFileSet() - var s scanner.Scanner - s.Init(this.fset.AddFile("", this.fset.Base(), len(file)), file, nil, scanner.ScanComments) - for this.next(&s) { - } - - beg, end := this.find_outermost_scope(cursor) - if beg == -1 || end == -1 { - return cursor, file, nil - } - - ripped := make([]byte, end+1-beg) - copy(ripped, file[beg:end+1]) - - newfile := make([]byte, len(file)-len(ripped)) - copy(newfile, file[:beg]) - copy(newfile[beg:], file[end+1:]) - - return cursor - beg, newfile, ripped -} - -func rip_off_decl(file []byte, cursor int) (int, []byte, []byte) { - var tc tok_collection - return tc.rip_off_decl(file, cursor) -} diff --git a/vendor/github.com/nsf/gocode/rpc.go b/vendor/github.com/nsf/gocode/rpc.go deleted file mode 100644 index 9955f4d..0000000 --- a/vendor/github.com/nsf/gocode/rpc.go +++ /dev/null @@ -1,138 +0,0 @@ -// WARNING! Autogenerated by goremote, don't touch. - -package main - -import ( - "net/rpc" -) - -type RPC struct { -} - -// wrapper for: server_auto_complete - -type Args_auto_complete struct { - Arg0 []byte - Arg1 string - Arg2 int - Arg3 go_build_context -} -type Reply_auto_complete struct { - Arg0 []candidate - Arg1 int -} - -func (r *RPC) RPC_auto_complete(args *Args_auto_complete, reply *Reply_auto_complete) error { - reply.Arg0, reply.Arg1 = server_auto_complete(args.Arg0, args.Arg1, args.Arg2, args.Arg3) - return nil -} -func client_auto_complete(cli *rpc.Client, Arg0 []byte, Arg1 string, Arg2 int, Arg3 go_build_context) (c []candidate, d int) { - var args Args_auto_complete - var reply Reply_auto_complete - args.Arg0 = Arg0 - args.Arg1 = Arg1 - args.Arg2 = Arg2 - args.Arg3 = Arg3 - err := cli.Call("RPC.RPC_auto_complete", &args, &reply) - if err != nil { - panic(err) - } - return reply.Arg0, reply.Arg1 -} - -// wrapper for: server_close - -type Args_close struct { - Arg0 int -} -type Reply_close struct { - Arg0 int -} - -func (r *RPC) RPC_close(args *Args_close, reply *Reply_close) error { - reply.Arg0 = server_close(args.Arg0) - return nil -} -func client_close(cli *rpc.Client, Arg0 int) int { - var args Args_close - var reply Reply_close - args.Arg0 = Arg0 - err := cli.Call("RPC.RPC_close", &args, &reply) - if err != nil { - panic(err) - } - return reply.Arg0 -} - -// wrapper for: server_status - -type Args_status struct { - Arg0 int -} -type Reply_status struct { - Arg0 string -} - -func (r *RPC) RPC_status(args *Args_status, reply *Reply_status) error { - reply.Arg0 = server_status(args.Arg0) - return nil -} -func client_status(cli *rpc.Client, Arg0 int) string { - var args Args_status - var reply Reply_status - args.Arg0 = Arg0 - err := cli.Call("RPC.RPC_status", &args, &reply) - if err != nil { - panic(err) - } - return reply.Arg0 -} - -// wrapper for: server_drop_cache - -type Args_drop_cache struct { - Arg0 int -} -type Reply_drop_cache struct { - Arg0 int -} - -func (r *RPC) RPC_drop_cache(args *Args_drop_cache, reply *Reply_drop_cache) error { - reply.Arg0 = server_drop_cache(args.Arg0) - return nil -} -func client_drop_cache(cli *rpc.Client, Arg0 int) int { - var args Args_drop_cache - var reply Reply_drop_cache - args.Arg0 = Arg0 - err := cli.Call("RPC.RPC_drop_cache", &args, &reply) - if err != nil { - panic(err) - } - return reply.Arg0 -} - -// wrapper for: server_set - -type Args_set struct { - Arg0, Arg1 string -} -type Reply_set struct { - Arg0 string -} - -func (r *RPC) RPC_set(args *Args_set, reply *Reply_set) error { - reply.Arg0 = server_set(args.Arg0, args.Arg1) - return nil -} -func client_set(cli *rpc.Client, Arg0, Arg1 string) string { - var args Args_set - var reply Reply_set - args.Arg0 = Arg0 - args.Arg1 = Arg1 - err := cli.Call("RPC.RPC_set", &args, &reply) - if err != nil { - panic(err) - } - return reply.Arg0 -} diff --git a/vendor/github.com/nsf/gocode/scope.go b/vendor/github.com/nsf/gocode/scope.go deleted file mode 100644 index 34afb89..0000000 --- a/vendor/github.com/nsf/gocode/scope.go +++ /dev/null @@ -1,66 +0,0 @@ -package main - -//------------------------------------------------------------------------- -// scope -//------------------------------------------------------------------------- - -type scope struct { - parent *scope // nil for universe scope - entities map[string]*decl -} - -func new_scope(outer *scope) *scope { - s := new(scope) - s.parent = outer - s.entities = make(map[string]*decl) - return s -} - -// returns: new, prev -func advance_scope(s *scope) (*scope, *scope) { - if len(s.entities) == 0 { - return s, s.parent - } - return new_scope(s), s -} - -// adds declaration or returns an existing one -func (s *scope) add_named_decl(d *decl) *decl { - return s.add_decl(d.name, d) -} - -func (s *scope) add_decl(name string, d *decl) *decl { - decl, ok := s.entities[name] - if !ok { - s.entities[name] = d - return d - } - return decl -} - -func (s *scope) replace_decl(name string, d *decl) { - s.entities[name] = d -} - -func (s *scope) merge_decl(d *decl) { - decl, ok := s.entities[d.name] - if !ok { - s.entities[d.name] = d - } else { - decl := decl.deep_copy() - decl.expand_or_replace(d) - s.entities[d.name] = decl - } -} - -func (s *scope) lookup(name string) *decl { - decl, ok := s.entities[name] - if !ok { - if s.parent != nil { - return s.parent.lookup(name) - } else { - return nil - } - } - return decl -} diff --git a/vendor/github.com/nsf/gocode/server.go b/vendor/github.com/nsf/gocode/server.go deleted file mode 100644 index 15e7d01..0000000 --- a/vendor/github.com/nsf/gocode/server.go +++ /dev/null @@ -1,237 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "go/build" - "log" - "net" - "net/rpc" - "os" - "path/filepath" - "reflect" - "runtime" - "time" -) - -func do_server() int { - g_config.read() - if g_config.ForceDebugOutput != "" { - // forcefully enable debugging and redirect logging into the - // specified file - *g_debug = true - f, err := os.Create(g_config.ForceDebugOutput) - if err != nil { - panic(err) - } - log.SetOutput(f) - } - - addr := *g_addr - if *g_sock == "unix" { - addr = get_socket_filename() - if file_exists(addr) { - log.Printf("unix socket: '%s' already exists\n", addr) - return 1 - } - } - g_daemon = new_daemon(*g_sock, addr) - if *g_sock == "unix" { - // cleanup unix socket file - defer os.Remove(addr) - } - - rpc.Register(new(RPC)) - - g_daemon.loop() - return 0 -} - -//------------------------------------------------------------------------- -// daemon -//------------------------------------------------------------------------- - -type daemon struct { - listener net.Listener - cmd_in chan int - autocomplete *auto_complete_context - pkgcache package_cache - declcache *decl_cache - context package_lookup_context -} - -func new_daemon(network, address string) *daemon { - var err error - - d := new(daemon) - d.listener, err = net.Listen(network, address) - if err != nil { - panic(err) - } - - d.cmd_in = make(chan int, 1) - d.pkgcache = new_package_cache() - d.declcache = new_decl_cache(&d.context) - d.autocomplete = new_auto_complete_context(d.pkgcache, d.declcache) - return d -} - -func (this *daemon) drop_cache() { - this.pkgcache = new_package_cache() - this.declcache = new_decl_cache(&this.context) - this.autocomplete = new_auto_complete_context(this.pkgcache, this.declcache) -} - -const ( - daemon_close = iota -) - -func (this *daemon) loop() { - conn_in := make(chan net.Conn) - go func() { - for { - c, err := this.listener.Accept() - if err != nil { - panic(err) - } - conn_in <- c - } - }() - - timeout := time.Duration(g_config.CloseTimeout) * time.Second - countdown := time.NewTimer(timeout) - - for { - // handle connections or server CMDs (currently one CMD) - select { - case c := <-conn_in: - rpc.ServeConn(c) - countdown.Reset(timeout) - runtime.GC() - case cmd := <-this.cmd_in: - switch cmd { - case daemon_close: - return - } - case <-countdown.C: - return - } - } -} - -func (this *daemon) close() { - this.cmd_in <- daemon_close -} - -var g_daemon *daemon - -//------------------------------------------------------------------------- -// server_* functions -// -// Corresponding client_* functions are autogenerated by goremote. -//------------------------------------------------------------------------- - -func server_auto_complete(file []byte, filename string, cursor int, context_packed go_build_context) (c []candidate, d int) { - context := unpack_build_context(&context_packed) - defer func() { - if err := recover(); err != nil { - print_backtrace(err) - c = []candidate{ - {"PANIC", "PANIC", decl_invalid}, - } - - // drop cache - g_daemon.drop_cache() - } - }() - // TODO: Probably we don't care about comparing all the fields, checking GOROOT and GOPATH - // should be enough. - if !reflect.DeepEqual(g_daemon.context.Context, context.Context) { - g_daemon.context = context - g_daemon.drop_cache() - } - switch g_config.PackageLookupMode { - case "bzl": - // when package lookup mode is bzl, we set GOPATH to "" explicitly and - // BzlProjectRoot becomes valid (or empty) - var err error - g_daemon.context.GOPATH = "" - g_daemon.context.BzlProjectRoot, err = find_bzl_project_root(g_config.LibPath, filename) - if *g_debug && err != nil { - log.Printf("Bzl project root not found: %s", err) - } - case "gb": - // when package lookup mode is gb, we set GOPATH to "" explicitly and - // GBProjectRoot becomes valid (or empty) - var err error - g_daemon.context.GOPATH = "" - g_daemon.context.GBProjectRoot, err = find_gb_project_root(filename) - if *g_debug && err != nil { - log.Printf("Gb project root not found: %s", err) - } - case "go": - // get current package path for GO15VENDOREXPERIMENT hack - g_daemon.context.CurrentPackagePath = "" - pkg, err := g_daemon.context.ImportDir(filepath.Dir(filename), build.FindOnly) - if err == nil { - if *g_debug { - log.Printf("Go project path: %s", pkg.ImportPath) - } - g_daemon.context.CurrentPackagePath = pkg.ImportPath - } else if *g_debug { - log.Printf("Go project path not found: %s", err) - } - } - if *g_debug { - var buf bytes.Buffer - log.Printf("Got autocompletion request for '%s'\n", filename) - log.Printf("Cursor at: %d\n", cursor) - buf.WriteString("-------------------------------------------------------\n") - buf.Write(file[:cursor]) - buf.WriteString("#") - buf.Write(file[cursor:]) - log.Print(buf.String()) - log.Println("-------------------------------------------------------") - } - candidates, d := g_daemon.autocomplete.apropos(file, filename, cursor) - if *g_debug { - log.Printf("Offset: %d\n", d) - log.Printf("Number of candidates found: %d\n", len(candidates)) - log.Printf("Candidates are:\n") - for _, c := range candidates { - abbr := fmt.Sprintf("%s %s %s", c.Class, c.Name, c.Type) - if c.Class == decl_func { - abbr = fmt.Sprintf("%s %s%s", c.Class, c.Name, c.Type[len("func"):]) - } - log.Printf(" %s\n", abbr) - } - log.Println("=======================================================") - } - return candidates, d -} - -func server_close(notused int) int { - g_daemon.close() - return 0 -} - -func server_status(notused int) string { - return g_daemon.autocomplete.status() -} - -func server_drop_cache(notused int) int { - // drop cache - g_daemon.drop_cache() - return 0 -} - -func server_set(key, value string) string { - if key == "\x00" { - return g_config.list() - } else if value == "\x00" { - return g_config.list_option(key) - } - // drop cache on settings changes - g_daemon.drop_cache() - return g_config.set_option(key, value) -} diff --git a/vendor/github.com/nsf/gocode/utils.go b/vendor/github.com/nsf/gocode/utils.go deleted file mode 100644 index ece34dd..0000000 --- a/vendor/github.com/nsf/gocode/utils.go +++ /dev/null @@ -1,287 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "go/build" - "io/ioutil" - "os" - "path/filepath" - "runtime" - "strings" - "sync" - "unicode/utf8" -) - -// our own readdir, which skips the files it cannot lstat -func readdir_lstat(name string) ([]os.FileInfo, error) { - f, err := os.Open(name) - if err != nil { - return nil, err - } - defer f.Close() - - names, err := f.Readdirnames(-1) - if err != nil { - return nil, err - } - - out := make([]os.FileInfo, 0, len(names)) - for _, lname := range names { - s, err := os.Lstat(filepath.Join(name, lname)) - if err != nil { - continue - } - out = append(out, s) - } - return out, nil -} - -// our other readdir function, only opens and reads -func readdir(dirname string) []os.FileInfo { - f, err := os.Open(dirname) - if err != nil { - return nil - } - fi, err := f.Readdir(-1) - f.Close() - if err != nil { - panic(err) - } - return fi -} - -// returns truncated 'data' and amount of bytes skipped (for cursor pos adjustment) -func filter_out_shebang(data []byte) ([]byte, int) { - if len(data) > 2 && data[0] == '#' && data[1] == '!' { - newline := bytes.Index(data, []byte("\n")) - if newline != -1 && len(data) > newline+1 { - return data[newline+1:], newline + 1 - } - } - return data, 0 -} - -func file_exists(filename string) bool { - _, err := os.Stat(filename) - if err != nil { - return false - } - return true -} - -func is_dir(path string) bool { - fi, err := os.Stat(path) - return err == nil && fi.IsDir() -} - -func char_to_byte_offset(s []byte, offset_c int) (offset_b int) { - for offset_b = 0; offset_c > 0 && offset_b < len(s); offset_b++ { - if utf8.RuneStart(s[offset_b]) { - offset_c-- - } - } - return offset_b -} - -func xdg_home_dir() string { - xdghome := os.Getenv("XDG_CONFIG_HOME") - if xdghome == "" { - xdghome = filepath.Join(os.Getenv("HOME"), ".config") - } - return xdghome -} - -func has_prefix(s, prefix string, ignorecase bool) bool { - if ignorecase { - s = strings.ToLower(s) - prefix = strings.ToLower(prefix) - } - return strings.HasPrefix(s, prefix) -} - -func find_bzl_project_root(libpath, path string) (string, error) { - if libpath == "" { - return "", fmt.Errorf("could not find project root, libpath is empty") - } - - pathMap := map[string]struct{}{} - for _, lp := range strings.Split(libpath, ":") { - lp := strings.TrimSpace(lp) - pathMap[filepath.Clean(lp)] = struct{}{} - } - - path = filepath.Dir(path) - if path == "" { - return "", fmt.Errorf("project root is blank") - } - - start := path - for path != "/" { - if _, ok := pathMap[filepath.Clean(path)]; ok { - return path, nil - } - path = filepath.Dir(path) - } - return "", fmt.Errorf("could not find project root in %q or its parents", start) -} - -// Code taken directly from `gb`, I hope author doesn't mind. -func find_gb_project_root(path string) (string, error) { - path = filepath.Dir(path) - if path == "" { - return "", fmt.Errorf("project root is blank") - } - start := path - for path != "/" { - root := filepath.Join(path, "src") - if _, err := os.Stat(root); err != nil { - if os.IsNotExist(err) { - path = filepath.Dir(path) - continue - } - return "", err - } - path, err := filepath.EvalSymlinks(path) - if err != nil { - return "", err - } - return path, nil - } - return "", fmt.Errorf("could not find project root in %q or its parents", start) -} - -// vendorlessImportPath returns the devendorized version of the provided import path. -// e.g. "foo/bar/vendor/a/b" => "a/b" -func vendorlessImportPath(ipath string) string { - // Devendorize for use in import statement. - if i := strings.LastIndex(ipath, "/vendor/"); i >= 0 { - return ipath[i+len("/vendor/"):] - } - if strings.HasPrefix(ipath, "vendor/") { - return ipath[len("vendor/"):] - } - return ipath -} - -//------------------------------------------------------------------------- -// print_backtrace -// -// a nicer backtrace printer than the default one -//------------------------------------------------------------------------- - -var g_backtrace_mutex sync.Mutex - -func print_backtrace(err interface{}) { - g_backtrace_mutex.Lock() - defer g_backtrace_mutex.Unlock() - fmt.Printf("panic: %v\n", err) - i := 2 - for { - pc, file, line, ok := runtime.Caller(i) - if !ok { - break - } - f := runtime.FuncForPC(pc) - fmt.Printf("%d(%s): %s:%d\n", i-1, f.Name(), file, line) - i++ - } - fmt.Println("") -} - -//------------------------------------------------------------------------- -// File reader goroutine -// -// It's a bad idea to block multiple goroutines on file I/O. Creates many -// threads which fight for HDD. Therefore only single goroutine should read HDD -// at the same time. -//------------------------------------------------------------------------- - -type file_read_request struct { - filename string - out chan file_read_response -} - -type file_read_response struct { - data []byte - error error -} - -type file_reader_type struct { - in chan file_read_request -} - -func new_file_reader() *file_reader_type { - this := new(file_reader_type) - this.in = make(chan file_read_request) - go func() { - var rsp file_read_response - for { - req := <-this.in - rsp.data, rsp.error = ioutil.ReadFile(req.filename) - req.out <- rsp - } - }() - return this -} - -func (this *file_reader_type) read_file(filename string) ([]byte, error) { - req := file_read_request{ - filename, - make(chan file_read_response), - } - this.in <- req - rsp := <-req.out - return rsp.data, rsp.error -} - -var file_reader = new_file_reader() - -//------------------------------------------------------------------------- -// copy of the build.Context without func fields -//------------------------------------------------------------------------- - -type go_build_context struct { - GOARCH string - GOOS string - GOROOT string - GOPATH string - CgoEnabled bool - UseAllFiles bool - Compiler string - BuildTags []string - ReleaseTags []string - InstallSuffix string -} - -func pack_build_context(ctx *build.Context) go_build_context { - return go_build_context{ - GOARCH: ctx.GOARCH, - GOOS: ctx.GOOS, - GOROOT: ctx.GOROOT, - GOPATH: ctx.GOPATH, - CgoEnabled: ctx.CgoEnabled, - UseAllFiles: ctx.UseAllFiles, - Compiler: ctx.Compiler, - BuildTags: ctx.BuildTags, - ReleaseTags: ctx.ReleaseTags, - InstallSuffix: ctx.InstallSuffix, - } -} - -func unpack_build_context(ctx *go_build_context) package_lookup_context { - return package_lookup_context{ - Context: build.Context{ - GOARCH: ctx.GOARCH, - GOOS: ctx.GOOS, - GOROOT: ctx.GOROOT, - GOPATH: ctx.GOPATH, - CgoEnabled: ctx.CgoEnabled, - UseAllFiles: ctx.UseAllFiles, - Compiler: ctx.Compiler, - BuildTags: ctx.BuildTags, - ReleaseTags: ctx.ReleaseTags, - InstallSuffix: ctx.InstallSuffix, - }, - } -} diff --git a/vendor/github.com/visualfc/gotools/LICENSE b/vendor/github.com/visualfc/gotools/LICENSE deleted file mode 100644 index 624d856..0000000 --- a/vendor/github.com/visualfc/gotools/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2015, visualfc -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of gotools nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/vendor/github.com/visualfc/gotools/README.md b/vendor/github.com/visualfc/gotools/README.md deleted file mode 100644 index a8ab9f3..0000000 --- a/vendor/github.com/visualfc/gotools/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# gotools -liteide golang tools diff --git a/vendor/github.com/visualfc/gotools/astview/astdoc.go b/vendor/github.com/visualfc/gotools/astview/astdoc.go deleted file mode 100644 index ae44d3f..0000000 --- a/vendor/github.com/visualfc/gotools/astview/astdoc.go +++ /dev/null @@ -1,685 +0,0 @@ -// Copyright 2009 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. - -// Package doc extracts source code documentation from a Go AST. -package astview - -import ( - "go/ast" - "go/token" - "regexp" - "sort" - "strconv" -) - -// ---------------------------------------------------------------------------- - -type typeDoc struct { - // len(decl.Specs) == 1, and the element type is *ast.TypeSpec - // if the type declaration hasn't been seen yet, decl is nil - decl *ast.GenDecl - // values, factory functions, and methods associated with the type - values []*ast.GenDecl // consts and vars - factories map[string]*ast.FuncDecl - methods map[string]*ast.FuncDecl -} - -// docReader accumulates documentation for a single package. -// It modifies the AST: Comments (declaration documentation) -// that have been collected by the DocReader are set to nil -// in the respective AST nodes so that they are not printed -// twice (once when printing the documentation and once when -// printing the corresponding AST node). -// -type docReader struct { - doc *ast.CommentGroup // package documentation, if any - pkgName string - showAll bool - values []*ast.GenDecl // consts and vars - types map[string]*typeDoc - funcs map[string]*ast.FuncDecl - imports map[string]int - bugs []*ast.CommentGroup -} - -func (doc *docReader) init(pkgName string, showAll bool) { - doc.pkgName = pkgName - doc.showAll = showAll - doc.imports = make(map[string]int) - doc.types = make(map[string]*typeDoc) - doc.funcs = make(map[string]*ast.FuncDecl) -} - -func (doc *docReader) addDoc(comments *ast.CommentGroup) { - if doc.doc == nil { - // common case: just one package comment - doc.doc = comments - return - } - - // More than one package comment: Usually there will be only - // one file with a package comment, but it's better to collect - // all comments than drop them on the floor. - // (This code isn't particularly clever - no amortized doubling is - // used - but this situation occurs rarely and is not time-critical.) - n1 := len(doc.doc.List) - n2 := len(comments.List) - list := make([]*ast.Comment, n1+1+n2) // + 1 for separator line - copy(list, doc.doc.List) - list[n1] = &ast.Comment{token.NoPos, "//"} // separator line - copy(list[n1+1:], comments.List) - doc.doc = &ast.CommentGroup{list} -} - -func (doc *docReader) addType(decl *ast.GenDecl) { - spec := decl.Specs[0].(*ast.TypeSpec) - typ := doc.lookupTypeDoc(spec.Name.Name) - // typ should always be != nil since declared types - // are always named - be conservative and check - if typ != nil { - // a type should be added at most once, so typ.decl - // should be nil - if it isn't, simply overwrite it - typ.decl = decl - } -} - -func (doc *docReader) lookupTypeDoc(name string) *typeDoc { - if name == "" { - return nil // no type docs for anonymous types - } - if tdoc, found := doc.types[name]; found { - return tdoc - } - // type wasn't found - add one without declaration - tdoc := &typeDoc{nil, nil, make(map[string]*ast.FuncDecl), make(map[string]*ast.FuncDecl)} - doc.types[name] = tdoc - return tdoc -} - -func docBaseTypeName(typ ast.Expr, showAll bool) string { - switch t := typ.(type) { - case *ast.Ident: - // if the type is not exported, the effect to - // a client is as if there were no type name - if showAll || t.IsExported() { - return t.Name - } - case *ast.StarExpr: - return docBaseTypeName(t.X, showAll) - } - return "" -} - -func (doc *docReader) addValue(decl *ast.GenDecl) { - // determine if decl should be associated with a type - // Heuristic: For each typed entry, determine the type name, if any. - // If there is exactly one type name that is sufficiently - // frequent, associate the decl with the respective type. - domName := "" - domFreq := 0 - prev := "" - for _, s := range decl.Specs { - if v, ok := s.(*ast.ValueSpec); ok { - name := "" - switch { - case v.Type != nil: - // a type is present; determine its name - name = docBaseTypeName(v.Type, doc.showAll) - case decl.Tok == token.CONST: - // no type is present but we have a constant declaration; - // use the previous type name (w/o more type information - // we cannot handle the case of unnamed variables with - // initializer expressions except for some trivial cases) - name = prev - } - if name != "" { - // entry has a named type - if domName != "" && domName != name { - // more than one type name - do not associate - // with any type - domName = "" - break - } - domName = name - domFreq++ - } - prev = name - } - } - - // determine values list - const threshold = 0.75 - values := &doc.values - if domName != "" && domFreq >= int(float64(len(decl.Specs))*threshold) { - // typed entries are sufficiently frequent - typ := doc.lookupTypeDoc(domName) - if typ != nil { - values = &typ.values // associate with that type - } - } - - *values = append(*values, decl) -} - -// Helper function to set the table entry for function f. Makes sure that -// at least one f with associated documentation is stored in table, if there -// are multiple f's with the same name. -func setFunc(table map[string]*ast.FuncDecl, f *ast.FuncDecl) { - name := f.Name.Name - if g, exists := table[name]; exists && g.Doc != nil { - // a function with the same name has already been registered; - // since it has documentation, assume f is simply another - // implementation and ignore it - // TODO(gri) consider collecting all functions, or at least - // all comments - return - } - // function doesn't exist or has no documentation; use f - table[name] = f -} - -func (doc *docReader) addFunc(fun *ast.FuncDecl) { - name := fun.Name.Name - - // determine if it should be associated with a type - if fun.Recv != nil { - // method - typ := doc.lookupTypeDoc(docBaseTypeName(fun.Recv.List[0].Type, doc.showAll)) - if typ != nil { - // exported receiver type - setFunc(typ.methods, fun) - } - // otherwise don't show the method - // TODO(gri): There may be exported methods of non-exported types - // that can be called because of exported values (consts, vars, or - // function results) of that type. Could determine if that is the - // case and then show those methods in an appropriate section. - return - } - - // perhaps a factory function - // determine result type, if any - if fun.Type.Results.NumFields() >= 1 { - res := fun.Type.Results.List[0] - if len(res.Names) <= 1 { - // exactly one (named or anonymous) result associated - // with the first type in result signature (there may - // be more than one result) - tname := docBaseTypeName(res.Type, doc.showAll) - typ := doc.lookupTypeDoc(tname) - if typ != nil { - // named and exported result type - - // Work-around for failure of heuristic: In package os - // too many functions are considered factory functions - // for the Error type. Eliminate manually for now as - // this appears to be the only important case in the - // current library where the heuristic fails. - if doc.pkgName == "os" && tname == "Error" && - name != "NewError" && name != "NewSyscallError" { - // not a factory function for os.Error - setFunc(doc.funcs, fun) // treat as ordinary function - return - } - - setFunc(typ.factories, fun) - return - } - } - } - - // ordinary function - setFunc(doc.funcs, fun) -} - -func (doc *docReader) addDecl(decl ast.Decl) { - switch d := decl.(type) { - case *ast.GenDecl: - if len(d.Specs) > 0 { - switch d.Tok { - case token.IMPORT: - // imports are handled individually - for _, spec := range d.Specs { - if s, ok := spec.(*ast.ImportSpec); ok { - if import_, err := strconv.Unquote(s.Path.Value); err == nil { - doc.imports[import_] = 1 - } - } - } - case token.CONST, token.VAR: - // constants and variables are always handled as a group - doc.addValue(d) - case token.TYPE: - // types are handled individually - for _, spec := range d.Specs { - // make a (fake) GenDecl node for this TypeSpec - // (we need to do this here - as opposed to just - // for printing - so we don't lose the GenDecl - // documentation) - // - // TODO(gri): Consider just collecting the TypeSpec - // node (and copy in the GenDecl.doc if there is no - // doc in the TypeSpec - this is currently done in - // makeTypeDocs below). Simpler data structures, but - // would lose GenDecl documentation if the TypeSpec - // has documentation as well. - doc.addType(&ast.GenDecl{d.Doc, d.Pos(), token.TYPE, token.NoPos, []ast.Spec{spec}, token.NoPos}) - // A new GenDecl node is created, no need to nil out d.Doc. - } - } - } - case *ast.FuncDecl: - doc.addFunc(d) - } -} - -func copyCommentList(list []*ast.Comment) []*ast.Comment { - return append([]*ast.Comment(nil), list...) -} - -var ( - bug_markers = regexp.MustCompile("^/[/*][ \t]*BUG\\(.*\\):[ \t]*") // BUG(uid): - bug_content = regexp.MustCompile("[^ \n\r\t]+") // at least one non-whitespace char -) - -// addFile adds the AST for a source file to the docReader. -// Adding the same AST multiple times is a no-op. -// -func (doc *docReader) addFile(src *ast.File) { - // add package documentation - if src.Doc != nil { - doc.addDoc(src.Doc) - src.Doc = nil // doc consumed - remove from ast.File node - } - - // add all declarations - for _, decl := range src.Decls { - doc.addDecl(decl) - } - - // collect BUG(...) comments - for _, c := range src.Comments { - text := c.List[0].Text - if m := bug_markers.FindStringIndex(text); m != nil { - // found a BUG comment; maybe empty - if btxt := text[m[1]:]; bug_content.MatchString(btxt) { - // non-empty BUG comment; collect comment without BUG prefix - list := copyCommentList(c.List) - list[0].Text = text[m[1]:] - doc.bugs = append(doc.bugs, &ast.CommentGroup{list}) - } - } - } - src.Comments = nil // consumed unassociated comments - remove from ast.File node -} - -func NewFileDoc(file *ast.File, showAll bool) *PackageDoc { - var r docReader - r.init(file.Name.Name, showAll) - r.addFile(file) - return r.newDoc("", nil) -} - -func NewPackageDoc(pkg *ast.Package, importpath string, showAll bool) *PackageDoc { - var r docReader - r.init(pkg.Name, showAll) - filenames := make([]string, len(pkg.Files)) - i := 0 - for filename, f := range pkg.Files { - r.addFile(f) - filenames[i] = filename - i++ - } - return r.newDoc(importpath, filenames) -} - -// ---------------------------------------------------------------------------- -// Conversion to external representation - -// ValueDoc is the documentation for a group of declared -// values, either vars or consts. -// -type ValueDoc struct { - Doc string - Decl *ast.GenDecl - order int -} - -type sortValueDoc []*ValueDoc - -func (p sortValueDoc) Len() int { return len(p) } -func (p sortValueDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } - -func declName(d *ast.GenDecl) string { - if len(d.Specs) != 1 { - return "" - } - - switch v := d.Specs[0].(type) { - case *ast.ValueSpec: - return v.Names[0].Name - case *ast.TypeSpec: - return v.Name.Name - } - - return "" -} - -func (p sortValueDoc) Less(i, j int) bool { - // sort by name - // pull blocks (name = "") up to top - // in original order - if ni, nj := declName(p[i].Decl), declName(p[j].Decl); ni != nj { - return ni < nj - } - return p[i].order < p[j].order -} - -func makeValueDocs(list []*ast.GenDecl, tok token.Token) []*ValueDoc { - d := make([]*ValueDoc, len(list)) // big enough in any case - n := 0 - for i, decl := range list { - if decl.Tok == tok { - d[n] = &ValueDoc{decl.Doc.Text(), decl, i} - n++ - decl.Doc = nil // doc consumed - removed from AST - } - } - d = d[0:n] - sort.Sort(sortValueDoc(d)) - return d -} - -// FuncDoc is the documentation for a func declaration, -// either a top-level function or a method function. -// -type FuncDoc struct { - Doc string - Recv ast.Expr // TODO(rsc): Would like string here - Name string - Decl *ast.FuncDecl -} - -type sortFuncDoc []*FuncDoc - -func (p sortFuncDoc) Len() int { return len(p) } -func (p sortFuncDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } -func (p sortFuncDoc) Less(i, j int) bool { return p[i].Name < p[j].Name } - -func makeFuncDocs(m map[string]*ast.FuncDecl) []*FuncDoc { - d := make([]*FuncDoc, len(m)) - i := 0 - for _, f := range m { - doc := new(FuncDoc) - doc.Doc = f.Doc.Text() - f.Doc = nil // doc consumed - remove from ast.FuncDecl node - if f.Recv != nil { - doc.Recv = f.Recv.List[0].Type - } - doc.Name = f.Name.Name - doc.Decl = f - d[i] = doc - i++ - } - sort.Sort(sortFuncDoc(d)) - return d -} - -// TypeDoc is the documentation for a declared type. -// Consts and Vars are sorted lists of constants and variables of (mostly) that type. -// Factories is a sorted list of factory functions that return that type. -// Methods is a sorted list of method functions on that type. -type TypeDoc struct { - Doc string - Type *ast.TypeSpec - Consts []*ValueDoc - Vars []*ValueDoc - Funcs []*FuncDoc - Methods []*FuncDoc - Decl *ast.GenDecl - order int -} - -type sortTypeDoc []*TypeDoc - -func (p sortTypeDoc) Len() int { return len(p) } -func (p sortTypeDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } -func (p sortTypeDoc) Less(i, j int) bool { - // sort by name - // pull blocks (name = "") up to top - // in original order - if ni, nj := p[i].Type.Name.Name, p[j].Type.Name.Name; ni != nj { - return ni < nj - } - return p[i].order < p[j].order -} - -// NOTE(rsc): This would appear not to be correct for type ( ) -// blocks, but the doc extractor above has split them into -// individual declarations. -func (doc *docReader) makeTypeDocs(m map[string]*typeDoc) []*TypeDoc { - d := make([]*TypeDoc, len(m)) - i := 0 - for _, old := range m { - // all typeDocs should have a declaration associated with - // them after processing an entire package - be conservative - // and check - if decl := old.decl; decl != nil { - typespec := decl.Specs[0].(*ast.TypeSpec) - t := new(TypeDoc) - doc := typespec.Doc - typespec.Doc = nil // doc consumed - remove from ast.TypeSpec node - if doc == nil { - // no doc associated with the spec, use the declaration doc, if any - doc = decl.Doc - } - decl.Doc = nil // doc consumed - remove from ast.Decl node - t.Doc = doc.Text() - t.Type = typespec - t.Consts = makeValueDocs(old.values, token.CONST) - t.Vars = makeValueDocs(old.values, token.VAR) - t.Funcs = makeFuncDocs(old.factories) - t.Methods = makeFuncDocs(old.methods) - t.Decl = old.decl - t.order = i - d[i] = t - i++ - } else { - // no corresponding type declaration found - move any associated - // values, factory functions, and methods back to the top-level - // so that they are not lost (this should only happen if a package - // file containing the explicit type declaration is missing or if - // an unqualified type name was used after a "." import) - // 1) move values - doc.values = append(doc.values, old.values...) - // 2) move factory functions - for name, f := range old.factories { - doc.funcs[name] = f - } - // 3) move methods - for name, f := range old.methods { - // don't overwrite functions with the same name - if _, found := doc.funcs[name]; !found { - doc.funcs[name] = f - } - } - } - } - d = d[0:i] // some types may have been ignored - sort.Sort(sortTypeDoc(d)) - return d -} - -func makeBugDocs(list []*ast.CommentGroup) []string { - d := make([]string, len(list)) - for i, g := range list { - d[i] = g.Text() - } - return d -} - -// PackageDoc is the documentation for an entire package. -// -type PackageDoc struct { - PackageName string - ImportPath string - Imports []string - Filenames []string - Doc string - Consts []*ValueDoc - Types []*TypeDoc - Vars []*ValueDoc - Funcs []*FuncDoc - Factorys []*FuncDoc - Bugs []string -} - -// newDoc returns the accumulated documentation for the package. -// -func (doc *docReader) newDoc(importpath string, filenames []string) *PackageDoc { - p := new(PackageDoc) - p.PackageName = doc.pkgName - p.ImportPath = importpath - sort.Strings(filenames) - p.Filenames = filenames - p.Doc = doc.doc.Text() - p.Imports = sortedKeys(doc.imports) - // makeTypeDocs may extend the list of doc.values and - // doc.funcs and thus must be called before any other - // function consuming those lists - p.Types = doc.makeTypeDocs(doc.types) - p.Consts = makeValueDocs(doc.values, token.CONST) - p.Vars = makeValueDocs(doc.values, token.VAR) - p.Funcs = makeFuncDocs(doc.funcs) - p.Bugs = makeBugDocs(doc.bugs) - - for _, d := range p.Types { - switch d.Type.Type.(type) { - case *ast.StructType: - p.Factorys = append(p.Factorys, d.Funcs...) - d.Funcs = make([]*FuncDoc, 0) - case *ast.InterfaceType: - p.Factorys = append(p.Factorys, d.Funcs...) - d.Funcs = make([]*FuncDoc, 0) - default: - p.Vars = append(p.Vars, d.Vars...) - d.Vars = make([]*ValueDoc, 0) - p.Consts = append(p.Consts, d.Consts...) - d.Consts = make([]*ValueDoc, 0) - } - } - return p -} - -func sortedKeys(m map[string]int) []string { - list := make([]string, len(m)) - i := 0 - for key := range m { - list[i] = key - i++ - } - sort.Strings(list) - return list -} - -// ---------------------------------------------------------------------------- -// Filtering by name - -type Filter func(string) bool - -func matchFields(fields *ast.FieldList, f Filter) bool { - if fields != nil { - for _, field := range fields.List { - for _, name := range field.Names { - if f(name.Name) { - return true - } - } - } - } - return false -} - -func matchDecl(d *ast.GenDecl, f Filter) bool { - for _, d := range d.Specs { - switch v := d.(type) { - case *ast.ValueSpec: - for _, name := range v.Names { - if f(name.Name) { - return true - } - } - case *ast.TypeSpec: - if f(v.Name.Name) { - return true - } - switch t := v.Type.(type) { - case *ast.StructType: - if matchFields(t.Fields, f) { - return true - } - case *ast.InterfaceType: - if matchFields(t.Methods, f) { - return true - } - } - } - } - return false -} - -func filterValueDocs(a []*ValueDoc, f Filter) []*ValueDoc { - w := 0 - for _, vd := range a { - if matchDecl(vd.Decl, f) { - a[w] = vd - w++ - } - } - return a[0:w] -} - -func filterFuncDocs(a []*FuncDoc, f Filter) []*FuncDoc { - w := 0 - for _, fd := range a { - if f(fd.Name) { - a[w] = fd - w++ - } - } - return a[0:w] -} - -func filterTypeDocs(a []*TypeDoc, f Filter) []*TypeDoc { - w := 0 - for _, td := range a { - n := 0 // number of matches - if matchDecl(td.Decl, f) { - n = 1 - } else { - // type name doesn't match, but we may have matching consts, vars, factories or methods - td.Consts = filterValueDocs(td.Consts, f) - td.Vars = filterValueDocs(td.Vars, f) - td.Funcs = filterFuncDocs(td.Funcs, f) - td.Methods = filterFuncDocs(td.Methods, f) - n += len(td.Consts) + len(td.Vars) + len(td.Funcs) + len(td.Methods) - } - if n > 0 { - a[w] = td - w++ - } - } - return a[0:w] -} - -// Filter eliminates documentation for names that don't pass through the filter f. -// TODO: Recognize "Type.Method" as a name. -// -func (p *PackageDoc) Filter(f Filter) { - p.Consts = filterValueDocs(p.Consts, f) - p.Vars = filterValueDocs(p.Vars, f) - p.Types = filterTypeDocs(p.Types, f) - p.Funcs = filterFuncDocs(p.Funcs, f) - p.Doc = "" // don't show top-level package doc -} diff --git a/vendor/github.com/visualfc/gotools/astview/astview.go b/vendor/github.com/visualfc/gotools/astview/astview.go deleted file mode 100644 index af07319..0000000 --- a/vendor/github.com/visualfc/gotools/astview/astview.go +++ /dev/null @@ -1,346 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package astview - -import ( - "fmt" - "go/ast" - "go/parser" - "go/token" - "io" - "io/ioutil" - "os" - "strings" - - "github.com/visualfc/gotools/command" - - "golang.org/x/tools/go/types" -) - -var Command = &command.Command{ - Run: runAstView, - UsageLine: "astview [-stdin] files...", - Short: "print go files astview", - Long: `print go files astview`, -} - -var astViewStdin bool - -func init() { - Command.Flag.BoolVar(&astViewStdin, "stdin", false, "input from stdin") -} - -func runAstView(cmd *command.Command, args []string) error { - if len(args) == 0 { - cmd.Usage() - return os.ErrInvalid - } - if astViewStdin { - view, err := NewFilePackageSource(args[0], os.Stdin, true) - if err != nil { - fmt.Fprintf(os.Stderr, "astview: %s", err) - command.SetExitStatus(3) - command.Exit() - } - view.PrintTree(os.Stdout) - } else { - err := PrintFilesTree(args, os.Stdout, true) - if err != nil { - fmt.Fprintf(os.Stderr, "astview:%s", err) - command.SetExitStatus(3) - command.Exit() - } - } - return nil -} - -const ( - tag_package = "p" - tag_imports_folder = "+m" - tag_import = "mm" - tag_type = "t" - tag_struct = "s" - tag_interface = "i" - tag_value = "v" - tag_const = "c" - tag_func = "f" - tag_value_folder = "+v" - tag_const_folder = "+c" - tag_func_folder = "+f" - tag_factor_folder = "+tf" - tag_type_method = "tm" - tag_type_factor = "tf" - tag_type_value = "tv" -) - -type PackageView struct { - fset *token.FileSet - pdoc *PackageDoc - pkg *ast.Package - expr bool -} - -var AllFiles []string - -func (p *PackageView) posFileIndex(pos token.Position) int { - var index = -1 - for i := 0; i < len(AllFiles); i++ { - if AllFiles[i] == pos.Filename { - index = i - break - } - } - if index == -1 { - AllFiles = append(AllFiles, pos.Filename) - index = len(AllFiles) - 1 - } - return index -} - -func (p *PackageView) posText(pos token.Position) (s string) { - index := p.posFileIndex(pos) - return fmt.Sprintf("%d:%d:%d", index, pos.Line, pos.Column) -} - -func NewFilePackage(filename string) (*PackageView, error) { - p := new(PackageView) - p.fset = token.NewFileSet() - file, err := parser.ParseFile(p.fset, filename, nil, parser.AllErrors) - if file == nil { - return nil, err - } - m := make(map[string]*ast.File) - m[filename] = file - pkg, err := ast.NewPackage(p.fset, m, nil, nil) - if err != nil { - return nil, err - } - p.pkg = pkg - p.pdoc = NewPackageDoc(pkg, pkg.Name, true) - return p, nil -} - -func NewPackageView(pkg *ast.Package, fset *token.FileSet, expr bool) (*PackageView, error) { - p := new(PackageView) - p.fset = fset - p.pkg = pkg - p.pdoc = NewPackageDoc(pkg, pkg.Name, true) - p.expr = expr - return p, nil -} - -func ParseFiles(fset *token.FileSet, filenames []string, mode parser.Mode) (pkgs map[string]*ast.Package, pkgsfiles []string, first error) { - pkgs = make(map[string]*ast.Package) - for _, filename := range filenames { - if src, err := parser.ParseFile(fset, filename, nil, mode); src != nil { - name := src.Name.Name - pkg, found := pkgs[name] - if !found { - pkg = &ast.Package{ - Name: name, - Files: make(map[string]*ast.File), - } - pkgs[name] = pkg - } - pkg.Files[filename] = src - pkgsfiles = append(pkgsfiles, filename) - } else { - first = err - return - } - } - return -} - -func PrintFilesTree(filenames []string, w io.Writer, expr bool) error { - fset := token.NewFileSet() - pkgs, pkgsfiles, err := ParseFiles(fset, filenames, parser.AllErrors) - if err != nil { - return err - } - AllFiles = pkgsfiles - for i := 0; i < len(AllFiles); i++ { - fmt.Fprintf(w, "@%s\n", AllFiles[i]) - } - for _, pkg := range pkgs { - view, err := NewPackageView(pkg, fset, expr) - if err != nil { - return err - } - view.PrintTree(w) - } - return nil -} - -func NewFilePackageSource(filename string, f *os.File, expr bool) (*PackageView, error) { - src, err := ioutil.ReadAll(f) - if err != nil { - return nil, err - } - p := new(PackageView) - p.fset = token.NewFileSet() - p.expr = expr - file, err := parser.ParseFile(p.fset, filename, src, 0) - if err != nil { - return nil, err - } - m := make(map[string]*ast.File) - m[filename] = file - pkg, err := ast.NewPackage(p.fset, m, nil, nil) - if err != nil { - return nil, err - } - - p.pdoc = NewPackageDoc(pkg, pkg.Name, true) - return p, nil -} - -func (p *PackageView) printFuncsHelper(w io.Writer, funcs []*FuncDoc, level int, tag string, tag_folder string) { - for _, f := range funcs { - pos := p.fset.Position(f.Decl.Pos()) - if p.expr { - fmt.Fprintf(w, "%d,%s,%s,%s@%s\n", level, tag, f.Name, p.posText(pos), types.ExprString(f.Decl.Type)) - } else { - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag, f.Name, p.posText(pos)) - } - } -} - -func (p *PackageView) PrintVars(w io.Writer, vars []*ValueDoc, level int, tag string, tag_folder string) { - if len(tag_folder) > 0 && len(vars) > 0 { - if tag_folder == tag_value_folder { - fmt.Fprintf(w, "%d,%s,Variables\n", level, tag_folder) - } else if tag_folder == tag_const_folder { - fmt.Fprintf(w, "%d,%s,Constants\n", level, tag_folder) - } - level++ - } - for _, v := range vars { - if v.Decl == nil { - continue - } - for _, s := range v.Decl.Specs { - if m, ok := s.(*ast.ValueSpec); ok { - pos := p.fset.Position(m.Pos()) - for i := 0; i < len(m.Names); i++ { - if p.expr && m.Type != nil { - fmt.Fprintf(w, "%d,%s,%s,%s@%s\n", level, tag, m.Names[i], p.posText(pos), types.ExprString(m.Type)) - } else { - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag, m.Names[i], p.posText(pos)) - } - } - } - } - } -} -func (p *PackageView) PrintTypes(w io.Writer, types []*TypeDoc, level int) { - for _, d := range types { - if d.Decl == nil { - continue - } - typespec := d.Decl.Specs[0].(*ast.TypeSpec) - var tag = tag_type - if _, ok := typespec.Type.(*ast.InterfaceType); ok { - tag = tag_interface - } else if _, ok := typespec.Type.(*ast.StructType); ok { - tag = tag_struct - } - pos := p.fset.Position(d.Decl.Pos()) - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag, d.Type.Name, p.posText(pos)) - p.printFuncsHelper(w, d.Funcs, level+1, tag_type_factor, "") - p.printFuncsHelper(w, d.Methods, level+1, tag_type_method, "") - p.PrintTypeFields(w, d.Decl, level+1) - //p.PrintVars(w, d.Consts, level+1, tag_const, "") - //p.PrintVars(w, d.Vars, level+1, tag_value, "") - } -} - -func (p *PackageView) PrintTypeFields(w io.Writer, decl *ast.GenDecl, level int) { - spec, ok := decl.Specs[0].(*ast.TypeSpec) - if ok == false { - return - } - switch d := spec.Type.(type) { - case *ast.StructType: - for _, list := range d.Fields.List { - if list.Names == nil { - continue - } - for _, m := range list.Names { - pos := p.fset.Position(m.Pos()) - if list.Type != nil { - fmt.Fprintf(w, "%d,%s,%s,%s@%s\n", level, tag_type_value, m.Name, p.posText(pos), types.ExprString(list.Type)) - } else { - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag_type_value, m.Name, p.posText(pos)) - } - } - } - case *ast.InterfaceType: - for _, list := range d.Methods.List { - if list.Names == nil { - continue - } - for _, m := range list.Names { - pos := p.fset.Position(m.Pos()) - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag_type_method, m.Name, p.posText(pos)) - } - } - } -} - -func (p *PackageView) PrintHeader(w io.Writer, level int) { - fmt.Fprintf(w, "%d,%s,%s\n", level, tag_package, p.pdoc.PackageName) -} - -func (p *PackageView) PrintImports(w io.Writer, level int, tag, tag_folder string) { - if tag_folder != "" && len(p.pdoc.Imports) > 0 { - fmt.Fprintf(w, "%d,%s,%s\n", level, tag_folder, "Imports") - level++ - } - for _, name := range p.pdoc.Imports { - vname := "\"" + name + "\"" - var ps []string - for _, file := range p.pkg.Files { - for _, v := range file.Imports { - if v.Path.Value == vname { - pos := p.fset.Position(v.Pos()) - ps = append(ps, p.posText(pos)) - } - } - } - fmt.Fprintf(w, "%d,%s,%s,%s\n", level, tag, name, strings.Join(ps, ";")) - } -} - -func (p *PackageView) PrintFuncs(w io.Writer, level int, tag_folder string) { - hasFolder := false - if len(p.pdoc.Funcs) > 0 || len(p.pdoc.Factorys) > 0 { - hasFolder = true - } - if !hasFolder { - return - } - if len(tag_folder) > 0 { - fmt.Fprintf(w, "%d,%s,Functions\n", level, tag_folder) - level++ - } - p.printFuncsHelper(w, p.pdoc.Factorys, level, tag_type_factor, tag_func_folder) - p.printFuncsHelper(w, p.pdoc.Funcs, level, tag_func, tag_func_folder) -} - -func (p *PackageView) PrintPackage(w io.Writer, level int) { - p.PrintHeader(w, level) - level++ - p.PrintImports(w, level, tag_import, tag_imports_folder) - p.PrintVars(w, p.pdoc.Vars, level, tag_value, tag_value_folder) - p.PrintVars(w, p.pdoc.Consts, level, tag_const, tag_const_folder) - p.PrintFuncs(w, level, tag_func_folder) - p.PrintTypes(w, p.pdoc.Types, level) -} - -// level,tag,pos@info -func (p *PackageView) PrintTree(w io.Writer) { - p.PrintPackage(w, 0) -} diff --git a/vendor/github.com/visualfc/gotools/command/command.go b/vendor/github.com/visualfc/gotools/command/command.go deleted file mode 100644 index a20a3fb..0000000 --- a/vendor/github.com/visualfc/gotools/command/command.go +++ /dev/null @@ -1,343 +0,0 @@ -// Copyright 2011 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. - -//modify 2013-2014 visualfc - -package command - -import ( - "bytes" - "flag" - "fmt" - "io" - "log" - "os" - "strings" - "sync" - "text/template" - "unicode" - "unicode/utf8" -) - -// A Command is an implementation of a go command -// like go build or go fix. -type Command struct { - // Run runs the command. - // The args are the arguments after the command name. - Run func(cmd *Command, args []string) error - - // UsageLine is the one-line usage message. - // The first word in the line is taken to be the command name. - UsageLine string - - // Short is the short description shown in the 'go help' output. - Short string - - // Long is the long message shown in the 'go help ' output. - Long string - - // Flag is a set of flags specific to this command. - Flag flag.FlagSet - - // CustomFlags indicates that the command will do its own - // flag parsing. - CustomFlags bool - - Stdin io.Reader - Stdout io.Writer - Stderr io.Writer -} - -// Name returns the command's name: the first word in the usage line. -func (c *Command) Name() string { - name := c.UsageLine - i := strings.Index(name, " ") - if i >= 0 { - name = name[:i] - } - return name -} - -func (c *Command) Usage() { - fmt.Fprintf(os.Stderr, "usage: %s %s\n", AppName, c.UsageLine) - c.Flag.SetOutput(os.Stderr) - c.Flag.PrintDefaults() - //fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) - os.Exit(2) -} - -func (c *Command) PrintUsage() { - fmt.Fprintf(Stderr, "usage: %s %s\n", AppName, c.UsageLine) - c.Flag.SetOutput(Stderr) - c.Flag.PrintDefaults() -} - -// Runnable reports whether the command can be run; otherwise -// it is a documentation pseudo-command such as importpath. -func (c *Command) Runnable() bool { - return c.Run != nil -} - -func (c *Command) Println(args ...interface{}) { - fmt.Fprintln(c.Stdout, args...) -} - -func (c *Command) Printf(format string, args ...interface{}) { - fmt.Fprintf(c.Stdout, format, args...) -} - -var commands []*Command - -func Register(cmd *Command) { - commands = append(commands, cmd) -} - -func CommandList() (cmds []string) { - for _, cmd := range commands { - cmds = append(cmds, cmd.Name()) - } - return -} - -var exitStatus = 0 -var exitMu sync.Mutex - -func SetExitStatus(n int) { - exitMu.Lock() - if exitStatus < n { - exitStatus = n - } - exitMu.Unlock() -} - -var ( - Stdout io.Writer = os.Stdout - Stderr io.Writer = os.Stderr - Stdin io.Reader = os.Stdin -) - -func RunArgs(arguments []string, stdin io.Reader, stdout io.Writer, stderr io.Writer) error { - flag.CommandLine.Parse(arguments) - args := flag.Args() - if len(args) < 1 { - printUsage(os.Stderr) - return os.ErrInvalid - } - - if len(args) == 1 && strings.TrimSpace(args[0]) == "" { - printUsage(os.Stderr) - return os.ErrInvalid - } - - if args[0] == "help" { - if !help(args[1:]) { - return os.ErrInvalid - } - return nil - } - - for _, cmd := range commands { - if cmd.Name() == args[0] && cmd.Run != nil { - cmd.Flag.Usage = func() { cmd.Usage() } - if cmd.CustomFlags { - args = args[1:] - } else { - cmd.Flag.Parse(args[1:]) - args = cmd.Flag.Args() - } - cmd.Stdin = stdin - cmd.Stdout = stdout - cmd.Stderr = stderr - return cmd.Run(cmd, args) - } - } - - fmt.Fprintf(os.Stderr, "%s: unknown subcommand %q\nRun '%s help' for usage.\n", - AppName, args[0], AppName) - return os.ErrInvalid -} - -func Main() { - flag.Usage = usage - flag.Parse() - log.SetFlags(0) - - args := flag.Args() - if len(args) < 1 { - usage() - } - - if len(args) == 1 && strings.TrimSpace(args[0]) == "" { - usage() - } - - if args[0] == "help" { - if !help(args[1:]) { - os.Exit(2) - } - return - } - - for _, cmd := range commands { - if cmd.Name() == args[0] && cmd.Run != nil { - cmd.Flag.Usage = func() { cmd.Usage() } - if cmd.CustomFlags { - args = args[1:] - } else { - cmd.Flag.Parse(args[1:]) - args = cmd.Flag.Args() - } - cmd.Stdin = Stdin - cmd.Stdout = Stdout - cmd.Stderr = Stderr - cmd.Run(cmd, args) - Exit() - return - } - } - - fmt.Fprintf(os.Stderr, "%s: unknown subcommand %q\nRun '%s help' for usage.\n", - AppName, args[0], AppName) - SetExitStatus(2) - Exit() -} - -var AppInfo string = "LiteIDE golang tool." -var AppName string = "tools" - -var usageTemplate = ` -Usage: - - {{AppName}} command [arguments] - -The commands are: -{{range .}}{{if .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "{{AppName}} help [command]" for more information about a command. - -Additional help topics: -{{range .}}{{if not .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "{{AppName}} help [topic]" for more information about that topic. - -` - -var helpTemplate = `{{if .Runnable}}usage: {{AppName}} {{.UsageLine}} - -{{end}}{{.Long | trim}} -` - -var documentationTemplate = `// -/* -{{range .}}{{if .Short}}{{.Short | capitalize}} - -{{end}}{{if .Runnable}}Usage: - - {{AppName}} {{.UsageLine}} - -{{end}}{{.Long | trim}} - - -{{end}}*/ -package main -` - -// tmpl executes the given template text on data, writing the result to w. -func tmpl(w io.Writer, text string, data interface{}) { - t := template.New("top") - t.Funcs(template.FuncMap{"trim": strings.TrimSpace, "capitalize": capitalize}) - template.Must(t.Parse(text)) - if err := t.Execute(w, data); err != nil { - panic(err) - } -} - -func capitalize(s string) string { - if s == "" { - return s - } - r, n := utf8.DecodeRuneInString(s) - return string(unicode.ToTitle(r)) + s[n:] -} - -func printUsage(w io.Writer) { - if len(AppInfo) > 0 { - fmt.Fprintln(w, AppInfo) - } - tmpl(w, strings.Replace(usageTemplate, "{{AppName}}", AppName, -1), commands) -} - -func usage() { - printUsage(os.Stderr) - os.Exit(2) -} - -// help implements the 'help' command. -func help(args []string) bool { - if len(args) == 0 { - printUsage(os.Stdout) - // not exit 2: succeeded at 'go help'. - return true - } - if len(args) != 1 { - fmt.Fprintf(os.Stderr, "usage: %s help command\n\nToo many arguments given.\n", AppName) - return false - } - - arg := args[0] - - // 'go help documentation' generates doc.go. - if arg == "documentation" { - buf := new(bytes.Buffer) - printUsage(buf) - usage := &Command{Long: buf.String()} - tmpl(os.Stdout, strings.Replace(documentationTemplate, "{{AppName}}", AppName, -1), append([]*Command{usage}, commands...)) - return false - } - - for _, cmd := range commands { - if cmd.Name() == arg { - tmpl(os.Stdout, strings.Replace(helpTemplate, "{{AppName}}", AppName, -1), cmd) - // not exit 2: succeeded at 'go help cmd'. - return true - } - } - - fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run '%s help'.\n", arg, AppName) - //os.Exit(2) // failed at 'go help cmd' - return false -} - -var atexitFuncs []func() - -func Atexit(f func()) { - atexitFuncs = append(atexitFuncs, f) -} - -func Exit() { - for _, f := range atexitFuncs { - f() - } - os.Exit(exitStatus) -} - -func Fatalf(format string, args ...interface{}) { - Errorf(format, args...) - Exit() -} - -func Errorf(format string, args ...interface{}) { - log.Printf(format, args...) - SetExitStatus(1) -} - -var logf = log.Printf - -func ExitIfErrors() { - if exitStatus != 0 { - Exit() - } -} diff --git a/vendor/github.com/visualfc/gotools/command/version.go b/vendor/github.com/visualfc/gotools/command/version.go deleted file mode 100644 index 0a88780..0000000 --- a/vendor/github.com/visualfc/gotools/command/version.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package command - -import ( - "os" - "runtime" -) - -func init() { - Register(cmdVersion) -} - -var AppVersion string = "1.0" - -var cmdVersion = &Command{ - Run: runVersion, - UsageLine: "version", - Short: "print tool version", - Long: `Version prints the version.`, -} - -func runVersion(cmd *Command, args []string) error { - if len(args) != 0 { - cmd.PrintUsage() - return os.ErrInvalid - } - - cmd.Printf("%s version %s [%s %s/%s]\n", AppName, AppVersion, runtime.Version(), runtime.GOOS, runtime.GOARCH) - return nil -} diff --git a/vendor/github.com/visualfc/gotools/doc.go b/vendor/github.com/visualfc/gotools/doc.go deleted file mode 100644 index 2a2e1c4..0000000 --- a/vendor/github.com/visualfc/gotools/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -gotools document -*/ -package main diff --git a/vendor/github.com/visualfc/gotools/docview/dirtrees.go b/vendor/github.com/visualfc/gotools/docview/dirtrees.go deleted file mode 100644 index 2293e00..0000000 --- a/vendor/github.com/visualfc/gotools/docview/dirtrees.go +++ /dev/null @@ -1,352 +0,0 @@ -// 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. - -// This file contains the code dealing with package directory trees. - -package docview - -import ( - "bytes" - "go/doc" - "go/parser" - "go/token" - "log" - "os" - "path/filepath" - "strings" - "unicode" -) - -type Directory struct { - Depth int - Path string // includes Name - Name string - Text string // package documentation, if any - Dirs []*Directory // subdirectories -} - -//func isGoFile(fi os.FileInfo) bool { -// name := fi.Name() -// return !fi.IsDir() && -// len(name) > 0 && name[0] != '.' && // ignore .files -// filepath.Ext(name) == ".go" -//} - -func isGoFile(f os.FileInfo) bool { - // ignore non-Go files - name := f.Name() - return !f.IsDir() && !strings.HasPrefix(name, ".") && strings.HasSuffix(name, ".go") -} - -func isPkgFile(fi os.FileInfo) bool { - return isGoFile(fi) && - !strings.HasSuffix(fi.Name(), "_test.go") // ignore test files -} - -func isPkgDir(fi os.FileInfo) bool { - name := fi.Name() - return fi.IsDir() && len(name) > 0 && - name[0] != '_' && name[0] != '.' // ignore _files and .files -} - -func firstSentence(s string) string { - i := -1 // index+1 of first terminator (punctuation ending a sentence) - j := -1 // index+1 of first terminator followed by white space - prev := 'A' - for k, ch := range s { - k1 := k + 1 - if ch == '.' || ch == '!' || ch == '?' { - if i < 0 { - i = k1 // first terminator - } - if k1 < len(s) && s[k1] <= ' ' { - if j < 0 { - j = k1 // first terminator followed by white space - } - if !unicode.IsUpper(prev) { - j = k1 - break - } - } - } - prev = ch - } - - if j < 0 { - // use the next best terminator - j = i - if j < 0 { - // no terminator at all, use the entire string - j = len(s) - } - } - - return s[0:j] -} - -type treeBuilder struct { - pathFilter func(string) bool - maxDepth int -} - -func (b *treeBuilder) newDirTree(fset *token.FileSet, path, name string, depth int) *Directory { - if b.pathFilter != nil && !b.pathFilter(path) { - return nil - } - - if depth >= b.maxDepth { - // return a dummy directory so that the parent directory - // doesn't get discarded just because we reached the max - // directory depth - return &Directory{depth, path, name, "", nil} - } - - list, err := fs.ReadDir(path) - if err != nil { - // newDirTree is called with a path that should be a package - // directory; errors here should not happen, but if they do, - // we want to know about them - log.Printf("ReadDir(%s): %s", path, err) - } - - // determine number of subdirectories and if there are package files - ndirs := 0 - hasPkgFiles := false - var synopses [4]string // prioritized package documentation (0 == highest priority) - for _, d := range list { - switch { - case isPkgDir(d): - ndirs++ - case isPkgFile(d): - // looks like a package file, but may just be a file ending in ".go"; - // don't just count it yet (otherwise we may end up with hasPkgFiles even - // though the directory doesn't contain any real package files - was bug) - if synopses[0] == "" { - // no "optimal" package synopsis yet; continue to collect synopses - //file, err := parseFile(fset, filepath.Join(path, d.Name()), - //parser.ParseComments|parser.PackageClauseOnly) - file, err := parser.ParseFile(fset, filepath.Join(path, d.Name()), nil, - parser.ParseComments|parser.PackageClauseOnly) - - if err == nil { - hasPkgFiles = true - if file.Doc != nil { - // prioritize documentation - i := -1 - switch file.Name.Name { - case name: - i = 0 // normal case: directory name matches package name - case fakePkgName: - i = 1 // synopses for commands - case "main": - i = 2 // directory contains a main package - default: - i = 3 // none of the above - } - if 0 <= i && i < len(synopses) && synopses[i] == "" { - synopses[i] = doc.Synopsis(file.Doc.Text()) - } - } - } - } - } - } - - // create subdirectory tree - var dirs []*Directory - if ndirs > 0 { - dirs = make([]*Directory, ndirs) - i := 0 - for _, d := range list { - if isPkgDir(d) { - name := d.Name() - dd := b.newDirTree(fset, filepath.Join(path, name), name, depth+1) - if dd != nil { - dirs[i] = dd - i++ - } - } - } - dirs = dirs[0:i] - } - - // if there are no package files and no subdirectories - // containing package files, ignore the directory - if !hasPkgFiles && len(dirs) == 0 { - return nil - } - - // select the highest-priority synopsis for the directory entry, if any - synopsis := "" - for _, synopsis = range synopses { - if synopsis != "" { - break - } - } - - return &Directory{depth, path, name, synopsis, dirs} -} - -// newDirectory creates a new package directory tree with at most maxDepth -// levels, anchored at root. The result tree is pruned such that it only -// contains directories that contain package files or that contain -// subdirectories containing package files (transitively). If a non-nil -// pathFilter is provided, directory paths additionally must be accepted -// by the filter (i.e., pathFilter(path) must be true). If a value >= 0 is -// provided for maxDepth, nodes at larger depths are pruned as well; they -// are assumed to contain package files even if their contents are not known -// (i.e., in this case the tree may contain directories w/o any package files). -// -func newDirectory(root string, pathFilter func(string) bool, maxDepth int) *Directory { - // The root could be a symbolic link so use Stat not Lstat. - d, err := fs.Stat(root) - // If we fail here, report detailed error messages; otherwise - // is is hard to see why a directory tree was not built. - switch { - case err != nil: - log.Printf("newDirectory(%s): %s", root, err) - return nil - case !isPkgDir(d): - log.Printf("newDirectory(%s): not a package directory", root) - return nil - } - if maxDepth < 0 { - maxDepth = 1e6 // "infinity" - } - b := treeBuilder{pathFilter, maxDepth} - // the file set provided is only for local parsing, no position - // information escapes and thus we don't need to save the set - return b.newDirTree(token.NewFileSet(), root, d.Name(), 0) -} - -func (dir *Directory) writeLeafs(buf *bytes.Buffer) { - if dir != nil { - if len(dir.Dirs) == 0 { - buf.WriteString(dir.Path) - buf.WriteByte('\n') - return - } - - for _, d := range dir.Dirs { - d.writeLeafs(buf) - } - } -} - -func (dir *Directory) walk(c chan<- *Directory, skipRoot bool) { - if dir != nil { - if !skipRoot { - c <- dir - } - for _, d := range dir.Dirs { - d.walk(c, false) - } - } -} - -func (dir *Directory) iter(skipRoot bool) <-chan *Directory { - c := make(chan *Directory) - go func() { - dir.walk(c, skipRoot) - close(c) - }() - return c -} - -func (dir *Directory) lookupLocal(name string) *Directory { - for _, d := range dir.Dirs { - if d.Name == name { - return d - } - } - return nil -} - -// lookup looks for the *Directory for a given path, relative to dir. -func (dir *Directory) lookup(path string) *Directory { - d := strings.Split(dir.Path, string(filepath.Separator)) - p := strings.Split(path, string(filepath.Separator)) - i := 0 - for i < len(d) { - if i >= len(p) || d[i] != p[i] { - return nil - } - i++ - } - for dir != nil && i < len(p) { - dir = dir.lookupLocal(p[i]) - i++ - } - return dir -} - -// DirEntry describes a directory entry. The Depth and Height values -// are useful for presenting an entry in an indented fashion. -// -type DirEntry struct { - Depth int // >= 0 - Height int // = DirList.MaxHeight - Depth, > 0 - Path string // includes Name, relative to DirList root - Name string - Synopsis string -} - -type DirList struct { - MaxHeight int // directory tree height, > 0 - List []DirEntry -} - -// listing creates a (linear) directory listing from a directory tree. -// If skipRoot is set, the root directory itself is excluded from the list. -// -func (root *Directory) listing(skipRoot bool) *DirList { - if root == nil { - return nil - } - - // determine number of entries n and maximum height - n := 0 - minDepth := 1 << 30 // infinity - maxDepth := 0 - for d := range root.iter(skipRoot) { - n++ - if minDepth > d.Depth { - minDepth = d.Depth - } - if maxDepth < d.Depth { - maxDepth = d.Depth - } - } - maxHeight := maxDepth - minDepth + 1 - - if n == 0 { - return nil - } - - // create list - list := make([]DirEntry, n) - i := 0 - for d := range root.iter(skipRoot) { - p := &list[i] - p.Depth = d.Depth - minDepth - p.Height = maxHeight - p.Depth - // the path is relative to root.Path - remove the root.Path - // prefix (the prefix should always be present but avoid - // crashes and check) - path := d.Path - if strings.HasPrefix(d.Path, root.Path) { - path = d.Path[len(root.Path):] - } - // remove trailing separator if any - path must be relative - if len(path) > 0 && path[0] == filepath.Separator { - path = path[1:] - } - p.Path = filepath.ToSlash(path) - p.Name = d.Name - p.Synopsis = d.Text - i++ - } - - return &DirList{maxHeight, list} -} diff --git a/vendor/github.com/visualfc/gotools/docview/docview.go b/vendor/github.com/visualfc/gotools/docview/docview.go deleted file mode 100644 index 85d96b6..0000000 --- a/vendor/github.com/visualfc/gotools/docview/docview.go +++ /dev/null @@ -1,407 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package docview - -import ( - "bytes" - "fmt" - "go/build" - "io" - "log" - "os" - "path/filepath" - "runtime" - "strconv" - "strings" - "text/template" - "time" - - "github.com/visualfc/gotools/command" -) - -var Command = &command.Command{ - Run: runDocView, - UsageLine: "docview [-mode] [-list|-find]", - Short: "golang docview util", - Long: `golang docview util`, -} - -var goroot = runtime.GOROOT() - -var docViewFind string -var docViewList string -var docViewMode string - -func init() { - Command.Flag.StringVar(&docViewFind, "find", "", "find package list, :pkg flag is best match") - Command.Flag.StringVar(&docViewList, "list", "", "Print go packages list [pkg|cmd]") - Command.Flag.StringVar(&docViewMode, "mode", "text", "Print mode [text|html|lite]") -} - -func runDocView(cmd *command.Command, args []string) error { - if docViewFind == "" && docViewList == "" { - cmd.Usage() - return os.ErrInvalid - } - - var template string - var info *Info - if len(docViewList) > 0 { - pkgPath := filepath.Join(goroot, "src", docViewList) - if docViewList == "pkg" { - _, err := os.Stat(pkgPath) - if err != nil { - pkgPath = filepath.Join(goroot, "src") - } - } - info = NewListInfo(pkgPath) - if info != nil { - if docViewList == "pkg" { - var filterList []DirEntry - for _, v := range info.Dirs.List { - if v.Path == "cmd" { - continue - } - if strings.HasPrefix(v.Path, "cmd/") { - continue - } - if strings.Contains(v.Path, "/testdata") { - continue - } - filterList = append(filterList, v) - } - info.Dirs.List = filterList - } else if docViewList == "cmd" { - var filterList []DirEntry - for _, v := range info.Dirs.List { - if strings.Contains(v.Path, "/") { - continue - } - if strings.Contains(v.Path, "internal") { - continue - } - filterList = append(filterList, v) - } - info.Dirs.List = filterList - } - } - switch docViewMode { - case "html": - template = listHTML - case "lite": - template = listLite - case "text": - template = listText - default: - template = listText - } - } else if len(docViewFind) > 0 { - dir := NewSourceDir(goroot) - info = dir.FindInfo(docViewFind) - switch docViewMode { - case "html": - template = findHTML - case "lite": - template = findLite - case "text": - template = findText - default: - template = findText - } - } - if info == nil { - fmt.Fprintf(os.Stderr, "\n") - command.SetExitStatus(3) - command.Exit() - } - contents := info.GetPkgList(docViewMode, template) - fmt.Fprintf(os.Stdout, "%s", contents) - return nil -} - -var ( - fs FileSystem = OS // the underlying file system -) - -// Fake package file and name for commands. Contains the command documentation. -const fakePkgFile = "doc.go" -const fakePkgName = "documentation" - -func textFmt(w io.Writer, format string, x ...interface{}) { - var buf bytes.Buffer - fmt.Fprint(&buf, x) - template.HTMLEscape(w, buf.Bytes()) -} - -func pathEscFmt(w io.Writer, format string, x ...interface{}) { - switch v := x[0].(type) { - case []byte: - template.HTMLEscape(w, v) - case string: - template.HTMLEscape(w, []byte(filepath.ToSlash(v))) - default: - var buf bytes.Buffer - fmt.Fprint(&buf, x) - template.HTMLEscape(w, buf.Bytes()) - } -} - -func htmlEscFmt(w io.Writer, format string, x ...interface{}) { - switch v := x[0].(type) { - case int: - template.HTMLEscape(w, []byte(strconv.Itoa(v))) - case []byte: - template.HTMLEscape(w, v) - case string: - template.HTMLEscape(w, []byte(v)) - default: - var buf bytes.Buffer - fmt.Fprint(&buf, x) - template.HTMLEscape(w, buf.Bytes()) - } -} - -// Template formatter for "padding" format. -func paddingFmt(w io.Writer, format string, x ...interface{}) { - for i := x[0].(int); i > 0; i-- { - fmt.Fprint(w, ``) - } -} - -// Template formatter for "time" format. -func timeFmt(w io.Writer, format string, x ...interface{}) { - template.HTMLEscape(w, []byte(time.Unix(x[0].(int64)/1e9, 0).String())) -} - -var fmap = template.FuncMap{ - "repeat": strings.Repeat, -} - -func readTemplateData(name, data string) *template.Template { - return template.Must(template.New(name).Funcs(fmap).Parse(data)) -} - -func readTemplateFile(name, path string) *template.Template { - return template.Must(template.New(name).Funcs(fmap).ParseFiles(path)) -} - -func applyTemplate(t *template.Template, name string, data interface{}) []byte { - var buf bytes.Buffer - if err := t.Execute(&buf, data); err != nil { - log.Printf("%s.Execute: %s", name, err) - } - return buf.Bytes() -} - -type Info struct { - Find string - Best *DirEntry - Dirs *DirList -} - -type GodocDir struct { - pkg *Directory - cmd *Directory - gopath []*Directory -} - -func NewSourceDir(goroot string) *GodocDir { - pkgPath := filepath.Join(goroot, "src/pkg") - _, err := os.Stat(pkgPath) - var cmd *Directory - if err != nil { - pkgPath = filepath.Join(goroot, "src") - } else { - cmd = newDirectory(filepath.Join(goroot, "src", "cmd"), nil, -1) - } - pkg := newDirectory(pkgPath, nil, -1) - ctx := build.Default - ctx.GOROOT = "" - var gopath []*Directory - for _, v := range ctx.SrcDirs() { - gopath = append(gopath, newDirectory(v, nil, -1)) - } - return &GodocDir{pkg, cmd, gopath} -} - -func (dir *GodocDir) FindInfo(name string) *Info { - max1, best1, list1 := FindDir(dir.pkg, name) - max2, best2, list2 := FindDir(dir.cmd, name) - var maxHeight int - if max1 >= max2 { - maxHeight = max1 - } else { - maxHeight = max2 - } - var best *DirEntry - if best1 != nil { - best = best1 - if best2 != nil { - list2 = append(list2, *best2) - } - } else { - best = best2 - } - var list []DirEntry - list = append(list, list1...) - list = append(list, list2...) - for _, v := range dir.gopath { - max3, best3, list3 := FindDir(v, name) - if max3 > maxHeight { - maxHeight = max3 - } - if best == nil { - best = best3 - } - list = append(list, list3...) - } - return &Info{name, best, &DirList{maxHeight, list}} -} - -func FindDir(dir *Directory, pkgname string) (maxHeight int, best *DirEntry, list []DirEntry) { - if dir == nil { - return - } - dirList := dir.listing(true) - max := len(dirList.List) - maxHeight = dirList.MaxHeight - - for i := 0; i < max; i++ { - name := dirList.List[i].Name - path := filepath.ToSlash(dirList.List[i].Path) - if name == pkgname || path == pkgname { - best = &dirList.List[i] - } else if strings.Contains(path, pkgname) { - list = append(list, dirList.List[i]) - } - } - return -} - -func appendList(list1, list2 []DirEntry) []DirEntry { - list := list1 - max := len(list2) - for i := 0; i < max; i++ { - list = append(list, list2[i]) - } - return list -} - -func NewListInfo(root string) *Info { - dir := newDirectory(root, nil, -1) - if dir == nil { - return nil - } - return &Info{"", nil, dir.listing(true)} -} - -func FindPkgInfo(root string, pkgname string) *Info { - dir := newDirectory(root, nil, -1) - if dir == nil { - return nil - } - dirList := dir.listing(true) - if pkgname == "*" { - return &Info{pkgname, nil, dirList} - } - var best DirEntry - var list []DirEntry - max := len(dirList.List) - for i := 0; i < max; i++ { - name := dirList.List[i].Name - path := filepath.ToSlash(dirList.List[i].Path) - if name == pkgname || path == pkgname { - best = dirList.List[i] - } else if strings.Contains(path, pkgname) { - list = append(list, dirList.List[i]) - } - } - return &Info{pkgname, &best, &DirList{dirList.MaxHeight, list}} -} - -func (info *Info) GetPkgList(name, templateData string) []byte { - data := readTemplateData(name, templateData) - return applyTemplate(data, "pkglist", info) -} - -var listHTML = ` -

-Need more packages? The -Package Dashboard -provides a list of goinstallable packages. -

-

Subdirectories

-

-{{with .Dirs}} -

- - - - - - - {{range .List}} - - {{repeat "" .Depth}} - - - - - {{end}} -
Name Synopsis
{{html .Name}}{{html .Synopsis}}
-

-{{end}}` - -var listText = `$list -{{with .Dirs}} -{{range .List}}{{.Path }} -{{end}} -{{end}}` - -var listLite = `$list{{with .Dirs}}{{range .List}},{{.Path}}{{end}}{{end}}` - -var findHTML = ` -

-Need more packages? The -Package Dashboard -provides a list of goinstallable packages. -

-

Subdirectories

- - - - - - {{with .Best}} - - - - - - {{end}} - {{with .Dirs}} - - - - - - {{range .List}} - - - - - - {{end}} -
Best Synopsis
{{.Path}}{{html .Synopsis}}
Match Synopsis
{{.Path}}{{html .Synopsis}}
-

-{{end}}` - -var findText = `$best -{{with .Best}}{{.Path}}{{end}} -$list -{{with .Dirs}}{{range .List}}{{.Path}} -{{end}}{{end}}` - -var findLite = `$find,{{with .Best}}{{.Path}}{{end}}{{with .Dirs}}{{range .List}},{{.Path}}{{end}}{{end}}` diff --git a/vendor/github.com/visualfc/gotools/docview/docx.go b/vendor/github.com/visualfc/gotools/docview/docx.go deleted file mode 100644 index 01a9355..0000000 --- a/vendor/github.com/visualfc/gotools/docview/docx.go +++ /dev/null @@ -1,668 +0,0 @@ -// Copyright 2009 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. - -// Package doc extracts source code documentation from a Go AST. -package docview - -import ( - "go/ast" - "go/token" - "regexp" - "sort" - "strconv" -) - -// ---------------------------------------------------------------------------- - -type typeDoc struct { - // len(decl.Specs) == 1, and the element type is *ast.TypeSpec - // if the type declaration hasn't been seen yet, decl is nil - decl *ast.GenDecl - // values, factory functions, and methods associated with the type - values []*ast.GenDecl // consts and vars - factories map[string]*ast.FuncDecl - methods map[string]*ast.FuncDecl -} - -// docReader accumulates documentation for a single package. -// It modifies the AST: Comments (declaration documentation) -// that have been collected by the DocReader are set to nil -// in the respective AST nodes so that they are not printed -// twice (once when printing the documentation and once when -// printing the corresponding AST node). -// -type docReader struct { - doc *ast.CommentGroup // package documentation, if any - pkgName string - showAll bool - values []*ast.GenDecl // consts and vars - types map[string]*typeDoc - funcs map[string]*ast.FuncDecl - imports map[string]int - bugs []*ast.CommentGroup -} - -func (doc *docReader) init(pkgName string, showAll bool) { - doc.pkgName = pkgName - doc.showAll = showAll - doc.imports = make(map[string]int) - doc.types = make(map[string]*typeDoc) - doc.funcs = make(map[string]*ast.FuncDecl) -} - -func (doc *docReader) addDoc(comments *ast.CommentGroup) { - if doc.doc == nil { - // common case: just one package comment - doc.doc = comments - return - } - - // More than one package comment: Usually there will be only - // one file with a package comment, but it's better to collect - // all comments than drop them on the floor. - // (This code isn't particularly clever - no amortized doubling is - // used - but this situation occurs rarely and is not time-critical.) - n1 := len(doc.doc.List) - n2 := len(comments.List) - list := make([]*ast.Comment, n1+1+n2) // + 1 for separator line - copy(list, doc.doc.List) - list[n1] = &ast.Comment{token.NoPos, "//"} // separator line - copy(list[n1+1:], comments.List) - doc.doc = &ast.CommentGroup{list} -} - -func (doc *docReader) addType(decl *ast.GenDecl) { - spec := decl.Specs[0].(*ast.TypeSpec) - typ := doc.lookupTypeDoc(spec.Name.Name) - // typ should always be != nil since declared types - // are always named - be conservative and check - if typ != nil { - // a type should be added at most once, so typ.decl - // should be nil - if it isn't, simply overwrite it - typ.decl = decl - } -} - -func (doc *docReader) lookupTypeDoc(name string) *typeDoc { - if name == "" { - return nil // no type docs for anonymous types - } - if tdoc, found := doc.types[name]; found { - return tdoc - } - // type wasn't found - add one without declaration - tdoc := &typeDoc{nil, nil, make(map[string]*ast.FuncDecl), make(map[string]*ast.FuncDecl)} - doc.types[name] = tdoc - return tdoc -} - -func docBaseTypeName(typ ast.Expr, showAll bool) string { - switch t := typ.(type) { - case *ast.Ident: - // if the type is not exported, the effect to - // a client is as if there were no type name - if showAll || t.IsExported() { - return t.Name - } - case *ast.StarExpr: - return docBaseTypeName(t.X, showAll) - } - return "" -} - -func (doc *docReader) addValue(decl *ast.GenDecl) { - // determine if decl should be associated with a type - // Heuristic: For each typed entry, determine the type name, if any. - // If there is exactly one type name that is sufficiently - // frequent, associate the decl with the respective type. - domName := "" - domFreq := 0 - prev := "" - for _, s := range decl.Specs { - if v, ok := s.(*ast.ValueSpec); ok { - name := "" - switch { - case v.Type != nil: - // a type is present; determine its name - name = docBaseTypeName(v.Type, doc.showAll) - case decl.Tok == token.CONST: - // no type is present but we have a constant declaration; - // use the previous type name (w/o more type information - // we cannot handle the case of unnamed variables with - // initializer expressions except for some trivial cases) - name = prev - } - if name != "" { - // entry has a named type - if domName != "" && domName != name { - // more than one type name - do not associate - // with any type - domName = "" - break - } - domName = name - domFreq++ - } - prev = name - } - } - - // determine values list - const threshold = 0.75 - values := &doc.values - if domName != "" && domFreq >= int(float64(len(decl.Specs))*threshold) { - // typed entries are sufficiently frequent - typ := doc.lookupTypeDoc(domName) - if typ != nil { - values = &typ.values // associate with that type - } - } - - *values = append(*values, decl) -} - -// Helper function to set the table entry for function f. Makes sure that -// at least one f with associated documentation is stored in table, if there -// are multiple f's with the same name. -func setFunc(table map[string]*ast.FuncDecl, f *ast.FuncDecl) { - name := f.Name.Name - if g, exists := table[name]; exists && g.Doc != nil { - // a function with the same name has already been registered; - // since it has documentation, assume f is simply another - // implementation and ignore it - // TODO(gri) consider collecting all functions, or at least - // all comments - return - } - // function doesn't exist or has no documentation; use f - table[name] = f -} - -func (doc *docReader) addFunc(fun *ast.FuncDecl) { - name := fun.Name.Name - - // determine if it should be associated with a type - if fun.Recv != nil { - // method - typ := doc.lookupTypeDoc(docBaseTypeName(fun.Recv.List[0].Type, doc.showAll)) - if typ != nil { - // exported receiver type - setFunc(typ.methods, fun) - } - // otherwise don't show the method - // TODO(gri): There may be exported methods of non-exported types - // that can be called because of exported values (consts, vars, or - // function results) of that type. Could determine if that is the - // case and then show those methods in an appropriate section. - return - } - - // perhaps a factory function - // determine result type, if any - if fun.Type.Results.NumFields() >= 1 { - res := fun.Type.Results.List[0] - if len(res.Names) <= 1 { - // exactly one (named or anonymous) result associated - // with the first type in result signature (there may - // be more than one result) - tname := docBaseTypeName(res.Type, doc.showAll) - typ := doc.lookupTypeDoc(tname) - if typ != nil { - // named and exported result type - - // Work-around for failure of heuristic: In package os - // too many functions are considered factory functions - // for the Error type. Eliminate manually for now as - // this appears to be the only important case in the - // current library where the heuristic fails. - if doc.pkgName == "os" && tname == "Error" && - name != "NewError" && name != "NewSyscallError" { - // not a factory function for os.Error - setFunc(doc.funcs, fun) // treat as ordinary function - return - } - - setFunc(typ.factories, fun) - return - } - } - } - - // ordinary function - setFunc(doc.funcs, fun) -} - -func (doc *docReader) addDecl(decl ast.Decl) { - switch d := decl.(type) { - case *ast.GenDecl: - if len(d.Specs) > 0 { - switch d.Tok { - case token.IMPORT: - // imports are handled individually - for _, spec := range d.Specs { - if s, ok := spec.(*ast.ImportSpec); ok { - if import_, err := strconv.Unquote(s.Path.Value); err == nil { - doc.imports[import_] = 1 - } - } - } - case token.CONST, token.VAR: - // constants and variables are always handled as a group - doc.addValue(d) - case token.TYPE: - // types are handled individually - for _, spec := range d.Specs { - // make a (fake) GenDecl node for this TypeSpec - // (we need to do this here - as opposed to just - // for printing - so we don't lose the GenDecl - // documentation) - // - // TODO(gri): Consider just collecting the TypeSpec - // node (and copy in the GenDecl.doc if there is no - // doc in the TypeSpec - this is currently done in - // makeTypeDocs below). Simpler data structures, but - // would lose GenDecl documentation if the TypeSpec - // has documentation as well. - doc.addType(&ast.GenDecl{d.Doc, d.Pos(), token.TYPE, token.NoPos, []ast.Spec{spec}, token.NoPos}) - // A new GenDecl node is created, no need to nil out d.Doc. - } - } - } - case *ast.FuncDecl: - doc.addFunc(d) - } -} - -func copyCommentList(list []*ast.Comment) []*ast.Comment { - return append([]*ast.Comment(nil), list...) -} - -var ( - bug_markers = regexp.MustCompile("^/[/*][ \t]*BUG\\(.*\\):[ \t]*") // BUG(uid): - bug_content = regexp.MustCompile("[^ \n\r\t]+") // at least one non-whitespace char -) - -// addFile adds the AST for a source file to the docReader. -// Adding the same AST multiple times is a no-op. -// -func (doc *docReader) addFile(src *ast.File) { - // add package documentation - if src.Doc != nil { - doc.addDoc(src.Doc) - src.Doc = nil // doc consumed - remove from ast.File node - } - - // add all declarations - for _, decl := range src.Decls { - doc.addDecl(decl) - } - - // collect BUG(...) comments - for _, c := range src.Comments { - text := c.List[0].Text - if m := bug_markers.FindStringIndex(text); m != nil { - // found a BUG comment; maybe empty - if btxt := text[m[1]:]; bug_content.MatchString(btxt) { - // non-empty BUG comment; collect comment without BUG prefix - list := copyCommentList(c.List) - list[0].Text = text[m[1]:] - doc.bugs = append(doc.bugs, &ast.CommentGroup{list}) - } - } - } - src.Comments = nil // consumed unassociated comments - remove from ast.File node -} - -func NewFileDoc(file *ast.File, showAll bool) *PackageDoc { - var r docReader - r.init(file.Name.Name, showAll) - r.addFile(file) - return r.newDoc("", nil) -} - -func NewPackageDoc(pkg *ast.Package, importpath string, showAll bool) *PackageDoc { - var r docReader - r.init(pkg.Name, showAll) - filenames := make([]string, len(pkg.Files)) - i := 0 - for filename, f := range pkg.Files { - r.addFile(f) - filenames[i] = filename - i++ - } - return r.newDoc(importpath, filenames) -} - -// ---------------------------------------------------------------------------- -// Conversion to external representation - -// ValueDoc is the documentation for a group of declared -// values, either vars or consts. -// -type ValueDoc struct { - Doc string - Decl *ast.GenDecl - order int -} - -type sortValueDoc []*ValueDoc - -func (p sortValueDoc) Len() int { return len(p) } -func (p sortValueDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } - -func declName(d *ast.GenDecl) string { - if len(d.Specs) != 1 { - return "" - } - - switch v := d.Specs[0].(type) { - case *ast.ValueSpec: - return v.Names[0].Name - case *ast.TypeSpec: - return v.Name.Name - } - - return "" -} - -func (p sortValueDoc) Less(i, j int) bool { - // sort by name - // pull blocks (name = "") up to top - // in original order - if ni, nj := declName(p[i].Decl), declName(p[j].Decl); ni != nj { - return ni < nj - } - return p[i].order < p[j].order -} - -func makeValueDocs(list []*ast.GenDecl, tok token.Token) []*ValueDoc { - d := make([]*ValueDoc, len(list)) // big enough in any case - n := 0 - for i, decl := range list { - if decl.Tok == tok { - d[n] = &ValueDoc{decl.Doc.Text(), decl, i} - n++ - decl.Doc = nil // doc consumed - removed from AST - } - } - d = d[0:n] - sort.Sort(sortValueDoc(d)) - return d -} - -// FuncDoc is the documentation for a func declaration, -// either a top-level function or a method function. -// -type FuncDoc struct { - Doc string - Recv ast.Expr // TODO(rsc): Would like string here - Name string - Decl *ast.FuncDecl -} - -type sortFuncDoc []*FuncDoc - -func (p sortFuncDoc) Len() int { return len(p) } -func (p sortFuncDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } -func (p sortFuncDoc) Less(i, j int) bool { return p[i].Name < p[j].Name } - -func makeFuncDocs(m map[string]*ast.FuncDecl) []*FuncDoc { - d := make([]*FuncDoc, len(m)) - i := 0 - for _, f := range m { - doc := new(FuncDoc) - doc.Doc = f.Doc.Text() - f.Doc = nil // doc consumed - remove from ast.FuncDecl node - if f.Recv != nil { - doc.Recv = f.Recv.List[0].Type - } - doc.Name = f.Name.Name - doc.Decl = f - d[i] = doc - i++ - } - sort.Sort(sortFuncDoc(d)) - return d -} - -// TypeDoc is the documentation for a declared type. -// Consts and Vars are sorted lists of constants and variables of (mostly) that type. -// Factories is a sorted list of factory functions that return that type. -// Methods is a sorted list of method functions on that type. -type TypeDoc struct { - Doc string - Type *ast.TypeSpec - Consts []*ValueDoc - Vars []*ValueDoc - Funcs []*FuncDoc - Methods []*FuncDoc - Decl *ast.GenDecl - order int -} - -type sortTypeDoc []*TypeDoc - -func (p sortTypeDoc) Len() int { return len(p) } -func (p sortTypeDoc) Swap(i, j int) { p[i], p[j] = p[j], p[i] } -func (p sortTypeDoc) Less(i, j int) bool { - // sort by name - // pull blocks (name = "") up to top - // in original order - if ni, nj := p[i].Type.Name.Name, p[j].Type.Name.Name; ni != nj { - return ni < nj - } - return p[i].order < p[j].order -} - -// NOTE(rsc): This would appear not to be correct for type ( ) -// blocks, but the doc extractor above has split them into -// individual declarations. -func (doc *docReader) makeTypeDocs(m map[string]*typeDoc) []*TypeDoc { - d := make([]*TypeDoc, len(m)) - i := 0 - for _, old := range m { - // all typeDocs should have a declaration associated with - // them after processing an entire package - be conservative - // and check - if decl := old.decl; decl != nil { - typespec := decl.Specs[0].(*ast.TypeSpec) - t := new(TypeDoc) - doc := typespec.Doc - typespec.Doc = nil // doc consumed - remove from ast.TypeSpec node - if doc == nil { - // no doc associated with the spec, use the declaration doc, if any - doc = decl.Doc - } - decl.Doc = nil // doc consumed - remove from ast.Decl node - t.Doc = doc.Text() - t.Type = typespec - t.Consts = makeValueDocs(old.values, token.CONST) - t.Vars = makeValueDocs(old.values, token.VAR) - t.Funcs = makeFuncDocs(old.factories) - t.Methods = makeFuncDocs(old.methods) - t.Decl = old.decl - t.order = i - d[i] = t - i++ - } else { - // no corresponding type declaration found - move any associated - // values, factory functions, and methods back to the top-level - // so that they are not lost (this should only happen if a package - // file containing the explicit type declaration is missing or if - // an unqualified type name was used after a "." import) - // 1) move values - doc.values = append(doc.values, old.values...) - // 2) move factory functions - for name, f := range old.factories { - doc.funcs[name] = f - } - // 3) move methods - for name, f := range old.methods { - // don't overwrite functions with the same name - if _, found := doc.funcs[name]; !found { - doc.funcs[name] = f - } - } - } - } - d = d[0:i] // some types may have been ignored - sort.Sort(sortTypeDoc(d)) - return d -} - -func makeBugDocs(list []*ast.CommentGroup) []string { - d := make([]string, len(list)) - for i, g := range list { - d[i] = g.Text() - } - return d -} - -// PackageDoc is the documentation for an entire package. -// -type PackageDoc struct { - PackageName string - ImportPath string - Imports []string - Filenames []string - Doc string - Consts []*ValueDoc - Types []*TypeDoc - Vars []*ValueDoc - Funcs []*FuncDoc - Bugs []string -} - -// newDoc returns the accumulated documentation for the package. -// -func (doc *docReader) newDoc(importpath string, filenames []string) *PackageDoc { - p := new(PackageDoc) - p.PackageName = doc.pkgName - p.ImportPath = importpath - sort.Strings(filenames) - p.Filenames = filenames - p.Doc = doc.doc.Text() - p.Imports = sortedKeys(doc.imports) - // makeTypeDocs may extend the list of doc.values and - // doc.funcs and thus must be called before any other - // function consuming those lists - p.Types = doc.makeTypeDocs(doc.types) - p.Consts = makeValueDocs(doc.values, token.CONST) - p.Vars = makeValueDocs(doc.values, token.VAR) - p.Funcs = makeFuncDocs(doc.funcs) - p.Bugs = makeBugDocs(doc.bugs) - return p -} - -func sortedKeys(m map[string]int) []string { - list := make([]string, len(m)) - i := 0 - for key := range m { - list[i] = key - i++ - } - sort.Strings(list) - return list -} - -// ---------------------------------------------------------------------------- -// Filtering by name - -type Filter func(string) bool - -func matchFields(fields *ast.FieldList, f Filter) bool { - if fields != nil { - for _, field := range fields.List { - for _, name := range field.Names { - if f(name.Name) { - return true - } - } - } - } - return false -} - -func matchDecl(d *ast.GenDecl, f Filter) bool { - for _, d := range d.Specs { - switch v := d.(type) { - case *ast.ValueSpec: - for _, name := range v.Names { - if f(name.Name) { - return true - } - } - case *ast.TypeSpec: - if f(v.Name.Name) { - return true - } - switch t := v.Type.(type) { - case *ast.StructType: - if matchFields(t.Fields, f) { - return true - } - case *ast.InterfaceType: - if matchFields(t.Methods, f) { - return true - } - } - } - } - return false -} - -func filterValueDocs(a []*ValueDoc, f Filter) []*ValueDoc { - w := 0 - for _, vd := range a { - if matchDecl(vd.Decl, f) { - a[w] = vd - w++ - } - } - return a[0:w] -} - -func filterFuncDocs(a []*FuncDoc, f Filter) []*FuncDoc { - w := 0 - for _, fd := range a { - if f(fd.Name) { - a[w] = fd - w++ - } - } - return a[0:w] -} - -func filterTypeDocs(a []*TypeDoc, f Filter) []*TypeDoc { - w := 0 - for _, td := range a { - n := 0 // number of matches - if matchDecl(td.Decl, f) { - n = 1 - } else { - // type name doesn't match, but we may have matching consts, vars, factories or methods - td.Consts = filterValueDocs(td.Consts, f) - td.Vars = filterValueDocs(td.Vars, f) - td.Funcs = filterFuncDocs(td.Funcs, f) - td.Methods = filterFuncDocs(td.Methods, f) - n += len(td.Consts) + len(td.Vars) + len(td.Funcs) + len(td.Methods) - } - if n > 0 { - a[w] = td - w++ - } - } - return a[0:w] -} - -// Filter eliminates documentation for names that don't pass through the filter f. -// TODO: Recognize "Type.Method" as a name. -// -func (p *PackageDoc) Filter(f Filter) { - p.Consts = filterValueDocs(p.Consts, f) - p.Vars = filterValueDocs(p.Vars, f) - p.Types = filterTypeDocs(p.Types, f) - p.Funcs = filterFuncDocs(p.Funcs, f) - p.Doc = "" // don't show top-level package doc -} diff --git a/vendor/github.com/visualfc/gotools/docview/filesystem.go b/vendor/github.com/visualfc/gotools/docview/filesystem.go deleted file mode 100644 index dc60649..0000000 --- a/vendor/github.com/visualfc/gotools/docview/filesystem.go +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2011 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. - -// This file defines types for abstract file system access and -// provides an implementation accessing the file system of the -// underlying OS. - -package docview - -import ( - "fmt" - "io" - "io/ioutil" - "os" -) - -// The FileSystem interface specifies the methods godoc is using -// to access the file system for which it serves documentation. -type FileSystem interface { - Open(path string) (io.ReadCloser, error) - Lstat(path string) (os.FileInfo, error) - Stat(path string) (os.FileInfo, error) - ReadDir(path string) ([]os.FileInfo, error) -} - -// ReadFile reads the file named by path from fs and returns the contents. -func ReadFile(fs FileSystem, path string) ([]byte, error) { - rc, err := fs.Open(path) - if err != nil { - return nil, err - } - defer rc.Close() - return ioutil.ReadAll(rc) -} - -// ---------------------------------------------------------------------------- -// OS-specific FileSystem implementation - -var OS FileSystem = osFS{} - -// osFS is the OS-specific implementation of FileSystem -type osFS struct{} - -func (osFS) Open(path string) (io.ReadCloser, error) { - f, err := os.Open(path) - if err != nil { - return nil, err - } - fi, err := f.Stat() - if err != nil { - return nil, err - } - if fi.IsDir() { - return nil, fmt.Errorf("Open: %s is a directory", path) - } - return f, nil -} - -func (osFS) Lstat(path string) (os.FileInfo, error) { - return os.Lstat(path) -} - -func (osFS) Stat(path string) (os.FileInfo, error) { - return os.Stat(path) -} - -func (osFS) ReadDir(path string) ([]os.FileInfo, error) { - return ioutil.ReadDir(path) // is sorted -} diff --git a/vendor/github.com/visualfc/gotools/finddoc/finddoc.go b/vendor/github.com/visualfc/gotools/finddoc/finddoc.go deleted file mode 100644 index dfe2b75..0000000 --- a/vendor/github.com/visualfc/gotools/finddoc/finddoc.go +++ /dev/null @@ -1,609 +0,0 @@ -// Copyright 2013 The rspace Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Doc is a simple document printer that produces the doc comments for its -// argument symbols, plus a link to the full documentation and a pointer to -// the source. It has a more Go-like UI than godoc. It can also search for -// symbols by looking in all packages, and case is ignored. For instance: -// doc isupper -// will find unicode.IsUpper. -// -// The -pkg flag retrieves package-level doc comments only. -// -// Usage: -// doc pkg.name # "doc io.Writer" -// doc pkg name # "doc fmt Printf" -// doc name # "doc isupper" (finds unicode.IsUpper) -// doc -pkg pkg # "doc fmt" -// -// The pkg is the last element of the package path; -// no slashes (ast.Node not go/ast.Node). -// -// Flags -// -c(onst) -f(unc) -i(nterface) -m(ethod) -s(truct) -t(ype) -v(ar) -// restrict hits to declarations of the corresponding kind. -// Flags -// -doc -src -url -// restrict printing to the documentation, source path, or godoc URL. -package finddoc - -import ( - "bytes" - "fmt" - "go/ast" - "go/parser" - "go/printer" - "go/token" - "os" - "path" - "path/filepath" - "regexp" - "runtime" - "strings" - - "github.com/visualfc/gotools/command" - _ "golang.org/x/tools/go/gcimporter" - "golang.org/x/tools/go/types" -) - -const usageDoc = `Find documentation for names. -usage: - doc pkg.name # "doc io.Writer" - doc pkg name # "doc fmt Printf" - doc name # "doc isupper" finds unicode.IsUpper - doc -pkg pkg # "doc fmt" - doc -r expr # "doc -r '.*exported'" -pkg is the last component of any package, e.g. fmt, parser -name is the name of an exported symbol; case is ignored in matches. - -The name may also be a regular expression to select which names -to match. In regular expression searches, case is ignored and -the pattern must match the entire name, so ".?print" will match -Print, Fprint and Sprint but not Fprintf. - -Flags - -c(onst) -f(unc) -i(nterface) -m(ethod) -s(truct) -t(ype) -v(ar) -restrict hits to declarations of the corresponding kind. -Flags - -doc -src -url -restrict printing to the documentation, source path, or godoc URL. -Flag - -r -takes a single argument (no package), a name or regular expression -to search for in all packages. -` - -var Command = &command.Command{ - Run: runDoc, - UsageLine: "finddoc [pkg.name|pkg name|-pkg name]", - Short: "golang doc lookup", - Long: usageDoc, -} - -var ( - // If none is set, all are set. - docFlag bool - srcFlag bool - urlFlag bool - regexpFlag bool - matchWordFlag bool - matchCaseFlag bool - constantFlag bool - functionFlag bool - interfaceFlag bool - methodFlag bool - packageFlag bool - structFlag bool - typeFlag bool - variableFlag bool - urlHeadTag string -) - -func init() { - Command.Flag.BoolVar(&docFlag, "doc", false, "restrict output to documentation only") - Command.Flag.BoolVar(&srcFlag, "src", false, "restrict output to source file only") - Command.Flag.BoolVar(&urlFlag, "url", false, "restrict output to godoc URL only") - Command.Flag.BoolVar(®expFlag, "r", false, "single argument is a regular expression for a name") - Command.Flag.BoolVar(&matchWordFlag, "word", false, "search match whole word") - Command.Flag.BoolVar(&matchCaseFlag, "case", false, "search match case") - - Command.Flag.BoolVar(&constantFlag, "const", false, "show doc for consts only") - Command.Flag.BoolVar(&functionFlag, "func", false, "show doc for funcs only") - Command.Flag.BoolVar(&interfaceFlag, "interface", false, "show doc for interfaces only") - Command.Flag.BoolVar(&methodFlag, "method", false, "show doc for methods only") - Command.Flag.BoolVar(&packageFlag, "package", false, "show top-level package doc only") - Command.Flag.BoolVar(&structFlag, "struct", false, "show doc for structs only") - Command.Flag.BoolVar(&typeFlag, "type", false, "show doc for types only") - Command.Flag.BoolVar(&variableFlag, "var", false, "show doc for vars only") - - Command.Flag.BoolVar(&constantFlag, "c", false, "alias for -const") - Command.Flag.BoolVar(&functionFlag, "f", false, "alias for -func") - Command.Flag.BoolVar(&interfaceFlag, "i", false, "alias for -interface") - Command.Flag.BoolVar(&methodFlag, "m", false, "alias for -method") - Command.Flag.BoolVar(&packageFlag, "pkg", false, "alias for -package") - Command.Flag.BoolVar(&structFlag, "s", false, "alias for -struct") - Command.Flag.BoolVar(&typeFlag, "t", false, "alias for -type") - Command.Flag.BoolVar(&variableFlag, "v", false, "alias for -var") - - Command.Flag.StringVar(&urlHeadTag, "urltag", "", "url head tag, liteide provate") -} - -func runDoc(cmd *command.Command, args []string) error { - if !(constantFlag || functionFlag || interfaceFlag || methodFlag || packageFlag || structFlag || typeFlag || variableFlag) { // none set - constantFlag = true - functionFlag = true - methodFlag = true - // Not package! It's special. - typeFlag = true - variableFlag = true - } - if !(docFlag || srcFlag || urlFlag) { - docFlag = true - srcFlag = true - urlFlag = true - } - var pkg, name string - switch len(args) { - case 1: - if packageFlag { - pkg = args[0] - } else if regexpFlag { - name = args[0] - } else if strings.Contains(args[0], ".") { - pkg, name = split(args[0]) - } else { - name = args[0] - } - case 2: - if packageFlag { - cmd.Usage() - } - pkg, name = args[0], args[1] - default: - cmd.Usage() - return os.ErrInvalid - } - if strings.Contains(pkg, "/") { - fmt.Fprintf(os.Stderr, "doc: package name cannot contain slash (TODO)\n") - os.Exit(2) - } - for _, path := range Paths(pkg) { - lookInDirectory(path, name) - } - return nil -} - -var slash = string(filepath.Separator) -var slashDot = string(filepath.Separator) + "." -var goRootSrcPkg = filepath.Join(runtime.GOROOT(), "src", "pkg") -var goRootSrcCmd = filepath.Join(runtime.GOROOT(), "src", "cmd") -var goPaths = SplitGopath() - -func split(arg string) (pkg, name string) { - dot := strings.IndexRune(arg, '.') // We know there's one there. - return arg[0:dot], arg[dot+1:] -} - -func Paths(pkg string) []string { - pkgs := pathsFor(runtime.GOROOT(), pkg) - for _, root := range goPaths { - pkgs = append(pkgs, pathsFor(root, pkg)...) - } - return pkgs -} - -func SplitGopath() []string { - gopath := os.Getenv("GOPATH") - if gopath == "" { - return nil - } - return strings.Split(gopath, string(os.PathListSeparator)) -} - -// pathsFor recursively walks the tree looking for possible directories for the package: -// those whose basename is pkg. -func pathsFor(root, pkg string) []string { - root = path.Join(root, "src") - pkgPaths := make([]string, 0, 10) - visit := func(pathName string, f os.FileInfo, err error) error { - if err != nil { - return nil - } - // One package per directory. Ignore the files themselves. - if !f.IsDir() { - return nil - } - // No .hg or other dot nonsense please. - if strings.Contains(pathName, slashDot) { - return filepath.SkipDir - } - // Is the last element of the path correct - if pkg == "" || filepath.Base(pathName) == pkg { - pkgPaths = append(pkgPaths, pathName) - } - return nil - } - - filepath.Walk(root, visit) - return pkgPaths -} - -// lookInDirectory looks in the package (if any) in the directory for the named exported identifier. -func lookInDirectory(directory, name string) { - fset := token.NewFileSet() - pkgs, _ := parser.ParseDir(fset, directory, nil, parser.ParseComments) // Ignore the error. - for _, pkg := range pkgs { - if pkg.Name == "main" || strings.HasSuffix(pkg.Name, "_test") { - continue - } - doPackage(pkg, fset, name) - } -} - -// prefixDirectory places the directory name on the beginning of each name in the list. -func prefixDirectory(directory string, names []string) { - if directory != "." { - for i, name := range names { - names[i] = filepath.Join(directory, name) - } - } -} - -// File is a wrapper for the state of a file used in the parser. -// The parse tree walkers are all methods of this type. -type File struct { - fset *token.FileSet - name string // Name of file. - ident string // Identifier we are searching for. - lowerIdent string // lower ident - regexp *regexp.Regexp - pathPrefix string // Prefix from GOROOT/GOPATH. - urlPrefix string // Start of corresponding URL for golang.org or godoc.org. - file *ast.File - comments ast.CommentMap - defs map[*ast.Ident]types.Object - doPrint bool - found bool - allFiles []*File // All files in the package. -} - -// doPackage analyzes the single package constructed from the named files, looking for -// the definition of ident. -func doPackage(pkg *ast.Package, fset *token.FileSet, ident string) { - var files []*File - found := false - for name, astFile := range pkg.Files { - if packageFlag && astFile.Doc == nil { - continue - } - file := &File{ - fset: fset, - name: name, - ident: ident, - lowerIdent: strings.ToLower(ident), - file: astFile, - comments: ast.NewCommentMap(fset, astFile, astFile.Comments), - } - if regexpFlag && regexp.QuoteMeta(ident) != ident { - // It's a regular expression. - var err error - file.regexp, err = regexp.Compile("^(?i:" + ident + ")$") - if err != nil { - fmt.Fprintf(os.Stderr, "regular expression `%s`:", err) - os.Exit(2) - } - } - switch { - case strings.HasPrefix(name, goRootSrcPkg): - file.urlPrefix = "http://golang.org/pkg" - file.pathPrefix = goRootSrcPkg - case strings.HasPrefix(name, goRootSrcCmd): - file.urlPrefix = "http://golang.org/cmd" - file.pathPrefix = goRootSrcCmd - default: - file.urlPrefix = "http://godoc.org" - for _, path := range goPaths { - p := filepath.Join(path, "src") - if strings.HasPrefix(name, p) { - file.pathPrefix = p - break - } - } - } - file.urlPrefix = urlHeadTag + file.urlPrefix - files = append(files, file) - if found { - continue - } - file.doPrint = false - if packageFlag { - file.pkgComments() - } else { - ast.Walk(file, file.file) - if file.found { - found = true - } - } - } - - if !found { - return - } - - // By providing the Context with our own error function, it will continue - // past the first error. There is no need for that function to do anything. - config := types.Config{ - Error: func(error) {}, - } - info := &types.Info{ - Defs: make(map[*ast.Ident]types.Object), - } - path := "" - var astFiles []*ast.File - for name, astFile := range pkg.Files { - if path == "" { - path = name - } - astFiles = append(astFiles, astFile) - } - config.Check(path, fset, astFiles, info) // Ignore errors. - - // We need to search all files for methods, so record the full list in each file. - for _, file := range files { - file.allFiles = files - } - for _, file := range files { - file.doPrint = true - file.defs = info.Defs - if packageFlag { - file.pkgComments() - } else { - ast.Walk(file, file.file) - } - } -} - -// Visit implements the ast.Visitor interface. -func (f *File) Visit(node ast.Node) ast.Visitor { - switch n := node.(type) { - case *ast.GenDecl: - // Variables, constants, types. - for _, spec := range n.Specs { - switch spec := spec.(type) { - case *ast.ValueSpec: - if constantFlag && n.Tok == token.CONST || variableFlag && n.Tok == token.VAR { - for _, ident := range spec.Names { - if f.match(ident.Name) { - f.printNode(n, ident, f.nameURL(ident.Name)) - break - } - } - } - case *ast.TypeSpec: - // If there is only one Spec, there are probably no parens and the - // comment we want appears before the type keyword, bound to - // the GenDecl. If the Specs are parenthesized, the comment we want - // is bound to the Spec. Hence we dig into the GenDecl to the Spec, - // but only if there are no parens. - node := ast.Node(n) - if n.Lparen.IsValid() { - node = spec - } - if f.match(spec.Name.Name) { - if typeFlag { - f.printNode(node, spec.Name, f.nameURL(spec.Name.Name)) - } else { - switch spec.Type.(type) { - case *ast.InterfaceType: - if interfaceFlag { - f.printNode(node, spec.Name, f.nameURL(spec.Name.Name)) - } - case *ast.StructType: - if structFlag { - f.printNode(node, spec.Name, f.nameURL(spec.Name.Name)) - } - } - } - if f.doPrint && f.defs[spec.Name] != nil && f.defs[spec.Name].Type() != nil { - ms := types.NewMethodSet(f.defs[spec.Name].Type()) //.Type().MethodSet() - if ms.Len() == 0 { - ms = types.NewMethodSet(types.NewPointer(f.defs[spec.Name].Type())) //.MethodSet() - } - f.methodSet(ms) - } - } - case *ast.ImportSpec: - continue // Don't care. - } - } - case *ast.FuncDecl: - // Methods, top-level functions. - if f.match(n.Name.Name) { - n.Body = nil // Do not print the function body. - if methodFlag && n.Recv != nil { - f.printNode(n, n.Name, f.methodURL(n.Recv.List[0].Type, n.Name.Name)) - } else if functionFlag && n.Recv == nil { - f.printNode(n, n.Name, f.nameURL(n.Name.Name)) - } - } - } - return f -} - -func (f *File) match(name string) bool { - // name must be exported. - if !ast.IsExported(name) { - return false - } - if f.regexp == nil { - if matchWordFlag { - if matchCaseFlag { - return name == f.ident - } - return strings.ToLower(name) == f.lowerIdent - } else { - if matchCaseFlag { - return strings.Contains(name, f.ident) - } - return strings.Contains(strings.ToLower(name), f.lowerIdent) - } - } - return f.regexp.MatchString(name) -} - -func (f *File) printNode(node, ident ast.Node, url string) { - if !f.doPrint { - f.found = true - return - } - fmt.Printf("%s%s%s", url, f.sourcePos(f.fset.Position(ident.Pos())), f.docs(node)) -} - -func (f *File) docs(node ast.Node) []byte { - if !docFlag { - return nil - } - commentedNode := printer.CommentedNode{Node: node} - if comments := f.comments.Filter(node).Comments(); comments != nil { - commentedNode.Comments = comments - } - var b bytes.Buffer - printer.Fprint(&b, f.fset, &commentedNode) - b.Write([]byte("\n\n")) // Add a blank line between entries if we print documentation. - return b.Bytes() -} - -func (f *File) pkgComments() { - doc := f.file.Doc - if doc == nil { - return - } - url := "" - if urlFlag { - url = f.packageURL() + "\n" - } - docText := "" - if docFlag { - docText = fmt.Sprintf("package %s\n%s\n\n", f.file.Name.Name, doc.Text()) - } - fmt.Printf("%s%s%s", url, f.sourcePos(f.fset.Position(doc.Pos())), docText) -} - -func (f *File) packageURL() string { - s := strings.TrimPrefix(f.name, f.pathPrefix) - // Now we have a path with a final file name. Drop it. - if i := strings.LastIndex(s, slash); i > 0 { - s = s[:i+1] - } - return f.urlPrefix + s -} - -func (f *File) packageName() string { - s := strings.TrimPrefix(f.name, f.pathPrefix) - // Now we have a path with a final file name. Drop it. - if i := strings.LastIndex(s, slash); i > 0 { - s = s[:i+1] - } - s = strings.Trim(s, slash) - return filepath.ToSlash(s) -} - -func (f *File) sourcePos(posn token.Position) string { - if !srcFlag { - return "" - } - return fmt.Sprintf("%s:%d:\n", posn.Filename, posn.Line) -} - -func (f *File) nameURL(name string) string { - if !urlFlag { - return "" - } - return fmt.Sprintf("%s#%s\n", f.packageURL(), name) -} - -func (f *File) methodURL(typ ast.Expr, name string) string { - if !urlFlag { - return "" - } - var b bytes.Buffer - printer.Fprint(&b, f.fset, typ) - typeName := b.Bytes() - if len(typeName) > 0 && typeName[0] == '*' { - typeName = typeName[1:] - } - return fmt.Sprintf("%s#%s.%s\n", f.packageURL(), typeName, name) -} - -// Here follows the code to find and print a method (actually a method set, because -// we want to do only one redundant tree walk, not one per method). -// It should be much easier than walking the whole tree again, but that's what we must do. -// TODO. - -type method struct { - index int // Which doc to write. (Keeps the results sorted) - *types.Selection -} - -type methodVisitor struct { - *File - methods []method - docs []string -} - -func (f *File) methodSet(set *types.MethodSet) { - // Build the set of things we're looking for. - methods := make([]method, 0, set.Len()) - docs := make([]string, set.Len()) - for i := 0; i < set.Len(); i++ { - if ast.IsExported(set.At(i).Obj().Name()) { - m := method{ - i, - set.At(i), - } - methods = append(methods, m) - } - } - if len(methods) == 0 { - return - } - // Collect the docs. - for _, file := range f.allFiles { - visitor := &methodVisitor{ - File: file, - methods: methods, - docs: docs, - } - ast.Walk(visitor, file.file) - methods = visitor.methods - } - // Print them in order. The incoming method set is sorted by name. - for _, doc := range docs { - if doc != "" { - fmt.Print(doc) - } - } -} - -// Visit implements the ast.Visitor interface. -func (visitor *methodVisitor) Visit(node ast.Node) ast.Visitor { - switch n := node.(type) { - case *ast.FuncDecl: - for i, method := range visitor.methods { - // If this is the right one, the position of the name of its identifier will match. - if method.Obj().Pos() == n.Name.Pos() { - n.Body = nil // TODO. Ugly - don't print the function body. - visitor.docs[method.index] = fmt.Sprintf("%s", visitor.File.docs(n)) - // If this was the last method, we're done. - if len(visitor.methods) == 1 { - return nil - } - // Drop this one from the list. - visitor.methods = append(visitor.methods[:i], visitor.methods[i+1:]...) - return visitor - } - } - } - return visitor -} diff --git a/vendor/github.com/visualfc/gotools/goapi/goapi.go b/vendor/github.com/visualfc/gotools/goapi/goapi.go deleted file mode 100644 index 92721cc..0000000 --- a/vendor/github.com/visualfc/gotools/goapi/goapi.go +++ /dev/null @@ -1,3774 +0,0 @@ -// Copyright 2011 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. - -// Api computes the exported API of a set of Go packages. - -//modify 2013-2014 visualfc - -package goapi - -import ( - "bufio" - "bytes" - "fmt" - "go/ast" - "go/build" - "go/doc" - "go/parser" - "go/printer" - "go/token" - "io" - "io/ioutil" - "log" - "os" - "os/exec" - "path" - "path/filepath" - "regexp" - "sort" - "strconv" - "strings" - "time" - - "github.com/visualfc/gotools/command" -) - -var Command = &command.Command{ - Run: runApi, - UsageLine: "goapi", - Short: "golang api util", - Long: `golang api util`, -} - -var apiVerbose bool -var apiAllmethods bool -var apiAlldecls bool -var apiShowpos bool -var apiSeparate string -var apiImportParser bool -var apiDefaultCtx bool -var apiCustomCtx string -var apiLookupInfo string -var apiLookupStdin bool -var apiOutput string - -func init() { - Command.Flag.BoolVar(&apiVerbose, "v", false, "verbose debugging") - Command.Flag.BoolVar(&apiAllmethods, "e", true, "extract for all embedded methods") - Command.Flag.BoolVar(&apiAlldecls, "a", false, "extract for all declarations") - Command.Flag.BoolVar(&apiShowpos, "pos", false, "addition token position") - Command.Flag.StringVar(&apiSeparate, "sep", ", ", "setup separators") - Command.Flag.BoolVar(&apiImportParser, "dep", true, "parser package imports") - Command.Flag.BoolVar(&apiDefaultCtx, "default_ctx", true, "extract for default context") - Command.Flag.StringVar(&apiCustomCtx, "custom_ctx", "", "optional comma-separated list of -[-cgo] to override default contexts.") - Command.Flag.StringVar(&apiLookupInfo, "cursor_info", "", "lookup cursor node info\"file.go:pos\"") - Command.Flag.BoolVar(&apiLookupStdin, "cursor_std", false, "cursor_info use stdin") - Command.Flag.StringVar(&apiOutput, "o", "", "output file") -} - -func runApi(cmd *command.Command, args []string) error { - if len(args) == 0 && apiLookupInfo == "" { - cmd.Usage() - return os.ErrInvalid - } - if apiVerbose { - now := time.Now() - defer func() { - log.Println("time", time.Now().Sub(now)) - }() - } - - var pkgs []string - if len(args) > 0 { - if args[0] == "std" || args[0] == "all" { - out, err := exec.Command("go", "list", "-e", args[0]).Output() - if err != nil { - log.Fatal(err) - } - pkgs = strings.Fields(string(out)) - } else { - pkgs = args - } - } - var curinfo CursorInfo - if apiLookupInfo != "" { - pos := strings.Index(apiLookupInfo, ":") - if pos != -1 { - curinfo.file = (apiLookupInfo)[:pos] - if i, err := strconv.Atoi((apiLookupInfo)[pos+1:]); err == nil { - curinfo.pos = token.Pos(i) - } - } - } - - if len(pkgs) == 1 && curinfo.pos != token.NoPos { - curinfo.pkg = pkgs[0] - } - - if apiLookupStdin { - src, err := ioutil.ReadAll(os.Stdin) - if err == nil { - curinfo.src = src - curinfo.std = true - } - } - - if apiCustomCtx != "" { - apiDefaultCtx = false - setCustomContexts() - } - - var features []string - w := NewWalker() - if curinfo.pkg != "" { - w.cursorInfo = &curinfo - } - w.sep = apiSeparate - - if apiDefaultCtx { - w.context = &build.Default - - for _, pkg := range pkgs { - w.wantedPkg[pkg] = true - } - - for _, pkg := range pkgs { - w.WalkPackage(pkg) - } - if w.cursorInfo != nil { - goto lookup - } else { - var file io.Writer - if apiOutput != "" { - var err error - file, err = os.Create(apiOutput) - if err != nil { - log.Fatal(err) - } - } else { - file = os.Stdout - } - bw := bufio.NewWriter(file) - defer bw.Flush() - for _, p := range w.packageMap { - if w.wantedPkg[p.name] { - for _, f := range p.Features() { - fmt.Fprintf(bw, "%s\n", f) - } - } - } - return nil - } - features = w.Features("") - } else { - for _, c := range contexts { - c.Compiler = build.Default.Compiler - } - - for _, pkg := range pkgs { - w.wantedPkg[pkg] = true - } - - var featureCtx = make(map[string]map[string]bool) // feature -> context name -> true - for _, context := range contexts { - w.context = context - w.ctxName = contextName(w.context) + ":" - - for _, pkg := range pkgs { - w.WalkPackage(pkg) - } - if w.cursorInfo != nil && w.cursorInfo.info != nil { - goto lookup - } - } - - for pkg, p := range w.packageMap { - if w.wantedPkg[p.name] { - pos := strings.Index(pkg, ":") - if pos == -1 { - continue - } - ctxName := pkg[:pos] - for _, f := range p.Features() { - if featureCtx[f] == nil { - featureCtx[f] = make(map[string]bool) - } - featureCtx[f][ctxName] = true - } - } - } - - for f, cmap := range featureCtx { - if len(cmap) == len(contexts) { - features = append(features, f) - continue - } - comma := strings.Index(f, ",") - for cname := range cmap { - f2 := fmt.Sprintf("%s (%s)%s", f[:comma], cname, f[comma:]) - features = append(features, f2) - } - } - sort.Strings(features) - } - -lookup: - if w.cursorInfo != nil { - info := w.cursorInfo.info - if info == nil { - os.Exit(1) - return os.ErrInvalid - } - // fmt.Println("kind,", info.Kind) - // fmt.Println("name,", info.Name) - // if info.Type != "" { - // fmt.Println("type,", strings.TrimLeft(info.Type, "*")) - // } - if info.Name == info.Type || info.Type == "" { - fmt.Printf("info, %s, %s\n", info.Kind, info.Name) - } else { - fmt.Printf("info, %s, %s, %s\n", info.Kind, info.Name, info.Type) - } - if info.Kind == KindImport || info.Kind == KindPackage { - if p := w.findPackage(info.Name); p != nil { - fmt.Println("help,", p.name) - } - } - if info.T != nil { - for _, text := range []string{info.Name, info.Type} { - typ := strings.TrimLeft(text, "*") - pos := strings.Index(typ, ".") - if pos != -1 { - if p := w.findPackage(typ[:pos]); p != nil { - fmt.Println("help,", p.name+typ[pos:]) - break - } - } - } - fmt.Println("pos,", w.fset.Position(info.T.Pos())) - } - return nil - } - - fail := false - defer func() { - if fail { - os.Exit(1) - } - }() - - bw := bufio.NewWriter(os.Stdout) - defer bw.Flush() - - for _, f := range features { - fmt.Fprintf(bw, "%s\n", f) - } - return nil -} - -type CursorInfo struct { - pkg string - file string - pos token.Pos - src []byte - std bool - info *TypeInfo -} - -// contexts are the default contexts which are scanned, unless -// overridden by the -contexts flag. -var contexts = []*build.Context{ - {GOOS: "linux", GOARCH: "386", CgoEnabled: true}, - {GOOS: "linux", GOARCH: "386"}, - {GOOS: "linux", GOARCH: "amd64", CgoEnabled: true}, - {GOOS: "linux", GOARCH: "amd64"}, - {GOOS: "linux", GOARCH: "arm"}, - {GOOS: "darwin", GOARCH: "386", CgoEnabled: true}, - {GOOS: "darwin", GOARCH: "386"}, - {GOOS: "darwin", GOARCH: "amd64", CgoEnabled: true}, - {GOOS: "darwin", GOARCH: "amd64"}, - {GOOS: "windows", GOARCH: "amd64"}, - {GOOS: "windows", GOARCH: "386"}, - {GOOS: "freebsd", GOARCH: "amd64"}, - {GOOS: "freebsd", GOARCH: "386"}, -} - -func contextName(c *build.Context) string { - s := c.GOOS + "-" + c.GOARCH - if c.CgoEnabled { - return s + "-cgo" - } - return s -} - -func osArchName(c *build.Context) string { - return c.GOOS + "-" + c.GOARCH -} - -func parseContext(c string) *build.Context { - parts := strings.Split(c, "-") - if len(parts) < 2 { - log.Fatalf("bad context: %q", c) - } - bc := &build.Context{ - GOOS: parts[0], - GOARCH: parts[1], - } - if len(parts) == 3 { - if parts[2] == "cgo" { - bc.CgoEnabled = true - } else { - log.Fatalf("bad context: %q", c) - } - } - return bc -} - -func setCustomContexts() { - contexts = []*build.Context{} - for _, c := range strings.Split(apiCustomCtx, ",") { - contexts = append(contexts, parseContext(c)) - } -} - -func set(items []string) map[string]bool { - s := make(map[string]bool) - for _, v := range items { - s[v] = true - } - return s -} - -var spaceParensRx = regexp.MustCompile(` \(\S+?\)`) - -func featureWithoutContext(f string) string { - if !strings.Contains(f, "(") { - return f - } - return spaceParensRx.ReplaceAllString(f, "") -} - -func compareAPI(w io.Writer, features, required, optional, exception []string, allowNew bool) (ok bool) { - ok = true - - optionalSet := set(optional) - exceptionSet := set(exception) - featureSet := set(features) - - sort.Strings(features) - sort.Strings(required) - - take := func(sl *[]string) string { - s := (*sl)[0] - *sl = (*sl)[1:] - return s - } - - for len(required) > 0 || len(features) > 0 { - switch { - case len(features) == 0 || (len(required) > 0 && required[0] < features[0]): - feature := take(&required) - if exceptionSet[feature] { - fmt.Fprintf(w, "~%s\n", feature) - } else if featureSet[featureWithoutContext(feature)] { - // okay. - } else { - fmt.Fprintf(w, "-%s\n", feature) - ok = false // broke compatibility - } - case len(required) == 0 || (len(features) > 0 && required[0] > features[0]): - newFeature := take(&features) - if optionalSet[newFeature] { - // Known added feature to the upcoming release. - // Delete it from the map so we can detect any upcoming features - // which were never seen. (so we can clean up the nextFile) - delete(optionalSet, newFeature) - } else { - fmt.Fprintf(w, "+%s\n", newFeature) - if !allowNew { - ok = false // we're in lock-down mode for next release - } - } - default: - take(&required) - take(&features) - } - } - - // In next file, but not in API. - var missing []string - for feature := range optionalSet { - missing = append(missing, feature) - } - sort.Strings(missing) - for _, feature := range missing { - fmt.Fprintf(w, "±%s\n", feature) - } - return -} - -func fileFeatures(filename string) []string { - bs, err := ioutil.ReadFile(filename) - if err != nil { - log.Fatalf("Error reading file %s: %v", filename, err) - } - text := strings.TrimSpace(string(bs)) - if text == "" { - return nil - } - return strings.Split(text, "\n") -} - -func isExtract(name string) bool { - if apiAlldecls { - return true - } - return ast.IsExported(name) -} - -// pkgSymbol represents a symbol in a package -type pkgSymbol struct { - pkg string // "net/http" - symbol string // "RoundTripper" -} - -//expression kind -type Kind int - -const ( - KindBuiltin Kind = iota - KindPackage - KindImport - KindVar - KindConst - KindInterface - KindParam - KindStruct - KindMethod - KindField - KindType - KindFunc - KindChan - KindArray - KindMap - KindSlice - KindLabel - KindBranch -) - -func (k Kind) String() string { - switch k { - case KindBuiltin: - return "builtin" - case KindPackage: - return "package" - case KindImport: - return "import" - case KindVar: - return "var" - case KindConst: - return "const" - case KindParam: - return "param" - case KindInterface: - return "interface" - case KindStruct: - return "struct" - case KindMethod: - return "method" - case KindField: - return "field" - case KindType: - return "type" - case KindFunc: - return "func" - case KindChan: - return "chan" - case KindMap: - return "map" - case KindArray: - return "array" - case KindSlice: - return "slice" - case KindLabel: - return "label" - case KindBranch: - return "branch" - } - return fmt.Sprint("unknown-kind") -} - -//expression type -type TypeInfo struct { - Kind Kind - Name string - Type string - X ast.Expr - T ast.Expr -} - -type ExprType struct { - X ast.Expr - T string -} - -type Package struct { - dpkg *doc.Package - apkg *ast.Package - interfaceMethods map[string]([]typeMethod) - interfaces map[string]*ast.InterfaceType //interface - structs map[string]*ast.StructType //struct - types map[string]ast.Expr //type - functions map[string]typeMethod //function - consts map[string]*ExprType //const => type - vars map[string]*ExprType //var => type - name string - dir string - sep string - deps []string - features map[string](token.Pos) // set -} - -func NewPackage() *Package { - return &Package{ - interfaceMethods: make(map[string]([]typeMethod)), - interfaces: make(map[string]*ast.InterfaceType), - structs: make(map[string]*ast.StructType), - types: make(map[string]ast.Expr), - functions: make(map[string]typeMethod), - consts: make(map[string]*ExprType), - vars: make(map[string]*ExprType), - features: make(map[string](token.Pos)), - sep: ", ", - } -} - -func (p *Package) Features() (fs []string) { - for f, ps := range p.features { - if apiShowpos { - fs = append(fs, f+p.sep+strconv.Itoa(int(ps))) - } else { - fs = append(fs, f) - } - } - sort.Strings(fs) - return -} - -func (p *Package) findType(name string) ast.Expr { - for k, v := range p.interfaces { - if k == name { - return v - } - } - for k, v := range p.structs { - if k == name { - return v - } - } - for k, v := range p.types { - if k == name { - return v - } - } - return nil -} - -func funcRetType(ft *ast.FuncType, index int) ast.Expr { - if ft.Results != nil { - pos := 0 - for _, fi := range ft.Results.List { - if fi.Names == nil { - if pos == index { - return fi.Type - } - pos++ - } else { - for _ = range fi.Names { - if pos == index { - return fi.Type - } - pos++ - } - } - } - } - return nil -} - -func findFunction(funcs []*doc.Func, name string) (*ast.Ident, *ast.FuncType) { - for _, f := range funcs { - if f.Name == name { - return &ast.Ident{Name: name, NamePos: f.Decl.Pos()}, f.Decl.Type - } - } - return nil, nil -} - -func (p *Package) findSelectorType(name string) ast.Expr { - if t, ok := p.vars[name]; ok { - return &ast.Ident{ - NamePos: t.X.Pos(), - Name: t.T, - } - } - if t, ok := p.consts[name]; ok { - return &ast.Ident{ - NamePos: t.X.Pos(), - Name: t.T, - } - } - if t, ok := p.functions[name]; ok { - return t.ft - } - for k, v := range p.structs { - if k == name { - return &ast.Ident{ - NamePos: v.Pos(), - Name: name, - } - } - } - for k, v := range p.interfaces { - if k == name { - return &ast.Ident{ - NamePos: v.Pos(), - Name: name, - } - } - } - for k, v := range p.types { - if k == name { - return v - } - } - return nil -} - -func (p *Package) findCallFunc(name string) ast.Expr { - if fn, ok := p.functions[name]; ok { - return fn.ft - } - if s, ok := p.structs[name]; ok { - return s - } - if t, ok := p.types[name]; ok { - return t - } - if v, ok := p.vars[name]; ok { - if strings.HasPrefix(v.T, "func(") { - e, err := parser.ParseExpr(v.T + "{}") - if err == nil { - return e - } - } - } - return nil -} - -func (p *Package) findCallType(name string, index int) ast.Expr { - if fn, ok := p.functions[name]; ok { - return funcRetType(fn.ft, index) - } - if s, ok := p.structs[name]; ok { - return &ast.Ident{ - NamePos: s.Pos(), - Name: name, - } - } - if t, ok := p.types[name]; ok { - return &ast.Ident{ - NamePos: t.Pos(), - Name: name, - } - } - return nil -} - -func (p *Package) findMethod(typ, name string) (*ast.Ident, *ast.FuncType) { - if t, ok := p.interfaces[typ]; ok && t.Methods != nil { - for _, fd := range t.Methods.List { - switch ft := fd.Type.(type) { - case *ast.FuncType: - for _, ident := range fd.Names { - if ident.Name == name { - return ident, ft - } - } - } - } - } - for k, v := range p.interfaceMethods { - if k == typ { - for _, m := range v { - if m.name == name { - return &ast.Ident{Name: name, NamePos: m.pos}, m.ft - } - } - } - } - if p.dpkg == nil { - return nil, nil - } - for _, t := range p.dpkg.Types { - if t.Name == typ { - return findFunction(t.Methods, name) - } - } - return nil, nil -} - -type Walker struct { - context *build.Context - fset *token.FileSet - scope []string - // features map[string](token.Pos) // set - lastConstType string - curPackageName string - sep string - ctxName string - curPackage *Package - constDep map[string]*ExprType // key's const identifier has type of future value const identifier - packageState map[string]loadState - packageMap map[string]*Package - interfaces map[pkgSymbol]*ast.InterfaceType - selectorFullPkg map[string]string // "http" => "net/http", updated by imports - wantedPkg map[string]bool // packages requested on the command line - cursorInfo *CursorInfo - localvar map[string]*ExprType -} - -func NewWalker() *Walker { - return &Walker{ - fset: token.NewFileSet(), - // features: make(map[string]token.Pos), - packageState: make(map[string]loadState), - interfaces: make(map[pkgSymbol]*ast.InterfaceType), - packageMap: make(map[string]*Package), - selectorFullPkg: make(map[string]string), - wantedPkg: make(map[string]bool), - localvar: make(map[string]*ExprType), - sep: ", ", - } -} - -// loadState is the state of a package's parsing. -type loadState int - -const ( - notLoaded loadState = iota - loading - loaded -) - -func (w *Walker) Features(ctx string) (fs []string) { - for pkg, p := range w.packageMap { - if w.wantedPkg[p.name] { - if ctx == "" || strings.HasPrefix(pkg, ctx) { - fs = append(fs, p.Features()...) - } - } - } - sort.Strings(fs) - return -} - -// fileDeps returns the imports in a file. -func fileDeps(f *ast.File) (pkgs []string) { - for _, is := range f.Imports { - fpkg, err := strconv.Unquote(is.Path.Value) - if err != nil { - log.Fatalf("error unquoting import string %q: %v", is.Path.Value, err) - } - if fpkg != "C" { - pkgs = append(pkgs, fpkg) - } - } - return -} - -func (w *Walker) findPackage(pkg string) *Package { - if full, ok := w.selectorFullPkg[pkg]; ok { - if w.ctxName != "" { - ctxName := w.ctxName + full - for k, v := range w.packageMap { - if k == ctxName { - return v - } - } - } - for k, v := range w.packageMap { - if k == full { - return v - } - } - } - return nil -} - -func (w *Walker) findPackageOSArch(pkg string) *Package { - if full, ok := w.selectorFullPkg[pkg]; ok { - ctxName := osArchName(w.context) + ":" + full - for k, v := range w.packageMap { - if k == ctxName { - return v - } - } - } - return nil -} - -// WalkPackage walks all files in package `name'. -// WalkPackage does nothing if the package has already been loaded. - -func (w *Walker) WalkPackage(pkg string) { - if build.IsLocalImport(pkg) { - wd, err := os.Getwd() - if err != nil { - if apiVerbose { - log.Println(err) - } - return - } - dir := filepath.Clean(filepath.Join(wd, pkg)) - bp, err := w.context.ImportDir(dir, 0) - if err != nil { - if apiVerbose { - log.Println(err) - } - return - } - if w.wantedPkg[pkg] == true { - w.wantedPkg[bp.Name] = true - delete(w.wantedPkg, pkg) - } - if w.cursorInfo != nil && w.cursorInfo.pkg == pkg { - w.cursorInfo.pkg = bp.Name - } - w.WalkPackageDir(bp.Name, bp.Dir, bp) - } else if filepath.IsAbs(pkg) { - bp, err := build.ImportDir(pkg, 0) - if err != nil { - if apiVerbose { - log.Println(err) - } - } - if w.wantedPkg[pkg] == true { - w.wantedPkg[bp.Name] = true - delete(w.wantedPkg, pkg) - } - if w.cursorInfo != nil && w.cursorInfo.pkg == pkg { - w.cursorInfo.pkg = bp.Name - } - - w.WalkPackageDir(bp.Name, bp.Dir, bp) - } else { - bp, err := build.Import(pkg, "", build.FindOnly) - if err != nil { - if apiVerbose { - log.Println(err) - } - return - } - w.WalkPackageDir(pkg, bp.Dir, nil) - } -} - -func (w *Walker) WalkPackageDir(name string, dir string, bp *build.Package) { - ctxName := w.ctxName + name - curName := name - switch w.packageState[ctxName] { - case loading: - log.Fatalf("import cycle loading package %q?", name) - return - case loaded: - return - } - w.packageState[ctxName] = loading - w.selectorFullPkg[name] = name - - defer func() { - w.packageState[ctxName] = loaded - }() - - sname := name[strings.LastIndexAny(name, ".-/\\")+1:] - - apkg := &ast.Package{ - Files: make(map[string]*ast.File), - } - if bp == nil { - bp, _ = w.context.ImportDir(dir, 0) - } - if bp == nil { - return - } - if w.ctxName != "" { - isCgo := (len(bp.CgoFiles) > 0) && w.context.CgoEnabled - if isCgo { - curName = ctxName - } else { - isOSArch := false - for _, file := range bp.GoFiles { - if isOSArchFile(w.context, file) { - isOSArch = true - break - } - } - var p *Package - if isOSArch { - curName = osArchName(w.context) + ":" + name - p = w.findPackageOSArch(name) - } else { - curName = name - p = w.findPackage(name) - } - if p != nil { - if apiImportParser { - for _, dep := range p.deps { - if _, ok := w.packageState[dep]; ok { - continue - } - w.WalkPackage(dep) - } - } - w.packageMap[ctxName] = p - return - } - } - } - - files := append(append([]string{}, bp.GoFiles...), bp.CgoFiles...) - - if w.cursorInfo != nil && w.cursorInfo.pkg == name { - files = append(files, bp.TestGoFiles...) - for _, v := range bp.XTestGoFiles { - if v == w.cursorInfo.file { - var xbp build.Package - xbp.Name = name + "_test" - xbp.GoFiles = append(xbp.GoFiles, bp.XTestGoFiles...) - w.cursorInfo.pkg = xbp.Name - w.WalkPackageDir(xbp.Name, dir, &xbp) - break - } - } - } - - if len(files) == 0 { - if apiVerbose { - log.Println("no Go source files in", bp.Dir) - } - return - } - var deps []string - - for _, file := range files { - var src interface{} = nil - if w.cursorInfo != nil && - w.cursorInfo.pkg == name && - w.cursorInfo.file == file && - w.cursorInfo.std { - src = w.cursorInfo.src - } - f, err := parser.ParseFile(w.fset, filepath.Join(dir, file), src, 0) - if err != nil { - if apiVerbose { - log.Printf("error parsing package %s, file %s: %v", name, file, err) - } - } - - if sname != f.Name.Name { - continue - } - apkg.Files[file] = f - if apiImportParser { - deps = fileDeps(f) - for _, dep := range deps { - if _, ok := w.packageState[dep]; ok { - continue - } - w.WalkPackage(dep) - } - } - if apiShowpos && w.wantedPkg[name] { - tf := w.fset.File(f.Pos()) - if tf != nil { - fmt.Printf("pos %s%s%s%s%d%s%d\n", name, w.sep, filepath.Join(dir, file), w.sep, tf.Base(), w.sep, tf.Size()) - } - } - } - /* else { - fdir, err := os.Open(dir) - if err != nil { - log.Fatalln(err) - } - infos, err := fdir.Readdir(-1) - fdir.Close() - if err != nil { - log.Fatalln(err) - } - - for _, info := range infos { - if info.IsDir() { - continue - } - file := info.Name() - if strings.HasPrefix(file, "_") || strings.HasSuffix(file, "_test.go") { - continue - } - if strings.HasSuffix(file, ".go") { - f, err := parser.ParseFile(w.fset, filepath.Join(dir, file), nil, 0) - if err != nil { - if apiVerbose { - log.Printf("error parsing package %s, file %s: %v", name, file, err) - } - continue - } - if f.Name.Name != sname { - continue - } - - apkg.Files[file] = f - if apiImportParser { - for _, dep := range fileDeps(f) { - w.WalkPackage(dep) - } - } - if apiShowpos && w.wantedPkg[name] { - tf := w.fset.File(f.Pos()) - if tf != nil { - fmt.Printf("pos %s%s%s%s%d:%d\n", name, w.sep, filepath.Join(dir, file), w.sep, tf.Base(), tf.Base()+tf.Size()) - } - } - } - } - }*/ - if curName != ctxName { - w.packageState[curName] = loading - - defer func() { - w.packageState[curName] = loaded - }() - } - - if apiVerbose { - log.Printf("package %s => %s, %v", ctxName, curName, w.wantedPkg[curName]) - } - pop := w.pushScope("pkg " + name) - defer pop() - - w.curPackageName = curName - w.constDep = map[string]*ExprType{} - w.curPackage = NewPackage() - w.curPackage.apkg = apkg - w.curPackage.name = name - w.curPackage.dir = dir - w.curPackage.deps = deps - w.curPackage.sep = w.sep - w.packageMap[curName] = w.curPackage - w.packageMap[ctxName] = w.curPackage - - for _, afile := range apkg.Files { - w.recordTypes(afile) - } - - // Register all function declarations first. - for _, afile := range apkg.Files { - for _, di := range afile.Decls { - if d, ok := di.(*ast.FuncDecl); ok { - if !w.isExtract(d.Name.Name) { - continue - } - w.peekFuncDecl(d) - } - } - } - - for _, afile := range apkg.Files { - w.walkFile(afile) - } - - w.resolveConstantDeps() - - if w.cursorInfo != nil && w.cursorInfo.pkg == name { - for k, v := range apkg.Files { - if k == w.cursorInfo.file { - f := w.fset.File(v.Pos()) - if f == nil { - log.Fatalf("error fset postion %v", v.Pos()) - } - info, err := w.lookupFile(v, token.Pos(f.Base())+w.cursorInfo.pos-1) - if err != nil { - log.Fatalln("lookup error,", err) - } else { - if info != nil && info.Kind == KindImport { - for _, is := range v.Imports { - fpath, err := strconv.Unquote(is.Path.Value) - if err == nil { - if info.Name == path.Base(fpath) { - info.T = is.Path - } - } - } - } - w.cursorInfo.info = info - } - break - } - } - return - } - - // Now that we're done walking types, vars and consts - // in the *ast.Package, use go/doc to do the rest - // (functions and methods). This is done here because - // go/doc is destructive. We can't use the - // *ast.Package after this. - var mode doc.Mode - if apiAllmethods { - mode |= doc.AllMethods - } - if apiAlldecls && w.wantedPkg[w.ctxName] { - mode |= doc.AllDecls - } - - dpkg := doc.New(apkg, name, mode) - w.curPackage.dpkg = dpkg - - if w.wantedPkg[name] != true { - return - } - - for _, t := range dpkg.Types { - // Move funcs up to the top-level, not hiding in the Types. - dpkg.Funcs = append(dpkg.Funcs, t.Funcs...) - - for _, m := range t.Methods { - w.walkFuncDecl(m.Decl) - } - } - - for _, f := range dpkg.Funcs { - w.walkFuncDecl(f.Decl) - } -} - -// pushScope enters a new scope (walking a package, type, node, etc) -// and returns a function that will leave the scope (with sanity checking -// for mismatched pushes & pops) -func (w *Walker) pushScope(name string) (popFunc func()) { - w.scope = append(w.scope, name) - return func() { - if len(w.scope) == 0 { - log.Fatalf("attempt to leave scope %q with empty scope list", name) - } - if w.scope[len(w.scope)-1] != name { - log.Fatalf("attempt to leave scope %q, but scope is currently %#v", name, w.scope) - } - w.scope = w.scope[:len(w.scope)-1] - } -} - -func (w *Walker) recordTypes(file *ast.File) { - cur := w.curPackage - for _, di := range file.Decls { - switch d := di.(type) { - case *ast.GenDecl: - switch d.Tok { - case token.TYPE: - for _, sp := range d.Specs { - ts := sp.(*ast.TypeSpec) - name := ts.Name.Name - switch t := ts.Type.(type) { - case *ast.InterfaceType: - if isExtract(name) { - w.noteInterface(name, t) - } - cur.interfaces[name] = t - case *ast.StructType: - cur.structs[name] = t - default: - cur.types[name] = ts.Type - } - } - } - } - } -} - -func inRange(node ast.Node, p token.Pos) bool { - if node == nil { - return false - } - return p >= node.Pos() && p <= node.End() -} - -func (w *Walker) lookupLabel(body *ast.BlockStmt, name string) (*TypeInfo, error) { - for _, stmt := range body.List { - switch v := stmt.(type) { - case *ast.BlockStmt: - return w.lookupLabel(v, name) - case *ast.LabeledStmt: - return &TypeInfo{Kind: KindLabel, Name: v.Label.Name, Type: "branch", T: v.Label}, nil - } - } - return nil, nil -} - -func (w *Walker) lookupFile(file *ast.File, p token.Pos) (*TypeInfo, error) { - if inRange(file.Name, p) { - return &TypeInfo{Kind: KindPackage, X: file.Name, Name: file.Name.Name, Type: file.Name.Name, T: file.Name}, nil - } - for _, di := range file.Decls { - switch d := di.(type) { - case *ast.GenDecl: - if inRange(d, p) { - return w.lookupDecl(d, p, false) - } - case *ast.FuncDecl: - if inRange(d, p) { - info, err := w.lookupDecl(d, p, false) - if info != nil && info.Kind == KindBranch { - return w.lookupLabel(d.Body, info.Name) - } - return info, err - } - if d.Body != nil && inRange(d.Body, p) { - return w.lookupStmt(d.Body, p) - } - default: - return nil, fmt.Errorf("un parser decl %T", di) - } - } - return nil, fmt.Errorf("un find cursor %v", w.fset.Position(p)) -} - -func (w *Walker) isExtract(name string) bool { - if w.wantedPkg[w.curPackageName] || apiAlldecls { - return true - } - return ast.IsExported(name) -} - -func (w *Walker) isType(typ string) *ExprType { - pos := strings.Index(typ, ".") - if pos != -1 { - pkg := typ[:pos] - typ = typ[pos+1:] - if p := w.findPackage(pkg); p != nil { - if t, ok := p.types[typ]; ok { - if r := w.isType(typ); r != nil { - return r - } - return &ExprType{X: t, T: w.pkgRetType(pkg, w.nodeString(t))} - } - } - return nil - } - if t, ok := w.curPackage.types[typ]; ok { - if r := w.isType(w.nodeString(t)); r != nil { - return r - } - return &ExprType{X: t, T: w.nodeString(t)} - } - return nil -} - -func (w *Walker) lookupStmt(vi ast.Stmt, p token.Pos) (*TypeInfo, error) { - if vi == nil { - return nil, nil - } - switch v := vi.(type) { - case *ast.BadStmt: - // - case *ast.EmptyStmt: - // - case *ast.LabeledStmt: - if inRange(v.Label, p) { - return &TypeInfo{Kind: KindLabel, Name: v.Label.Name}, nil - } - return w.lookupStmt(v.Stmt, p) - // - case *ast.DeclStmt: - return w.lookupDecl(v.Decl, p, true) - case *ast.AssignStmt: - if len(v.Lhs) == len(v.Rhs) { - for i := 0; i < len(v.Lhs); i++ { - switch lt := v.Lhs[i].(type) { - case *ast.Ident: - typ, err := w.varValueType(v.Rhs[i], 0) - if err == nil && v.Tok == token.DEFINE { - w.localvar[lt.Name] = &ExprType{T: typ, X: lt} - } else if apiVerbose { - log.Println(err) - } - } - if inRange(v.Lhs[i], p) { - return w.lookupExprInfo(v.Lhs[i], p) - } else if inRange(v.Rhs[i], p) { - return w.lookupExprInfo(v.Rhs[i], p) - } - if fl, ok := v.Rhs[i].(*ast.FuncLit); ok { - if inRange(fl, p) { - return w.lookupStmt(fl.Body, p) - } - } - } - } else if len(v.Rhs) == 1 { - for i := 0; i < len(v.Lhs); i++ { - switch lt := v.Lhs[i].(type) { - case *ast.Ident: - typ, err := w.varValueType(v.Rhs[0], i) - if err == nil && v.Tok == token.DEFINE { - w.localvar[lt.Name] = &ExprType{T: typ, X: lt} - } else if apiVerbose { - log.Println(err) - } - } - if inRange(v.Lhs[i], p) { - return w.lookupExprInfo(v.Lhs[i], p) - } else if inRange(v.Rhs[0], p) { - return w.lookupExprInfo(v.Rhs[0], p) - } - if fl, ok := v.Rhs[0].(*ast.FuncLit); ok { - if inRange(fl, p) { - return w.lookupStmt(fl.Body, p) - } - } - } - } - return nil, nil - case *ast.ExprStmt: - return w.lookupExprInfo(v.X, p) - case *ast.BlockStmt: - for _, st := range v.List { - if inRange(st, p) { - return w.lookupStmt(st, p) - } - _, err := w.lookupStmt(st, p) - if err != nil { - log.Println(err) - } - } - case *ast.IfStmt: - if inRange(v.Init, p) { - return w.lookupStmt(v.Init, p) - } else { - w.lookupStmt(v.Init, p) - } - if inRange(v.Cond, p) { - return w.lookupExprInfo(v.Cond, p) - } else if inRange(v.Body, p) { - return w.lookupStmt(v.Body, p) - } else if inRange(v.Else, p) { - return w.lookupStmt(v.Else, p) - } - case *ast.SendStmt: - if inRange(v.Chan, p) { - return w.lookupExprInfo(v.Chan, p) - } else if inRange(v.Value, p) { - return w.lookupExprInfo(v.Value, p) - } - case *ast.IncDecStmt: - return w.lookupExprInfo(v.X, p) - case *ast.GoStmt: - return w.lookupExprInfo(v.Call, p) - case *ast.DeferStmt: - return w.lookupExprInfo(v.Call, p) - case *ast.ReturnStmt: - for _, r := range v.Results { - if inRange(r, p) { - return w.lookupExprInfo(r, p) - } - } - case *ast.BranchStmt: - if inRange(v.Label, p) { - return &TypeInfo{Kind: KindBranch, Name: v.Label.Name, Type: "label", T: v.Label}, nil - } - // - case *ast.CaseClause: - for _, r := range v.List { - if inRange(r, p) { - return w.lookupExprInfo(r, p) - } - } - for _, body := range v.Body { - if inRange(body, p) { - return w.lookupStmt(body, p) - } else { - w.lookupStmt(body, p) - } - } - case *ast.SwitchStmt: - if inRange(v.Init, p) { - return w.lookupStmt(v.Init, p) - } else { - w.lookupStmt(v.Init, p) - } - if inRange(v.Tag, p) { - return w.lookupExprInfo(v.Tag, p) - } else if inRange(v.Body, p) { - return w.lookupStmt(v.Body, p) - } - case *ast.TypeSwitchStmt: - if inRange(v.Assign, p) { - return w.lookupStmt(v.Assign, p) - } else { - w.lookupStmt(v.Assign, p) - } - if inRange(v.Init, p) { - return w.lookupStmt(v.Init, p) - } else { - w.lookupStmt(v.Init, p) - } - var vs string - if as, ok := v.Assign.(*ast.AssignStmt); ok { - if len(as.Lhs) == 1 { - vs = w.nodeString(as.Lhs[0]) - } - } - if inRange(v.Body, p) { - for _, s := range v.Body.List { - if inRange(s, p) { - switch cs := s.(type) { - case *ast.CaseClause: - for _, r := range cs.List { - if inRange(r, p) { - return w.lookupExprInfo(r, p) - } else if vs != "" { - typ, err := w.varValueType(r, 0) - if err == nil { - w.localvar[vs] = &ExprType{T: typ, X: r} - } - } - } - for _, body := range cs.Body { - if inRange(body, p) { - return w.lookupStmt(body, p) - } else { - w.lookupStmt(body, p) - } - } - default: - return w.lookupStmt(cs, p) - } - } - } - } - case *ast.CommClause: - if inRange(v.Comm, p) { - return w.lookupStmt(v.Comm, p) - } - for _, body := range v.Body { - if inRange(body, p) { - return w.lookupStmt(body, p) - } - } - case *ast.SelectStmt: - if inRange(v.Body, p) { - return w.lookupStmt(v.Body, p) - } - case *ast.ForStmt: - if inRange(v.Init, p) { - return w.lookupStmt(v.Init, p) - } else { - w.lookupStmt(v.Init, p) - } - if inRange(v.Cond, p) { - return w.lookupExprInfo(v.Cond, p) - } else if inRange(v.Body, p) { - return w.lookupStmt(v.Body, p) - } else if inRange(v.Post, p) { - return w.lookupStmt(v.Post, p) - } - case *ast.RangeStmt: - if inRange(v.X, p) { - return w.lookupExprInfo(v.X, p) - } else if inRange(v.Key, p) { - return &TypeInfo{Kind: KindBuiltin, Name: w.nodeString(v.Key), Type: "int"}, nil - } else if inRange(v.Value, p) { - typ, err := w.lookupExprInfo(v.X, p) - if typ != nil { - typ.Name = w.nodeString(v.Value) - return typ, err - } - } else { - typ, err := w.varValueType(v.X, 0) - //check is type - if t := w.isType(typ); t != nil { - typ = t.T - } - if err == nil { - var kt, vt string - if strings.HasPrefix(typ, "[]") { - kt = "int" - vt = typ[2:] - } else if strings.HasPrefix(typ, "map[") { - node, err := parser.ParseExpr(typ + "{}") - if err == nil { - if cl, ok := node.(*ast.CompositeLit); ok { - if m, ok := cl.Type.(*ast.MapType); ok { - kt = w.nodeString(w.namelessType(m.Key)) - vt = w.nodeString(w.namelessType(m.Value)) - } - } - } - } - if inRange(v.Key, p) { - return &TypeInfo{Kind: KindVar, X: v.Key, Name: w.nodeString(v.Key), T: v.X, Type: kt}, nil - } else if inRange(v.Value, p) { - return &TypeInfo{Kind: KindVar, X: v.Value, Name: w.nodeString(v.Value), T: v.X, Type: vt}, nil - } - if key, ok := v.Key.(*ast.Ident); ok { - w.localvar[key.Name] = &ExprType{T: kt, X: v.Key} - } - if value, ok := v.Value.(*ast.Ident); ok { - w.localvar[value.Name] = &ExprType{T: vt, X: v.Value} - } - } - } - if inRange(v.Body, p) { - return w.lookupStmt(v.Body, p) - } - } - return nil, nil //fmt.Errorf("not lookup stmt %v %T", vi, vi) -} - -func (w *Walker) lookupVar(vs *ast.ValueSpec, p token.Pos, local bool) (*TypeInfo, error) { - if inRange(vs.Type, p) { - return w.lookupExprInfo(vs.Type, p) - } - for _, v := range vs.Values { - if inRange(v, p) { - return w.lookupExprInfo(v, p) - } - } - if vs.Type != nil { - typ := w.nodeString(vs.Type) - for _, ident := range vs.Names { - if local { - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - if inRange(ident, p) { - return &TypeInfo{Kind: KindVar, X: ident, Name: ident.Name, T: vs.Type, Type: typ}, nil - } - } - } else if len(vs.Names) == len(vs.Values) { - for n, ident := range vs.Names { - typ := "" - if !local { - if t, ok := w.curPackage.vars[ident.Name]; ok { - typ = t.T - } - } else { - typ, err := w.varValueType(vs.Values[n], n) - if err != nil { - if apiVerbose { - log.Printf("unknown type of variable2 %q, type %T, error = %v, pos=%s", - ident.Name, vs.Values[n], err, w.fset.Position(vs.Pos())) - } - typ = "unknown-type" - } - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - if inRange(ident, p) { - return &TypeInfo{Kind: KindVar, X: ident, Name: ident.Name, T: ident, Type: typ}, nil - } - } - } else if len(vs.Values) == 1 { - for n, ident := range vs.Names { - typ := "" - if !local { - if t, ok := w.curPackage.vars[ident.Name]; ok { - typ = t.T - } - } else { - typ, err := w.varValueType(vs.Values[0], n) - if err != nil { - if apiVerbose { - log.Printf("unknown type of variable3 %q, type %T, error = %v, pos=%s", - ident.Name, vs.Values[0], err, w.fset.Position(vs.Pos())) - } - typ = "unknown-type" - } - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - if inRange(ident, p) { - return &TypeInfo{Kind: KindVar, X: ident, Name: ident.Name, T: ident, Type: typ}, nil - } - } - } - return nil, fmt.Errorf("not lookup var local:%v value:%v type:s%T", local, w.nodeString(vs), vs) -} - -func (w *Walker) lookupConst(vs *ast.ValueSpec, p token.Pos, local bool) (*TypeInfo, error) { - if inRange(vs.Type, p) { - return w.lookupExprInfo(vs.Type, p) - } - for _, ident := range vs.Names { - typ := "" - if !local { - if t, ok := w.curPackage.consts[ident.Name]; ok { - typ = t.T - } - } else { - litType := "" - if vs.Type != nil { - litType = w.nodeString(vs.Type) - } else { - litType = w.lastConstType - if vs.Values != nil { - if len(vs.Values) != 1 { - if apiVerbose { - log.Printf("const %q, values: %#v", ident.Name, vs.Values) - } - return nil, nil - } - var err error - litType, err = w.constValueType(vs.Values[0]) - if err != nil { - if apiVerbose { - log.Printf("unknown kind in const %q (%T): %v", ident.Name, vs.Values[0], err) - } - litType = "unknown-type" - } - } - } - w.lastConstType = litType - typ = litType - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - if inRange(ident, p) { - return &TypeInfo{Kind: KindConst, X: ident, Name: ident.Name, T: ident, Type: typ}, nil - } - } - return nil, nil -} - -func (w *Walker) lookupType(ts *ast.TypeSpec, p token.Pos, local bool) (*TypeInfo, error) { - switch t := ts.Type.(type) { - case *ast.StructType: - if inRange(t.Fields, p) { - for _, fd := range t.Fields.List { - if inRange(fd.Type, p) { - return w.lookupExprInfo(fd.Type, p) - } - for _, ident := range fd.Names { - if inRange(ident, p) { - return &TypeInfo{Kind: KindField, X: ident, Name: ts.Name.Name + "." + ident.Name, T: fd.Type, Type: w.nodeString(w.namelessType(fd.Type))}, nil - } - } - } - } - return &TypeInfo{Kind: KindStruct, X: ts.Name, Name: ts.Name.Name, T: ts.Type, Type: "struct"}, nil - case *ast.InterfaceType: - if inRange(t.Methods, p) { - for _, fd := range t.Methods.List { - for _, ident := range fd.Names { - if inRange(ident, p) { - return &TypeInfo{Kind: KindMethod, X: ident, Name: ts.Name.Name + "." + ident.Name, T: ident, Type: w.nodeString(w.namelessType(fd.Type))}, nil - } - } - if inRange(fd.Type, p) { - return w.lookupExprInfo(fd.Type, p) - } - } - } - return &TypeInfo{Kind: KindInterface, X: ts.Name, Name: ts.Name.Name, T: ts.Type, Type: "interface"}, nil - default: - return &TypeInfo{Kind: KindType, X: ts.Name, Name: ts.Name.Name, T: ts.Type, Type: w.nodeString(w.namelessType(ts.Type))}, nil - } - return nil, nil -} - -func (w *Walker) lookupDecl(di ast.Decl, p token.Pos, local bool) (*TypeInfo, error) { - switch d := di.(type) { - case *ast.GenDecl: - switch d.Tok { - case token.IMPORT: - for _, sp := range d.Specs { - is := sp.(*ast.ImportSpec) - fpath, err := strconv.Unquote(is.Path.Value) - if err != nil { - return nil, err - } - name := path.Base(fpath) - if is.Name != nil { - name = is.Name.Name - } - if inRange(sp, p) { - return &TypeInfo{Kind: KindImport, X: is.Name, Name: name, T: is.Name, Type: fpath}, nil - } - } - case token.CONST: - for _, sp := range d.Specs { - if inRange(sp, p) { - return w.lookupConst(sp.(*ast.ValueSpec), p, local) - } else { - w.lookupConst(sp.(*ast.ValueSpec), p, local) - } - } - return nil, nil - case token.TYPE: - for _, sp := range d.Specs { - if inRange(sp, p) { - return w.lookupType(sp.(*ast.TypeSpec), p, local) - } else { - w.lookupType(sp.(*ast.TypeSpec), p, local) - } - } - case token.VAR: - for _, sp := range d.Specs { - if inRange(sp, p) { - return w.lookupVar(sp.(*ast.ValueSpec), p, local) - } else { - w.lookupVar(sp.(*ast.ValueSpec), p, local) - } - } - return nil, nil - default: - return nil, fmt.Errorf("unknown token type %d %T in GenDecl", d.Tok, d) - } - case *ast.FuncDecl: - if d.Type.Params != nil { - for _, fd := range d.Type.Params.List { - if inRange(fd, p) { - return w.lookupExprInfo(fd.Type, p) - } - for _, ident := range fd.Names { - if inRange(ident, p) { - info, err := w.lookupExprInfo(fd.Type, p) - if err == nil { - return &TypeInfo{Kind: KindParam, X: ident, Name: ident.Name, T: info.T, Type: info.Type}, nil - } - } - typ, err := w.varValueType(fd.Type, 0) - if err == nil { - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } else if apiVerbose { - log.Println(err) - } - } - } - } - if d.Type.Results != nil { - for _, fd := range d.Type.Results.List { - if inRange(fd, p) { - return w.lookupExprInfo(fd.Type, p) - } - for _, ident := range fd.Names { - typ, err := w.varValueType(fd.Type, 0) - if err == nil { - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - } - } - } - if d.Recv != nil { - for _, fd := range d.Recv.List { - if inRange(fd, p) { - return w.lookupExprInfo(fd.Type, p) - } - for _, ident := range fd.Names { - w.localvar[ident.Name] = &ExprType{T: w.nodeString(fd.Type), X: ident} - } - } - } - if inRange(d.Body, p) { - return w.lookupStmt(d.Body, p) - } - var fname = d.Name.Name - kind := KindFunc - if d.Recv != nil { - recvTypeName, imp := baseTypeName(d.Recv.List[0].Type) - if imp { - return nil, nil - } - fname = recvTypeName + "." + d.Name.Name - kind = KindMethod - } - return &TypeInfo{Kind: kind, X: d.Name, Name: fname, T: d.Type, Type: w.nodeString(w.namelessType(d.Type))}, nil - default: - return nil, fmt.Errorf("unhandled %T, %#v\n", di, di) - } - return nil, fmt.Errorf("not lookupDecl %v %T", w.nodeString(di), di) -} - -func (w *Walker) lookupExprInfo(vi ast.Expr, p token.Pos) (*TypeInfo, error) { - _, info, err := w.lookupExpr(vi, p) - return info, err -} - -// lookupExpr , return name,info,error -func (w *Walker) lookupExpr(vi ast.Expr, p token.Pos) (string, *TypeInfo, error) { - if apiVerbose { - log.Printf("lookup expr %v %T", w.nodeString(vi), vi) - } - switch v := vi.(type) { - case *ast.BasicLit: - litType, ok := varType[v.Kind] - if !ok { - return "", nil, fmt.Errorf("unknown basic literal kind %#v", v) - } - name := v.Value - if len(name) >= 128 { - name = name[:128] + "..." - } - return litType, &TypeInfo{Kind: KindBuiltin, X: v, Name: name, T: v, Type: litType}, nil - case *ast.StarExpr: - s, info, err := w.lookupExpr(v.X, p) - if err != nil { - return "", nil, err - } - return "*" + s, &TypeInfo{Kind: info.Kind, X: v, Name: "*" + info.Name, T: info.T, Type: "*" + info.Type}, err - case *ast.InterfaceType: - return "interface{}", &TypeInfo{Kind: KindInterface, X: v, Name: w.nodeString(v), T: v, Type: "interface{}"}, nil - case *ast.Ellipsis: - s, info, err := w.lookupExpr(v.Elt, p) - if err != nil { - return "", nil, err - } - return "[]" + s, &TypeInfo{Kind: KindArray, X: v.Elt, Name: "..." + s, T: info.T, Type: "[]" + info.Type}, nil - case *ast.KeyValueExpr: - if inRange(v.Key, p) { - return w.lookupExpr(v.Key, p) - } else if inRange(v.Value, p) { - return w.lookupExpr(v.Value, p) - } - case *ast.CompositeLit: - typ, err := w.varValueType(v.Type, 0) - if err == nil { - typ = strings.TrimLeft(typ, "*") - if strings.HasPrefix(typ, "[]") { - typ = strings.TrimLeft(typ[2:], "*") - } - pos := strings.Index(typ, ".") - var pt *Package = w.curPackage - var pkgdot string - if pos != -1 { - pkg := typ[:pos] - typ = typ[pos+1:] - pt = w.findPackage(pkg) - if pt != nil { - pkgdot = pkg + "." - } - } - if pt != nil { - if ss, ok := pt.structs[typ]; ok { - for _, elt := range v.Elts { - if inRange(elt, p) { - if cl, ok := elt.(*ast.CompositeLit); ok { - for _, elt := range cl.Elts { - if inRange(elt, p) { - if kv, ok := elt.(*ast.KeyValueExpr); ok { - if inRange(kv.Key, p) { - n, t := w.findStructField(ss, w.nodeString(kv.Key)) - if n != nil { - return pkgdot + typ + "." + w.nodeString(kv.Key), &TypeInfo{Kind: KindField, X: kv.Key, Name: pkgdot + typ + "." + w.nodeString(kv.Key), T: n, Type: w.nodeString(w.namelessType(t))}, nil - } - } else if inRange(kv.Value, p) { - return w.lookupExpr(kv.Value, p) - } - } - } - } - } - if kv, ok := elt.(*ast.KeyValueExpr); ok { - if inRange(kv.Key, p) { - n, t := w.findStructField(ss, w.nodeString(kv.Key)) - if n != nil { - return typ + "." + w.nodeString(kv.Key), &TypeInfo{Kind: KindField, X: kv.Key, Name: typ + "." + w.nodeString(kv.Key), T: n, Type: w.nodeString(w.namelessType(t))}, nil - } - } else if inRange(kv.Value, p) { - return w.lookupExpr(kv.Value, p) - } - } - } - } - } - } - } - for _, elt := range v.Elts { - if inRange(elt, p) { - return w.lookupExpr(elt, p) - } - } - return w.lookupExpr(v.Type, p) - case *ast.UnaryExpr: - s, info, err := w.lookupExpr(v.X, p) - return v.Op.String() + s, info, err - case *ast.TypeAssertExpr: - if inRange(v.X, p) { - return w.lookupExpr(v.X, p) - } - return w.lookupExpr(v.Type, p) - case *ast.BinaryExpr: - if inRange(v.X, p) { - return w.lookupExpr(v.X, p) - } else if inRange(v.Y, p) { - return w.lookupExpr(v.Y, p) - } - return "", nil, nil - case *ast.CallExpr: - for _, arg := range v.Args { - if inRange(arg, p) { - return w.lookupExpr(arg, p) - } - } - switch ft := v.Fun.(type) { - case *ast.Ident: - if typ, ok := w.localvar[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindVar, X: ft, Name: ft.Name, T: typ.X, Type: typ.T}, nil - } - if typ, ok := w.curPackage.vars[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindVar, X: v, Name: ft.Name, T: typ.X, Type: typ.T}, nil - } - if typ, ok := w.curPackage.functions[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindFunc, X: ft, Name: ft.Name, T: typ.ft, Type: typ.sig}, nil - } - if typ, ok := w.curPackage.interfaces[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindInterface, X: ft, Name: ft.Name, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - if typ, ok := w.curPackage.interfaces[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindInterface, X: ft, Name: ft.Name, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - if typ, ok := w.curPackage.structs[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindStruct, X: ft, Name: ft.Name, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - if typ, ok := w.curPackage.types[ft.Name]; ok { - return ft.Name, &TypeInfo{Kind: KindType, X: ft, Name: ft.Name, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - if isBuiltinType(ft.Name) { - return ft.Name, &TypeInfo{Kind: KindBuiltin, X: ft, Name: ft.Name}, nil - } - return "", nil, fmt.Errorf("lookup unknown ident %v", v) - case *ast.FuncLit: - if inRange(ft.Body, p) { - info, err := w.lookupStmt(ft.Body, p) - if err == nil { - return "", info, nil - } - return "", nil, err - } - return w.lookupExpr(ft.Type, p) - case *ast.ParenExpr: - return w.lookupExpr(ft.X, p) - case *ast.SelectorExpr: - switch st := ft.X.(type) { - case *ast.Ident: - if inRange(st, p) { - return w.lookupExpr(st, p) - } - s, info, err := w.lookupExpr(st, p) - if err != nil { - return "", nil, err - } - typ := info.Type - if typ == "" { - typ = s - } - fname := typ + "." + ft.Sel.Name - typ = strings.TrimLeft(typ, "*") - if fn, ok := w.curPackage.functions[fname]; ok { - return fname, &TypeInfo{Kind: KindMethod, X: st, Name: fname, T: fn.ft, Type: w.nodeString(w.namelessType(fn.ft))}, nil - } - info, e := w.lookupFunction(typ, ft.Sel.Name) - if e != nil { - return "", nil, e - } - return fname, info, nil - case *ast.SelectorExpr: - if inRange(st.X, p) { - return w.lookupExpr(st.X, p) - } - if inRange(st, p) { - return w.lookupExpr(st, p) - } - typ, err := w.varValueType(st, 0) - if err != nil { - return "", nil, err - } - /* - typ = strings.TrimLeft(typ, "*") - if t := w.curPackage.findType(typ); t != nil { - if ss, ok := t.(*ast.StructType); ok { - for _, fi := range ss.Fields.List { - for _, n := range fi.Names { - if n.Name == st.Sel.Name { - //return fname, &TypeInfo{Kind: KindField, X: n, Name: fname, T: fi.Type, Type: w.nodeString(w.namelessType(fi.Type))}, nil - typ = w.nodeString(w.namelessType(fi.Type)) - } - } - } - } - } - */ - info, e := w.lookupFunction(typ, ft.Sel.Name) - if e != nil { - return "", nil, e - } - return typ + "." + st.Sel.Name, info, nil - case *ast.CallExpr: - if inRange(st, p) { - return w.lookupExpr(st, p) - } - if info, err := w.lookupExprInfo(st, p); err == nil { - if fn, ok := info.X.(*ast.FuncType); ok { - if fn.Results.NumFields() == 1 { - info, err := w.lookupFunction(w.nodeString(fn.Results.List[0].Type), ft.Sel.Name) - if err == nil { - return info.Name, info, err - } - return "", nil, err - } - } - } - //w.lookupFunction(w.nodeString(info.X)) - typ, err := w.varValueType(st, 0) - if err != nil { - return "", nil, err - } - info, e := w.lookupFunction(typ, ft.Sel.Name) - if e != nil { - return "", nil, e - } - return typ + "." + ft.Sel.Name, info, nil - case *ast.TypeAssertExpr: - if inRange(st.X, p) { - return w.lookupExpr(st.X, p) - } - typ := w.nodeString(w.namelessType(st.Type)) - info, e := w.lookupFunction(typ, ft.Sel.Name) - if e != nil { - return "", nil, e - } - return typ + "." + ft.Sel.Name, info, nil - default: - return "", nil, fmt.Errorf("not find select %v %T", v, st) - } - } - return "", nil, fmt.Errorf("not find call %v %T", w.nodeString(v), v.Fun) - case *ast.SelectorExpr: - switch st := v.X.(type) { - case *ast.Ident: - if inRange(st, p) { - return w.lookupExpr(st, p) - } - info, err := w.lookupSelector(st.Name, v.Sel.Name) - if err != nil { - return "", nil, err - } - return st.Name + "." + v.Sel.Name, info, nil - // case *ast.CallExpr: - // typ, err := w.varValueType(v.X, index) - // if err == nil { - // if strings.HasPrefix(typ, "*") { - // typ = typ[1:] - // } - // t := w.curPackage.findType(typ) - // if st, ok := t.(*ast.StructType); ok { - // for _, fi := range st.Fields.List { - // for _, n := range fi.Names { - // if n.Name == v.Sel.Name { - // return w.varValueType(fi.Type, index) - // } - // } - // } - // } - // } - case *ast.SelectorExpr: - if inRange(st.X, p) { - return w.lookupExpr(st.X, p) - } - - if inRange(st, p) { - return w.lookupExpr(st, p) - } - - typ, err := w.varValueType(st, 0) - if err == nil { - info, err := w.lookupSelector(typ, v.Sel.Name) - if err != nil { - return "", nil, err - } - return typ + v.Sel.Name, info, nil - } - // case *ast.IndexExpr: - // typ, err := w.varValueType(st.X, 0) - // log.Println(typ, err) - // if err == nil { - // if strings.HasPrefix(typ, "[]") { - // return w.varSelectorType(typ[2:], v.Sel.Name) - // } - // } - } - return "", nil, fmt.Errorf("unknown lookup selector expr: %T %s.%s", v.X, w.nodeString(v.X), v.Sel) - - // s, info, err := w.lookupExpr(v.X, p) - // if err != nil { - // return "", "", err - // } - // if strings.HasPrefix(s, "*") { - // s = s[1:] - // } - // if inRange(v.X, p) { - // return s, info, err - // } - // t := w.curPackage.findType(s) - // fname := s + "." + v.Sel.Name - // if st, ok := t.(*ast.StructType); ok { - // for _, fi := range st.Fields.List { - // for _, n := range fi.Names { - // if n.Name == v.Sel.Name { - // return fname, fmt.Sprintf("var,%s,%s,%s", fname, w.nodeString(w.namelessType(fi.Type)), w.fset.Position(n.Pos())), nil - // } - // } - // } - // } - // log.Println(">>", s) - // info, e := w.lookupSelector(s, v.Sel.Name) - // return fname, info, e - case *ast.Ident: - if typ, ok := w.localvar[v.Name]; ok { - return typ.T, &TypeInfo{Kind: KindVar, X: v, Name: v.Name, T: typ.X, Type: typ.T}, nil - } - if typ, ok := w.curPackage.interfaces[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindInterface, X: v, Name: v.Name, T: typ, Type: "interface"}, nil - } - if typ, ok := w.curPackage.structs[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindStruct, X: v, Name: v.Name, T: typ, Type: "struct"}, nil - } - if typ, ok := w.curPackage.types[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindType, X: v, Name: v.Name, T: typ, Type: v.Name}, nil - } - if typ, ok := w.curPackage.vars[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindVar, X: v, Name: v.Name, T: typ.X, Type: typ.T}, nil - } - if typ, ok := w.curPackage.consts[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindConst, X: v, Name: v.Name, T: typ.X, Type: typ.T}, nil - } - if typ, ok := w.curPackage.functions[v.Name]; ok { - return v.Name, &TypeInfo{Kind: KindFunc, X: typ.ft, Name: v.Name, T: typ.ft, Type: typ.sig}, nil - } - if p := w.findPackage(v.Name); p != nil { - return v.Name, &TypeInfo{Kind: KindImport, X: v, Name: v.Name, Type: p.name}, nil - } - if isBuiltinType(v.Name) { - return v.Name, &TypeInfo{Kind: KindBuiltin, Name: v.Name}, nil - } - return "", nil, fmt.Errorf("lookup unknown ident %v", v) - //return v.Name, &TypeInfo{Kind: KindVar, X: v, Name: v.Name, T: v, Type: v.Name}, nil - case *ast.IndexExpr: - if inRange(v.Index, p) { - return w.lookupExpr(v.Index, p) - } - return w.lookupExpr(v.X, p) - case *ast.ParenExpr: - return w.lookupExpr(v.X, p) - case *ast.FuncLit: - if inRange(v.Type, p) { - return w.lookupExpr(v.Type, p) - } else { - w.lookupExpr(v.Type, p) - } - typ, err := w.varValueType(v.Type, 0) - if err != nil { - return "", nil, err - } - info, e := w.lookupStmt(v.Body, p) - if e != nil { - return "", nil, err - } - return typ, info, nil - case *ast.FuncType: - if v.Params != nil { - for _, fd := range v.Params.List { - if inRange(fd, p) { - return w.lookupExpr(fd.Type, p) - } - for _, ident := range fd.Names { - typ, err := w.varValueType(fd.Type, 0) - if err == nil { - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - } - } - } - if v.Results != nil { - for _, fd := range v.Results.List { - if inRange(fd, p) { - return w.lookupExpr(fd.Type, p) - } - for _, ident := range fd.Names { - typ, err := w.varValueType(fd.Type, 0) - if err == nil { - w.localvar[ident.Name] = &ExprType{T: typ, X: ident} - } - } - } - } - return "", nil, nil - case *ast.ArrayType: - s, info, err := w.lookupExpr(v.Elt, p) - if err != nil { - return "", nil, err - } - return "[]" + s, &TypeInfo{Kind: KindArray, Name: "[]" + info.Name, Type: "[]" + info.Type, T: info.T}, nil - case *ast.SliceExpr: - if inRange(v.High, p) { - return w.lookupExpr(v.High, p) - } else if inRange(v.Low, p) { - return w.lookupExpr(v.Low, p) - } - return w.lookupExpr(v.X, p) - case *ast.MapType: - if inRange(v.Key, p) { - return w.lookupExpr(v.Key, p) - } else if inRange(v.Value, p) { - return w.lookupExpr(v.Value, p) - } - typ, err := w.varValueType(v, 0) - if err != nil { - return "", nil, err - } - return typ, &TypeInfo{Kind: KindMap, X: v, Name: w.nodeString(v), T: v, Type: typ}, nil - case *ast.ChanType: - if inRange(v.Value, p) { - return w.lookupExpr(v.Value, p) - } - typ, err := w.varValueType(v, 0) - if err != nil { - return "", nil, err - } - return typ, &TypeInfo{Kind: KindChan, X: v, Name: w.nodeString(v), T: v, Type: typ}, nil - default: - return "", nil, fmt.Errorf("not lookupExpr %v %T", w.nodeString(v), v) - } - return "", nil, fmt.Errorf("not lookupExpr %v %T", w.nodeString(vi), vi) -} - -func (w *Walker) walkFile(file *ast.File) { - // Not entering a scope here; file boundaries aren't interesting. - for _, di := range file.Decls { - switch d := di.(type) { - case *ast.GenDecl: - switch d.Tok { - case token.IMPORT: - for _, sp := range d.Specs { - is := sp.(*ast.ImportSpec) - fpath, err := strconv.Unquote(is.Path.Value) - if err != nil { - log.Fatal(err) - } - //name := path.Base(fpath) - name := fpath - if i := strings.LastIndexAny(name, ".-/\\"); i > 0 { - name = name[i+1:] - } - if is.Name != nil { - name = is.Name.Name - } - w.selectorFullPkg[name] = fpath - } - case token.CONST: - for _, sp := range d.Specs { - w.walkConst(sp.(*ast.ValueSpec)) - } - case token.TYPE: - for _, sp := range d.Specs { - w.walkTypeSpec(sp.(*ast.TypeSpec)) - } - case token.VAR: - for _, sp := range d.Specs { - w.walkVar(sp.(*ast.ValueSpec)) - } - default: - log.Fatalf("unknown token type %d in GenDecl", d.Tok) - } - case *ast.FuncDecl: - // Ignore. Handled in subsequent pass, by go/doc. - default: - log.Printf("unhandled %T, %#v\n", di, di) - printer.Fprint(os.Stderr, w.fset, di) - os.Stderr.Write([]byte("\n")) - } - } -} - -var constType = map[token.Token]string{ - token.INT: "ideal-int", - token.FLOAT: "ideal-float", - token.STRING: "ideal-string", - token.CHAR: "ideal-char", - token.IMAG: "ideal-imag", -} - -var varType = map[token.Token]string{ - token.INT: "int", - token.FLOAT: "float64", - token.STRING: "string", - token.CHAR: "rune", - token.IMAG: "complex128", -} - -var builtinTypes = []string{ - "bool", "byte", "complex64", "complex128", "error", "float32", "float64", - "int", "int8", "int16", "int32", "int64", "rune", "string", - "uint", "uint8", "uint16", "uint32", "uint64", "uintptr", -} - -func isBuiltinType(typ string) bool { - for _, v := range builtinTypes { - if v == typ { - return true - } - } - return false -} - -func constTypePriority(typ string) int { - switch typ { - case "complex128": - return 100 - case "ideal-imag": - return 99 - case "complex64": - return 98 - case "float64": - return 97 - case "ideal-float": - return 96 - case "float32": - return 95 - case "int64": - return 94 - case "int", "uint", "uintptr": - return 93 - case "ideal-int": - return 92 - case "int16", "uint16", "int8", "uint8", "byte": - return 91 - case "ideal-char": - return 90 - } - return 101 -} - -func (w *Walker) constRealType(typ string) string { - pos := strings.Index(typ, ".") - if pos >= 0 { - pkg := typ[:pos] - if pkg == "C" { - return "int" - } - typ = typ[pos+1:] - if p := w.findPackage(pkg); p != nil { - ret := p.findType(typ) - if ret != nil { - return w.nodeString(w.namelessType(ret)) - } - } - } else { - ret := w.curPackage.findType(typ) - if ret != nil { - return w.nodeString(w.namelessType(ret)) - } - } - return typ -} - -func (w *Walker) constValueType(vi interface{}) (string, error) { - switch v := vi.(type) { - case *ast.BasicLit: - litType, ok := constType[v.Kind] - if !ok { - return "", fmt.Errorf("unknown basic literal kind %#v", v) - } - return litType, nil - case *ast.UnaryExpr: - return w.constValueType(v.X) - case *ast.SelectorExpr: - lhs := w.nodeString(v.X) - rhs := w.nodeString(v.Sel) - //if CGO - if lhs == "C" { - return lhs + "." + rhs, nil - } - if p := w.findPackage(lhs); p != nil { - if ret, ok := p.consts[rhs]; ok { - return w.pkgRetType(p.name, ret.T), nil - } - } - return "", fmt.Errorf("unknown constant reference to %s.%s", lhs, rhs) - case *ast.Ident: - if v.Name == "iota" { - return "ideal-int", nil // hack. - } - if v.Name == "false" || v.Name == "true" { - return "bool", nil - } - if t, ok := w.curPackage.consts[v.Name]; ok { - return t.T, nil - } - return constDepPrefix + v.Name, nil - case *ast.BinaryExpr: - //== > < ! != >= <= - if v.Op == token.EQL || v.Op == token.LSS || v.Op == token.GTR || v.Op == token.NOT || - v.Op == token.NEQ || v.Op == token.LEQ || v.Op == token.GEQ { - return "bool", nil - } - left, err := w.constValueType(v.X) - if err != nil { - return "", err - } - if v.Op == token.SHL || v.Op == token.SHR { - return left, err - } - right, err := w.constValueType(v.Y) - if err != nil { - return "", err - } - //const left != right , one or two is ideal- - if left != right { - if strings.HasPrefix(left, constDepPrefix) && strings.HasPrefix(right, constDepPrefix) { - // Just pick one. - // e.g. text/scanner GoTokens const-dependency:ScanIdents, const-dependency:ScanFloats - return left, nil - } - lp := constTypePriority(w.constRealType(left)) - rp := constTypePriority(w.constRealType(right)) - if lp >= rp { - return left, nil - } else { - return right, nil - } - return "", fmt.Errorf("in BinaryExpr, unhandled type mismatch; left=%q, right=%q", left, right) - } - return left, nil - case *ast.CallExpr: - // Not a call, but a type conversion. - typ := w.nodeString(v.Fun) - switch typ { - case "complex": - return "complex128", nil - case "real", "imag": - return "float64", nil - } - return typ, nil - case *ast.ParenExpr: - return w.constValueType(v.X) - } - return "", fmt.Errorf("unknown const value type %T", vi) -} - -func (w *Walker) pkgRetType(pkg, ret string) string { - pkg = pkg[strings.LastIndex(pkg, "/")+1:] - if strings.HasPrefix(ret, "[]") { - return "[]" + w.pkgRetType(pkg, ret[2:]) - } - if strings.HasPrefix(ret, "*") { - return "*" + w.pkgRetType(pkg, ret[1:]) - } - if ast.IsExported(ret) { - return pkg + "." + ret - } - return ret -} - -func (w *Walker) findStructFieldType(st ast.Expr, name string) ast.Expr { - _, expr := w.findStructField(st, name) - return expr -} - -func (w *Walker) findStructFieldFunction(st ast.Expr, name string) (*TypeInfo, error) { - if s, ok := st.(*ast.StructType); ok { - for _, fi := range s.Fields.List { - typ := fi.Type - if fi.Names == nil { - switch v := typ.(type) { - case *ast.Ident: - if t := w.curPackage.findType(v.Name); t != nil { - return w.lookupFunction(v.Name, name) - } - case *ast.SelectorExpr: - pt := w.nodeString(typ) - pos := strings.Index(pt, ".") - if pos != -1 { - if p := w.findPackage(pt[:pos]); p != nil { - if t := p.findType(pt[pos+1:]); t != nil { - return w.lookupFunction(pt, name) - } - } - } - case *ast.StarExpr: - return w.findStructFieldFunction(v.X, name) - default: - if apiVerbose { - log.Printf("unable to handle embedded %T", typ) - } - } - } - } - } - return nil, nil -} - -func (w *Walker) findStructField(st ast.Expr, name string) (*ast.Ident, ast.Expr) { - if s, ok := st.(*ast.StructType); ok { - for _, fi := range s.Fields.List { - typ := fi.Type - for _, n := range fi.Names { - if n.Name == name { - return n, fi.Type - } - } - if fi.Names == nil { - switch v := typ.(type) { - case *ast.Ident: - if t := w.curPackage.findType(v.Name); t != nil { - if v.Name == name { - return v, v - } - id, expr := w.findStructField(t, name) - if id != nil { - return id, expr - } - } - case *ast.StarExpr: - switch vv := v.X.(type) { - case *ast.Ident: - if t := w.curPackage.findType(vv.Name); t != nil { - if vv.Name == name { - return vv, v.X - } - id, expr := w.findStructField(t, name) - if id != nil { - return id, expr - } - } - case *ast.SelectorExpr: - pt := w.nodeString(typ) - pos := strings.Index(pt, ".") - if pos != -1 { - if p := w.findPackage(pt[:pos]); p != nil { - if t := p.findType(pt[pos+1:]); t != nil { - return w.findStructField(t, name) - } - } - } - default: - if apiVerbose { - log.Printf("unable to handle embedded starexpr before %T", typ) - } - } - case *ast.SelectorExpr: - pt := w.nodeString(typ) - pos := strings.Index(pt, ".") - if pos != -1 { - if p := w.findPackage(pt[:pos]); p != nil { - if t := p.findType(pt[pos+1:]); t != nil { - return w.findStructField(t, name) - } - } - } - default: - if apiVerbose { - log.Printf("unable to handle embedded %T", typ) - } - } - } - } - } - return nil, nil -} - -func (w *Walker) lookupFunction(name, sel string) (*TypeInfo, error) { - name = strings.TrimLeft(name, "*") - if p := w.findPackage(name); p != nil { - fn := p.findCallFunc(sel) - if fn != nil { - return &TypeInfo{Kind: KindFunc, X: fn, Name: name + "." + sel, T: fn, Type: w.nodeString(w.namelessType(fn))}, nil - } - } - pos := strings.Index(name, ".") - if pos != -1 { - pkg := name[:pos] - typ := name[pos+1:] - if p := w.findPackage(pkg); p != nil { - if ident, fn := p.findMethod(typ, sel); fn != nil { - return &TypeInfo{Kind: KindMethod, X: fn, Name: name + "." + sel, T: ident, Type: w.nodeString(w.namelessType(fn))}, nil - } - } - return nil, fmt.Errorf("not lookup pkg type function pkg: %s, %s. %s. %s", name, pkg, typ, sel) - } - - //find local var.func() - if ns, nt, n := w.resolveName(name); n >= 0 { - var vt string - if nt != nil { - vt = w.nodeString(w.namelessType(nt)) - } else if ns != nil { - typ, err := w.varValueType(ns, n) - if err == nil { - vt = typ - } - } else { - typ := w.curPackage.findSelectorType(name) - if typ != nil { - vt = w.nodeString(w.namelessType(typ)) - } - } - if strings.HasPrefix(vt, "*") { - vt = vt[1:] - } - if vt == "error" && sel == "Error" { - return &TypeInfo{Kind: KindBuiltin, Name: "error.Error", Type: "()string"}, nil - } - if fn, ok := w.curPackage.functions[vt+"."+sel]; ok { - return &TypeInfo{Kind: KindMethod, X: fn.ft, Name: name + "." + sel, T: fn.ft, Type: w.nodeString(w.namelessType(fn))}, nil - } - } - if typ, ok := w.curPackage.structs[name]; ok { - if fn, ok := w.curPackage.functions[name+"."+sel]; ok { - return &TypeInfo{Kind: KindMethod, X: fn.ft, Name: name + "." + sel, T: fn.ft, Type: w.nodeString(w.namelessType(fn.ft))}, nil - } - if info, err := w.findStructFieldFunction(typ, sel); err == nil { - return info, nil - } - // struct field is type function - if ft := w.findStructFieldType(typ, sel); ft != nil { - typ, err := w.varValueType(ft, 0) - if err != nil { - typ = w.nodeString(ft) - } - return &TypeInfo{Kind: KindField, X: ft, Name: name + "." + sel, T: ft, Type: typ}, nil - } - } - - if ident, fn := w.curPackage.findMethod(name, sel); ident != nil && fn != nil { - return &TypeInfo{Kind: KindMethod, X: fn, Name: name + "." + sel, T: ident, Type: w.nodeString(w.namelessType(fn))}, nil - } - - if p := w.findPackage(name); p != nil { - fn := p.findCallFunc(sel) - if fn != nil { - return &TypeInfo{Kind: KindFunc, X: fn, Name: name + "." + sel, T: fn, Type: w.nodeString(w.namelessType(fn))}, nil - } - return nil, fmt.Errorf("not find pkg func0 %v.%v", p.name, sel) - } - return nil, fmt.Errorf("not lookup func %v.%v", name, sel) -} - -func (w *Walker) varFunctionType(name, sel string, index int) (string, error) { - name = strings.TrimLeft(name, "*") - pos := strings.Index(name, ".") - if pos != -1 { - pkg := name[:pos] - typ := name[pos+1:] - - if p := w.findPackage(pkg); p != nil { - _, fn := p.findMethod(typ, sel) - if fn != nil { - ret := funcRetType(fn, index) - if ret != nil { - return w.pkgRetType(p.name, w.nodeString(w.namelessType(ret))), nil - } - } - } - return "", fmt.Errorf("unknown pkg type function pkg: %s.%s.%s", pkg, typ, sel) - } - //find local var - if v, ok := w.localvar[name]; ok { - vt := v.T - if strings.HasPrefix(vt, "*") { - vt = vt[1:] - } - if vt == "error" && sel == "Error" { - return "string", nil - } - typ, err := w.varFunctionType(vt, sel, 0) - if err == nil { - return typ, nil - } - } - //find global var.func() - if ns, nt, n := w.resolveName(name); n >= 0 { - var vt string - if nt != nil { - vt = w.nodeString(w.namelessType(nt)) - } else if ns != nil { - typ, err := w.varValueType(ns, n) - if err == nil { - vt = typ - } - } else { - typ := w.curPackage.findSelectorType(name) - if typ != nil { - vt = w.nodeString(w.namelessType(typ)) - } - } - if strings.HasPrefix(vt, "*") { - vt = vt[1:] - } - if vt == "error" && sel == "Error" { - return "string", nil - } - if fn, ok := w.curPackage.functions[vt+"."+sel]; ok { - return w.nodeString(w.namelessType(funcRetType(fn.ft, index))), nil - } - } - if typ, ok := w.curPackage.structs[name]; ok { - if ft := w.findStructFieldType(typ, sel); ft != nil { - return w.varValueType(ft, index) - } - } - //find pkg.func() - if p := w.findPackage(name); p != nil { - typ := p.findCallType(sel, index) - if typ != nil { - return w.pkgRetType(p.name, w.nodeString(w.namelessType(typ))), nil - } - //log.Println("->", p.functions) - return "", fmt.Errorf("not find pkg func1 %v . %v", p.name, sel) - } - return "", fmt.Errorf("not find func %v.%v", name, sel) -} - -func (w *Walker) lookupSelector(name string, sel string) (*TypeInfo, error) { - name = strings.TrimLeft(name, "*") - pos := strings.Index(name, ".") - if pos != -1 { - pkg := name[:pos] - typ := name[pos+1:] - if p := w.findPackage(pkg); p != nil { - t := p.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return &TypeInfo{Kind: KindField, X: typ, Name: name + "." + sel, T: typ, Type: w.pkgRetType(p.name, w.nodeString(w.namelessType(typ)))}, nil - } - } - } - return nil, fmt.Errorf("lookup unknown pkg type selector pkg: %s.%s %s", pkg, typ, sel) - } - - if lv, ok := w.localvar[name]; ok { - return w.lookupSelector(lv.T, sel) - } - - vs, vt, n := w.resolveName(name) - if n >= 0 { - var typ string - if vt != nil { - typ = w.nodeString(w.namelessType(vt)) - } else { - typ, _ = w.varValueType(vs, n) - } - if strings.HasPrefix(typ, "*") { - typ = typ[1:] - } - //typ is type, find real type - for k, v := range w.curPackage.types { - if k == typ { - typ = w.nodeString(w.namelessType(v)) - } - } - pos := strings.Index(typ, ".") - if pos == -1 { - t := w.curPackage.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return &TypeInfo{Kind: KindField, X: typ, Name: name + "." + sel, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - } - } else { - name := typ[:pos] - typ = typ[pos+1:] - if p := w.findPackage(name); p != nil { - t := p.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return &TypeInfo{Kind: KindField, X: typ, Name: name + "." + sel, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - } - } - } - } - if p := w.findPackage(name); p != nil { - typ := p.findSelectorType(sel) - if typ != nil { - return &TypeInfo{Kind: KindType, X: typ, Name: name + "." + sel, T: typ, Type: w.pkgRetType(p.name, w.nodeString(w.namelessType(typ)))}, nil - } - } - t := w.curPackage.findType(name) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return &TypeInfo{Kind: KindField, X: typ, Name: name + "." + sel, T: typ, Type: w.nodeString(w.namelessType(typ))}, nil - } - } - if t, ok := w.curPackage.types[name]; ok { - return w.lookupSelector(w.nodeString(t), sel) - } - return nil, fmt.Errorf("unknown selector expr ident: %s.%s", name, sel) -} - -func (w *Walker) varSelectorType(name string, sel string) (string, error) { - name = strings.TrimLeft(name, "*") - pos := strings.Index(name, ".") - if pos != -1 { - pkg := name[:pos] - typ := name[pos+1:] - if p := w.findPackage(pkg); p != nil { - t := p.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return w.pkgRetType(pkg, w.nodeString(w.namelessType(typ))), nil - } - } - } - return "", fmt.Errorf("unknown pkg type selector pkg: %s.%s.%s", pkg, typ, sel) - } - //check local - if lv, ok := w.localvar[name]; ok { - return w.varSelectorType(lv.T, sel) - } - //check struct - if t := w.curPackage.findType(name); t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return w.nodeString(w.namelessType(typ)), nil - } - } - //check var - vs, vt, n := w.resolveName(name) - if n >= 0 { - var typ string - if vt != nil { - typ = w.nodeString(w.namelessType(vt)) - } else { - typ, _ = w.varValueType(vs, n) - } - if strings.HasPrefix(typ, "*") { - typ = typ[1:] - } - //typ is type, find real type - for k, v := range w.curPackage.types { - if k == typ { - typ = w.nodeString(w.namelessType(v)) - } - } - pos := strings.Index(typ, ".") - if pos == -1 { - t := w.curPackage.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return w.nodeString(w.namelessType(typ)), nil - } - } - } else { - name := typ[:pos] - typ = typ[pos+1:] - if p := w.findPackage(name); p != nil { - t := p.findType(typ) - if t != nil { - typ := w.findStructFieldType(t, sel) - if typ != nil { - return w.nodeString(w.namelessType(typ)), nil - } - } - } - } - } - - if p := w.findPackage(name); p != nil { - typ := p.findSelectorType(sel) - if typ != nil { - return w.pkgRetType(p.name, w.nodeString(w.namelessType(typ))), nil - } - } - return "", fmt.Errorf("unknown var selector expr ident: %s.%s", name, sel) -} - -func (w *Walker) varValueType(vi ast.Expr, index int) (string, error) { - if vi == nil { - return "", nil - } - switch v := vi.(type) { - case *ast.BasicLit: - litType, ok := varType[v.Kind] - if !ok { - return "", fmt.Errorf("unknown basic literal kind %#v", v) - } - return litType, nil - case *ast.CompositeLit: - return w.nodeString(v.Type), nil - case *ast.FuncLit: - return w.nodeString(w.namelessType(v.Type)), nil - case *ast.InterfaceType: - return w.nodeString(v), nil - case *ast.Ellipsis: - typ, err := w.varValueType(v.Elt, index) - if err != nil { - return "", err - } - return "[]" + typ, nil - case *ast.StarExpr: - typ, err := w.varValueType(v.X, index) - if err != nil { - return "", err - } - return "*" + typ, err - case *ast.UnaryExpr: - if v.Op == token.AND { - typ, err := w.varValueType(v.X, index) - return "*" + typ, err - } - return "", fmt.Errorf("unknown unary expr: %#v", v) - case *ast.SelectorExpr: - switch st := v.X.(type) { - case *ast.Ident: - return w.varSelectorType(st.Name, v.Sel.Name) - case *ast.CallExpr: - typ, err := w.varValueType(v.X, index) - if err == nil { - if strings.HasPrefix(typ, "*") { - typ = typ[1:] - } - t := w.curPackage.findType(typ) - if st, ok := t.(*ast.StructType); ok { - for _, fi := range st.Fields.List { - for _, n := range fi.Names { - if n.Name == v.Sel.Name { - return w.varValueType(fi.Type, index) - } - } - } - } - } - case *ast.SelectorExpr: - typ, err := w.varValueType(v.X, index) - if err == nil { - return w.varSelectorType(typ, v.Sel.Name) - } - case *ast.IndexExpr: - typ, err := w.varValueType(st.X, index) - if err == nil { - if strings.HasPrefix(typ, "[]") { - return w.varSelectorType(typ[2:], v.Sel.Name) - } - } - case *ast.CompositeLit: - typ, err := w.varValueType(st.Type, 0) - if err == nil { - //log.Println(typ, v.Sel.Name) - t, err := w.varSelectorType(typ, v.Sel.Name) - if err == nil { - return t, nil - } - } - } - return "", fmt.Errorf("var unknown selector expr: %T %s.%s", v.X, w.nodeString(v.X), v.Sel) - case *ast.Ident: - if v.Name == "true" || v.Name == "false" { - return "bool", nil - } - if isBuiltinType(v.Name) { - return v.Name, nil - } - if lv, ok := w.localvar[v.Name]; ok { - return lv.T, nil - } - vt := w.curPackage.findType(v.Name) - if vt != nil { - if _, ok := vt.(*ast.StructType); ok { - return v.Name, nil - } - return w.nodeString(vt), nil - } - vs, _, n := w.resolveName(v.Name) - if n >= 0 { - return w.varValueType(vs, n) - } - return "", fmt.Errorf("unresolved identifier: %q", v.Name) - case *ast.BinaryExpr: - //== > < ! != >= <= - if v.Op == token.EQL || v.Op == token.LSS || v.Op == token.GTR || v.Op == token.NOT || - v.Op == token.NEQ || v.Op == token.LEQ || v.Op == token.GEQ { - return "bool", nil - } - left, err := w.varValueType(v.X, index) - if err != nil { - return "", err - } - right, err := w.varValueType(v.Y, index) - if err != nil { - return "", err - } - if left != right { - return "", fmt.Errorf("in BinaryExpr, unhandled type mismatch; left=%q, right=%q", left, right) - } - return left, nil - case *ast.ParenExpr: - return w.varValueType(v.X, index) - case *ast.CallExpr: - switch ft := v.Fun.(type) { - case *ast.ArrayType: - return w.nodeString(v.Fun), nil - case *ast.Ident: - switch ft.Name { - case "make": - return w.nodeString(w.namelessType(v.Args[0])), nil - case "new": - return "*" + w.nodeString(w.namelessType(v.Args[0])), nil - case "append": - return w.varValueType(v.Args[0], 0) - case "recover": - return "interface{}", nil - case "len", "cap", "copy": - return "int", nil - case "complex": - return "complex128", nil - case "real": - return "float64", nil - case "imag": - return "float64", nil - } - if isBuiltinType(ft.Name) { - return ft.Name, nil - } - typ := w.curPackage.findCallType(ft.Name, index) - if typ != nil { - return w.nodeString(w.namelessType(typ)), nil - } - //if local var type - if fn, ok := w.localvar[ft.Name]; ok { - typ := fn.T - if strings.HasPrefix(typ, "func(") { - expr, err := parser.ParseExpr(typ + "{}") - if err == nil { - if fl, ok := expr.(*ast.FuncLit); ok { - retType := funcRetType(fl.Type, index) - if retType != nil { - return w.nodeString(w.namelessType(retType)), nil - } - } - } - } - } - //if var is func() type - vs, _, n := w.resolveName(ft.Name) - if n >= 0 { - if vs != nil { - typ, err := w.varValueType(vs, n) - if err == nil { - if strings.HasPrefix(typ, "func(") { - expr, err := parser.ParseExpr(typ + "{}") - if err == nil { - if fl, ok := expr.(*ast.FuncLit); ok { - retType := funcRetType(fl.Type, index) - if retType != nil { - return w.nodeString(w.namelessType(retType)), nil - } - } - } - } - } - } - } - return "", fmt.Errorf("unknown funcion %s %s", w.curPackageName, ft.Name) - case *ast.SelectorExpr: - typ, err := w.varValueType(ft.X, index) - if err == nil { - if strings.HasPrefix(typ, "*") { - typ = typ[1:] - } - retType := w.curPackage.findCallType(typ+"."+ft.Sel.Name, index) - if retType != nil { - return w.nodeString(w.namelessType(retType)), nil - } - } - switch st := ft.X.(type) { - case *ast.Ident: - return w.varFunctionType(st.Name, ft.Sel.Name, index) - case *ast.CallExpr: - typ, err := w.varValueType(st, 0) - if err != nil { - return "", err - } - return w.varFunctionType(typ, ft.Sel.Name, index) - case *ast.SelectorExpr: - typ, err := w.varValueType(st, index) - if err == nil { - return w.varFunctionType(typ, ft.Sel.Name, index) - } - case *ast.IndexExpr: - typ, err := w.varValueType(st.X, index) - if err == nil { - if strings.HasPrefix(typ, "[]") { - return w.varFunctionType(typ[2:], ft.Sel.Name, index) - } - } - case *ast.TypeAssertExpr: - typ := w.nodeString(w.namelessType(st.Type)) - typ = strings.TrimLeft(typ, "*") - return w.varFunctionType(typ, ft.Sel.Name, index) - } - return "", fmt.Errorf("unknown var function selector %v %T", w.nodeString(ft.X), ft.X) - case *ast.FuncLit: - retType := funcRetType(ft.Type, index) - if retType != nil { - return w.nodeString(w.namelessType(retType)), nil - } - case *ast.CallExpr: - typ, err := w.varValueType(v.Fun, 0) - if err == nil && strings.HasPrefix(typ, "func(") { - expr, err := parser.ParseExpr(typ + "{}") - if err == nil { - if fl, ok := expr.(*ast.FuncLit); ok { - retType := funcRetType(fl.Type, index) - if retType != nil { - return w.nodeString(w.namelessType(retType)), nil - } - } - } - } - } - return "", fmt.Errorf("not a known function %T %v", v.Fun, w.nodeString(v.Fun)) - case *ast.MapType: - return fmt.Sprintf("map[%s](%s)", w.nodeString(w.namelessType(v.Key)), w.nodeString(w.namelessType(v.Value))), nil - case *ast.ArrayType: - return fmt.Sprintf("[]%s", w.nodeString(w.namelessType(v.Elt))), nil - case *ast.FuncType: - return w.nodeString(w.namelessType(v)), nil - case *ast.IndexExpr: - typ, err := w.varValueType(v.X, index) - typ = strings.TrimLeft(typ, "*") - if err == nil { - if index == 0 { - return typ, nil - } else if index == 1 { - return "bool", nil - } - if strings.HasPrefix(typ, "[]") { - return typ[2:], nil - } else if strings.HasPrefix(typ, "map[") { - node, err := parser.ParseExpr(typ + "{}") - if err == nil { - if cl, ok := node.(*ast.CompositeLit); ok { - if m, ok := cl.Type.(*ast.MapType); ok { - return w.nodeString(w.namelessType(m.Value)), nil - } - } - } - } - } - return "", fmt.Errorf("unknown index %v %v %v %v", typ, v.X, index, err) - case *ast.SliceExpr: - return w.varValueType(v.X, index) - case *ast.ChanType: - typ, err := w.varValueType(v.Value, index) - if err == nil { - if v.Dir == ast.RECV { - return "<-chan " + typ, nil - } else if v.Dir == ast.SEND { - return "chan<- " + typ, nil - } - return "chan " + typ, nil - } - case *ast.TypeAssertExpr: - if index == 1 { - return "bool", nil - } - return w.nodeString(w.namelessType(v.Type)), nil - default: - return "", fmt.Errorf("unknown value type %v %T", w.nodeString(vi), vi) - } - //panic("unreachable") - return "", fmt.Errorf("unreachable value type %v %T", vi, vi) -} - -// resolveName finds a top-level node named name and returns the node -// v and its type t, if known. -func (w *Walker) resolveName(name string) (v ast.Expr, t interface{}, n int) { - for _, file := range w.curPackage.apkg.Files { - for _, di := range file.Decls { - switch d := di.(type) { - case *ast.GenDecl: - switch d.Tok { - case token.VAR: - for _, sp := range d.Specs { - vs := sp.(*ast.ValueSpec) - for i, vname := range vs.Names { - if vname.Name == name { - if len(vs.Values) == 1 { - return vs.Values[0], vs.Type, i - } - return nil, vs.Type, i - } - } - } - } - } - } - } - return nil, nil, -1 -} - -// constDepPrefix is a magic prefix that is used by constValueType -// and walkConst to signal that a type isn't known yet. These are -// resolved at the end of walking of a package's files. -const constDepPrefix = "const-dependency:" - -func (w *Walker) walkConst(vs *ast.ValueSpec) { - for _, ident := range vs.Names { - if !w.isExtract(ident.Name) { - continue - } - litType := "" - if vs.Type != nil { - litType = w.nodeString(vs.Type) - } else { - litType = w.lastConstType - if vs.Values != nil { - if len(vs.Values) != 1 { - log.Fatalf("const %q, values: %#v", ident.Name, vs.Values) - } - var err error - litType, err = w.constValueType(vs.Values[0]) - if err != nil { - if apiVerbose { - log.Printf("unknown kind in const %q (%T): %v", ident.Name, vs.Values[0], err) - } - litType = "unknown-type" - } - } - } - if strings.HasPrefix(litType, constDepPrefix) { - dep := litType[len(constDepPrefix):] - w.constDep[ident.Name] = &ExprType{T: dep, X: ident} - continue - } - if litType == "" { - if apiVerbose { - log.Printf("unknown kind in const %q", ident.Name) - } - continue - } - w.lastConstType = litType - - w.curPackage.consts[ident.Name] = &ExprType{T: litType, X: ident} - - if isExtract(ident.Name) { - w.emitFeature(fmt.Sprintf("const %s %s", ident, litType), ident.Pos()) - } - } -} - -func (w *Walker) resolveConstantDeps() { - var findConstType func(string) string - findConstType = func(ident string) string { - if dep, ok := w.constDep[ident]; ok { - return findConstType(dep.T) - } - if t, ok := w.curPackage.consts[ident]; ok { - return t.T - } - return "" - } - for ident, info := range w.constDep { - if !isExtract(ident) { - continue - } - t := findConstType(ident) - if t == "" { - if apiVerbose { - log.Printf("failed to resolve constant %q", ident) - } - continue - } - w.curPackage.consts[ident] = &ExprType{T: t, X: info.X} - w.emitFeature(fmt.Sprintf("const %s %s", ident, t), info.X.Pos()) - } -} - -func (w *Walker) walkVar(vs *ast.ValueSpec) { - if vs.Type != nil { - typ := w.nodeString(vs.Type) - for _, ident := range vs.Names { - w.curPackage.vars[ident.Name] = &ExprType{T: typ, X: ident} - if isExtract(ident.Name) { - w.emitFeature(fmt.Sprintf("var %s %s", ident, typ), ident.Pos()) - } - } - } else if len(vs.Names) == len(vs.Values) { - for n, ident := range vs.Names { - if !w.isExtract(ident.Name) { - continue - } - typ, err := w.varValueType(vs.Values[n], n) - if err != nil { - if apiVerbose { - log.Printf("unknown type of variable0 %q, type %T, error = %v, pos=%s", - ident.Name, vs.Values[n], err, w.fset.Position(vs.Pos())) - } - typ = "unknown-type" - } - w.curPackage.vars[ident.Name] = &ExprType{T: typ, X: ident} - if isExtract(ident.Name) { - w.emitFeature(fmt.Sprintf("var %s %s", ident, typ), ident.Pos()) - } - } - } else if len(vs.Values) == 1 { - for n, ident := range vs.Names { - if !w.isExtract(ident.Name) { - continue - } - typ, err := w.varValueType(vs.Values[0], n) - if err != nil { - if apiVerbose { - log.Printf("unknown type of variable1 %q, type %T, error = %v, pos=%s", - ident.Name, vs.Values[0], err, w.fset.Position(vs.Pos())) - } - typ = "unknown-type" - } - w.curPackage.vars[ident.Name] = &ExprType{T: typ, X: ident} - if isExtract(ident.Name) { - w.emitFeature(fmt.Sprintf("var %s %s", ident, typ), ident.Pos()) - } - } - } -} - -func (w *Walker) nodeString(node interface{}) string { - if node == nil { - return "" - } - var b bytes.Buffer - printer.Fprint(&b, w.fset, node) - return b.String() -} - -func (w *Walker) nodeDebug(node interface{}) string { - if node == nil { - return "" - } - var b bytes.Buffer - ast.Fprint(&b, w.fset, node, nil) - return b.String() -} - -func (w *Walker) noteInterface(name string, it *ast.InterfaceType) { - w.interfaces[pkgSymbol{w.curPackageName, name}] = it -} - -func (w *Walker) walkTypeSpec(ts *ast.TypeSpec) { - name := ts.Name.Name - if !isExtract(name) { - return - } - switch t := ts.Type.(type) { - case *ast.StructType: - w.walkStructType(name, t) - case *ast.InterfaceType: - w.walkInterfaceType(name, t) - default: - w.emitFeature(fmt.Sprintf("type %s %s", name, w.nodeString(ts.Type)), t.Pos()-token.Pos(len(name)+1)) - } -} - -func (w *Walker) walkStructType(name string, t *ast.StructType) { - typeStruct := fmt.Sprintf("type %s struct", name) - w.emitFeature(typeStruct, t.Pos()-token.Pos(len(name)+1)) - pop := w.pushScope(typeStruct) - defer pop() - for _, f := range t.Fields.List { - typ := f.Type - for _, name := range f.Names { - if isExtract(name.Name) { - w.emitFeature(fmt.Sprintf("%s %s", name, w.nodeString(w.namelessType(typ))), name.Pos()) - } - } - if f.Names == nil { - switch v := typ.(type) { - case *ast.Ident: - if isExtract(v.Name) { - w.emitFeature(fmt.Sprintf("embedded %s", v.Name), v.Pos()) - } - case *ast.StarExpr: - switch vv := v.X.(type) { - case *ast.Ident: - if isExtract(vv.Name) { - w.emitFeature(fmt.Sprintf("embedded *%s", vv.Name), vv.Pos()) - } - case *ast.SelectorExpr: - w.emitFeature(fmt.Sprintf("embedded %s", w.nodeString(typ)), v.Pos()) - default: - log.Fatalf("unable to handle embedded starexpr before %T", typ) - } - case *ast.SelectorExpr: - w.emitFeature(fmt.Sprintf("embedded %s", w.nodeString(typ)), v.Pos()) - default: - if apiVerbose { - log.Printf("unable to handle embedded %T", typ) - } - } - } - } -} - -// typeMethod is a method of an interface. -type typeMethod struct { - name string // "Read" - sig string // "([]byte) (int, error)", from funcSigString - ft *ast.FuncType - pos token.Pos - recv ast.Expr -} - -// interfaceMethods returns the expanded list of exported methods for an interface. -// The boolean complete reports whether the list contains all methods (that is, the -// interface has no unexported methods). -// pkg is the complete package name ("net/http") -// iname is the interface name. -func (w *Walker) interfaceMethods(pkg, iname string) (methods []typeMethod, complete bool) { - t, ok := w.interfaces[pkgSymbol{pkg, iname}] - if !ok { - if apiVerbose { - log.Printf("failed to find interface %s.%s", pkg, iname) - } - return - } - - complete = true - for _, f := range t.Methods.List { - typ := f.Type - switch tv := typ.(type) { - case *ast.FuncType: - for _, mname := range f.Names { - if isExtract(mname.Name) { - ft := typ.(*ast.FuncType) - methods = append(methods, typeMethod{ - name: mname.Name, - sig: w.funcSigString(ft), - ft: ft, - pos: f.Pos(), - }) - } else { - complete = false - } - } - case *ast.Ident: - embedded := typ.(*ast.Ident).Name - if embedded == "error" { - methods = append(methods, typeMethod{ - name: "Error", - sig: "() string", - ft: &ast.FuncType{ - Params: nil, - Results: &ast.FieldList{ - List: []*ast.Field{ - &ast.Field{ - Type: &ast.Ident{ - Name: "string", - }, - }, - }, - }, - }, - pos: f.Pos(), - }) - continue - } - if !isExtract(embedded) { - log.Fatalf("unexported embedded interface %q in exported interface %s.%s; confused", - embedded, pkg, iname) - } - m, c := w.interfaceMethods(pkg, embedded) - methods = append(methods, m...) - complete = complete && c - case *ast.SelectorExpr: - lhs := w.nodeString(tv.X) - rhs := w.nodeString(tv.Sel) - fpkg, ok := w.selectorFullPkg[lhs] - if !ok { - log.Fatalf("can't resolve selector %q in interface %s.%s", lhs, pkg, iname) - } - m, c := w.interfaceMethods(fpkg, rhs) - methods = append(methods, m...) - complete = complete && c - default: - log.Fatalf("unknown type %T in interface field", typ) - } - } - return -} - -func (w *Walker) walkInterfaceType(name string, t *ast.InterfaceType) { - methNames := []string{} - pop := w.pushScope("type " + name + " interface") - methods, complete := w.interfaceMethods(w.curPackageName, name) - w.packageMap[w.curPackageName].interfaceMethods[name] = methods - for _, m := range methods { - methNames = append(methNames, m.name) - w.emitFeature(fmt.Sprintf("%s%s", m.name, m.sig), m.pos) - } - if !complete { - // The method set has unexported methods, so all the - // implementations are provided by the same package, - // so the method set can be extended. Instead of recording - // the full set of names (below), record only that there were - // unexported methods. (If the interface shrinks, we will notice - // because a method signature emitted during the last loop, - // will disappear.) - w.emitFeature("unexported methods", 0) - } - pop() - - if !complete { - return - } - - sort.Strings(methNames) - if len(methNames) == 0 { - w.emitFeature(fmt.Sprintf("type %s interface {}", name), t.Pos()-token.Pos(len(name)+1)) - } else { - w.emitFeature(fmt.Sprintf("type %s interface { %s }", name, strings.Join(methNames, ", ")), t.Pos()-token.Pos(len(name)+1)) - } -} - -func baseTypeName(x ast.Expr) (name string, imported bool) { - switch t := x.(type) { - case *ast.Ident: - return t.Name, false - case *ast.SelectorExpr: - if _, ok := t.X.(*ast.Ident); ok { - // only possible for qualified type names; - // assume type is imported - return t.Sel.Name, true - } - case *ast.StarExpr: - return baseTypeName(t.X) - } - return -} - -func (w *Walker) peekFuncDecl(f *ast.FuncDecl) { - var fname = f.Name.Name - var recv ast.Expr - if f.Recv != nil { - recvTypeName, imp := baseTypeName(f.Recv.List[0].Type) - if imp { - return - } - fname = recvTypeName + "." + f.Name.Name - recv = f.Recv.List[0].Type - } - // Record return type for later use. - //if f.Type.Results != nil && len(f.Type.Results.List) >= 1 { - // record all function - w.curPackage.functions[fname] = typeMethod{ - name: fname, - sig: w.funcSigString(f.Type), - ft: f.Type, - pos: f.Pos(), - recv: recv, - } - //} -} - -func (w *Walker) walkFuncDecl(f *ast.FuncDecl) { - if !w.isExtract(f.Name.Name) { - return - } - if f.Recv != nil { - // Method. - recvType := w.nodeString(f.Recv.List[0].Type) - keep := isExtract(recvType) || - (strings.HasPrefix(recvType, "*") && - isExtract(recvType[1:])) - if !keep { - return - } - w.emitFeature(fmt.Sprintf("method (%s) %s%s", recvType, f.Name.Name, w.funcSigString(f.Type)), f.Name.Pos()) - return - } - // Else, a function - w.emitFeature(fmt.Sprintf("func %s%s", f.Name.Name, w.funcSigString(f.Type)), f.Name.Pos()) -} - -func (w *Walker) funcSigString(ft *ast.FuncType) string { - var b bytes.Buffer - writeField := func(b *bytes.Buffer, f *ast.Field) { - if n := len(f.Names); n > 1 { - for i := 0; i < n; i++ { - if i > 0 { - b.WriteString(", ") - } - b.WriteString(w.nodeString(w.namelessType(f.Type))) - } - } else { - b.WriteString(w.nodeString(w.namelessType(f.Type))) - } - } - b.WriteByte('(') - if ft.Params != nil { - for i, f := range ft.Params.List { - if i > 0 { - b.WriteString(", ") - } - writeField(&b, f) - } - } - b.WriteByte(')') - if ft.Results != nil { - nr := 0 - for _, f := range ft.Results.List { - if n := len(f.Names); n > 1 { - nr += n - } else { - nr++ - } - } - if nr > 0 { - b.WriteByte(' ') - if nr > 1 { - b.WriteByte('(') - } - for i, f := range ft.Results.List { - if i > 0 { - b.WriteString(", ") - } - writeField(&b, f) - } - if nr > 1 { - b.WriteByte(')') - } - } - } - return b.String() -} - -// namelessType returns a type node that lacks any variable names. -func (w *Walker) namelessType(t interface{}) interface{} { - ft, ok := t.(*ast.FuncType) - if !ok { - return t - } - return &ast.FuncType{ - Params: w.namelessFieldList(ft.Params), - Results: w.namelessFieldList(ft.Results), - } -} - -// namelessFieldList returns a deep clone of fl, with the cloned fields -// lacking names. -func (w *Walker) namelessFieldList(fl *ast.FieldList) *ast.FieldList { - fl2 := &ast.FieldList{} - if fl != nil { - for _, f := range fl.List { - n := len(f.Names) - if n >= 1 { - for i := 0; i < n; i++ { - fl2.List = append(fl2.List, w.namelessField(f)) - } - } else { - fl2.List = append(fl2.List, w.namelessField(f)) - } - } - } - return fl2 -} - -// namelessField clones f, but not preserving the names of fields. -// (comments and tags are also ignored) -func (w *Walker) namelessField(f *ast.Field) *ast.Field { - return &ast.Field{ - Type: f.Type, - } -} - -func (w *Walker) emitFeature(feature string, pos token.Pos) { - if !w.wantedPkg[w.curPackage.name] { - return - } - more := strings.Index(feature, "\n") - if more != -1 { - if len(feature) <= 1024 { - feature = strings.Replace(feature, "\n", " ", 1) - feature = strings.Replace(feature, "\n", ";", -1) - feature = strings.Replace(feature, "\t", " ", -1) - } else { - feature = feature[:more] + " ...more" - if apiVerbose { - log.Printf("feature contains newlines: %v, %s", feature, w.fset.Position(pos)) - } - } - } - f := strings.Join(w.scope, w.sep) + w.sep + feature - - if _, dup := w.curPackage.features[f]; dup { - return - } - w.curPackage.features[f] = pos -} - -func strListContains(l []string, s string) bool { - for _, v := range l { - if v == s { - return true - } - } - return false -} - -const goosList = "darwin freebsd linux netbsd openbsd plan9 windows " -const goarchList = "386 amd64 arm " - -// goodOSArchFile returns false if the name contains a $GOOS or $GOARCH -// suffix which does not match the current system. -// The recognized name formats are: -// -// name_$(GOOS).* -// name_$(GOARCH).* -// name_$(GOOS)_$(GOARCH).* -// name_$(GOOS)_test.* -// name_$(GOARCH)_test.* -// name_$(GOOS)_$(GOARCH)_test.* -// -func isOSArchFile(ctxt *build.Context, name string) bool { - if dot := strings.Index(name, "."); dot != -1 { - name = name[:dot] - } - l := strings.Split(name, "_") - if n := len(l); n > 0 && l[n-1] == "test" { - l = l[:n-1] - } - n := len(l) - if n >= 2 && knownOS[l[n-2]] && knownArch[l[n-1]] { - return l[n-2] == ctxt.GOOS && l[n-1] == ctxt.GOARCH - } - if n >= 1 && knownOS[l[n-1]] { - return l[n-1] == ctxt.GOOS - } - if n >= 1 && knownArch[l[n-1]] { - return l[n-1] == ctxt.GOARCH - } - return false -} - -var knownOS = make(map[string]bool) -var knownArch = make(map[string]bool) - -func init() { - for _, v := range strings.Fields(goosList) { - knownOS[v] = true - } - for _, v := range strings.Fields(goarchList) { - knownArch[v] = true - } -} diff --git a/vendor/github.com/visualfc/gotools/goimports/fix.go b/vendor/github.com/visualfc/gotools/goimports/fix.go deleted file mode 100644 index 0fabc77..0000000 --- a/vendor/github.com/visualfc/gotools/goimports/fix.go +++ /dev/null @@ -1,394 +0,0 @@ -// Copyright 2013 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. - -package goimports - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "os" - "path" - "path/filepath" - "strings" - "sync" - - "github.com/visualfc/gotools/stdlib" - - "golang.org/x/tools/go/ast/astutil" -) - -// importToGroup is a list of functions which map from an import path to -// a group number. -var importToGroup = []func(importPath string) (num int, ok bool){ - func(importPath string) (num int, ok bool) { - if strings.HasPrefix(importPath, "appengine") { - return 2, true - } - return - }, - func(importPath string) (num int, ok bool) { - if strings.Contains(importPath, ".") { - return 1, true - } - return - }, -} - -func importGroup(importPath string) int { - for _, fn := range importToGroup { - if n, ok := fn(importPath); ok { - return n - } - } - return 0 -} - -func fixImports(fset *token.FileSet, f *ast.File) (added []string, err error) { - // refs are a set of possible package references currently unsatisfied by imports. - // first key: either base package (e.g. "fmt") or renamed package - // second key: referenced package symbol (e.g. "Println") - refs := make(map[string]map[string]bool) - - // decls are the current package imports. key is base package or renamed package. - decls := make(map[string]*ast.ImportSpec) - - // collect potential uses of packages. - var visitor visitFn - visitor = visitFn(func(node ast.Node) ast.Visitor { - if node == nil { - return visitor - } - switch v := node.(type) { - case *ast.ImportSpec: - if v.Name != nil { - decls[v.Name.Name] = v - } else { - local := importPathToName(strings.Trim(v.Path.Value, `\"`)) - decls[local] = v - } - case *ast.SelectorExpr: - xident, ok := v.X.(*ast.Ident) - if !ok { - break - } - if xident.Obj != nil { - // if the parser can resolve it, it's not a package ref - break - } - pkgName := xident.Name - if refs[pkgName] == nil { - refs[pkgName] = make(map[string]bool) - } - if decls[pkgName] == nil { - refs[pkgName][v.Sel.Name] = true - } - } - return visitor - }) - ast.Walk(visitor, f) - - // Search for imports matching potential package references. - searches := 0 - type result struct { - ipath string - name string - err error - } - results := make(chan result) - for pkgName, symbols := range refs { - if len(symbols) == 0 { - continue // skip over packages already imported - } - go func(pkgName string, symbols map[string]bool) { - ipath, rename, err := findImport(pkgName, symbols) - r := result{ipath: ipath, err: err} - if rename { - r.name = pkgName - } - results <- r - }(pkgName, symbols) - searches++ - } - for i := 0; i < searches; i++ { - result := <-results - if result.err != nil { - return nil, result.err - } - if result.ipath != "" { - if result.name != "" { - astutil.AddNamedImport(fset, f, result.name, result.ipath) - } else { - astutil.AddImport(fset, f, result.ipath) - } - added = append(added, result.ipath) - } - } - - // Nil out any unused ImportSpecs, to be removed in following passes - unusedImport := map[string]bool{} - for pkg, is := range decls { - if refs[pkg] == nil && pkg != "_" && pkg != "." { - unusedImport[strings.Trim(is.Path.Value, `"`)] = true - } - } - for ipath := range unusedImport { - if ipath == "C" { - // Don't remove cgo stuff. - continue - } - astutil.DeleteImport(fset, f, ipath) - } - - return added, nil -} - -// importPathToName returns the package name for the given import path. -var importPathToName = importPathToNameGoPath - -// importPathToNameBasic assumes the package name is the base of import path. -func importPathToNameBasic(importPath string) (packageName string) { - return path.Base(importPath) -} - -// importPathToNameGoPath finds out the actual package name, as declared in its .go files. -// If there's a problem, it falls back to using importPathToNameBasic. -func importPathToNameGoPath(importPath string) (packageName string) { - if stdlib.IsStdPkg(importPath) { - return path.Base(importPath) - } - if buildPkg, err := build.Import(importPath, "", 0); err == nil { - return buildPkg.Name - } else { - return importPathToNameBasic(importPath) - } -} - -type pkg struct { - importpath string // full pkg import path, e.g. "net/http" - dir string // absolute file path to pkg directory e.g. "/usr/lib/go/src/fmt" -} - -var pkgIndexOnce sync.Once - -var pkgIndex struct { - sync.Mutex - m map[string][]pkg // shortname => []pkg, e.g "http" => "net/http" -} - -// gate is a semaphore for limiting concurrency. -type gate chan struct{} - -func (g gate) enter() { g <- struct{}{} } -func (g gate) leave() { <-g } - -// fsgate protects the OS & filesystem from too much concurrency. -// Too much disk I/O -> too many threads -> swapping and bad scheduling. -var fsgate = make(gate, 8) - -func loadPkgIndex() { - pkgIndex.Lock() - pkgIndex.m = make(map[string][]pkg) - pkgIndex.Unlock() - - var wg sync.WaitGroup - for _, path := range build.Default.SrcDirs() { - fsgate.enter() - f, err := os.Open(path) - if err != nil { - fsgate.leave() - fmt.Fprint(os.Stderr, err) - continue - } - children, err := f.Readdir(-1) - f.Close() - fsgate.leave() - if err != nil { - fmt.Fprint(os.Stderr, err) - continue - } - for _, child := range children { - if child.IsDir() { - wg.Add(1) - go func(path, name string) { - defer wg.Done() - loadPkg(&wg, path, name) - }(path, child.Name()) - } - } - } - wg.Wait() -} - -func loadPkg(wg *sync.WaitGroup, root, pkgrelpath string) { - importpath := filepath.ToSlash(pkgrelpath) - dir := filepath.Join(root, importpath) - - fsgate.enter() - defer fsgate.leave() - pkgDir, err := os.Open(dir) - if err != nil { - return - } - children, err := pkgDir.Readdir(-1) - pkgDir.Close() - if err != nil { - return - } - // hasGo tracks whether a directory actually appears to be a - // Go source code directory. If $GOPATH == $HOME, and - // $HOME/src has lots of other large non-Go projects in it, - // then the calls to importPathToName below can be expensive. - hasGo := false - for _, child := range children { - name := child.Name() - if name == "" { - continue - } - if c := name[0]; c == '.' || ('0' <= c && c <= '9') { - continue - } - if strings.HasSuffix(name, ".go") { - hasGo = true - } - if child.IsDir() { - wg.Add(1) - go func(root, name string) { - defer wg.Done() - loadPkg(wg, root, name) - }(root, filepath.Join(importpath, name)) - } - } - if hasGo { - shortName := importPathToName(importpath) - pkgIndex.Lock() - pkgIndex.m[shortName] = append(pkgIndex.m[shortName], pkg{ - importpath: importpath, - dir: dir, - }) - pkgIndex.Unlock() - } - -} - -// loadExports returns a list exports for a package. -var loadExports = loadExportsGoPath - -func loadExportsGoPath(dir string) map[string]bool { - exports := make(map[string]bool) - buildPkg, err := build.ImportDir(dir, 0) - if err != nil { - if strings.Contains(err.Error(), "no buildable Go source files in") { - return nil - } - fmt.Fprintf(os.Stderr, "could not import %q: %v\n", dir, err) - return nil - } - fset := token.NewFileSet() - for _, files := range [...][]string{buildPkg.GoFiles, buildPkg.CgoFiles} { - for _, file := range files { - f, err := parser.ParseFile(fset, filepath.Join(dir, file), nil, 0) - if err != nil { - fmt.Fprintf(os.Stderr, "could not parse %q: %v\n", file, err) - continue - } - for name := range f.Scope.Objects { - if ast.IsExported(name) { - exports[name] = true - } - } - } - } - return exports -} - -// findImport searches for a package with the given symbols. -// If no package is found, findImport returns "". -// Declared as a variable rather than a function so goimports can be easily -// extended by adding a file with an init function. -var findImport = findImportGoPath - -func findImportGoPath(pkgName string, symbols map[string]bool) (string, bool, error) { - // Fast path for the standard library. - // In the common case we hopefully never have to scan the GOPATH, which can - // be slow with moving disks. - if pkg, rename, ok := findImportStdlib(pkgName, symbols); ok { - return pkg, rename, nil - } - - // TODO(sameer): look at the import lines for other Go files in the - // local directory, since the user is likely to import the same packages - // in the current Go file. Return rename=true when the other Go files - // use a renamed package that's also used in the current file. - - pkgIndexOnce.Do(loadPkgIndex) - - // Collect exports for packages with matching names. - var wg sync.WaitGroup - var pkgsMu sync.Mutex // guards pkgs - // full importpath => exported symbol => True - // e.g. "net/http" => "Client" => True - pkgs := make(map[string]map[string]bool) - pkgIndex.Lock() - for _, pkg := range pkgIndex.m[pkgName] { - wg.Add(1) - go func(importpath, dir string) { - defer wg.Done() - exports := loadExports(dir) - if exports != nil { - pkgsMu.Lock() - pkgs[importpath] = exports - pkgsMu.Unlock() - } - }(pkg.importpath, pkg.dir) - } - pkgIndex.Unlock() - wg.Wait() - - // Filter out packages missing required exported symbols. - for symbol := range symbols { - for importpath, exports := range pkgs { - if !exports[symbol] { - delete(pkgs, importpath) - } - } - } - if len(pkgs) == 0 { - return "", false, nil - } - - // If there are multiple candidate packages, the shortest one wins. - // This is a heuristic to prefer the standard library (e.g. "bytes") - // over e.g. "github.com/foo/bar/bytes". - shortest := "" - for importPath := range pkgs { - if shortest == "" || len(importPath) < len(shortest) { - shortest = importPath - } - } - return shortest, false, nil -} - -type visitFn func(node ast.Node) ast.Visitor - -func (fn visitFn) Visit(node ast.Node) ast.Visitor { - return fn(node) -} - -func findImportStdlib(shortPkg string, symbols map[string]bool) (importPath string, rename, ok bool) { - for symbol := range symbols { - path := stdlib.Symbols[shortPkg+"."+symbol] - if path == "" { - return "", false, false - } - if importPath != "" && importPath != path { - // Ambiguous. Symbols pointed to different things. - return "", false, false - } - importPath = path - } - return importPath, false, importPath != "" -} diff --git a/vendor/github.com/visualfc/gotools/goimports/goimports.go b/vendor/github.com/visualfc/gotools/goimports/goimports.go deleted file mode 100644 index 0a9b108..0000000 --- a/vendor/github.com/visualfc/gotools/goimports/goimports.go +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright 2013 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. - -package goimports - -import ( - "bytes" - "fmt" - "go/parser" - "go/printer" - "go/scanner" - "go/token" - "io" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - "runtime" - "strings" - "sync" - - "github.com/visualfc/gotools/command" -) - -var Command = &command.Command{ - Run: runGoimports, - UsageLine: "goimports [flags] [path ...]", - Short: "updates go import lines", - Long: `goimports updates your Go import lines, adding missing ones and removing unreferenced ones. `, -} - -var ( - goimportsList bool - goimportsWrite bool - goimportsDiff bool - goimportsAllErrors bool - - // layout control - goimportsComments bool - goimportsTabWidth int - goimportsTabIndent bool -) - -//func init -func init() { - Command.Flag.BoolVar(&goimportsList, "l", false, "list files whose formatting differs from goimport's") - Command.Flag.BoolVar(&goimportsWrite, "w", false, "write result to (source) file instead of stdout") - Command.Flag.BoolVar(&goimportsDiff, "d", false, "display diffs instead of rewriting files") - Command.Flag.BoolVar(&goimportsAllErrors, "e", false, "report all errors (not just the first 10 on different lines)") - - // layout control - Command.Flag.BoolVar(&goimportsComments, "comments", true, "print comments") - Command.Flag.IntVar(&goimportsTabWidth, "tabwidth", 8, "tab width") - Command.Flag.BoolVar(&goimportsTabIndent, "tabs", true, "indent with tabs") -} - -var ( - fileSet = token.NewFileSet() // per process FileSet - exitCode = 0 - - initModesOnce sync.Once // guards calling initModes - parserMode parser.Mode - printerMode printer.Mode - options *Options -) - -func report(err error) { - scanner.PrintError(os.Stderr, err) - exitCode = 2 -} - -func runGoimports(cmd *command.Command, args []string) error { - runtime.GOMAXPROCS(runtime.NumCPU()) - - if goimportsTabWidth < 0 { - fmt.Fprintf(os.Stderr, "negative tabwidth %d\n", goimportsTabWidth) - exitCode = 2 - os.Exit(exitCode) - return os.ErrInvalid - } - - options = &Options{ - TabWidth: goimportsTabWidth, - TabIndent: goimportsTabIndent, - Comments: goimportsComments, - AllErrors: goimportsAllErrors, - Fragment: true, - } - - if len(args) == 0 { - if err := processFile("", os.Stdin, os.Stdout, true); err != nil { - report(err) - } - } else { - for _, path := range args { - switch dir, err := os.Stat(path); { - case err != nil: - report(err) - case dir.IsDir(): - walkDir(path) - default: - if err := processFile(path, nil, os.Stdout, false); err != nil { - report(err) - } - } - } - } - os.Exit(exitCode) - return nil -} - -func isGoFile(f os.FileInfo) bool { - // ignore non-Go files - name := f.Name() - return !f.IsDir() && !strings.HasPrefix(name, ".") && strings.HasSuffix(name, ".go") -} - -func processFile(filename string, in io.Reader, out io.Writer, stdin bool) error { - if in == nil { - f, err := os.Open(filename) - if err != nil { - return err - } - defer f.Close() - in = f - } - - src, err := ioutil.ReadAll(in) - if err != nil { - return err - } - - res, err := Process(filename, src, options) - if err != nil { - return err - } - - if !bytes.Equal(src, res) { - // formatting has changed - if goimportsList { - fmt.Fprintln(out, filename) - } - if goimportsWrite { - err = ioutil.WriteFile(filename, res, 0) - if err != nil { - return err - } - } - if goimportsDiff { - data, err := diff(src, res) - if err != nil { - return fmt.Errorf("computing diff: %s", err) - } - fmt.Printf("diff %s gofmt/%s\n", filename, filename) - out.Write(data) - } - } - - if !goimportsList && !goimportsWrite && !goimportsDiff { - _, err = out.Write(res) - } - - return err -} - -func visitFile(path string, f os.FileInfo, err error) error { - if err == nil && isGoFile(f) { - err = processFile(path, nil, os.Stdout, false) - } - if err != nil { - report(err) - } - return nil -} - -func walkDir(path string) { - filepath.Walk(path, visitFile) -} - -func diff(b1, b2 []byte) (data []byte, err error) { - f1, err := ioutil.TempFile("", "gofmt") - if err != nil { - return - } - defer os.Remove(f1.Name()) - defer f1.Close() - - f2, err := ioutil.TempFile("", "gofmt") - if err != nil { - return - } - defer os.Remove(f2.Name()) - defer f2.Close() - - f1.Write(b1) - f2.Write(b2) - - data, err = exec.Command("diff", "-u", f1.Name(), f2.Name()).CombinedOutput() - if len(data) > 0 { - // diff exits with a non-zero status when the files don't match. - // Ignore that failure as long as we get output. - err = nil - } - return -} diff --git a/vendor/github.com/visualfc/gotools/goimports/imports.go b/vendor/github.com/visualfc/gotools/goimports/imports.go deleted file mode 100644 index 161b5c0..0000000 --- a/vendor/github.com/visualfc/gotools/goimports/imports.go +++ /dev/null @@ -1,281 +0,0 @@ -// Copyright 2013 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. - -// Package imports implements a Go pretty-printer (like package "go/format") -// that also adds or removes import statements as necessary. -package goimports - -import ( - "bufio" - "bytes" - "fmt" - "go/ast" - "go/format" - "go/parser" - "go/printer" - "go/token" - "io" - "regexp" - "strconv" - "strings" - - "golang.org/x/tools/go/ast/astutil" -) - -// Options specifies options for processing files. -type Options struct { - Fragment bool // Accept fragment of a source file (no package statement) - AllErrors bool // Report all errors (not just the first 10 on different lines) - - Comments bool // Print comments (true if nil *Options provided) - TabIndent bool // Use tabs for indent (true if nil *Options provided) - Format bool - TabWidth int // Tab width (8 if nil *Options provided) -} - -// Process formats and adjusts imports for the provided file. -// If opt is nil the defaults are used. -func Process(filename string, src []byte, opt *Options) ([]byte, error) { - if opt == nil { - opt = &Options{Comments: true, TabIndent: true, TabWidth: 8} - } - - fileSet := token.NewFileSet() - file, adjust, err := goImportParse(fileSet, filename, src, opt) - if err != nil { - return nil, err - } - - _, err = fixImports(fileSet, file) - if err != nil { - return nil, err - } - - sortImports(fileSet, file) - imps := astutil.Imports(fileSet, file) - - var spacesBefore []string // import paths we need spaces before - for _, impSection := range imps { - // Within each block of contiguous imports, see if any - // import lines are in different group numbers. If so, - // we'll need to put a space between them so it's - // compatible with gofmt. - lastGroup := -1 - for _, importSpec := range impSection { - importPath, _ := strconv.Unquote(importSpec.Path.Value) - groupNum := importGroup(importPath) - if groupNum != lastGroup && lastGroup != -1 { - spacesBefore = append(spacesBefore, importPath) - } - lastGroup = groupNum - } - - } - - printerMode := printer.UseSpaces - if opt.TabIndent { - printerMode |= printer.TabIndent - } - printConfig := &printer.Config{Mode: printerMode, Tabwidth: opt.TabWidth} - - var buf bytes.Buffer - err = printConfig.Fprint(&buf, fileSet, file) - if err != nil { - return nil, err - } - out := buf.Bytes() - if adjust != nil { - out = adjust(src, out) - } - if len(spacesBefore) > 0 { - out = addImportSpaces(bytes.NewReader(out), spacesBefore) - } - if opt.Format { - out, err = format.Source(out) - if err != nil { - return nil, err - } - } - return out, nil -} - -// parse parses src, which was read from filename, -// as a Go source file or statement list. -func goImportParse(fset *token.FileSet, filename string, src []byte, opt *Options) (*ast.File, func(orig, src []byte) []byte, error) { - parserMode := parser.Mode(0) - if opt.Comments { - parserMode |= parser.ParseComments - } - if opt.AllErrors { - parserMode |= parser.AllErrors - } - - // Try as whole source file. - file, err := parser.ParseFile(fset, filename, src, parserMode) - if err == nil { - return file, nil, nil - } - // If the error is that the source file didn't begin with a - // package line and we accept fragmented input, fall through to - // try as a source fragment. Stop and return on any other error. - if !opt.Fragment || !strings.Contains(err.Error(), "expected 'package'") { - return nil, nil, err - } - - // If this is a declaration list, make it a source file - // by inserting a package clause. - // Insert using a ;, not a newline, so that the line numbers - // in psrc match the ones in src. - psrc := append([]byte("package main;"), src...) - file, err = parser.ParseFile(fset, filename, psrc, parserMode) - if err == nil { - // If a main function exists, we will assume this is a main - // package and leave the file. - if containsMainFunc(file) { - return file, nil, nil - } - - adjust := func(orig, src []byte) []byte { - // Remove the package clause. - // Gofmt has turned the ; into a \n. - src = src[len("package main\n"):] - return matchSpace(orig, src) - } - return file, adjust, nil - } - // If the error is that the source file didn't begin with a - // declaration, fall through to try as a statement list. - // Stop and return on any other error. - if !strings.Contains(err.Error(), "expected declaration") { - return nil, nil, err - } - - // If this is a statement list, make it a source file - // by inserting a package clause and turning the list - // into a function body. This handles expressions too. - // Insert using a ;, not a newline, so that the line numbers - // in fsrc match the ones in src. - fsrc := append(append([]byte("package p; func _() {"), src...), '}') - file, err = parser.ParseFile(fset, filename, fsrc, parserMode) - if err == nil { - adjust := func(orig, src []byte) []byte { - // Remove the wrapping. - // Gofmt has turned the ; into a \n\n. - src = src[len("package p\n\nfunc _() {"):] - src = src[:len(src)-len("}\n")] - // Gofmt has also indented the function body one level. - // Remove that indent. - src = bytes.Replace(src, []byte("\n\t"), []byte("\n"), -1) - return matchSpace(orig, src) - } - return file, adjust, nil - } - - // Failed, and out of options. - return nil, nil, err -} - -// containsMainFunc checks if a file contains a function declaration with the -// function signature 'func main()' -func containsMainFunc(file *ast.File) bool { - for _, decl := range file.Decls { - if f, ok := decl.(*ast.FuncDecl); ok { - if f.Name.Name != "main" { - continue - } - - if len(f.Type.Params.List) != 0 { - continue - } - - if f.Type.Results != nil && len(f.Type.Results.List) != 0 { - continue - } - - return true - } - } - - return false -} - -func cutSpace(b []byte) (before, middle, after []byte) { - i := 0 - for i < len(b) && (b[i] == ' ' || b[i] == '\t' || b[i] == '\n') { - i++ - } - j := len(b) - for j > 0 && (b[j-1] == ' ' || b[j-1] == '\t' || b[j-1] == '\n') { - j-- - } - if i <= j { - return b[:i], b[i:j], b[j:] - } - return nil, nil, b[j:] -} - -// matchSpace reformats src to use the same space context as orig. -// 1) If orig begins with blank lines, matchSpace inserts them at the beginning of src. -// 2) matchSpace copies the indentation of the first non-blank line in orig -// to every non-blank line in src. -// 3) matchSpace copies the trailing space from orig and uses it in place -// of src's trailing space. -func matchSpace(orig []byte, src []byte) []byte { - before, _, after := cutSpace(orig) - i := bytes.LastIndex(before, []byte{'\n'}) - before, indent := before[:i+1], before[i+1:] - - _, src, _ = cutSpace(src) - - var b bytes.Buffer - b.Write(before) - for len(src) > 0 { - line := src - if i := bytes.IndexByte(line, '\n'); i >= 0 { - line, src = line[:i+1], line[i+1:] - } else { - src = nil - } - if len(line) > 0 && line[0] != '\n' { // not blank - b.Write(indent) - } - b.Write(line) - } - b.Write(after) - return b.Bytes() -} - -var impLine = regexp.MustCompile(`^\s+(?:[\w\.]+\s+)?"(.+)"`) - -func addImportSpaces(r io.Reader, breaks []string) []byte { - var out bytes.Buffer - sc := bufio.NewScanner(r) - inImports := false - done := false - for sc.Scan() { - s := sc.Text() - - if !inImports && !done && strings.HasPrefix(s, "import") { - inImports = true - } - if inImports && (strings.HasPrefix(s, "var") || - strings.HasPrefix(s, "func") || - strings.HasPrefix(s, "const") || - strings.HasPrefix(s, "type")) { - done = true - inImports = false - } - if inImports && len(breaks) > 0 { - if m := impLine.FindStringSubmatch(s); m != nil { - if m[1] == string(breaks[0]) { - out.WriteByte('\n') - breaks = breaks[1:] - } - } - } - - fmt.Fprintln(&out, s) - } - return out.Bytes() -} diff --git a/vendor/github.com/visualfc/gotools/goimports/sortimports.go b/vendor/github.com/visualfc/gotools/goimports/sortimports.go deleted file mode 100644 index 35eaac7..0000000 --- a/vendor/github.com/visualfc/gotools/goimports/sortimports.go +++ /dev/null @@ -1,214 +0,0 @@ -// +build go1.2 - -// Copyright 2013 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. - -// Hacked up copy of go/ast/import.go - -package goimports - -import ( - "go/ast" - "go/token" - "sort" - "strconv" -) - -// sortImports sorts runs of consecutive import lines in import blocks in f. -// It also removes duplicate imports when it is possible to do so without data loss. -func sortImports(fset *token.FileSet, f *ast.File) { - for i, d := range f.Decls { - d, ok := d.(*ast.GenDecl) - if !ok || d.Tok != token.IMPORT { - // Not an import declaration, so we're done. - // Imports are always first. - break - } - - if len(d.Specs) == 0 { - // Empty import block, remove it. - f.Decls = append(f.Decls[:i], f.Decls[i+1:]...) - } - - if !d.Lparen.IsValid() { - // Not a block: sorted by default. - continue - } - - // Identify and sort runs of specs on successive lines. - i := 0 - specs := d.Specs[:0] - for j, s := range d.Specs { - if j > i && fset.Position(s.Pos()).Line > 1+fset.Position(d.Specs[j-1].End()).Line { - // j begins a new run. End this one. - specs = append(specs, sortSpecs(fset, f, d.Specs[i:j])...) - i = j - } - } - specs = append(specs, sortSpecs(fset, f, d.Specs[i:])...) - d.Specs = specs - - // Deduping can leave a blank line before the rparen; clean that up. - if len(d.Specs) > 0 { - lastSpec := d.Specs[len(d.Specs)-1] - lastLine := fset.Position(lastSpec.Pos()).Line - if rParenLine := fset.Position(d.Rparen).Line; rParenLine > lastLine+1 { - fset.File(d.Rparen).MergeLine(rParenLine - 1) - } - } - } -} - -func importPath(s ast.Spec) string { - t, err := strconv.Unquote(s.(*ast.ImportSpec).Path.Value) - if err == nil { - return t - } - return "" -} - -func importName(s ast.Spec) string { - n := s.(*ast.ImportSpec).Name - if n == nil { - return "" - } - return n.Name -} - -func importComment(s ast.Spec) string { - c := s.(*ast.ImportSpec).Comment - if c == nil { - return "" - } - return c.Text() -} - -// collapse indicates whether prev may be removed, leaving only next. -func collapse(prev, next ast.Spec) bool { - if importPath(next) != importPath(prev) || importName(next) != importName(prev) { - return false - } - return prev.(*ast.ImportSpec).Comment == nil -} - -type posSpan struct { - Start token.Pos - End token.Pos -} - -func sortSpecs(fset *token.FileSet, f *ast.File, specs []ast.Spec) []ast.Spec { - // Can't short-circuit here even if specs are already sorted, - // since they might yet need deduplication. - // A lone import, however, may be safely ignored. - if len(specs) <= 1 { - return specs - } - - // Record positions for specs. - pos := make([]posSpan, len(specs)) - for i, s := range specs { - pos[i] = posSpan{s.Pos(), s.End()} - } - - // Identify comments in this range. - // Any comment from pos[0].Start to the final line counts. - lastLine := fset.Position(pos[len(pos)-1].End).Line - cstart := len(f.Comments) - cend := len(f.Comments) - for i, g := range f.Comments { - if g.Pos() < pos[0].Start { - continue - } - if i < cstart { - cstart = i - } - if fset.Position(g.End()).Line > lastLine { - cend = i - break - } - } - comments := f.Comments[cstart:cend] - - // Assign each comment to the import spec preceding it. - importComment := map[*ast.ImportSpec][]*ast.CommentGroup{} - specIndex := 0 - for _, g := range comments { - for specIndex+1 < len(specs) && pos[specIndex+1].Start <= g.Pos() { - specIndex++ - } - s := specs[specIndex].(*ast.ImportSpec) - importComment[s] = append(importComment[s], g) - } - - // Sort the import specs by import path. - // Remove duplicates, when possible without data loss. - // Reassign the import paths to have the same position sequence. - // Reassign each comment to abut the end of its spec. - // Sort the comments by new position. - sort.Sort(byImportSpec(specs)) - - // Dedup. Thanks to our sorting, we can just consider - // adjacent pairs of imports. - deduped := specs[:0] - for i, s := range specs { - if i == len(specs)-1 || !collapse(s, specs[i+1]) { - deduped = append(deduped, s) - } else { - p := s.Pos() - fset.File(p).MergeLine(fset.Position(p).Line) - } - } - specs = deduped - - // Fix up comment positions - for i, s := range specs { - s := s.(*ast.ImportSpec) - if s.Name != nil { - s.Name.NamePos = pos[i].Start - } - s.Path.ValuePos = pos[i].Start - s.EndPos = pos[i].End - for _, g := range importComment[s] { - for _, c := range g.List { - c.Slash = pos[i].End - } - } - } - - sort.Sort(byCommentPos(comments)) - - return specs -} - -type byImportSpec []ast.Spec // slice of *ast.ImportSpec - -func (x byImportSpec) Len() int { return len(x) } -func (x byImportSpec) Swap(i, j int) { x[i], x[j] = x[j], x[i] } -func (x byImportSpec) Less(i, j int) bool { - ipath := importPath(x[i]) - jpath := importPath(x[j]) - - igroup := importGroup(ipath) - jgroup := importGroup(jpath) - if igroup != jgroup { - return igroup < jgroup - } - - if ipath != jpath { - return ipath < jpath - } - iname := importName(x[i]) - jname := importName(x[j]) - - if iname != jname { - return iname < jname - } - return importComment(x[i]) < importComment(x[j]) -} - -type byCommentPos []*ast.CommentGroup - -func (x byCommentPos) Len() int { return len(x) } -func (x byCommentPos) Swap(i, j int) { x[i], x[j] = x[j], x[i] } -func (x byCommentPos) Less(i, j int) bool { return x[i].Pos() < x[j].Pos() } diff --git a/vendor/github.com/visualfc/gotools/goimports/sortimports_compat.go b/vendor/github.com/visualfc/gotools/goimports/sortimports_compat.go deleted file mode 100644 index 1624ce8..0000000 --- a/vendor/github.com/visualfc/gotools/goimports/sortimports_compat.go +++ /dev/null @@ -1,14 +0,0 @@ -// +build !go1.2 - -// Copyright 2013 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. - -package goimports - -import "go/ast" - -// Go 1.1 users don't get fancy package grouping. -// But this is still gofmt-compliant: - -var sortImports = ast.SortImports diff --git a/vendor/github.com/visualfc/gotools/gopresent/gopresent.go b/vendor/github.com/visualfc/gotools/gopresent/gopresent.go deleted file mode 100644 index e0242a2..0000000 --- a/vendor/github.com/visualfc/gotools/gopresent/gopresent.go +++ /dev/null @@ -1,383 +0,0 @@ -// Copyright 2013 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. - -//modify 2013-2014 visualfc - -package gopresent - -import ( - "fmt" - "html/template" - "io" - "os" - "path/filepath" - - "github.com/visualfc/gotools/command" - "golang.org/x/tools/present" -) - -var Command = &command.Command{ - Run: runPresent, - UsageLine: "gopresent", - Short: "golang present util", - Long: `golang present util`, -} - -var presentVerifyOnly bool -var presentInput string -var presentStdout bool -var presentOutput string - -func init() { - Command.Flag.BoolVar(&presentVerifyOnly, "v", false, "verify present only") - Command.Flag.BoolVar(&presentStdout, "stdout", false, "output use std output") - Command.Flag.StringVar(&presentInput, "i", "", "input golang present file") - Command.Flag.StringVar(&presentOutput, "o", "", "output html file name") -} - -func runPresent(cmd *command.Command, args []string) error { - if presentInput == "" || !isDoc(presentInput) { - cmd.Usage() - return os.ErrInvalid - } - - if presentVerifyOnly { - err := VerifyDoc(presentInput) - if err != nil { - fmt.Fprintf(os.Stderr, "present:%s", err) - command.SetExitStatus(3) - command.Exit() - } - return nil - } - w := os.Stdout - if !presentStdout { - if presentOutput == "" { - presentOutput = presentInput + ".html" - } - ext := filepath.Ext(presentOutput) - if ext != ".htm" && ext != ".html" { - presentOutput += ".html" - } - var err error - w, err = os.Create(presentOutput) - if err != nil { - fmt.Fprintf(os.Stderr, "present:%s", err) - command.SetExitStatus(3) - command.Exit() - } - } - err := RenderDoc(w, presentInput) - if err != nil { - fmt.Fprintf(os.Stderr, "present:%s", err) - command.SetExitStatus(3) - command.Exit() - } - return nil -} - -var extensions = map[string]string{ - ".slide": "slides.tmpl", - ".article": "article.tmpl", -} - -var extensions_tmpl = map[string]string{ - ".slide": slides_tmpl, - ".article": article_tmpl, -} - -func isDoc(path string) bool { - _, ok := extensions[filepath.Ext(path)] - return ok -} - -func VerifyDoc(docFile string) error { - doc, err := parse(docFile, 0) - if err != nil { - return err - } - dir := filepath.Dir(docFile) - return verify_doc(dir, doc) -} - -// renderDoc reads the present file, builds its template representation, -// and executes the template, sending output to w. -func renderDoc(w io.Writer, base, docFile string) error { - // Read the input and build the doc structure. - doc, err := parse(docFile, 0) - if err != nil { - return err - } - - // Find which template should be executed. - ext := filepath.Ext(docFile) - contentTmpl, ok := extensions[ext] - if !ok { - return fmt.Errorf("no template for extension %v", ext) - } - - // Locate the template file. - actionTmpl := filepath.Join(base, "templates/action.tmpl") - contentTmpl = filepath.Join(base, "templates", contentTmpl) - - // Read and parse the input. - tmpl := present.Template() - tmpl = tmpl.Funcs(template.FuncMap{"playable": playable}) - if _, err := tmpl.ParseFiles(actionTmpl, contentTmpl); err != nil { - return err - } - // Execute the template. - return doc.Render(w, tmpl) -} - -func RenderDoc(w io.Writer, docFile string) error { - // Read the input and build the doc structure. - doc, err := parse(docFile, 0) - if err != nil { - return err - } - - // Find which template should be executed. - ext := filepath.Ext(docFile) - contentTmpl, ok := extensions_tmpl[ext] - if !ok { - return fmt.Errorf("no template for extension %v", ext) - } - - // Locate the template file. - actionTmpl := action_tmpl //filepath.Join(base, "templates/action.tmpl") - // Read and parse the input. - tmpl := present.Template() - tmpl = tmpl.Funcs(template.FuncMap{"playable": playable}) - if tmpl, err = tmpl.New("action").Parse(actionTmpl); err != nil { - return err - } - if tmpl, err = tmpl.New("content").Parse(contentTmpl); err != nil { - return err - } - - // Execute the template. - return doc.Render(w, tmpl) -} - -func parse(name string, mode present.ParseMode) (*present.Doc, error) { - f, err := os.Open(name) - if err != nil { - return nil, err - } - defer f.Close() - return present.Parse(f, name, 0) -} - -func playable(c present.Code) bool { - return present.PlayEnabled && c.Play -} - -func isSkipURL(url string) bool { - if filepath.HasPrefix(url, "http://") { - return true - } - if filepath.HasPrefix(url, "https://") { - return true - } - return false -} - -func verify_path(root string, url string) error { - if isSkipURL(url) { - return nil - } - path := url - if !filepath.IsAbs(url) { - path = filepath.Join(root, path) - } - _, err := os.Stat(path) - if err != nil { - return err - } - return nil -} - -func verify_doc(root string, doc *present.Doc) error { - for _, section := range doc.Sections { - for _, elem := range section.Elem { - switch i := elem.(type) { - case present.Image: - if err := verify_path(root, i.URL); err != nil { - return fmt.Errorf("! .image %s not exist", i.URL) - } - } - } - } - return nil -} - -var action_tmpl = ` -{/* -This is the action template. -It determines how the formatting actions are rendered. -*/} - -{{define "section"}} - {{.FormattedNumber}} {{.Title}} - {{range .Elem}}{{elem $.Template .}}{{end}} -{{end}} - -{{define "list"}} -
    - {{range .Bullet}} -
  • {{style .}}
  • - {{end}} -
-{{end}} - -{{define "text"}} - {{if .Pre}} -
{{range .Lines}}{{.}}{{end}}
- {{else}} -

- {{range $i, $l := .Lines}}{{if $i}}{{template "newline"}} - {{end}}{{style $l}}{{end}} -

- {{end}} -{{end}} - -{{define "code"}} -
{{.Text}}
-{{end}} - -{{define "image"}} -
- -
-{{end}} - -{{define "iframe"}} - -{{end}} - -{{define "link"}}{{end}} - -{{define "html"}}{{.HTML}}{{end}} -` - -var article_tmpl = ` -{/* This is the article template. It defines how articles are formatted. */} - -{{define "root"}} - - - - {{.Title}} - - - - - -
-
-
{{.Title}} - {{with .Subtitle}}{{.}}{{end}} -
-
-
-
-
- {{with .Sections}} -
- {{template "TOC" .}} -
- {{end}} - - {{range .Sections}} - {{elem $.Template .}} - {{end}}{{/* of Section block */}} - -

Authors

- {{range .Authors}} -
- {{range .Elem}}{{elem $.Template .}}{{end}} -
- {{end}} -
-
- - - -{{end}} - -{{define "TOC"}} -
    - {{range .}} -
  • {{.Title}}
  • - {{with .Sections}}{{template "TOC" .}}{{end}} - {{end}} -
-{{end}} - -{{define "newline"}} -{{/* No automatic line break. Paragraphs are free-form. */}} -{{end}} -` - -var slides_tmpl = ` -{/* This is the slide template. It defines how presentations are formatted. */} - -{{define "root"}} - - - - {{.Title}} - - - - - - -
- -
-

{{.Title}}

- {{with .Subtitle}}

{{.}}

{{end}} - {{if not .Time.IsZero}}

{{.Time.Format "2 January 2006"}}

{{end}} - {{range .Authors}} -
- {{range .TextElem}}{{elem $.Template .}}{{end}} -
- {{end}} -
- - {{range $i, $s := .Sections}} - -
- {{if $s.Elem}} -

{{$s.Title}}

- {{range $s.Elem}}{{elem $.Template .}}{{end}} - {{else}} -

{{$s.Title}}

- {{end}} -
- - {{end}}{{/* of Slide block */}} - -
-

Thank you

- {{range .Authors}} -
- {{range .Elem}}{{elem $.Template .}}{{end}} -
- {{end}} -
- - - {{if .PlayEnabled}} - - {{end}} - -{{end}} - -{{define "newline"}} -
-{{end}} -` diff --git a/vendor/github.com/visualfc/gotools/jsonfmt/jsonfmt.go b/vendor/github.com/visualfc/gotools/jsonfmt/jsonfmt.go deleted file mode 100644 index f9657ef..0000000 --- a/vendor/github.com/visualfc/gotools/jsonfmt/jsonfmt.go +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package jsonfmt - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - "strings" - - "github.com/visualfc/gotools/command" -) - -var Command = &command.Command{ - Run: runJsonFmt, - UsageLine: "jsonfmt", - Short: "json format util", - Long: `json format util.`, -} - -var ( - jsonFmtList bool - jsonFmtCompact bool - jsonFmtWrite bool - jsonFmtDiff bool - jsonTabWidth int - jsonTabIndent bool -) - -func init() { - Command.Flag.BoolVar(&jsonFmtList, "l", false, "list files whose formatting differs") - Command.Flag.BoolVar(&jsonFmtCompact, "c", false, "compact json") - Command.Flag.BoolVar(&jsonFmtWrite, "w", false, "write result to (source) file instead of stdout") - Command.Flag.BoolVar(&jsonFmtDiff, "d", false, "display diffs instead of rewriting files") - Command.Flag.IntVar(&jsonTabWidth, "tabwidth", 4, "tab width") - Command.Flag.BoolVar(&jsonTabIndent, "tabs", false, "indent with tabs") -} - -func runJsonFmt(cmd *command.Command, args []string) error { - opt := &JsonFmtOption{} - opt.List = jsonFmtList - opt.Compact = jsonFmtCompact - opt.IndentTab = jsonTabIndent - opt.TabWidth = jsonTabWidth - opt.Write = jsonFmtWrite - opt.Diff = jsonFmtDiff - - if len(args) == 0 { - if err := processJsonFile("", os.Stdin, os.Stdout, true, opt); err != nil { - reportJsonError(err) - } - } else { - for _, path := range args { - switch dir, err := os.Stat(path); { - case err != nil: - reportJsonError(err) - case dir.IsDir(): - filepath.Walk(path, func(path string, f os.FileInfo, err error) error { - if err == nil && isJsonFile(f) { - err = processJsonFile(path, nil, os.Stdout, false, opt) - } - if err != nil { - reportJsonError(err) - } - return nil - }) - default: - if err := processJsonFile(path, nil, os.Stdout, false, opt); err != nil { - reportJsonError(err) - } - } - } - } - return nil -} - -type JsonFmtOption struct { - List bool - Compact bool - Format bool - Write bool - Diff bool - IndentTab bool - TabWidth int -} - -func isJsonFile(f os.FileInfo) bool { - // ignore non-Go files - name := f.Name() - return !f.IsDir() && !strings.HasPrefix(name, ".") && strings.HasSuffix(name, ".json") -} - -func reportJsonError(err error) { - fmt.Fprintf(os.Stderr, "%s\n", err) - os.Exit(2) -} - -func processJson(filename string, src []byte, opt *JsonFmtOption) ([]byte, error) { - if opt.Compact { - var out bytes.Buffer - err := json.Compact(&out, src) - if err != nil { - return nil, err - } - return out.Bytes(), nil - } else { - var out bytes.Buffer - var err error - if opt.IndentTab { - err = json.Indent(&out, src, "", "\t") - } else { - var indent string - for i := 0; i < opt.TabWidth; i++ { - indent += " " - } - err = json.Indent(&out, src, "", indent) - } - if err != nil { - return nil, err - } - return out.Bytes(), nil - } - return src, nil -} - -func processJsonFile(filename string, in io.Reader, out io.Writer, stdin bool, opt *JsonFmtOption) error { - if in == nil { - f, err := os.Open(filename) - if err != nil { - return err - } - defer f.Close() - in = f - } - - src, err := ioutil.ReadAll(in) - if err != nil { - return err - } - - res, err := processJson(filename, src, opt) - if err != nil { - return err - } - - if !bytes.Equal(src, res) { - // formatting has changed - if opt.List { - fmt.Fprintln(out, filename) - } - if opt.Write { - err = ioutil.WriteFile(filename, res, 0) - if err != nil { - return err - } - } - if opt.Diff { - data, err := diffJson(src, res) - if err != nil { - return fmt.Errorf("computing diff: %s", err) - } - fmt.Printf("diff %s json/%s\n", filename, filename) - out.Write(data) - } - } - - if !opt.List && !opt.Write && !opt.Diff { - _, err = out.Write(res) - } - - return err -} - -func diffJson(b1, b2 []byte) (data []byte, err error) { - f1, err := ioutil.TempFile("", "json") - if err != nil { - return - } - defer os.Remove(f1.Name()) - defer f1.Close() - - f2, err := ioutil.TempFile("", "json") - if err != nil { - return - } - defer os.Remove(f2.Name()) - defer f2.Close() - - f1.Write(b1) - f2.Write(b2) - - data, err = exec.Command("diff", "-u", f1.Name(), f2.Name()).CombinedOutput() - if len(data) > 0 { - // diff exits with a non-zero status when the files don't match. - // Ignore that failure as long as we get output. - err = nil - } - return -} diff --git a/vendor/github.com/visualfc/gotools/main.go b/vendor/github.com/visualfc/gotools/main.go deleted file mode 100644 index bc14399..0000000 --- a/vendor/github.com/visualfc/gotools/main.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "github.com/visualfc/gotools/astview" - "github.com/visualfc/gotools/command" - "github.com/visualfc/gotools/docview" - "github.com/visualfc/gotools/finddoc" - "github.com/visualfc/gotools/goapi" - "github.com/visualfc/gotools/goimports" - "github.com/visualfc/gotools/gopresent" - "github.com/visualfc/gotools/jsonfmt" - "github.com/visualfc/gotools/oracle" - "github.com/visualfc/gotools/pkgs" - "github.com/visualfc/gotools/runcmd" - "github.com/visualfc/gotools/types" -) - -func init() { - command.Register(types.Command) - command.Register(jsonfmt.Command) - command.Register(finddoc.Command) - command.Register(runcmd.Command) - command.Register(docview.Command) - command.Register(astview.Command) - command.Register(goimports.Command) - command.Register(gopresent.Command) - command.Register(goapi.Command) - command.Register(pkgs.Command) - command.Register(oracle.Command) -} - -func main() { - command.AppName = "gotools" - command.AppVersion = "1.0" - command.AppInfo = "Go tools for liteide." - command.Main() -} diff --git a/vendor/github.com/visualfc/gotools/oracle/oracle.go b/vendor/github.com/visualfc/gotools/oracle/oracle.go deleted file mode 100644 index eff6fae..0000000 --- a/vendor/github.com/visualfc/gotools/oracle/oracle.go +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package oracle - -import ( - "fmt" - "go/build" - "log" - "os" - "runtime" - - "github.com/visualfc/gotools/command" - - "golang.org/x/tools/oracle" -) - -//The mode argument determines the query to perform: - -// callees show possible targets of selected function call -// callers show possible callers of selected function -// callgraph show complete callgraph of program -// callstack show path from callgraph root to selected function -// describe describe selected syntax: definition, methods, etc -// freevars show free variables of selection -// implements show 'implements' relation for selected type -// peers show send/receive corresponding to selected channel op -// referrers show all refs to entity denoted by selected identifier -// what show basic information about the selected syntax node - -var Command = &command.Command{ - Run: runOracle, - UsageLine: "oracle", - Short: "golang oracle util", - Long: `golang oracle util.`, -} - -var ( - oraclePos string - oracleReflect bool -) - -func init() { - Command.Flag.StringVar(&oraclePos, "pos", "", "filename:#offset") - Command.Flag.BoolVar(&oracleReflect, "reflect", false, "Analyze reflection soundly (slow).") -} - -func runOracle(cmd *command.Command, args []string) error { - if len(args) < 2 { - cmd.Usage() - return os.ErrInvalid - } - if os.Getenv("GOMAXPROCS") == "" { - n := runtime.NumCPU() - if n < 4 { - n = 4 - } - runtime.GOMAXPROCS(n) - } - mode := args[0] - args = args[1:] - if args[0] == "." { - pkgPath, err := os.Getwd() - if err != nil { - log.Fatalln(err) - } - pkg, err := build.Default.ImportDir(pkgPath, 0) - if err != nil { - log.Fatalln(err) - } - args = pkg.GoFiles - //log.Println(pkg.ImportPath) - if pkg.ImportPath != "." && pkg.ImportPath != "" { - args = []string{pkg.ImportPath} - } - } - query := oracle.Query{ - Mode: mode, - Pos: oraclePos, - Build: &build.Default, - Scope: args, - PTALog: nil, - Reflection: oracleReflect, - } - - if err := oracle.Run(&query); err != nil { - fmt.Fprintf(os.Stderr, "oracle: %s.\n", err) - return err - } - - if mode == "referrers" { - ref := query.Serial().Referrers - if ref != nil { - fmt.Fprintln(os.Stdout, ref.Desc) - fmt.Fprintln(os.Stdout, ref.ObjPos) - for _, v := range ref.Refs { - fmt.Fprintln(os.Stdout, v) - } - } - } else { - query.WriteTo(os.Stdout) - } - return nil -} diff --git a/vendor/github.com/visualfc/gotools/pkgs/pkgs.go b/vendor/github.com/visualfc/gotools/pkgs/pkgs.go deleted file mode 100644 index fe47e5c..0000000 --- a/vendor/github.com/visualfc/gotools/pkgs/pkgs.go +++ /dev/null @@ -1,379 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package pkgs - -import ( - "encoding/json" - "fmt" - "go/build" - "os" - "path/filepath" - "runtime" - "sort" - "strings" - "sync" - - "github.com/visualfc/gotools/command" - "github.com/visualfc/gotools/goapi" -) - -var Command = &command.Command{ - Run: runPkgs, - UsageLine: "pkgs", - Short: "print liteide_stub version", - Long: `Version prints the liteide_stub version.`, -} - -var ( - pkgsList bool - pkgsJson bool - pkgsFind string - pkgsStd bool - pkgsPkgOnly bool - pkgsSkipGoroot bool -) - -func init() { - Command.Flag.BoolVar(&pkgsList, "list", false, "list all package") - Command.Flag.BoolVar(&pkgsJson, "json", false, "json format") - Command.Flag.BoolVar(&pkgsStd, "std", false, "std library") - Command.Flag.BoolVar(&pkgsPkgOnly, "pkg", false, "pkg only") - Command.Flag.BoolVar(&pkgsSkipGoroot, "skip_goroot", false, "skip goroot") - Command.Flag.StringVar(&pkgsFind, "find", "", "find package by name") -} - -func runPkgs(cmd *command.Command, args []string) error { - runtime.GOMAXPROCS(runtime.NumCPU()) - if len(args) != 0 { - cmd.Usage() - return os.ErrInvalid - } - //pkgIndexOnce.Do(loadPkgsList) - var pp PathPkgsIndex - pp.LoadIndex() - pp.Sort() - if pkgsList { - for _, pi := range pp.indexs { - for _, pkg := range pi.pkgs { - if pkgsPkgOnly && pkg.IsCommand() { - continue - } - if pkgsJson { - var p GoPackage - p.copyBuild(pkg) - b, err := json.MarshalIndent(&p, "", "\t") - if err == nil { - cmd.Stdout.Write(b) - cmd.Stdout.Write([]byte{'\n'}) - } - } else { - cmd.Println(pkg.ImportPath) - } - } - } - } else if pkgsFind != "" { - for _, pi := range pp.indexs { - for _, pkg := range pi.pkgs { - if pkg.Name == pkgsFind { - if pkgsPkgOnly && pkg.IsCommand() { - continue - } - if pkgsJson { - var p GoPackage - p.copyBuild(pkg) - b, err := json.MarshalIndent(p, "", "\t") - if err == nil { - cmd.Stdout.Write(b) - cmd.Stdout.Write([]byte{'\n'}) - } - } else { - cmd.Println(pkg.Name) - } - break - } - } - } - } - return nil -} - -// A Package describes a single package found in a directory. -type GoPackage struct { - // Note: These fields are part of the go command's public API. - // See list.go. It is okay to add fields, but not to change or - // remove existing ones. Keep in sync with list.go - Dir string `json:",omitempty"` // directory containing package sources - ImportPath string `json:",omitempty"` // import path of package in dir - Name string `json:",omitempty"` // package name - Doc string `json:",omitempty"` // package documentation string - Target string `json:",omitempty"` // install path - Goroot bool `json:",omitempty"` // is this package found in the Go root? - Standard bool `json:",omitempty"` // is this package part of the standard Go library? - Stale bool `json:",omitempty"` // would 'go install' do anything for this package? - Root string `json:",omitempty"` // Go root or Go path dir containing this package - ConflictDir string `json:",omitempty"` // Dir is hidden by this other directory - - // Source files - GoFiles []string `json:",omitempty"` // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles) - CgoFiles []string `json:",omitempty"` // .go sources files that import "C" - IgnoredGoFiles []string `json:",omitempty"` // .go sources ignored due to build constraints - CFiles []string `json:",omitempty"` // .c source files - CXXFiles []string `json:",omitempty"` // .cc, .cpp and .cxx source files - MFiles []string `json:",omitempty"` // .m source files - HFiles []string `json:",omitempty"` // .h, .hh, .hpp and .hxx source files - SFiles []string `json:",omitempty"` // .s source files - SwigFiles []string `json:",omitempty"` // .swig files - SwigCXXFiles []string `json:",omitempty"` // .swigcxx files - SysoFiles []string `json:",omitempty"` // .syso system object files added to package - - // Cgo directives - CgoCFLAGS []string `json:",omitempty"` // cgo: flags for C compiler - CgoCPPFLAGS []string `json:",omitempty"` // cgo: flags for C preprocessor - CgoCXXFLAGS []string `json:",omitempty"` // cgo: flags for C++ compiler - CgoLDFLAGS []string `json:",omitempty"` // cgo: flags for linker - CgoPkgConfig []string `json:",omitempty"` // cgo: pkg-config names - - // Dependency information - Imports []string `json:",omitempty"` // import paths used by this package - Deps []string `json:",omitempty"` // all (recursively) imported dependencies - - // Error information - Incomplete bool `json:",omitempty"` // was there an error loading this package or dependencies? - - // Test information - TestGoFiles []string `json:",omitempty"` // _test.go files in package - TestImports []string `json:",omitempty"` // imports from TestGoFiles - XTestGoFiles []string `json:",omitempty"` // _test.go files outside package - XTestImports []string `json:",omitempty"` // imports from XTestGoFiles - - // Unexported fields are not part of the public API. - build *build.Package - pkgdir string // overrides build.PkgDir - imports []*goapi.Package - deps []*goapi.Package - gofiles []string // GoFiles+CgoFiles+TestGoFiles+XTestGoFiles files, absolute paths - sfiles []string - allgofiles []string // gofiles + IgnoredGoFiles, absolute paths - target string // installed file for this package (may be executable) - fake bool // synthesized package - forceBuild bool // this package must be rebuilt - forceLibrary bool // this package is a library (even if named "main") - cmdline bool // defined by files listed on command line - local bool // imported via local path (./ or ../) - localPrefix string // interpret ./ and ../ imports relative to this prefix - exeName string // desired name for temporary executable - coverMode string // preprocess Go source files with the coverage tool in this mode - coverVars map[string]*CoverVar // variables created by coverage analysis - omitDWARF bool // tell linker not to write DWARF information -} - -// CoverVar holds the name of the generated coverage variables targeting the named file. -type CoverVar struct { - File string // local file name - Var string // name of count struct -} - -func (p *GoPackage) copyBuild(pp *build.Package) { - p.build = pp - - p.Dir = pp.Dir - p.ImportPath = pp.ImportPath - p.Name = pp.Name - p.Doc = pp.Doc - p.Root = pp.Root - p.ConflictDir = pp.ConflictDir - // TODO? Target - p.Goroot = pp.Goroot - p.Standard = p.Goroot && p.ImportPath != "" && !strings.Contains(p.ImportPath, ".") - p.GoFiles = pp.GoFiles - p.CgoFiles = pp.CgoFiles - p.IgnoredGoFiles = pp.IgnoredGoFiles - p.CFiles = pp.CFiles - p.CXXFiles = pp.CXXFiles - p.MFiles = pp.MFiles - p.HFiles = pp.HFiles - p.SFiles = pp.SFiles - p.SwigFiles = pp.SwigFiles - p.SwigCXXFiles = pp.SwigCXXFiles - p.SysoFiles = pp.SysoFiles - p.CgoCFLAGS = pp.CgoCFLAGS - p.CgoCPPFLAGS = pp.CgoCPPFLAGS - p.CgoCXXFLAGS = pp.CgoCXXFLAGS - p.CgoLDFLAGS = pp.CgoLDFLAGS - p.CgoPkgConfig = pp.CgoPkgConfig - p.Imports = pp.Imports - p.TestGoFiles = pp.TestGoFiles - p.TestImports = pp.TestImports - p.XTestGoFiles = pp.XTestGoFiles - p.XTestImports = pp.XTestImports -} - -type PathPkgsIndex struct { - indexs []*PkgsIndex -} - -func (p *PathPkgsIndex) LoadIndex() { - var wg sync.WaitGroup - var context = build.Default - if pkgsStd { - context.GOPATH = "" - } - var srcDirs []string - goroot := context.GOROOT - gopath := context.GOPATH - context.GOPATH = "" - - if !pkgsSkipGoroot { - //go1.4 go/src/ - //go1.3 go/src/pkg; go/src/cmd - _, err := os.Stat(filepath.Join(goroot, "src/pkg/runtime")) - if err == nil { - for _, v := range context.SrcDirs() { - if strings.HasSuffix(v, "pkg") { - srcDirs = append(srcDirs, v[:len(v)-3]+"cmd") - } - srcDirs = append(srcDirs, v) - } - } else { - srcDirs = append(srcDirs, filepath.Join(goroot, "src")) - } - } - - context.GOPATH = gopath - context.GOROOT = "" - for _, v := range context.SrcDirs() { - srcDirs = append(srcDirs, v) - } - context.GOROOT = goroot - for _, path := range srcDirs { - pi := &PkgsIndex{} - p.indexs = append(p.indexs, pi) - pkgsGate.enter() - f, err := os.Open(path) - if err != nil { - pkgsGate.leave() - fmt.Fprint(os.Stderr, err) - continue - } - children, err := f.Readdir(-1) - f.Close() - pkgsGate.leave() - if err != nil { - fmt.Fprint(os.Stderr, err) - continue - } - for _, child := range children { - if child.IsDir() { - wg.Add(1) - go func(path, name string) { - defer wg.Done() - pi.loadPkgsPath(&wg, path, name) - }(path, child.Name()) - } - } - } - wg.Wait() -} - -func (p *PathPkgsIndex) Sort() { - for _, v := range p.indexs { - v.sort() - } -} - -type PkgsIndex struct { - sync.Mutex - pkgs []*build.Package -} - -func (p *PkgsIndex) sort() { - sort.Sort(PkgSlice(p.pkgs)) -} - -type PkgSlice []*build.Package - -func (p PkgSlice) Len() int { - return len([]*build.Package(p)) -} - -func (p PkgSlice) Less(i, j int) bool { - if p[i].IsCommand() && !p[j].IsCommand() { - return true - } else if !p[i].IsCommand() && p[j].IsCommand() { - return false - } - return p[i].ImportPath < p[j].ImportPath -} - -func (p PkgSlice) Swap(i, j int) { - p[i], p[j] = p[j], p[i] -} - -// pkgsgate protects the OS & filesystem from too much concurrency. -// Too much disk I/O -> too many threads -> swapping and bad scheduling. -// gate is a semaphore for limiting concurrency. -type gate chan struct{} - -func (g gate) enter() { g <- struct{}{} } -func (g gate) leave() { <-g } - -var pkgsGate = make(gate, 8) - -func (p *PkgsIndex) loadPkgsPath(wg *sync.WaitGroup, root, pkgrelpath string) { - importpath := filepath.ToSlash(pkgrelpath) - dir := filepath.Join(root, importpath) - - pkgsGate.enter() - defer pkgsGate.leave() - pkgDir, err := os.Open(dir) - if err != nil { - return - } - children, err := pkgDir.Readdir(-1) - pkgDir.Close() - if err != nil { - return - } - // hasGo tracks whether a directory actually appears to be a - // Go source code directory. If $GOPATH == $HOME, and - // $HOME/src has lots of other large non-Go projects in it, - // then the calls to importPathToName below can be expensive. - hasGo := false - for _, child := range children { - name := child.Name() - if name == "" { - continue - } - if c := name[0]; c == '.' || ('0' <= c && c <= '9') { - continue - } - if strings.HasSuffix(name, ".go") { - hasGo = true - } - if child.IsDir() { - if strings.HasPrefix(name, ".") || strings.HasPrefix(name, "_") || name == "testdata" { - continue - } - wg.Add(1) - go func(root, name string) { - defer wg.Done() - p.loadPkgsPath(wg, root, name) - }(root, filepath.Join(importpath, name)) - } - } - if hasGo { - buildPkg, err := build.ImportDir(dir, 0) - if err == nil { - if buildPkg.ImportPath == "." { - buildPkg.ImportPath = filepath.ToSlash(pkgrelpath) - buildPkg.Root = root - buildPkg.Goroot = true - } - p.Lock() - p.pkgs = append(p.pkgs, buildPkg) - p.Unlock() - } - } -} diff --git a/vendor/github.com/visualfc/gotools/runcmd/runcmd.go b/vendor/github.com/visualfc/gotools/runcmd/runcmd.go deleted file mode 100644 index 6560d62..0000000 --- a/vendor/github.com/visualfc/gotools/runcmd/runcmd.go +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package runcmd - -import ( - "fmt" - "os" - "os/exec" - "strings" - - "github.com/visualfc/gotools/command" -) - -var Command = &command.Command{ - Run: runCmd, - UsageLine: "runcmd [-w work_path] [arguments...]", - Short: "run program", - Long: `run program and arguments`, -} - -var execWorkPath string -var execWaitEnter bool - -func init() { - Command.Flag.StringVar(&execWorkPath, "w", "", "work path") - Command.Flag.BoolVar(&execWaitEnter, "e", true, "wait enter and continue") -} - -func runCmd(cmd *command.Command, args []string) error { - if len(args) == 0 { - cmd.Usage() - return os.ErrInvalid - } - if execWorkPath == "" { - var err error - execWorkPath, err = os.Getwd() - if err != nil { - fmt.Fprintf(os.Stderr, "liteide_stub exec: os.Getwd() false\n") - command.SetExitStatus(3) - command.Exit() - return err - } - } - fileName := args[0] - - filePath, err := exec.LookPath(fileName) - if err != nil { - filePath, err = exec.LookPath("./" + fileName) - } - if err != nil { - fmt.Fprintf(os.Stderr, "liteide_stub exec: file %s not found\n", fileName) - command.SetExitStatus(3) - command.Exit() - } - - fmt.Println("Starting Process", filePath, strings.Join(args[1:], " "), "...") - - command := exec.Command(filePath, args[1:]...) - command.Dir = execWorkPath - command.Stdin = os.Stdin - command.Stdout = os.Stdout - command.Stderr = os.Stderr - - err = command.Run() - - if err != nil { - fmt.Println("\nEnd Process", err) - } else { - fmt.Println("\nEnd Process", "exit status 0") - } - - exitWaitEnter() - return nil -} - -func exitWaitEnter() { - if !execWaitEnter { - return - } - fmt.Println("\nPress enter key to continue") - var s = [256]byte{} - os.Stdin.Read(s[:]) - command.SetExitStatus(0) - command.Exit() -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/go13.go b/vendor/github.com/visualfc/gotools/stdlib/go13.go deleted file mode 100644 index d81ad91..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/go13.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build !go1.4 - -package stdlib - -import ( - "go/build" - "os" - "path/filepath" -) - -func ImportStdPkg(context *build.Context, path string, mode build.ImportMode) (*build.Package, error) { - realpath := filepath.Join(context.GOROOT, "src", "pkg", path) - if _, err := os.Stat(realpath); err != nil { - realpath = filepath.Join(context.GOROOT, "src", path) - } - pkg, err := context.ImportDir(realpath, 0) - pkg.ImportPath = path - return pkg, err -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/go14.go b/vendor/github.com/visualfc/gotools/stdlib/go14.go deleted file mode 100644 index 9bd79d2..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/go14.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build go1.4 - -package stdlib - -import ( - "go/build" - "os" - "path/filepath" -) - -func ImportStdPkg(context *build.Context, path string, mode build.ImportMode) (*build.Package, error) { - realpath := filepath.Join(context.GOROOT, "src", path) - if _, err := os.Stat(realpath); err != nil { - realpath = filepath.Join(context.GOROOT, "src/pkg", path) - } - pkg, err := context.ImportDir(realpath, 0) - pkg.ImportPath = path - return pkg, err -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/mkpkglist.go b/vendor/github.com/visualfc/gotools/stdlib/mkpkglist.go deleted file mode 100644 index ea408ae..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/mkpkglist.go +++ /dev/null @@ -1,168 +0,0 @@ -// +build ignore - -package main - -import ( - "fmt" - "strings" -) - -var pkgList = ` -cmd/cgo -cmd/fix -cmd/go -cmd/gofmt -cmd/yacc -archive/tar -archive/zip -bufio -bytes -compress/bzip2 -compress/flate -compress/gzip -compress/lzw -compress/zlib -container/heap -container/list -container/ring -crypto -crypto/aes -crypto/cipher -crypto/des -crypto/dsa -crypto/ecdsa -crypto/elliptic -crypto/hmac -crypto/md5 -crypto/rand -crypto/rc4 -crypto/rsa -crypto/sha1 -crypto/sha256 -crypto/sha512 -crypto/subtle -crypto/tls -crypto/x509 -crypto/x509/pkix -database/sql -database/sql/driver -debug/dwarf -debug/elf -debug/gosym -debug/macho -debug/pe -encoding -encoding/ascii85 -encoding/asn1 -encoding/base32 -encoding/base64 -encoding/binary -encoding/csv -encoding/gob -encoding/hex -encoding/json -encoding/pem -encoding/xml -errors -expvar -flag -fmt -go/ast -go/build -go/doc -go/format -go/parser -go/printer -go/scanner -go/token -hash -hash/adler32 -hash/crc32 -hash/crc64 -hash/fnv -html -html/template -image -image/color -image/color/palette -image/draw -image/gif -image/jpeg -image/png -index/suffixarray -io -io/ioutil -log -log/syslog -math -math/big -math/cmplx -math/rand -mime -mime/multipart -net -net/http -net/http/cgi -net/http/cookiejar -net/http/fcgi -net/http/httptest -net/http/httputil -net/http/pprof -net/mail -net/rpc -net/rpc/jsonrpc -net/smtp -net/textproto -net/url -os -os/exec -os/signal -os/user -path -path/filepath -reflect -regexp -regexp/syntax -runtime -runtime/cgo -runtime/debug -runtime/pprof -runtime/race -sort -strconv -strings -sync -sync/atomic -syscall -testing -testing/iotest -testing/quick -text/scanner -text/tabwriter -text/template -text/template/parse -time -unicode -unicode/utf16 -unicode/utf8 -unsafe -` - -func main() { - //fmt.Println(pkgList) - var list []string - index := 0 - for _, v := range strings.Split(pkgList, "\n") { - v = strings.TrimSpace(v) - if v == "" { - continue - } - v = "\"" + v + "\"" - if index%4 == 0 && index != 0 { - v = "\n" + v - } - list = append(list, v) - index++ - } - fmt.Println(strings.Join(list, ",")) -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/mkstdlib.go b/vendor/github.com/visualfc/gotools/stdlib/mkstdlib.go deleted file mode 100644 index 7118f2d..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/mkstdlib.go +++ /dev/null @@ -1,91 +0,0 @@ -// +build ignore - -// mkstdlib generates the zstdlib.go file, containing the Go standard -// library API symbols. It's baked into the binary to avoid scanning -// GOPATH in the common case. -package main - -import ( - "bufio" - "bytes" - "fmt" - "go/format" - "io" - "log" - "os" - "path" - "path/filepath" - "regexp" - "sort" - "strings" -) - -func mustOpen(name string) io.Reader { - f, err := os.Open(name) - if err != nil { - log.Fatal(err) - } - return f -} - -func api(base string) string { - return filepath.Join(os.Getenv("GOROOT"), "api", base) -} - -var sym = regexp.MustCompile(`^pkg (\S+).*?, (?:var|func|type|const) ([A-Z]\w*)`) - -func main() { - var buf bytes.Buffer - outf := func(format string, args ...interface{}) { - fmt.Fprintf(&buf, format, args...) - } - outf("// AUTO-GENERATED BY mkstdlib.go\n\n") - outf("package imports\n") - outf("var stdlib = map[string]string{\n") - f := io.MultiReader( - mustOpen(api("go1.txt")), - mustOpen(api("go1.1.txt")), - mustOpen(api("go1.2.txt")), - mustOpen(api("go1.3.txt")), - ) - sc := bufio.NewScanner(f) - fullImport := map[string]string{} // "zip.NewReader" => "archive/zip" - ambiguous := map[string]bool{} - var keys []string - for sc.Scan() { - l := sc.Text() - has := func(v string) bool { return strings.Contains(l, v) } - if has("struct, ") || has("interface, ") || has(", method (") { - continue - } - if m := sym.FindStringSubmatch(l); m != nil { - full := m[1] - key := path.Base(full) + "." + m[2] - if exist, ok := fullImport[key]; ok { - if exist != full { - ambiguous[key] = true - } - } else { - fullImport[key] = full - keys = append(keys, key) - } - } - } - if err := sc.Err(); err != nil { - log.Fatal(err) - } - sort.Strings(keys) - for _, key := range keys { - if ambiguous[key] { - outf("\t// %q is ambiguous\n", key) - } else { - outf("\t%q: %q,\n", key, fullImport[key]) - } - } - outf("}\n") - fmtbuf, err := format.Source(buf.Bytes()) - if err != nil { - log.Fatal(err) - } - os.Stdout.Write(fmtbuf) -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/pkglist.go b/vendor/github.com/visualfc/gotools/stdlib/pkglist.go deleted file mode 100644 index 2dc4164..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/pkglist.go +++ /dev/null @@ -1,48 +0,0 @@ -package stdlib - -var Packages = []string{ - "cmd/cgo", "cmd/fix", "cmd/go", "cmd/gofmt", - "cmd/yacc", "archive/tar", "archive/zip", "bufio", - "bytes", "compress/bzip2", "compress/flate", "compress/gzip", - "compress/lzw", "compress/zlib", "container/heap", "container/list", - "container/ring", "crypto", "crypto/aes", "crypto/cipher", - "crypto/des", "crypto/dsa", "crypto/ecdsa", "crypto/elliptic", - "crypto/hmac", "crypto/md5", "crypto/rand", "crypto/rc4", - "crypto/rsa", "crypto/sha1", "crypto/sha256", "crypto/sha512", - "crypto/subtle", "crypto/tls", "crypto/x509", "crypto/x509/pkix", - "database/sql", "database/sql/driver", "debug/dwarf", "debug/elf", - "debug/gosym", "debug/macho", "debug/pe", "encoding", - "encoding/ascii85", "encoding/asn1", "encoding/base32", "encoding/base64", - "encoding/binary", "encoding/csv", "encoding/gob", "encoding/hex", - "encoding/json", "encoding/pem", "encoding/xml", "errors", - "expvar", "flag", "fmt", "go/ast", - "go/build", "go/doc", "go/format", "go/parser", - "go/printer", "go/scanner", "go/token", "hash", - "hash/adler32", "hash/crc32", "hash/crc64", "hash/fnv", - "html", "html/template", "image", "image/color", - "image/color/palette", "image/draw", "image/gif", "image/jpeg", - "image/png", "index/suffixarray", "io", "io/ioutil", - "log", "log/syslog", "math", "math/big", - "math/cmplx", "math/rand", "mime", "mime/multipart", - "net", "net/http", "net/http/cgi", "net/http/cookiejar", - "net/http/fcgi", "net/http/httptest", "net/http/httputil", "net/http/pprof", - "net/mail", "net/rpc", "net/rpc/jsonrpc", "net/smtp", - "net/textproto", "net/url", "os", "os/exec", - "os/signal", "os/user", "path", "path/filepath", - "reflect", "regexp", "regexp/syntax", "runtime", - "runtime/cgo", "runtime/debug", "runtime/pprof", "runtime/race", - "sort", "strconv", "strings", "sync", - "sync/atomic", "syscall", "testing", "testing/iotest", - "testing/quick", "text/scanner", "text/tabwriter", "text/template", - "text/template/parse", "time", "unicode", "unicode/utf16", - "unicode/utf8", "unsafe", -} - -func IsStdPkg(pkg string) bool { - for _, v := range Packages { - if v == pkg { - return true - } - } - return false -} diff --git a/vendor/github.com/visualfc/gotools/stdlib/zstdlib.go b/vendor/github.com/visualfc/gotools/stdlib/zstdlib.go deleted file mode 100644 index ab4ec64..0000000 --- a/vendor/github.com/visualfc/gotools/stdlib/zstdlib.go +++ /dev/null @@ -1,8479 +0,0 @@ -// AUTO-GENERATED BY mkstdlib.go - -package stdlib - -var Symbols = map[string]string{ - "adler32.Checksum": "hash/adler32", - "adler32.New": "hash/adler32", - "adler32.Size": "hash/adler32", - "aes.BlockSize": "crypto/aes", - "aes.KeySizeError": "crypto/aes", - "aes.NewCipher": "crypto/aes", - "ascii85.CorruptInputError": "encoding/ascii85", - "ascii85.Decode": "encoding/ascii85", - "ascii85.Encode": "encoding/ascii85", - "ascii85.MaxEncodedLen": "encoding/ascii85", - "ascii85.NewDecoder": "encoding/ascii85", - "ascii85.NewEncoder": "encoding/ascii85", - "asn1.BitString": "encoding/asn1", - "asn1.Enumerated": "encoding/asn1", - "asn1.Flag": "encoding/asn1", - "asn1.Marshal": "encoding/asn1", - "asn1.ObjectIdentifier": "encoding/asn1", - "asn1.RawContent": "encoding/asn1", - "asn1.RawValue": "encoding/asn1", - "asn1.StructuralError": "encoding/asn1", - "asn1.SyntaxError": "encoding/asn1", - "asn1.Unmarshal": "encoding/asn1", - "asn1.UnmarshalWithParams": "encoding/asn1", - "ast.ArrayType": "go/ast", - "ast.AssignStmt": "go/ast", - "ast.Bad": "go/ast", - "ast.BadDecl": "go/ast", - "ast.BadExpr": "go/ast", - "ast.BadStmt": "go/ast", - "ast.BasicLit": "go/ast", - "ast.BinaryExpr": "go/ast", - "ast.BlockStmt": "go/ast", - "ast.BranchStmt": "go/ast", - "ast.CallExpr": "go/ast", - "ast.CaseClause": "go/ast", - "ast.ChanDir": "go/ast", - "ast.ChanType": "go/ast", - "ast.CommClause": "go/ast", - "ast.Comment": "go/ast", - "ast.CommentGroup": "go/ast", - "ast.CommentMap": "go/ast", - "ast.CompositeLit": "go/ast", - "ast.Con": "go/ast", - "ast.DeclStmt": "go/ast", - "ast.DeferStmt": "go/ast", - "ast.Ellipsis": "go/ast", - "ast.EmptyStmt": "go/ast", - "ast.ExprStmt": "go/ast", - "ast.Field": "go/ast", - "ast.FieldFilter": "go/ast", - "ast.FieldList": "go/ast", - "ast.File": "go/ast", - "ast.FileExports": "go/ast", - "ast.Filter": "go/ast", - "ast.FilterDecl": "go/ast", - "ast.FilterFile": "go/ast", - "ast.FilterFuncDuplicates": "go/ast", - "ast.FilterImportDuplicates": "go/ast", - "ast.FilterPackage": "go/ast", - "ast.FilterUnassociatedComments": "go/ast", - "ast.ForStmt": "go/ast", - "ast.Fprint": "go/ast", - "ast.Fun": "go/ast", - "ast.FuncDecl": "go/ast", - "ast.FuncLit": "go/ast", - "ast.FuncType": "go/ast", - "ast.GenDecl": "go/ast", - "ast.GoStmt": "go/ast", - "ast.Ident": "go/ast", - "ast.IfStmt": "go/ast", - "ast.ImportSpec": "go/ast", - "ast.Importer": "go/ast", - "ast.IncDecStmt": "go/ast", - "ast.IndexExpr": "go/ast", - "ast.Inspect": "go/ast", - "ast.InterfaceType": "go/ast", - "ast.IsExported": "go/ast", - "ast.KeyValueExpr": "go/ast", - "ast.LabeledStmt": "go/ast", - "ast.Lbl": "go/ast", - "ast.MapType": "go/ast", - "ast.MergeMode": "go/ast", - "ast.MergePackageFiles": "go/ast", - "ast.NewCommentMap": "go/ast", - "ast.NewIdent": "go/ast", - "ast.NewObj": "go/ast", - "ast.NewPackage": "go/ast", - "ast.NewScope": "go/ast", - "ast.Node": "go/ast", - "ast.NotNilFilter": "go/ast", - "ast.ObjKind": "go/ast", - "ast.Object": "go/ast", - "ast.Package": "go/ast", - "ast.PackageExports": "go/ast", - "ast.ParenExpr": "go/ast", - "ast.Pkg": "go/ast", - "ast.Print": "go/ast", - "ast.RECV": "go/ast", - "ast.RangeStmt": "go/ast", - "ast.ReturnStmt": "go/ast", - "ast.SEND": "go/ast", - "ast.Scope": "go/ast", - "ast.SelectStmt": "go/ast", - "ast.SelectorExpr": "go/ast", - "ast.SendStmt": "go/ast", - "ast.SliceExpr": "go/ast", - "ast.SortImports": "go/ast", - "ast.StarExpr": "go/ast", - "ast.StructType": "go/ast", - "ast.SwitchStmt": "go/ast", - "ast.Typ": "go/ast", - "ast.TypeAssertExpr": "go/ast", - "ast.TypeSpec": "go/ast", - "ast.TypeSwitchStmt": "go/ast", - "ast.UnaryExpr": "go/ast", - "ast.ValueSpec": "go/ast", - "ast.Var": "go/ast", - "ast.Visitor": "go/ast", - "ast.Walk": "go/ast", - "atomic.AddInt32": "sync/atomic", - "atomic.AddInt64": "sync/atomic", - "atomic.AddUint32": "sync/atomic", - "atomic.AddUint64": "sync/atomic", - "atomic.AddUintptr": "sync/atomic", - "atomic.CompareAndSwapInt32": "sync/atomic", - "atomic.CompareAndSwapInt64": "sync/atomic", - "atomic.CompareAndSwapPointer": "sync/atomic", - "atomic.CompareAndSwapUint32": "sync/atomic", - "atomic.CompareAndSwapUint64": "sync/atomic", - "atomic.CompareAndSwapUintptr": "sync/atomic", - "atomic.LoadInt32": "sync/atomic", - "atomic.LoadInt64": "sync/atomic", - "atomic.LoadPointer": "sync/atomic", - "atomic.LoadUint32": "sync/atomic", - "atomic.LoadUint64": "sync/atomic", - "atomic.LoadUintptr": "sync/atomic", - "atomic.StoreInt32": "sync/atomic", - "atomic.StoreInt64": "sync/atomic", - "atomic.StorePointer": "sync/atomic", - "atomic.StoreUint32": "sync/atomic", - "atomic.StoreUint64": "sync/atomic", - "atomic.StoreUintptr": "sync/atomic", - "atomic.SwapInt32": "sync/atomic", - "atomic.SwapInt64": "sync/atomic", - "atomic.SwapPointer": "sync/atomic", - "atomic.SwapUint32": "sync/atomic", - "atomic.SwapUint64": "sync/atomic", - "atomic.SwapUintptr": "sync/atomic", - "base32.CorruptInputError": "encoding/base32", - "base32.Encoding": "encoding/base32", - "base32.HexEncoding": "encoding/base32", - "base32.NewDecoder": "encoding/base32", - "base32.NewEncoder": "encoding/base32", - "base32.NewEncoding": "encoding/base32", - "base32.StdEncoding": "encoding/base32", - "base64.CorruptInputError": "encoding/base64", - "base64.Encoding": "encoding/base64", - "base64.NewDecoder": "encoding/base64", - "base64.NewEncoder": "encoding/base64", - "base64.NewEncoding": "encoding/base64", - "base64.StdEncoding": "encoding/base64", - "base64.URLEncoding": "encoding/base64", - "big.Int": "math/big", - "big.MaxBase": "math/big", - "big.NewInt": "math/big", - "big.NewRat": "math/big", - "big.Rat": "math/big", - "big.Word": "math/big", - "binary.BigEndian": "encoding/binary", - "binary.ByteOrder": "encoding/binary", - "binary.LittleEndian": "encoding/binary", - "binary.MaxVarintLen16": "encoding/binary", - "binary.MaxVarintLen32": "encoding/binary", - "binary.MaxVarintLen64": "encoding/binary", - "binary.PutUvarint": "encoding/binary", - "binary.PutVarint": "encoding/binary", - "binary.Read": "encoding/binary", - "binary.ReadUvarint": "encoding/binary", - "binary.ReadVarint": "encoding/binary", - "binary.Size": "encoding/binary", - "binary.Uvarint": "encoding/binary", - "binary.Varint": "encoding/binary", - "binary.Write": "encoding/binary", - "bufio.ErrAdvanceTooFar": "bufio", - "bufio.ErrBufferFull": "bufio", - "bufio.ErrInvalidUnreadByte": "bufio", - "bufio.ErrInvalidUnreadRune": "bufio", - "bufio.ErrNegativeAdvance": "bufio", - "bufio.ErrNegativeCount": "bufio", - "bufio.ErrTooLong": "bufio", - "bufio.MaxScanTokenSize": "bufio", - "bufio.NewReadWriter": "bufio", - "bufio.NewReader": "bufio", - "bufio.NewReaderSize": "bufio", - "bufio.NewScanner": "bufio", - "bufio.NewWriter": "bufio", - "bufio.NewWriterSize": "bufio", - "bufio.ReadWriter": "bufio", - "bufio.Reader": "bufio", - "bufio.ScanBytes": "bufio", - "bufio.ScanLines": "bufio", - "bufio.ScanRunes": "bufio", - "bufio.ScanWords": "bufio", - "bufio.Scanner": "bufio", - "bufio.SplitFunc": "bufio", - "bufio.Writer": "bufio", - "build.AllowBinary": "go/build", - "build.ArchChar": "go/build", - "build.Context": "go/build", - "build.Default": "go/build", - "build.FindOnly": "go/build", - "build.Import": "go/build", - "build.ImportDir": "go/build", - "build.ImportMode": "go/build", - "build.IsLocalImport": "go/build", - "build.NoGoError": "go/build", - "build.Package": "go/build", - "build.ToolDir": "go/build", - "bytes.Buffer": "bytes", - "bytes.Compare": "bytes", - "bytes.Contains": "bytes", - "bytes.Count": "bytes", - "bytes.Equal": "bytes", - "bytes.EqualFold": "bytes", - "bytes.ErrTooLarge": "bytes", - "bytes.Fields": "bytes", - "bytes.FieldsFunc": "bytes", - "bytes.HasPrefix": "bytes", - "bytes.HasSuffix": "bytes", - "bytes.Index": "bytes", - "bytes.IndexAny": "bytes", - "bytes.IndexByte": "bytes", - "bytes.IndexFunc": "bytes", - "bytes.IndexRune": "bytes", - "bytes.Join": "bytes", - "bytes.LastIndex": "bytes", - "bytes.LastIndexAny": "bytes", - "bytes.LastIndexFunc": "bytes", - "bytes.Map": "bytes", - "bytes.MinRead": "bytes", - "bytes.NewBuffer": "bytes", - "bytes.NewBufferString": "bytes", - "bytes.NewReader": "bytes", - "bytes.Reader": "bytes", - "bytes.Repeat": "bytes", - "bytes.Replace": "bytes", - "bytes.Runes": "bytes", - "bytes.Split": "bytes", - "bytes.SplitAfter": "bytes", - "bytes.SplitAfterN": "bytes", - "bytes.SplitN": "bytes", - "bytes.Title": "bytes", - "bytes.ToLower": "bytes", - "bytes.ToLowerSpecial": "bytes", - "bytes.ToTitle": "bytes", - "bytes.ToTitleSpecial": "bytes", - "bytes.ToUpper": "bytes", - "bytes.ToUpperSpecial": "bytes", - "bytes.Trim": "bytes", - "bytes.TrimFunc": "bytes", - "bytes.TrimLeft": "bytes", - "bytes.TrimLeftFunc": "bytes", - "bytes.TrimPrefix": "bytes", - "bytes.TrimRight": "bytes", - "bytes.TrimRightFunc": "bytes", - "bytes.TrimSpace": "bytes", - "bytes.TrimSuffix": "bytes", - "bzip2.NewReader": "compress/bzip2", - "bzip2.StructuralError": "compress/bzip2", - "cgi.Handler": "net/http/cgi", - "cgi.Request": "net/http/cgi", - "cgi.RequestFromMap": "net/http/cgi", - "cgi.Serve": "net/http/cgi", - "cipher.AEAD": "crypto/cipher", - "cipher.Block": "crypto/cipher", - "cipher.BlockMode": "crypto/cipher", - "cipher.NewCBCDecrypter": "crypto/cipher", - "cipher.NewCBCEncrypter": "crypto/cipher", - "cipher.NewCFBDecrypter": "crypto/cipher", - "cipher.NewCFBEncrypter": "crypto/cipher", - "cipher.NewCTR": "crypto/cipher", - "cipher.NewGCM": "crypto/cipher", - "cipher.NewOFB": "crypto/cipher", - "cipher.Stream": "crypto/cipher", - "cipher.StreamReader": "crypto/cipher", - "cipher.StreamWriter": "crypto/cipher", - "cmplx.Abs": "math/cmplx", - "cmplx.Acos": "math/cmplx", - "cmplx.Acosh": "math/cmplx", - "cmplx.Asin": "math/cmplx", - "cmplx.Asinh": "math/cmplx", - "cmplx.Atan": "math/cmplx", - "cmplx.Atanh": "math/cmplx", - "cmplx.Conj": "math/cmplx", - "cmplx.Cos": "math/cmplx", - "cmplx.Cosh": "math/cmplx", - "cmplx.Cot": "math/cmplx", - "cmplx.Exp": "math/cmplx", - "cmplx.Inf": "math/cmplx", - "cmplx.IsInf": "math/cmplx", - "cmplx.IsNaN": "math/cmplx", - "cmplx.Log": "math/cmplx", - "cmplx.Log10": "math/cmplx", - "cmplx.NaN": "math/cmplx", - "cmplx.Phase": "math/cmplx", - "cmplx.Polar": "math/cmplx", - "cmplx.Pow": "math/cmplx", - "cmplx.Rect": "math/cmplx", - "cmplx.Sin": "math/cmplx", - "cmplx.Sinh": "math/cmplx", - "cmplx.Sqrt": "math/cmplx", - "cmplx.Tan": "math/cmplx", - "cmplx.Tanh": "math/cmplx", - "color.Alpha": "image/color", - "color.Alpha16": "image/color", - "color.Alpha16Model": "image/color", - "color.AlphaModel": "image/color", - "color.Black": "image/color", - "color.Color": "image/color", - "color.Gray": "image/color", - "color.Gray16": "image/color", - "color.Gray16Model": "image/color", - "color.GrayModel": "image/color", - "color.Model": "image/color", - "color.ModelFunc": "image/color", - "color.NRGBA": "image/color", - "color.NRGBA64": "image/color", - "color.NRGBA64Model": "image/color", - "color.NRGBAModel": "image/color", - "color.Opaque": "image/color", - "color.Palette": "image/color", - "color.RGBA": "image/color", - "color.RGBA64": "image/color", - "color.RGBA64Model": "image/color", - "color.RGBAModel": "image/color", - "color.RGBToYCbCr": "image/color", - "color.Transparent": "image/color", - "color.White": "image/color", - "color.YCbCr": "image/color", - "color.YCbCrModel": "image/color", - "color.YCbCrToRGB": "image/color", - "cookiejar.Jar": "net/http/cookiejar", - "cookiejar.New": "net/http/cookiejar", - "cookiejar.Options": "net/http/cookiejar", - "cookiejar.PublicSuffixList": "net/http/cookiejar", - "crc32.Castagnoli": "hash/crc32", - "crc32.Checksum": "hash/crc32", - "crc32.ChecksumIEEE": "hash/crc32", - "crc32.IEEE": "hash/crc32", - "crc32.IEEETable": "hash/crc32", - "crc32.Koopman": "hash/crc32", - "crc32.MakeTable": "hash/crc32", - "crc32.New": "hash/crc32", - "crc32.NewIEEE": "hash/crc32", - "crc32.Size": "hash/crc32", - "crc32.Table": "hash/crc32", - "crc32.Update": "hash/crc32", - "crc64.Checksum": "hash/crc64", - "crc64.ECMA": "hash/crc64", - "crc64.ISO": "hash/crc64", - "crc64.MakeTable": "hash/crc64", - "crc64.New": "hash/crc64", - "crc64.Size": "hash/crc64", - "crc64.Table": "hash/crc64", - "crc64.Update": "hash/crc64", - "crypto.Hash": "crypto", - "crypto.MD4": "crypto", - "crypto.MD5": "crypto", - "crypto.MD5SHA1": "crypto", - "crypto.PrivateKey": "crypto", - "crypto.PublicKey": "crypto", - "crypto.RIPEMD160": "crypto", - "crypto.RegisterHash": "crypto", - "crypto.SHA1": "crypto", - "crypto.SHA224": "crypto", - "crypto.SHA256": "crypto", - "crypto.SHA384": "crypto", - "crypto.SHA512": "crypto", - "csv.ErrBareQuote": "encoding/csv", - "csv.ErrFieldCount": "encoding/csv", - "csv.ErrQuote": "encoding/csv", - "csv.ErrTrailingComma": "encoding/csv", - "csv.NewReader": "encoding/csv", - "csv.NewWriter": "encoding/csv", - "csv.ParseError": "encoding/csv", - "csv.Reader": "encoding/csv", - "csv.Writer": "encoding/csv", - "debug.FreeOSMemory": "runtime/debug", - "debug.GCStats": "runtime/debug", - "debug.PrintStack": "runtime/debug", - "debug.ReadGCStats": "runtime/debug", - "debug.SetGCPercent": "runtime/debug", - "debug.SetMaxStack": "runtime/debug", - "debug.SetMaxThreads": "runtime/debug", - "debug.SetPanicOnFault": "runtime/debug", - "debug.Stack": "runtime/debug", - "debug.WriteHeapDump": "runtime/debug", - "des.BlockSize": "crypto/des", - "des.KeySizeError": "crypto/des", - "des.NewCipher": "crypto/des", - "des.NewTripleDESCipher": "crypto/des", - "doc.AllDecls": "go/doc", - "doc.AllMethods": "go/doc", - "doc.Example": "go/doc", - "doc.Examples": "go/doc", - "doc.Filter": "go/doc", - "doc.Func": "go/doc", - "doc.IllegalPrefixes": "go/doc", - "doc.Mode": "go/doc", - "doc.New": "go/doc", - "doc.Note": "go/doc", - "doc.Package": "go/doc", - "doc.Synopsis": "go/doc", - "doc.ToHTML": "go/doc", - "doc.ToText": "go/doc", - "doc.Type": "go/doc", - "doc.Value": "go/doc", - "draw.Draw": "image/draw", - "draw.DrawMask": "image/draw", - "draw.Drawer": "image/draw", - "draw.FloydSteinberg": "image/draw", - "draw.Image": "image/draw", - "draw.Op": "image/draw", - "draw.Over": "image/draw", - "draw.Quantizer": "image/draw", - "draw.Src": "image/draw", - "driver.Bool": "database/sql/driver", - "driver.ColumnConverter": "database/sql/driver", - "driver.Conn": "database/sql/driver", - "driver.DefaultParameterConverter": "database/sql/driver", - "driver.Driver": "database/sql/driver", - "driver.ErrBadConn": "database/sql/driver", - "driver.ErrSkip": "database/sql/driver", - "driver.Execer": "database/sql/driver", - "driver.Int32": "database/sql/driver", - "driver.IsScanValue": "database/sql/driver", - "driver.IsValue": "database/sql/driver", - "driver.NotNull": "database/sql/driver", - "driver.Null": "database/sql/driver", - "driver.Queryer": "database/sql/driver", - "driver.Result": "database/sql/driver", - "driver.ResultNoRows": "database/sql/driver", - "driver.Rows": "database/sql/driver", - "driver.RowsAffected": "database/sql/driver", - "driver.Stmt": "database/sql/driver", - "driver.String": "database/sql/driver", - "driver.Tx": "database/sql/driver", - "driver.Value": "database/sql/driver", - "driver.ValueConverter": "database/sql/driver", - "driver.Valuer": "database/sql/driver", - "dsa.ErrInvalidPublicKey": "crypto/dsa", - "dsa.GenerateKey": "crypto/dsa", - "dsa.GenerateParameters": "crypto/dsa", - "dsa.L1024N160": "crypto/dsa", - "dsa.L2048N224": "crypto/dsa", - "dsa.L2048N256": "crypto/dsa", - "dsa.L3072N256": "crypto/dsa", - "dsa.ParameterSizes": "crypto/dsa", - "dsa.Parameters": "crypto/dsa", - "dsa.PrivateKey": "crypto/dsa", - "dsa.PublicKey": "crypto/dsa", - "dsa.Sign": "crypto/dsa", - "dsa.Verify": "crypto/dsa", - "dwarf.AddrType": "debug/dwarf", - "dwarf.ArrayType": "debug/dwarf", - "dwarf.Attr": "debug/dwarf", - "dwarf.AttrAbstractOrigin": "debug/dwarf", - "dwarf.AttrAccessibility": "debug/dwarf", - "dwarf.AttrAddrClass": "debug/dwarf", - "dwarf.AttrAllocated": "debug/dwarf", - "dwarf.AttrArtificial": "debug/dwarf", - "dwarf.AttrAssociated": "debug/dwarf", - "dwarf.AttrBaseTypes": "debug/dwarf", - "dwarf.AttrBitOffset": "debug/dwarf", - "dwarf.AttrBitSize": "debug/dwarf", - "dwarf.AttrByteSize": "debug/dwarf", - "dwarf.AttrCallColumn": "debug/dwarf", - "dwarf.AttrCallFile": "debug/dwarf", - "dwarf.AttrCallLine": "debug/dwarf", - "dwarf.AttrCalling": "debug/dwarf", - "dwarf.AttrCommonRef": "debug/dwarf", - "dwarf.AttrCompDir": "debug/dwarf", - "dwarf.AttrConstValue": "debug/dwarf", - "dwarf.AttrContainingType": "debug/dwarf", - "dwarf.AttrCount": "debug/dwarf", - "dwarf.AttrDataLocation": "debug/dwarf", - "dwarf.AttrDataMemberLoc": "debug/dwarf", - "dwarf.AttrDeclColumn": "debug/dwarf", - "dwarf.AttrDeclFile": "debug/dwarf", - "dwarf.AttrDeclLine": "debug/dwarf", - "dwarf.AttrDeclaration": "debug/dwarf", - "dwarf.AttrDefaultValue": "debug/dwarf", - "dwarf.AttrDescription": "debug/dwarf", - "dwarf.AttrDiscr": "debug/dwarf", - "dwarf.AttrDiscrList": "debug/dwarf", - "dwarf.AttrDiscrValue": "debug/dwarf", - "dwarf.AttrEncoding": "debug/dwarf", - "dwarf.AttrEntrypc": "debug/dwarf", - "dwarf.AttrExtension": "debug/dwarf", - "dwarf.AttrExternal": "debug/dwarf", - "dwarf.AttrFrameBase": "debug/dwarf", - "dwarf.AttrFriend": "debug/dwarf", - "dwarf.AttrHighpc": "debug/dwarf", - "dwarf.AttrIdentifierCase": "debug/dwarf", - "dwarf.AttrImport": "debug/dwarf", - "dwarf.AttrInline": "debug/dwarf", - "dwarf.AttrIsOptional": "debug/dwarf", - "dwarf.AttrLanguage": "debug/dwarf", - "dwarf.AttrLocation": "debug/dwarf", - "dwarf.AttrLowerBound": "debug/dwarf", - "dwarf.AttrLowpc": "debug/dwarf", - "dwarf.AttrMacroInfo": "debug/dwarf", - "dwarf.AttrName": "debug/dwarf", - "dwarf.AttrNamelistItem": "debug/dwarf", - "dwarf.AttrOrdering": "debug/dwarf", - "dwarf.AttrPriority": "debug/dwarf", - "dwarf.AttrProducer": "debug/dwarf", - "dwarf.AttrPrototyped": "debug/dwarf", - "dwarf.AttrRanges": "debug/dwarf", - "dwarf.AttrReturnAddr": "debug/dwarf", - "dwarf.AttrSegment": "debug/dwarf", - "dwarf.AttrSibling": "debug/dwarf", - "dwarf.AttrSpecification": "debug/dwarf", - "dwarf.AttrStartScope": "debug/dwarf", - "dwarf.AttrStaticLink": "debug/dwarf", - "dwarf.AttrStmtList": "debug/dwarf", - "dwarf.AttrStride": "debug/dwarf", - "dwarf.AttrStrideSize": "debug/dwarf", - "dwarf.AttrStringLength": "debug/dwarf", - "dwarf.AttrTrampoline": "debug/dwarf", - "dwarf.AttrType": "debug/dwarf", - "dwarf.AttrUpperBound": "debug/dwarf", - "dwarf.AttrUseLocation": "debug/dwarf", - "dwarf.AttrUseUTF8": "debug/dwarf", - "dwarf.AttrVarParam": "debug/dwarf", - "dwarf.AttrVirtuality": "debug/dwarf", - "dwarf.AttrVisibility": "debug/dwarf", - "dwarf.AttrVtableElemLoc": "debug/dwarf", - "dwarf.BasicType": "debug/dwarf", - "dwarf.BoolType": "debug/dwarf", - "dwarf.CharType": "debug/dwarf", - "dwarf.CommonType": "debug/dwarf", - "dwarf.ComplexType": "debug/dwarf", - "dwarf.Data": "debug/dwarf", - "dwarf.DecodeError": "debug/dwarf", - "dwarf.DotDotDotType": "debug/dwarf", - "dwarf.Entry": "debug/dwarf", - "dwarf.EnumType": "debug/dwarf", - "dwarf.EnumValue": "debug/dwarf", - "dwarf.Field": "debug/dwarf", - "dwarf.FloatType": "debug/dwarf", - "dwarf.FuncType": "debug/dwarf", - "dwarf.IntType": "debug/dwarf", - "dwarf.New": "debug/dwarf", - "dwarf.Offset": "debug/dwarf", - "dwarf.PtrType": "debug/dwarf", - "dwarf.QualType": "debug/dwarf", - "dwarf.Reader": "debug/dwarf", - "dwarf.StructField": "debug/dwarf", - "dwarf.StructType": "debug/dwarf", - "dwarf.Tag": "debug/dwarf", - "dwarf.TagAccessDeclaration": "debug/dwarf", - "dwarf.TagArrayType": "debug/dwarf", - "dwarf.TagBaseType": "debug/dwarf", - "dwarf.TagCatchDwarfBlock": "debug/dwarf", - "dwarf.TagClassType": "debug/dwarf", - "dwarf.TagCommonDwarfBlock": "debug/dwarf", - "dwarf.TagCommonInclusion": "debug/dwarf", - "dwarf.TagCompileUnit": "debug/dwarf", - "dwarf.TagCondition": "debug/dwarf", - "dwarf.TagConstType": "debug/dwarf", - "dwarf.TagConstant": "debug/dwarf", - "dwarf.TagDwarfProcedure": "debug/dwarf", - "dwarf.TagEntryPoint": "debug/dwarf", - "dwarf.TagEnumerationType": "debug/dwarf", - "dwarf.TagEnumerator": "debug/dwarf", - "dwarf.TagFileType": "debug/dwarf", - "dwarf.TagFormalParameter": "debug/dwarf", - "dwarf.TagFriend": "debug/dwarf", - "dwarf.TagImportedDeclaration": "debug/dwarf", - "dwarf.TagImportedModule": "debug/dwarf", - "dwarf.TagImportedUnit": "debug/dwarf", - "dwarf.TagInheritance": "debug/dwarf", - "dwarf.TagInlinedSubroutine": "debug/dwarf", - "dwarf.TagInterfaceType": "debug/dwarf", - "dwarf.TagLabel": "debug/dwarf", - "dwarf.TagLexDwarfBlock": "debug/dwarf", - "dwarf.TagMember": "debug/dwarf", - "dwarf.TagModule": "debug/dwarf", - "dwarf.TagMutableType": "debug/dwarf", - "dwarf.TagNamelist": "debug/dwarf", - "dwarf.TagNamelistItem": "debug/dwarf", - "dwarf.TagNamespace": "debug/dwarf", - "dwarf.TagPackedType": "debug/dwarf", - "dwarf.TagPartialUnit": "debug/dwarf", - "dwarf.TagPointerType": "debug/dwarf", - "dwarf.TagPtrToMemberType": "debug/dwarf", - "dwarf.TagReferenceType": "debug/dwarf", - "dwarf.TagRestrictType": "debug/dwarf", - "dwarf.TagRvalueReferenceType": "debug/dwarf", - "dwarf.TagSetType": "debug/dwarf", - "dwarf.TagSharedType": "debug/dwarf", - "dwarf.TagStringType": "debug/dwarf", - "dwarf.TagStructType": "debug/dwarf", - "dwarf.TagSubprogram": "debug/dwarf", - "dwarf.TagSubrangeType": "debug/dwarf", - "dwarf.TagSubroutineType": "debug/dwarf", - "dwarf.TagTemplateAlias": "debug/dwarf", - "dwarf.TagTemplateTypeParameter": "debug/dwarf", - "dwarf.TagTemplateValueParameter": "debug/dwarf", - "dwarf.TagThrownType": "debug/dwarf", - "dwarf.TagTryDwarfBlock": "debug/dwarf", - "dwarf.TagTypeUnit": "debug/dwarf", - "dwarf.TagTypedef": "debug/dwarf", - "dwarf.TagUnionType": "debug/dwarf", - "dwarf.TagUnspecifiedParameters": "debug/dwarf", - "dwarf.TagUnspecifiedType": "debug/dwarf", - "dwarf.TagVariable": "debug/dwarf", - "dwarf.TagVariant": "debug/dwarf", - "dwarf.TagVariantPart": "debug/dwarf", - "dwarf.TagVolatileType": "debug/dwarf", - "dwarf.TagWithStmt": "debug/dwarf", - "dwarf.Type": "debug/dwarf", - "dwarf.TypedefType": "debug/dwarf", - "dwarf.UcharType": "debug/dwarf", - "dwarf.UintType": "debug/dwarf", - "dwarf.VoidType": "debug/dwarf", - "ecdsa.GenerateKey": "crypto/ecdsa", - "ecdsa.PrivateKey": "crypto/ecdsa", - "ecdsa.PublicKey": "crypto/ecdsa", - "ecdsa.Sign": "crypto/ecdsa", - "ecdsa.Verify": "crypto/ecdsa", - "elf.ARM_MAGIC_TRAMP_NUMBER": "debug/elf", - "elf.Class": "debug/elf", - "elf.DF_BIND_NOW": "debug/elf", - "elf.DF_ORIGIN": "debug/elf", - "elf.DF_STATIC_TLS": "debug/elf", - "elf.DF_SYMBOLIC": "debug/elf", - "elf.DF_TEXTREL": "debug/elf", - "elf.DT_BIND_NOW": "debug/elf", - "elf.DT_DEBUG": "debug/elf", - "elf.DT_ENCODING": "debug/elf", - "elf.DT_FINI": "debug/elf", - "elf.DT_FINI_ARRAY": "debug/elf", - "elf.DT_FINI_ARRAYSZ": "debug/elf", - "elf.DT_FLAGS": "debug/elf", - "elf.DT_HASH": "debug/elf", - "elf.DT_HIOS": "debug/elf", - "elf.DT_HIPROC": "debug/elf", - "elf.DT_INIT": "debug/elf", - "elf.DT_INIT_ARRAY": "debug/elf", - "elf.DT_INIT_ARRAYSZ": "debug/elf", - "elf.DT_JMPREL": "debug/elf", - "elf.DT_LOOS": "debug/elf", - "elf.DT_LOPROC": "debug/elf", - "elf.DT_NEEDED": "debug/elf", - "elf.DT_NULL": "debug/elf", - "elf.DT_PLTGOT": "debug/elf", - "elf.DT_PLTREL": "debug/elf", - "elf.DT_PLTRELSZ": "debug/elf", - "elf.DT_PREINIT_ARRAY": "debug/elf", - "elf.DT_PREINIT_ARRAYSZ": "debug/elf", - "elf.DT_REL": "debug/elf", - "elf.DT_RELA": "debug/elf", - "elf.DT_RELAENT": "debug/elf", - "elf.DT_RELASZ": "debug/elf", - "elf.DT_RELENT": "debug/elf", - "elf.DT_RELSZ": "debug/elf", - "elf.DT_RPATH": "debug/elf", - "elf.DT_RUNPATH": "debug/elf", - "elf.DT_SONAME": "debug/elf", - "elf.DT_STRSZ": "debug/elf", - "elf.DT_STRTAB": "debug/elf", - "elf.DT_SYMBOLIC": "debug/elf", - "elf.DT_SYMENT": "debug/elf", - "elf.DT_SYMTAB": "debug/elf", - "elf.DT_TEXTREL": "debug/elf", - "elf.DT_VERNEED": "debug/elf", - "elf.DT_VERNEEDNUM": "debug/elf", - "elf.DT_VERSYM": "debug/elf", - "elf.Data": "debug/elf", - "elf.Dyn32": "debug/elf", - "elf.Dyn64": "debug/elf", - "elf.DynFlag": "debug/elf", - "elf.DynTag": "debug/elf", - "elf.EI_ABIVERSION": "debug/elf", - "elf.EI_CLASS": "debug/elf", - "elf.EI_DATA": "debug/elf", - "elf.EI_NIDENT": "debug/elf", - "elf.EI_OSABI": "debug/elf", - "elf.EI_PAD": "debug/elf", - "elf.EI_VERSION": "debug/elf", - "elf.ELFCLASS32": "debug/elf", - "elf.ELFCLASS64": "debug/elf", - "elf.ELFCLASSNONE": "debug/elf", - "elf.ELFDATA2LSB": "debug/elf", - "elf.ELFDATA2MSB": "debug/elf", - "elf.ELFDATANONE": "debug/elf", - "elf.ELFMAG": "debug/elf", - "elf.ELFOSABI_86OPEN": "debug/elf", - "elf.ELFOSABI_AIX": "debug/elf", - "elf.ELFOSABI_ARM": "debug/elf", - "elf.ELFOSABI_FREEBSD": "debug/elf", - "elf.ELFOSABI_HPUX": "debug/elf", - "elf.ELFOSABI_HURD": "debug/elf", - "elf.ELFOSABI_IRIX": "debug/elf", - "elf.ELFOSABI_LINUX": "debug/elf", - "elf.ELFOSABI_MODESTO": "debug/elf", - "elf.ELFOSABI_NETBSD": "debug/elf", - "elf.ELFOSABI_NONE": "debug/elf", - "elf.ELFOSABI_NSK": "debug/elf", - "elf.ELFOSABI_OPENBSD": "debug/elf", - "elf.ELFOSABI_OPENVMS": "debug/elf", - "elf.ELFOSABI_SOLARIS": "debug/elf", - "elf.ELFOSABI_STANDALONE": "debug/elf", - "elf.ELFOSABI_TRU64": "debug/elf", - "elf.EM_386": "debug/elf", - "elf.EM_486": "debug/elf", - "elf.EM_68HC12": "debug/elf", - "elf.EM_68K": "debug/elf", - "elf.EM_860": "debug/elf", - "elf.EM_88K": "debug/elf", - "elf.EM_960": "debug/elf", - "elf.EM_ALPHA": "debug/elf", - "elf.EM_ALPHA_STD": "debug/elf", - "elf.EM_ARC": "debug/elf", - "elf.EM_ARM": "debug/elf", - "elf.EM_COLDFIRE": "debug/elf", - "elf.EM_FR20": "debug/elf", - "elf.EM_H8S": "debug/elf", - "elf.EM_H8_300": "debug/elf", - "elf.EM_H8_300H": "debug/elf", - "elf.EM_H8_500": "debug/elf", - "elf.EM_IA_64": "debug/elf", - "elf.EM_M32": "debug/elf", - "elf.EM_ME16": "debug/elf", - "elf.EM_MIPS": "debug/elf", - "elf.EM_MIPS_RS3_LE": "debug/elf", - "elf.EM_MIPS_RS4_BE": "debug/elf", - "elf.EM_MIPS_X": "debug/elf", - "elf.EM_MMA": "debug/elf", - "elf.EM_NCPU": "debug/elf", - "elf.EM_NDR1": "debug/elf", - "elf.EM_NONE": "debug/elf", - "elf.EM_PARISC": "debug/elf", - "elf.EM_PCP": "debug/elf", - "elf.EM_PPC": "debug/elf", - "elf.EM_PPC64": "debug/elf", - "elf.EM_RCE": "debug/elf", - "elf.EM_RH32": "debug/elf", - "elf.EM_S370": "debug/elf", - "elf.EM_S390": "debug/elf", - "elf.EM_SH": "debug/elf", - "elf.EM_SPARC": "debug/elf", - "elf.EM_SPARC32PLUS": "debug/elf", - "elf.EM_SPARCV9": "debug/elf", - "elf.EM_ST100": "debug/elf", - "elf.EM_STARCORE": "debug/elf", - "elf.EM_TINYJ": "debug/elf", - "elf.EM_TRICORE": "debug/elf", - "elf.EM_V800": "debug/elf", - "elf.EM_VPP500": "debug/elf", - "elf.EM_X86_64": "debug/elf", - "elf.ET_CORE": "debug/elf", - "elf.ET_DYN": "debug/elf", - "elf.ET_EXEC": "debug/elf", - "elf.ET_HIOS": "debug/elf", - "elf.ET_HIPROC": "debug/elf", - "elf.ET_LOOS": "debug/elf", - "elf.ET_LOPROC": "debug/elf", - "elf.ET_NONE": "debug/elf", - "elf.ET_REL": "debug/elf", - "elf.EV_CURRENT": "debug/elf", - "elf.EV_NONE": "debug/elf", - "elf.File": "debug/elf", - "elf.FileHeader": "debug/elf", - "elf.FormatError": "debug/elf", - "elf.Header32": "debug/elf", - "elf.Header64": "debug/elf", - "elf.ImportedSymbol": "debug/elf", - "elf.Machine": "debug/elf", - "elf.NT_FPREGSET": "debug/elf", - "elf.NT_PRPSINFO": "debug/elf", - "elf.NT_PRSTATUS": "debug/elf", - "elf.NType": "debug/elf", - "elf.NewFile": "debug/elf", - "elf.OSABI": "debug/elf", - "elf.Open": "debug/elf", - "elf.PF_MASKOS": "debug/elf", - "elf.PF_MASKPROC": "debug/elf", - "elf.PF_R": "debug/elf", - "elf.PF_W": "debug/elf", - "elf.PF_X": "debug/elf", - "elf.PT_DYNAMIC": "debug/elf", - "elf.PT_HIOS": "debug/elf", - "elf.PT_HIPROC": "debug/elf", - "elf.PT_INTERP": "debug/elf", - "elf.PT_LOAD": "debug/elf", - "elf.PT_LOOS": "debug/elf", - "elf.PT_LOPROC": "debug/elf", - "elf.PT_NOTE": "debug/elf", - "elf.PT_NULL": "debug/elf", - "elf.PT_PHDR": "debug/elf", - "elf.PT_SHLIB": "debug/elf", - "elf.PT_TLS": "debug/elf", - "elf.Prog": "debug/elf", - "elf.Prog32": "debug/elf", - "elf.Prog64": "debug/elf", - "elf.ProgFlag": "debug/elf", - "elf.ProgHeader": "debug/elf", - "elf.ProgType": "debug/elf", - "elf.R_386": "debug/elf", - "elf.R_386_32": "debug/elf", - "elf.R_386_COPY": "debug/elf", - "elf.R_386_GLOB_DAT": "debug/elf", - "elf.R_386_GOT32": "debug/elf", - "elf.R_386_GOTOFF": "debug/elf", - "elf.R_386_GOTPC": "debug/elf", - "elf.R_386_JMP_SLOT": "debug/elf", - "elf.R_386_NONE": "debug/elf", - "elf.R_386_PC32": "debug/elf", - "elf.R_386_PLT32": "debug/elf", - "elf.R_386_RELATIVE": "debug/elf", - "elf.R_386_TLS_DTPMOD32": "debug/elf", - "elf.R_386_TLS_DTPOFF32": "debug/elf", - "elf.R_386_TLS_GD": "debug/elf", - "elf.R_386_TLS_GD_32": "debug/elf", - "elf.R_386_TLS_GD_CALL": "debug/elf", - "elf.R_386_TLS_GD_POP": "debug/elf", - "elf.R_386_TLS_GD_PUSH": "debug/elf", - "elf.R_386_TLS_GOTIE": "debug/elf", - "elf.R_386_TLS_IE": "debug/elf", - "elf.R_386_TLS_IE_32": "debug/elf", - "elf.R_386_TLS_LDM": "debug/elf", - "elf.R_386_TLS_LDM_32": "debug/elf", - "elf.R_386_TLS_LDM_CALL": "debug/elf", - "elf.R_386_TLS_LDM_POP": "debug/elf", - "elf.R_386_TLS_LDM_PUSH": "debug/elf", - "elf.R_386_TLS_LDO_32": "debug/elf", - "elf.R_386_TLS_LE": "debug/elf", - "elf.R_386_TLS_LE_32": "debug/elf", - "elf.R_386_TLS_TPOFF": "debug/elf", - "elf.R_386_TLS_TPOFF32": "debug/elf", - "elf.R_ALPHA": "debug/elf", - "elf.R_ALPHA_BRADDR": "debug/elf", - "elf.R_ALPHA_COPY": "debug/elf", - "elf.R_ALPHA_GLOB_DAT": "debug/elf", - "elf.R_ALPHA_GPDISP": "debug/elf", - "elf.R_ALPHA_GPREL32": "debug/elf", - "elf.R_ALPHA_GPRELHIGH": "debug/elf", - "elf.R_ALPHA_GPRELLOW": "debug/elf", - "elf.R_ALPHA_GPVALUE": "debug/elf", - "elf.R_ALPHA_HINT": "debug/elf", - "elf.R_ALPHA_IMMED_BR_HI32": "debug/elf", - "elf.R_ALPHA_IMMED_GP_16": "debug/elf", - "elf.R_ALPHA_IMMED_GP_HI32": "debug/elf", - "elf.R_ALPHA_IMMED_LO32": "debug/elf", - "elf.R_ALPHA_IMMED_SCN_HI32": "debug/elf", - "elf.R_ALPHA_JMP_SLOT": "debug/elf", - "elf.R_ALPHA_LITERAL": "debug/elf", - "elf.R_ALPHA_LITUSE": "debug/elf", - "elf.R_ALPHA_NONE": "debug/elf", - "elf.R_ALPHA_OP_PRSHIFT": "debug/elf", - "elf.R_ALPHA_OP_PSUB": "debug/elf", - "elf.R_ALPHA_OP_PUSH": "debug/elf", - "elf.R_ALPHA_OP_STORE": "debug/elf", - "elf.R_ALPHA_REFLONG": "debug/elf", - "elf.R_ALPHA_REFQUAD": "debug/elf", - "elf.R_ALPHA_RELATIVE": "debug/elf", - "elf.R_ALPHA_SREL16": "debug/elf", - "elf.R_ALPHA_SREL32": "debug/elf", - "elf.R_ALPHA_SREL64": "debug/elf", - "elf.R_ARM": "debug/elf", - "elf.R_ARM_ABS12": "debug/elf", - "elf.R_ARM_ABS16": "debug/elf", - "elf.R_ARM_ABS32": "debug/elf", - "elf.R_ARM_ABS8": "debug/elf", - "elf.R_ARM_AMP_VCALL9": "debug/elf", - "elf.R_ARM_COPY": "debug/elf", - "elf.R_ARM_GLOB_DAT": "debug/elf", - "elf.R_ARM_GNU_VTENTRY": "debug/elf", - "elf.R_ARM_GNU_VTINHERIT": "debug/elf", - "elf.R_ARM_GOT32": "debug/elf", - "elf.R_ARM_GOTOFF": "debug/elf", - "elf.R_ARM_GOTPC": "debug/elf", - "elf.R_ARM_JUMP_SLOT": "debug/elf", - "elf.R_ARM_NONE": "debug/elf", - "elf.R_ARM_PC13": "debug/elf", - "elf.R_ARM_PC24": "debug/elf", - "elf.R_ARM_PLT32": "debug/elf", - "elf.R_ARM_RABS32": "debug/elf", - "elf.R_ARM_RBASE": "debug/elf", - "elf.R_ARM_REL32": "debug/elf", - "elf.R_ARM_RELATIVE": "debug/elf", - "elf.R_ARM_RPC24": "debug/elf", - "elf.R_ARM_RREL32": "debug/elf", - "elf.R_ARM_RSBREL32": "debug/elf", - "elf.R_ARM_SBREL32": "debug/elf", - "elf.R_ARM_SWI24": "debug/elf", - "elf.R_ARM_THM_ABS5": "debug/elf", - "elf.R_ARM_THM_PC22": "debug/elf", - "elf.R_ARM_THM_PC8": "debug/elf", - "elf.R_ARM_THM_RPC22": "debug/elf", - "elf.R_ARM_THM_SWI8": "debug/elf", - "elf.R_ARM_THM_XPC22": "debug/elf", - "elf.R_ARM_XPC25": "debug/elf", - "elf.R_INFO": "debug/elf", - "elf.R_INFO32": "debug/elf", - "elf.R_PPC": "debug/elf", - "elf.R_PPC_ADDR14": "debug/elf", - "elf.R_PPC_ADDR14_BRNTAKEN": "debug/elf", - "elf.R_PPC_ADDR14_BRTAKEN": "debug/elf", - "elf.R_PPC_ADDR16": "debug/elf", - "elf.R_PPC_ADDR16_HA": "debug/elf", - "elf.R_PPC_ADDR16_HI": "debug/elf", - "elf.R_PPC_ADDR16_LO": "debug/elf", - "elf.R_PPC_ADDR24": "debug/elf", - "elf.R_PPC_ADDR32": "debug/elf", - "elf.R_PPC_COPY": "debug/elf", - "elf.R_PPC_DTPMOD32": "debug/elf", - "elf.R_PPC_DTPREL16": "debug/elf", - "elf.R_PPC_DTPREL16_HA": "debug/elf", - "elf.R_PPC_DTPREL16_HI": "debug/elf", - "elf.R_PPC_DTPREL16_LO": "debug/elf", - "elf.R_PPC_DTPREL32": "debug/elf", - "elf.R_PPC_EMB_BIT_FLD": "debug/elf", - "elf.R_PPC_EMB_MRKREF": "debug/elf", - "elf.R_PPC_EMB_NADDR16": "debug/elf", - "elf.R_PPC_EMB_NADDR16_HA": "debug/elf", - "elf.R_PPC_EMB_NADDR16_HI": "debug/elf", - "elf.R_PPC_EMB_NADDR16_LO": "debug/elf", - "elf.R_PPC_EMB_NADDR32": "debug/elf", - "elf.R_PPC_EMB_RELSDA": "debug/elf", - "elf.R_PPC_EMB_RELSEC16": "debug/elf", - "elf.R_PPC_EMB_RELST_HA": "debug/elf", - "elf.R_PPC_EMB_RELST_HI": "debug/elf", - "elf.R_PPC_EMB_RELST_LO": "debug/elf", - "elf.R_PPC_EMB_SDA21": "debug/elf", - "elf.R_PPC_EMB_SDA2I16": "debug/elf", - "elf.R_PPC_EMB_SDA2REL": "debug/elf", - "elf.R_PPC_EMB_SDAI16": "debug/elf", - "elf.R_PPC_GLOB_DAT": "debug/elf", - "elf.R_PPC_GOT16": "debug/elf", - "elf.R_PPC_GOT16_HA": "debug/elf", - "elf.R_PPC_GOT16_HI": "debug/elf", - "elf.R_PPC_GOT16_LO": "debug/elf", - "elf.R_PPC_GOT_TLSGD16": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_HA": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_HI": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_LO": "debug/elf", - "elf.R_PPC_GOT_TLSLD16": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_HA": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_HI": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_LO": "debug/elf", - "elf.R_PPC_GOT_TPREL16": "debug/elf", - "elf.R_PPC_GOT_TPREL16_HA": "debug/elf", - "elf.R_PPC_GOT_TPREL16_HI": "debug/elf", - "elf.R_PPC_GOT_TPREL16_LO": "debug/elf", - "elf.R_PPC_JMP_SLOT": "debug/elf", - "elf.R_PPC_LOCAL24PC": "debug/elf", - "elf.R_PPC_NONE": "debug/elf", - "elf.R_PPC_PLT16_HA": "debug/elf", - "elf.R_PPC_PLT16_HI": "debug/elf", - "elf.R_PPC_PLT16_LO": "debug/elf", - "elf.R_PPC_PLT32": "debug/elf", - "elf.R_PPC_PLTREL24": "debug/elf", - "elf.R_PPC_PLTREL32": "debug/elf", - "elf.R_PPC_REL14": "debug/elf", - "elf.R_PPC_REL14_BRNTAKEN": "debug/elf", - "elf.R_PPC_REL14_BRTAKEN": "debug/elf", - "elf.R_PPC_REL24": "debug/elf", - "elf.R_PPC_REL32": "debug/elf", - "elf.R_PPC_RELATIVE": "debug/elf", - "elf.R_PPC_SDAREL16": "debug/elf", - "elf.R_PPC_SECTOFF": "debug/elf", - "elf.R_PPC_SECTOFF_HA": "debug/elf", - "elf.R_PPC_SECTOFF_HI": "debug/elf", - "elf.R_PPC_SECTOFF_LO": "debug/elf", - "elf.R_PPC_TLS": "debug/elf", - "elf.R_PPC_TPREL16": "debug/elf", - "elf.R_PPC_TPREL16_HA": "debug/elf", - "elf.R_PPC_TPREL16_HI": "debug/elf", - "elf.R_PPC_TPREL16_LO": "debug/elf", - "elf.R_PPC_TPREL32": "debug/elf", - "elf.R_PPC_UADDR16": "debug/elf", - "elf.R_PPC_UADDR32": "debug/elf", - "elf.R_SPARC": "debug/elf", - "elf.R_SPARC_10": "debug/elf", - "elf.R_SPARC_11": "debug/elf", - "elf.R_SPARC_13": "debug/elf", - "elf.R_SPARC_16": "debug/elf", - "elf.R_SPARC_22": "debug/elf", - "elf.R_SPARC_32": "debug/elf", - "elf.R_SPARC_5": "debug/elf", - "elf.R_SPARC_6": "debug/elf", - "elf.R_SPARC_64": "debug/elf", - "elf.R_SPARC_7": "debug/elf", - "elf.R_SPARC_8": "debug/elf", - "elf.R_SPARC_COPY": "debug/elf", - "elf.R_SPARC_DISP16": "debug/elf", - "elf.R_SPARC_DISP32": "debug/elf", - "elf.R_SPARC_DISP64": "debug/elf", - "elf.R_SPARC_DISP8": "debug/elf", - "elf.R_SPARC_GLOB_DAT": "debug/elf", - "elf.R_SPARC_GLOB_JMP": "debug/elf", - "elf.R_SPARC_GOT10": "debug/elf", - "elf.R_SPARC_GOT13": "debug/elf", - "elf.R_SPARC_GOT22": "debug/elf", - "elf.R_SPARC_H44": "debug/elf", - "elf.R_SPARC_HH22": "debug/elf", - "elf.R_SPARC_HI22": "debug/elf", - "elf.R_SPARC_HIPLT22": "debug/elf", - "elf.R_SPARC_HIX22": "debug/elf", - "elf.R_SPARC_HM10": "debug/elf", - "elf.R_SPARC_JMP_SLOT": "debug/elf", - "elf.R_SPARC_L44": "debug/elf", - "elf.R_SPARC_LM22": "debug/elf", - "elf.R_SPARC_LO10": "debug/elf", - "elf.R_SPARC_LOPLT10": "debug/elf", - "elf.R_SPARC_LOX10": "debug/elf", - "elf.R_SPARC_M44": "debug/elf", - "elf.R_SPARC_NONE": "debug/elf", - "elf.R_SPARC_OLO10": "debug/elf", - "elf.R_SPARC_PC10": "debug/elf", - "elf.R_SPARC_PC22": "debug/elf", - "elf.R_SPARC_PCPLT10": "debug/elf", - "elf.R_SPARC_PCPLT22": "debug/elf", - "elf.R_SPARC_PCPLT32": "debug/elf", - "elf.R_SPARC_PC_HH22": "debug/elf", - "elf.R_SPARC_PC_HM10": "debug/elf", - "elf.R_SPARC_PC_LM22": "debug/elf", - "elf.R_SPARC_PLT32": "debug/elf", - "elf.R_SPARC_PLT64": "debug/elf", - "elf.R_SPARC_REGISTER": "debug/elf", - "elf.R_SPARC_RELATIVE": "debug/elf", - "elf.R_SPARC_UA16": "debug/elf", - "elf.R_SPARC_UA32": "debug/elf", - "elf.R_SPARC_UA64": "debug/elf", - "elf.R_SPARC_WDISP16": "debug/elf", - "elf.R_SPARC_WDISP19": "debug/elf", - "elf.R_SPARC_WDISP22": "debug/elf", - "elf.R_SPARC_WDISP30": "debug/elf", - "elf.R_SPARC_WPLT30": "debug/elf", - "elf.R_SYM32": "debug/elf", - "elf.R_SYM64": "debug/elf", - "elf.R_TYPE32": "debug/elf", - "elf.R_TYPE64": "debug/elf", - "elf.R_X86_64": "debug/elf", - "elf.R_X86_64_16": "debug/elf", - "elf.R_X86_64_32": "debug/elf", - "elf.R_X86_64_32S": "debug/elf", - "elf.R_X86_64_64": "debug/elf", - "elf.R_X86_64_8": "debug/elf", - "elf.R_X86_64_COPY": "debug/elf", - "elf.R_X86_64_DTPMOD64": "debug/elf", - "elf.R_X86_64_DTPOFF32": "debug/elf", - "elf.R_X86_64_DTPOFF64": "debug/elf", - "elf.R_X86_64_GLOB_DAT": "debug/elf", - "elf.R_X86_64_GOT32": "debug/elf", - "elf.R_X86_64_GOTPCREL": "debug/elf", - "elf.R_X86_64_GOTTPOFF": "debug/elf", - "elf.R_X86_64_JMP_SLOT": "debug/elf", - "elf.R_X86_64_NONE": "debug/elf", - "elf.R_X86_64_PC16": "debug/elf", - "elf.R_X86_64_PC32": "debug/elf", - "elf.R_X86_64_PC8": "debug/elf", - "elf.R_X86_64_PLT32": "debug/elf", - "elf.R_X86_64_RELATIVE": "debug/elf", - "elf.R_X86_64_TLSGD": "debug/elf", - "elf.R_X86_64_TLSLD": "debug/elf", - "elf.R_X86_64_TPOFF32": "debug/elf", - "elf.R_X86_64_TPOFF64": "debug/elf", - "elf.Rel32": "debug/elf", - "elf.Rel64": "debug/elf", - "elf.Rela32": "debug/elf", - "elf.Rela64": "debug/elf", - "elf.SHF_ALLOC": "debug/elf", - "elf.SHF_EXECINSTR": "debug/elf", - "elf.SHF_GROUP": "debug/elf", - "elf.SHF_INFO_LINK": "debug/elf", - "elf.SHF_LINK_ORDER": "debug/elf", - "elf.SHF_MASKOS": "debug/elf", - "elf.SHF_MASKPROC": "debug/elf", - "elf.SHF_MERGE": "debug/elf", - "elf.SHF_OS_NONCONFORMING": "debug/elf", - "elf.SHF_STRINGS": "debug/elf", - "elf.SHF_TLS": "debug/elf", - "elf.SHF_WRITE": "debug/elf", - "elf.SHN_ABS": "debug/elf", - "elf.SHN_COMMON": "debug/elf", - "elf.SHN_HIOS": "debug/elf", - "elf.SHN_HIPROC": "debug/elf", - "elf.SHN_HIRESERVE": "debug/elf", - "elf.SHN_LOOS": "debug/elf", - "elf.SHN_LOPROC": "debug/elf", - "elf.SHN_LORESERVE": "debug/elf", - "elf.SHN_UNDEF": "debug/elf", - "elf.SHN_XINDEX": "debug/elf", - "elf.SHT_DYNAMIC": "debug/elf", - "elf.SHT_DYNSYM": "debug/elf", - "elf.SHT_FINI_ARRAY": "debug/elf", - "elf.SHT_GNU_ATTRIBUTES": "debug/elf", - "elf.SHT_GNU_HASH": "debug/elf", - "elf.SHT_GNU_LIBLIST": "debug/elf", - "elf.SHT_GNU_VERDEF": "debug/elf", - "elf.SHT_GNU_VERNEED": "debug/elf", - "elf.SHT_GNU_VERSYM": "debug/elf", - "elf.SHT_GROUP": "debug/elf", - "elf.SHT_HASH": "debug/elf", - "elf.SHT_HIOS": "debug/elf", - "elf.SHT_HIPROC": "debug/elf", - "elf.SHT_HIUSER": "debug/elf", - "elf.SHT_INIT_ARRAY": "debug/elf", - "elf.SHT_LOOS": "debug/elf", - "elf.SHT_LOPROC": "debug/elf", - "elf.SHT_LOUSER": "debug/elf", - "elf.SHT_NOBITS": "debug/elf", - "elf.SHT_NOTE": "debug/elf", - "elf.SHT_NULL": "debug/elf", - "elf.SHT_PREINIT_ARRAY": "debug/elf", - "elf.SHT_PROGBITS": "debug/elf", - "elf.SHT_REL": "debug/elf", - "elf.SHT_RELA": "debug/elf", - "elf.SHT_SHLIB": "debug/elf", - "elf.SHT_STRTAB": "debug/elf", - "elf.SHT_SYMTAB": "debug/elf", - "elf.SHT_SYMTAB_SHNDX": "debug/elf", - "elf.STB_GLOBAL": "debug/elf", - "elf.STB_HIOS": "debug/elf", - "elf.STB_HIPROC": "debug/elf", - "elf.STB_LOCAL": "debug/elf", - "elf.STB_LOOS": "debug/elf", - "elf.STB_LOPROC": "debug/elf", - "elf.STB_WEAK": "debug/elf", - "elf.STT_COMMON": "debug/elf", - "elf.STT_FILE": "debug/elf", - "elf.STT_FUNC": "debug/elf", - "elf.STT_HIOS": "debug/elf", - "elf.STT_HIPROC": "debug/elf", - "elf.STT_LOOS": "debug/elf", - "elf.STT_LOPROC": "debug/elf", - "elf.STT_NOTYPE": "debug/elf", - "elf.STT_OBJECT": "debug/elf", - "elf.STT_SECTION": "debug/elf", - "elf.STT_TLS": "debug/elf", - "elf.STV_DEFAULT": "debug/elf", - "elf.STV_HIDDEN": "debug/elf", - "elf.STV_INTERNAL": "debug/elf", - "elf.STV_PROTECTED": "debug/elf", - "elf.ST_BIND": "debug/elf", - "elf.ST_INFO": "debug/elf", - "elf.ST_TYPE": "debug/elf", - "elf.ST_VISIBILITY": "debug/elf", - "elf.Section": "debug/elf", - "elf.Section32": "debug/elf", - "elf.Section64": "debug/elf", - "elf.SectionFlag": "debug/elf", - "elf.SectionHeader": "debug/elf", - "elf.SectionIndex": "debug/elf", - "elf.SectionType": "debug/elf", - "elf.Sym32": "debug/elf", - "elf.Sym32Size": "debug/elf", - "elf.Sym64": "debug/elf", - "elf.Sym64Size": "debug/elf", - "elf.SymBind": "debug/elf", - "elf.SymType": "debug/elf", - "elf.SymVis": "debug/elf", - "elf.Symbol": "debug/elf", - "elf.Type": "debug/elf", - "elf.Version": "debug/elf", - "elliptic.Curve": "crypto/elliptic", - "elliptic.CurveParams": "crypto/elliptic", - "elliptic.GenerateKey": "crypto/elliptic", - "elliptic.Marshal": "crypto/elliptic", - "elliptic.P224": "crypto/elliptic", - "elliptic.P256": "crypto/elliptic", - "elliptic.P384": "crypto/elliptic", - "elliptic.P521": "crypto/elliptic", - "elliptic.Unmarshal": "crypto/elliptic", - "encoding.BinaryMarshaler": "encoding", - "encoding.BinaryUnmarshaler": "encoding", - "encoding.TextMarshaler": "encoding", - "encoding.TextUnmarshaler": "encoding", - "errors.New": "errors", - "exec.Cmd": "os/exec", - "exec.Command": "os/exec", - "exec.ErrNotFound": "os/exec", - "exec.Error": "os/exec", - "exec.ExitError": "os/exec", - "exec.LookPath": "os/exec", - "expvar.Do": "expvar", - "expvar.Float": "expvar", - "expvar.Func": "expvar", - "expvar.Get": "expvar", - "expvar.Int": "expvar", - "expvar.KeyValue": "expvar", - "expvar.Map": "expvar", - "expvar.NewFloat": "expvar", - "expvar.NewInt": "expvar", - "expvar.NewMap": "expvar", - "expvar.NewString": "expvar", - "expvar.Publish": "expvar", - "expvar.String": "expvar", - "expvar.Var": "expvar", - "fcgi.Serve": "net/http/fcgi", - "filepath.Abs": "path/filepath", - "filepath.Base": "path/filepath", - "filepath.Clean": "path/filepath", - "filepath.Dir": "path/filepath", - "filepath.ErrBadPattern": "path/filepath", - "filepath.EvalSymlinks": "path/filepath", - "filepath.Ext": "path/filepath", - "filepath.FromSlash": "path/filepath", - "filepath.Glob": "path/filepath", - "filepath.HasPrefix": "path/filepath", - "filepath.IsAbs": "path/filepath", - "filepath.Join": "path/filepath", - "filepath.ListSeparator": "path/filepath", - "filepath.Match": "path/filepath", - "filepath.Rel": "path/filepath", - "filepath.Separator": "path/filepath", - "filepath.SkipDir": "path/filepath", - "filepath.Split": "path/filepath", - "filepath.SplitList": "path/filepath", - "filepath.ToSlash": "path/filepath", - "filepath.VolumeName": "path/filepath", - "filepath.Walk": "path/filepath", - "filepath.WalkFunc": "path/filepath", - "flag.Arg": "flag", - "flag.Args": "flag", - "flag.Bool": "flag", - "flag.BoolVar": "flag", - "flag.CommandLine": "flag", - "flag.ContinueOnError": "flag", - "flag.Duration": "flag", - "flag.DurationVar": "flag", - "flag.ErrHelp": "flag", - "flag.ErrorHandling": "flag", - "flag.ExitOnError": "flag", - "flag.Flag": "flag", - "flag.FlagSet": "flag", - "flag.Float64": "flag", - "flag.Float64Var": "flag", - "flag.Getter": "flag", - "flag.Int": "flag", - "flag.Int64": "flag", - "flag.Int64Var": "flag", - "flag.IntVar": "flag", - "flag.Lookup": "flag", - "flag.NArg": "flag", - "flag.NFlag": "flag", - "flag.NewFlagSet": "flag", - "flag.PanicOnError": "flag", - "flag.Parse": "flag", - "flag.Parsed": "flag", - "flag.PrintDefaults": "flag", - "flag.Set": "flag", - "flag.String": "flag", - "flag.StringVar": "flag", - "flag.Uint": "flag", - "flag.Uint64": "flag", - "flag.Uint64Var": "flag", - "flag.UintVar": "flag", - "flag.Usage": "flag", - "flag.Value": "flag", - "flag.Var": "flag", - "flag.Visit": "flag", - "flag.VisitAll": "flag", - "flate.BestCompression": "compress/flate", - "flate.BestSpeed": "compress/flate", - "flate.CorruptInputError": "compress/flate", - "flate.DefaultCompression": "compress/flate", - "flate.InternalError": "compress/flate", - "flate.NewReader": "compress/flate", - "flate.NewReaderDict": "compress/flate", - "flate.NewWriter": "compress/flate", - "flate.NewWriterDict": "compress/flate", - "flate.NoCompression": "compress/flate", - "flate.ReadError": "compress/flate", - "flate.Reader": "compress/flate", - "flate.WriteError": "compress/flate", - "flate.Writer": "compress/flate", - "fmt.Errorf": "fmt", - "fmt.Formatter": "fmt", - "fmt.Fprint": "fmt", - "fmt.Fprintf": "fmt", - "fmt.Fprintln": "fmt", - "fmt.Fscan": "fmt", - "fmt.Fscanf": "fmt", - "fmt.Fscanln": "fmt", - "fmt.GoStringer": "fmt", - "fmt.Print": "fmt", - "fmt.Printf": "fmt", - "fmt.Println": "fmt", - "fmt.Scan": "fmt", - "fmt.ScanState": "fmt", - "fmt.Scanf": "fmt", - "fmt.Scanln": "fmt", - "fmt.Scanner": "fmt", - "fmt.Sprint": "fmt", - "fmt.Sprintf": "fmt", - "fmt.Sprintln": "fmt", - "fmt.Sscan": "fmt", - "fmt.Sscanf": "fmt", - "fmt.Sscanln": "fmt", - "fmt.State": "fmt", - "fmt.Stringer": "fmt", - "fnv.New32": "hash/fnv", - "fnv.New32a": "hash/fnv", - "fnv.New64": "hash/fnv", - "fnv.New64a": "hash/fnv", - "format.Node": "go/format", - "format.Source": "go/format", - "gif.Decode": "image/gif", - "gif.DecodeAll": "image/gif", - "gif.DecodeConfig": "image/gif", - "gif.Encode": "image/gif", - "gif.EncodeAll": "image/gif", - "gif.GIF": "image/gif", - "gif.Options": "image/gif", - "gob.CommonType": "encoding/gob", - "gob.Decoder": "encoding/gob", - "gob.Encoder": "encoding/gob", - "gob.GobDecoder": "encoding/gob", - "gob.GobEncoder": "encoding/gob", - "gob.NewDecoder": "encoding/gob", - "gob.NewEncoder": "encoding/gob", - "gob.Register": "encoding/gob", - "gob.RegisterName": "encoding/gob", - "gosym.DecodingError": "debug/gosym", - "gosym.Func": "debug/gosym", - "gosym.LineTable": "debug/gosym", - "gosym.NewLineTable": "debug/gosym", - "gosym.NewTable": "debug/gosym", - "gosym.Obj": "debug/gosym", - "gosym.Sym": "debug/gosym", - "gosym.Table": "debug/gosym", - "gosym.UnknownFileError": "debug/gosym", - "gosym.UnknownLineError": "debug/gosym", - "gzip.BestCompression": "compress/gzip", - "gzip.BestSpeed": "compress/gzip", - "gzip.DefaultCompression": "compress/gzip", - "gzip.ErrChecksum": "compress/gzip", - "gzip.ErrHeader": "compress/gzip", - "gzip.Header": "compress/gzip", - "gzip.NewReader": "compress/gzip", - "gzip.NewWriter": "compress/gzip", - "gzip.NewWriterLevel": "compress/gzip", - "gzip.NoCompression": "compress/gzip", - "gzip.Reader": "compress/gzip", - "gzip.Writer": "compress/gzip", - "hash.Hash": "hash", - "hash.Hash32": "hash", - "hash.Hash64": "hash", - "heap.Fix": "container/heap", - "heap.Init": "container/heap", - "heap.Interface": "container/heap", - "heap.Pop": "container/heap", - "heap.Push": "container/heap", - "heap.Remove": "container/heap", - "hex.Decode": "encoding/hex", - "hex.DecodeString": "encoding/hex", - "hex.DecodedLen": "encoding/hex", - "hex.Dump": "encoding/hex", - "hex.Dumper": "encoding/hex", - "hex.Encode": "encoding/hex", - "hex.EncodeToString": "encoding/hex", - "hex.EncodedLen": "encoding/hex", - "hex.ErrLength": "encoding/hex", - "hex.InvalidByteError": "encoding/hex", - "hmac.Equal": "crypto/hmac", - "hmac.New": "crypto/hmac", - "html.EscapeString": "html", - "html.UnescapeString": "html", - "http.CanonicalHeaderKey": "net/http", - "http.Client": "net/http", - "http.CloseNotifier": "net/http", - "http.ConnState": "net/http", - "http.Cookie": "net/http", - "http.CookieJar": "net/http", - "http.DefaultClient": "net/http", - "http.DefaultMaxHeaderBytes": "net/http", - "http.DefaultMaxIdleConnsPerHost": "net/http", - "http.DefaultServeMux": "net/http", - "http.DefaultTransport": "net/http", - "http.DetectContentType": "net/http", - "http.Dir": "net/http", - "http.ErrBodyNotAllowed": "net/http", - "http.ErrBodyReadAfterClose": "net/http", - "http.ErrContentLength": "net/http", - "http.ErrHandlerTimeout": "net/http", - "http.ErrHeaderTooLong": "net/http", - "http.ErrHijacked": "net/http", - "http.ErrLineTooLong": "net/http", - "http.ErrMissingBoundary": "net/http", - "http.ErrMissingContentLength": "net/http", - "http.ErrMissingFile": "net/http", - "http.ErrNoCookie": "net/http", - "http.ErrNoLocation": "net/http", - "http.ErrNotMultipart": "net/http", - "http.ErrNotSupported": "net/http", - "http.ErrShortBody": "net/http", - "http.ErrUnexpectedTrailer": "net/http", - "http.ErrWriteAfterFlush": "net/http", - "http.Error": "net/http", - "http.File": "net/http", - "http.FileServer": "net/http", - "http.FileSystem": "net/http", - "http.Flusher": "net/http", - "http.Get": "net/http", - "http.Handle": "net/http", - "http.HandleFunc": "net/http", - "http.Handler": "net/http", - "http.HandlerFunc": "net/http", - "http.Head": "net/http", - "http.Header": "net/http", - "http.Hijacker": "net/http", - "http.ListenAndServe": "net/http", - "http.ListenAndServeTLS": "net/http", - "http.MaxBytesReader": "net/http", - "http.NewFileTransport": "net/http", - "http.NewRequest": "net/http", - "http.NewServeMux": "net/http", - "http.NotFound": "net/http", - "http.NotFoundHandler": "net/http", - "http.ParseHTTPVersion": "net/http", - "http.ParseTime": "net/http", - "http.Post": "net/http", - "http.PostForm": "net/http", - "http.ProtocolError": "net/http", - "http.ProxyFromEnvironment": "net/http", - "http.ProxyURL": "net/http", - "http.ReadRequest": "net/http", - "http.ReadResponse": "net/http", - "http.Redirect": "net/http", - "http.RedirectHandler": "net/http", - "http.Request": "net/http", - "http.Response": "net/http", - "http.ResponseWriter": "net/http", - "http.RoundTripper": "net/http", - "http.Serve": "net/http", - "http.ServeContent": "net/http", - "http.ServeFile": "net/http", - "http.ServeMux": "net/http", - "http.Server": "net/http", - "http.SetCookie": "net/http", - "http.StateActive": "net/http", - "http.StateClosed": "net/http", - "http.StateHijacked": "net/http", - "http.StateIdle": "net/http", - "http.StateNew": "net/http", - "http.StatusAccepted": "net/http", - "http.StatusBadGateway": "net/http", - "http.StatusBadRequest": "net/http", - "http.StatusConflict": "net/http", - "http.StatusContinue": "net/http", - "http.StatusCreated": "net/http", - "http.StatusExpectationFailed": "net/http", - "http.StatusForbidden": "net/http", - "http.StatusFound": "net/http", - "http.StatusGatewayTimeout": "net/http", - "http.StatusGone": "net/http", - "http.StatusHTTPVersionNotSupported": "net/http", - "http.StatusInternalServerError": "net/http", - "http.StatusLengthRequired": "net/http", - "http.StatusMethodNotAllowed": "net/http", - "http.StatusMovedPermanently": "net/http", - "http.StatusMultipleChoices": "net/http", - "http.StatusNoContent": "net/http", - "http.StatusNonAuthoritativeInfo": "net/http", - "http.StatusNotAcceptable": "net/http", - "http.StatusNotFound": "net/http", - "http.StatusNotImplemented": "net/http", - "http.StatusNotModified": "net/http", - "http.StatusOK": "net/http", - "http.StatusPartialContent": "net/http", - "http.StatusPaymentRequired": "net/http", - "http.StatusPreconditionFailed": "net/http", - "http.StatusProxyAuthRequired": "net/http", - "http.StatusRequestEntityTooLarge": "net/http", - "http.StatusRequestTimeout": "net/http", - "http.StatusRequestURITooLong": "net/http", - "http.StatusRequestedRangeNotSatisfiable": "net/http", - "http.StatusResetContent": "net/http", - "http.StatusSeeOther": "net/http", - "http.StatusServiceUnavailable": "net/http", - "http.StatusSwitchingProtocols": "net/http", - "http.StatusTeapot": "net/http", - "http.StatusTemporaryRedirect": "net/http", - "http.StatusText": "net/http", - "http.StatusUnauthorized": "net/http", - "http.StatusUnsupportedMediaType": "net/http", - "http.StatusUseProxy": "net/http", - "http.StripPrefix": "net/http", - "http.TimeFormat": "net/http", - "http.TimeoutHandler": "net/http", - "http.Transport": "net/http", - "httptest.DefaultRemoteAddr": "net/http/httptest", - "httptest.NewRecorder": "net/http/httptest", - "httptest.NewServer": "net/http/httptest", - "httptest.NewTLSServer": "net/http/httptest", - "httptest.NewUnstartedServer": "net/http/httptest", - "httptest.ResponseRecorder": "net/http/httptest", - "httptest.Server": "net/http/httptest", - "httputil.ClientConn": "net/http/httputil", - "httputil.DumpRequest": "net/http/httputil", - "httputil.DumpRequestOut": "net/http/httputil", - "httputil.DumpResponse": "net/http/httputil", - "httputil.ErrClosed": "net/http/httputil", - "httputil.ErrLineTooLong": "net/http/httputil", - "httputil.ErrPersistEOF": "net/http/httputil", - "httputil.ErrPipeline": "net/http/httputil", - "httputil.NewChunkedReader": "net/http/httputil", - "httputil.NewChunkedWriter": "net/http/httputil", - "httputil.NewClientConn": "net/http/httputil", - "httputil.NewProxyClientConn": "net/http/httputil", - "httputil.NewServerConn": "net/http/httputil", - "httputil.NewSingleHostReverseProxy": "net/http/httputil", - "httputil.ReverseProxy": "net/http/httputil", - "httputil.ServerConn": "net/http/httputil", - "image.Alpha": "image", - "image.Alpha16": "image", - "image.Black": "image", - "image.Config": "image", - "image.Decode": "image", - "image.DecodeConfig": "image", - "image.ErrFormat": "image", - "image.Gray": "image", - "image.Gray16": "image", - "image.Image": "image", - "image.NRGBA": "image", - "image.NRGBA64": "image", - "image.NewAlpha": "image", - "image.NewAlpha16": "image", - "image.NewGray": "image", - "image.NewGray16": "image", - "image.NewNRGBA": "image", - "image.NewNRGBA64": "image", - "image.NewPaletted": "image", - "image.NewRGBA": "image", - "image.NewRGBA64": "image", - "image.NewUniform": "image", - "image.NewYCbCr": "image", - "image.Opaque": "image", - "image.Paletted": "image", - "image.PalettedImage": "image", - "image.Point": "image", - "image.Pt": "image", - "image.RGBA": "image", - "image.RGBA64": "image", - "image.Rect": "image", - "image.Rectangle": "image", - "image.RegisterFormat": "image", - "image.Transparent": "image", - "image.Uniform": "image", - "image.White": "image", - "image.YCbCr": "image", - "image.YCbCrSubsampleRatio": "image", - "image.YCbCrSubsampleRatio420": "image", - "image.YCbCrSubsampleRatio422": "image", - "image.YCbCrSubsampleRatio440": "image", - "image.YCbCrSubsampleRatio444": "image", - "image.ZP": "image", - "image.ZR": "image", - "io.ByteReader": "io", - "io.ByteScanner": "io", - "io.ByteWriter": "io", - "io.Closer": "io", - "io.Copy": "io", - "io.CopyN": "io", - "io.EOF": "io", - "io.ErrClosedPipe": "io", - "io.ErrNoProgress": "io", - "io.ErrShortBuffer": "io", - "io.ErrShortWrite": "io", - "io.ErrUnexpectedEOF": "io", - "io.LimitReader": "io", - "io.LimitedReader": "io", - "io.MultiReader": "io", - "io.MultiWriter": "io", - "io.NewSectionReader": "io", - "io.Pipe": "io", - "io.PipeReader": "io", - "io.PipeWriter": "io", - "io.ReadAtLeast": "io", - "io.ReadCloser": "io", - "io.ReadFull": "io", - "io.ReadSeeker": "io", - "io.ReadWriteCloser": "io", - "io.ReadWriteSeeker": "io", - "io.ReadWriter": "io", - "io.Reader": "io", - "io.ReaderAt": "io", - "io.ReaderFrom": "io", - "io.RuneReader": "io", - "io.RuneScanner": "io", - "io.SectionReader": "io", - "io.Seeker": "io", - "io.TeeReader": "io", - "io.WriteCloser": "io", - "io.WriteSeeker": "io", - "io.WriteString": "io", - "io.Writer": "io", - "io.WriterAt": "io", - "io.WriterTo": "io", - "iotest.DataErrReader": "testing/iotest", - "iotest.ErrTimeout": "testing/iotest", - "iotest.HalfReader": "testing/iotest", - "iotest.NewReadLogger": "testing/iotest", - "iotest.NewWriteLogger": "testing/iotest", - "iotest.OneByteReader": "testing/iotest", - "iotest.TimeoutReader": "testing/iotest", - "iotest.TruncateWriter": "testing/iotest", - "ioutil.Discard": "io/ioutil", - "ioutil.NopCloser": "io/ioutil", - "ioutil.ReadAll": "io/ioutil", - "ioutil.ReadDir": "io/ioutil", - "ioutil.ReadFile": "io/ioutil", - "ioutil.TempDir": "io/ioutil", - "ioutil.TempFile": "io/ioutil", - "ioutil.WriteFile": "io/ioutil", - "jpeg.Decode": "image/jpeg", - "jpeg.DecodeConfig": "image/jpeg", - "jpeg.DefaultQuality": "image/jpeg", - "jpeg.Encode": "image/jpeg", - "jpeg.FormatError": "image/jpeg", - "jpeg.Options": "image/jpeg", - "jpeg.Reader": "image/jpeg", - "jpeg.UnsupportedError": "image/jpeg", - "json.Compact": "encoding/json", - "json.Decoder": "encoding/json", - "json.Encoder": "encoding/json", - "json.HTMLEscape": "encoding/json", - "json.Indent": "encoding/json", - "json.InvalidUTF8Error": "encoding/json", - "json.InvalidUnmarshalError": "encoding/json", - "json.Marshal": "encoding/json", - "json.MarshalIndent": "encoding/json", - "json.Marshaler": "encoding/json", - "json.MarshalerError": "encoding/json", - "json.NewDecoder": "encoding/json", - "json.NewEncoder": "encoding/json", - "json.Number": "encoding/json", - "json.RawMessage": "encoding/json", - "json.SyntaxError": "encoding/json", - "json.Unmarshal": "encoding/json", - "json.UnmarshalFieldError": "encoding/json", - "json.UnmarshalTypeError": "encoding/json", - "json.Unmarshaler": "encoding/json", - "json.UnsupportedTypeError": "encoding/json", - "json.UnsupportedValueError": "encoding/json", - "jsonrpc.Dial": "net/rpc/jsonrpc", - "jsonrpc.NewClient": "net/rpc/jsonrpc", - "jsonrpc.NewClientCodec": "net/rpc/jsonrpc", - "jsonrpc.NewServerCodec": "net/rpc/jsonrpc", - "jsonrpc.ServeConn": "net/rpc/jsonrpc", - "list.Element": "container/list", - "list.List": "container/list", - "list.New": "container/list", - "log.Fatal": "log", - "log.Fatalf": "log", - "log.Fatalln": "log", - "log.Flags": "log", - "log.Ldate": "log", - "log.Llongfile": "log", - "log.Lmicroseconds": "log", - "log.Logger": "log", - "log.Lshortfile": "log", - "log.LstdFlags": "log", - "log.Ltime": "log", - "log.New": "log", - "log.Panic": "log", - "log.Panicf": "log", - "log.Panicln": "log", - "log.Prefix": "log", - "log.Print": "log", - "log.Printf": "log", - "log.Println": "log", - "log.SetFlags": "log", - "log.SetOutput": "log", - "log.SetPrefix": "log", - "lzw.LSB": "compress/lzw", - "lzw.MSB": "compress/lzw", - "lzw.NewReader": "compress/lzw", - "lzw.NewWriter": "compress/lzw", - "lzw.Order": "compress/lzw", - "macho.Cpu": "debug/macho", - "macho.Cpu386": "debug/macho", - "macho.CpuAmd64": "debug/macho", - "macho.CpuArm": "debug/macho", - "macho.CpuPpc": "debug/macho", - "macho.CpuPpc64": "debug/macho", - "macho.Dylib": "debug/macho", - "macho.DylibCmd": "debug/macho", - "macho.Dysymtab": "debug/macho", - "macho.DysymtabCmd": "debug/macho", - "macho.ErrNotFat": "debug/macho", - "macho.FatArch": "debug/macho", - "macho.FatArchHeader": "debug/macho", - "macho.FatFile": "debug/macho", - "macho.File": "debug/macho", - "macho.FileHeader": "debug/macho", - "macho.FormatError": "debug/macho", - "macho.Load": "debug/macho", - "macho.LoadBytes": "debug/macho", - "macho.LoadCmd": "debug/macho", - "macho.LoadCmdDylib": "debug/macho", - "macho.LoadCmdDylinker": "debug/macho", - "macho.LoadCmdDysymtab": "debug/macho", - "macho.LoadCmdSegment": "debug/macho", - "macho.LoadCmdSegment64": "debug/macho", - "macho.LoadCmdSymtab": "debug/macho", - "macho.LoadCmdThread": "debug/macho", - "macho.LoadCmdUnixThread": "debug/macho", - "macho.Magic32": "debug/macho", - "macho.Magic64": "debug/macho", - "macho.MagicFat": "debug/macho", - "macho.NewFatFile": "debug/macho", - "macho.NewFile": "debug/macho", - "macho.Nlist32": "debug/macho", - "macho.Nlist64": "debug/macho", - "macho.Open": "debug/macho", - "macho.OpenFat": "debug/macho", - "macho.Regs386": "debug/macho", - "macho.RegsAMD64": "debug/macho", - "macho.Section": "debug/macho", - "macho.Section32": "debug/macho", - "macho.Section64": "debug/macho", - "macho.SectionHeader": "debug/macho", - "macho.Segment": "debug/macho", - "macho.Segment32": "debug/macho", - "macho.Segment64": "debug/macho", - "macho.SegmentHeader": "debug/macho", - "macho.Symbol": "debug/macho", - "macho.Symtab": "debug/macho", - "macho.SymtabCmd": "debug/macho", - "macho.Thread": "debug/macho", - "macho.Type": "debug/macho", - "macho.TypeBundle": "debug/macho", - "macho.TypeDylib": "debug/macho", - "macho.TypeExec": "debug/macho", - "macho.TypeObj": "debug/macho", - "mail.Address": "net/mail", - "mail.ErrHeaderNotPresent": "net/mail", - "mail.Header": "net/mail", - "mail.Message": "net/mail", - "mail.ParseAddress": "net/mail", - "mail.ParseAddressList": "net/mail", - "mail.ReadMessage": "net/mail", - "math.Abs": "math", - "math.Acos": "math", - "math.Acosh": "math", - "math.Asin": "math", - "math.Asinh": "math", - "math.Atan": "math", - "math.Atan2": "math", - "math.Atanh": "math", - "math.Cbrt": "math", - "math.Ceil": "math", - "math.Copysign": "math", - "math.Cos": "math", - "math.Cosh": "math", - "math.Dim": "math", - "math.E": "math", - "math.Erf": "math", - "math.Erfc": "math", - "math.Exp": "math", - "math.Exp2": "math", - "math.Expm1": "math", - "math.Float32bits": "math", - "math.Float32frombits": "math", - "math.Float64bits": "math", - "math.Float64frombits": "math", - "math.Floor": "math", - "math.Frexp": "math", - "math.Gamma": "math", - "math.Hypot": "math", - "math.Ilogb": "math", - "math.Inf": "math", - "math.IsInf": "math", - "math.IsNaN": "math", - "math.J0": "math", - "math.J1": "math", - "math.Jn": "math", - "math.Ldexp": "math", - "math.Lgamma": "math", - "math.Ln10": "math", - "math.Ln2": "math", - "math.Log": "math", - "math.Log10": "math", - "math.Log10E": "math", - "math.Log1p": "math", - "math.Log2": "math", - "math.Log2E": "math", - "math.Logb": "math", - "math.Max": "math", - "math.MaxFloat32": "math", - "math.MaxFloat64": "math", - "math.MaxInt16": "math", - "math.MaxInt32": "math", - "math.MaxInt64": "math", - "math.MaxInt8": "math", - "math.MaxUint16": "math", - "math.MaxUint32": "math", - "math.MaxUint64": "math", - "math.MaxUint8": "math", - "math.Min": "math", - "math.MinInt16": "math", - "math.MinInt32": "math", - "math.MinInt64": "math", - "math.MinInt8": "math", - "math.Mod": "math", - "math.Modf": "math", - "math.NaN": "math", - "math.Nextafter": "math", - "math.Phi": "math", - "math.Pi": "math", - "math.Pow": "math", - "math.Pow10": "math", - "math.Remainder": "math", - "math.Signbit": "math", - "math.Sin": "math", - "math.Sincos": "math", - "math.Sinh": "math", - "math.SmallestNonzeroFloat32": "math", - "math.SmallestNonzeroFloat64": "math", - "math.Sqrt": "math", - "math.Sqrt2": "math", - "math.SqrtE": "math", - "math.SqrtPhi": "math", - "math.SqrtPi": "math", - "math.Tan": "math", - "math.Tanh": "math", - "math.Trunc": "math", - "math.Y0": "math", - "math.Y1": "math", - "math.Yn": "math", - "md5.BlockSize": "crypto/md5", - "md5.New": "crypto/md5", - "md5.Size": "crypto/md5", - "md5.Sum": "crypto/md5", - "mime.AddExtensionType": "mime", - "mime.FormatMediaType": "mime", - "mime.ParseMediaType": "mime", - "mime.TypeByExtension": "mime", - "multipart.File": "mime/multipart", - "multipart.FileHeader": "mime/multipart", - "multipart.Form": "mime/multipart", - "multipart.NewReader": "mime/multipart", - "multipart.NewWriter": "mime/multipart", - "multipart.Part": "mime/multipart", - "multipart.Reader": "mime/multipart", - "multipart.Writer": "mime/multipart", - "net.Addr": "net", - "net.AddrError": "net", - "net.CIDRMask": "net", - "net.Conn": "net", - "net.DNSConfigError": "net", - "net.DNSError": "net", - "net.Dial": "net", - "net.DialIP": "net", - "net.DialTCP": "net", - "net.DialTimeout": "net", - "net.DialUDP": "net", - "net.DialUnix": "net", - "net.Dialer": "net", - "net.ErrWriteToConnected": "net", - "net.Error": "net", - "net.FileConn": "net", - "net.FileListener": "net", - "net.FilePacketConn": "net", - "net.FlagBroadcast": "net", - "net.FlagLoopback": "net", - "net.FlagMulticast": "net", - "net.FlagPointToPoint": "net", - "net.FlagUp": "net", - "net.Flags": "net", - "net.HardwareAddr": "net", - "net.IP": "net", - "net.IPAddr": "net", - "net.IPConn": "net", - "net.IPMask": "net", - "net.IPNet": "net", - "net.IPv4": "net", - "net.IPv4Mask": "net", - "net.IPv4allrouter": "net", - "net.IPv4allsys": "net", - "net.IPv4bcast": "net", - "net.IPv4len": "net", - "net.IPv4zero": "net", - "net.IPv6interfacelocalallnodes": "net", - "net.IPv6len": "net", - "net.IPv6linklocalallnodes": "net", - "net.IPv6linklocalallrouters": "net", - "net.IPv6loopback": "net", - "net.IPv6unspecified": "net", - "net.IPv6zero": "net", - "net.Interface": "net", - "net.InterfaceAddrs": "net", - "net.InterfaceByIndex": "net", - "net.InterfaceByName": "net", - "net.Interfaces": "net", - "net.InvalidAddrError": "net", - "net.JoinHostPort": "net", - "net.Listen": "net", - "net.ListenIP": "net", - "net.ListenMulticastUDP": "net", - "net.ListenPacket": "net", - "net.ListenTCP": "net", - "net.ListenUDP": "net", - "net.ListenUnix": "net", - "net.ListenUnixgram": "net", - "net.Listener": "net", - "net.LookupAddr": "net", - "net.LookupCNAME": "net", - "net.LookupHost": "net", - "net.LookupIP": "net", - "net.LookupMX": "net", - "net.LookupNS": "net", - "net.LookupPort": "net", - "net.LookupSRV": "net", - "net.LookupTXT": "net", - "net.MX": "net", - "net.NS": "net", - "net.OpError": "net", - "net.PacketConn": "net", - "net.ParseCIDR": "net", - "net.ParseError": "net", - "net.ParseIP": "net", - "net.ParseMAC": "net", - "net.Pipe": "net", - "net.ResolveIPAddr": "net", - "net.ResolveTCPAddr": "net", - "net.ResolveUDPAddr": "net", - "net.ResolveUnixAddr": "net", - "net.SRV": "net", - "net.SplitHostPort": "net", - "net.TCPAddr": "net", - "net.TCPConn": "net", - "net.TCPListener": "net", - "net.UDPAddr": "net", - "net.UDPConn": "net", - "net.UnixAddr": "net", - "net.UnixConn": "net", - "net.UnixListener": "net", - "net.UnknownNetworkError": "net", - "os.Args": "os", - "os.Chdir": "os", - "os.Chmod": "os", - "os.Chown": "os", - "os.Chtimes": "os", - "os.Clearenv": "os", - "os.Create": "os", - "os.DevNull": "os", - "os.Environ": "os", - "os.ErrExist": "os", - "os.ErrInvalid": "os", - "os.ErrNotExist": "os", - "os.ErrPermission": "os", - "os.Exit": "os", - "os.Expand": "os", - "os.ExpandEnv": "os", - "os.File": "os", - "os.FileInfo": "os", - "os.FileMode": "os", - "os.FindProcess": "os", - "os.Getegid": "os", - "os.Getenv": "os", - "os.Geteuid": "os", - "os.Getgid": "os", - "os.Getgroups": "os", - "os.Getpagesize": "os", - "os.Getpid": "os", - "os.Getppid": "os", - "os.Getuid": "os", - "os.Getwd": "os", - "os.Hostname": "os", - "os.Interrupt": "os", - "os.IsExist": "os", - "os.IsNotExist": "os", - "os.IsPathSeparator": "os", - "os.IsPermission": "os", - "os.Kill": "os", - "os.Lchown": "os", - "os.Link": "os", - "os.LinkError": "os", - "os.Lstat": "os", - "os.Mkdir": "os", - "os.MkdirAll": "os", - "os.ModeAppend": "os", - "os.ModeCharDevice": "os", - "os.ModeDevice": "os", - "os.ModeDir": "os", - "os.ModeExclusive": "os", - "os.ModeNamedPipe": "os", - "os.ModePerm": "os", - "os.ModeSetgid": "os", - "os.ModeSetuid": "os", - "os.ModeSocket": "os", - "os.ModeSticky": "os", - "os.ModeSymlink": "os", - "os.ModeTemporary": "os", - "os.ModeType": "os", - "os.NewFile": "os", - "os.NewSyscallError": "os", - "os.O_APPEND": "os", - "os.O_CREATE": "os", - "os.O_EXCL": "os", - "os.O_RDONLY": "os", - "os.O_RDWR": "os", - "os.O_SYNC": "os", - "os.O_TRUNC": "os", - "os.O_WRONLY": "os", - "os.Open": "os", - "os.OpenFile": "os", - "os.PathError": "os", - "os.PathListSeparator": "os", - "os.PathSeparator": "os", - "os.Pipe": "os", - "os.ProcAttr": "os", - "os.Process": "os", - "os.ProcessState": "os", - "os.Readlink": "os", - "os.Remove": "os", - "os.RemoveAll": "os", - "os.Rename": "os", - "os.SEEK_CUR": "os", - "os.SEEK_END": "os", - "os.SEEK_SET": "os", - "os.SameFile": "os", - "os.Setenv": "os", - "os.Signal": "os", - "os.StartProcess": "os", - "os.Stat": "os", - "os.Stderr": "os", - "os.Stdin": "os", - "os.Stdout": "os", - "os.Symlink": "os", - "os.SyscallError": "os", - "os.TempDir": "os", - "os.Truncate": "os", - "palette.Plan9": "image/color/palette", - "palette.WebSafe": "image/color/palette", - "parse.ActionNode": "text/template/parse", - "parse.BoolNode": "text/template/parse", - "parse.BranchNode": "text/template/parse", - "parse.ChainNode": "text/template/parse", - "parse.CommandNode": "text/template/parse", - "parse.DotNode": "text/template/parse", - "parse.FieldNode": "text/template/parse", - "parse.IdentifierNode": "text/template/parse", - "parse.IfNode": "text/template/parse", - "parse.IsEmptyTree": "text/template/parse", - "parse.ListNode": "text/template/parse", - "parse.New": "text/template/parse", - "parse.NewIdentifier": "text/template/parse", - "parse.NilNode": "text/template/parse", - "parse.Node": "text/template/parse", - "parse.NodeAction": "text/template/parse", - "parse.NodeBool": "text/template/parse", - "parse.NodeChain": "text/template/parse", - "parse.NodeCommand": "text/template/parse", - "parse.NodeDot": "text/template/parse", - "parse.NodeField": "text/template/parse", - "parse.NodeIdentifier": "text/template/parse", - "parse.NodeIf": "text/template/parse", - "parse.NodeList": "text/template/parse", - "parse.NodeNil": "text/template/parse", - "parse.NodeNumber": "text/template/parse", - "parse.NodePipe": "text/template/parse", - "parse.NodeRange": "text/template/parse", - "parse.NodeString": "text/template/parse", - "parse.NodeTemplate": "text/template/parse", - "parse.NodeText": "text/template/parse", - "parse.NodeType": "text/template/parse", - "parse.NodeVariable": "text/template/parse", - "parse.NodeWith": "text/template/parse", - "parse.NumberNode": "text/template/parse", - "parse.Parse": "text/template/parse", - "parse.PipeNode": "text/template/parse", - "parse.Pos": "text/template/parse", - "parse.RangeNode": "text/template/parse", - "parse.StringNode": "text/template/parse", - "parse.TemplateNode": "text/template/parse", - "parse.TextNode": "text/template/parse", - "parse.Tree": "text/template/parse", - "parse.VariableNode": "text/template/parse", - "parse.WithNode": "text/template/parse", - "parser.AllErrors": "go/parser", - "parser.DeclarationErrors": "go/parser", - "parser.ImportsOnly": "go/parser", - "parser.Mode": "go/parser", - "parser.PackageClauseOnly": "go/parser", - "parser.ParseComments": "go/parser", - "parser.ParseDir": "go/parser", - "parser.ParseExpr": "go/parser", - "parser.ParseFile": "go/parser", - "parser.SpuriousErrors": "go/parser", - "parser.Trace": "go/parser", - "path.Base": "path", - "path.Clean": "path", - "path.Dir": "path", - "path.ErrBadPattern": "path", - "path.Ext": "path", - "path.IsAbs": "path", - "path.Join": "path", - "path.Match": "path", - "path.Split": "path", - "pe.COFFSymbol": "debug/pe", - "pe.COFFSymbolSize": "debug/pe", - "pe.DataDirectory": "debug/pe", - "pe.File": "debug/pe", - "pe.FileHeader": "debug/pe", - "pe.FormatError": "debug/pe", - "pe.IMAGE_FILE_MACHINE_AM33": "debug/pe", - "pe.IMAGE_FILE_MACHINE_AMD64": "debug/pe", - "pe.IMAGE_FILE_MACHINE_ARM": "debug/pe", - "pe.IMAGE_FILE_MACHINE_EBC": "debug/pe", - "pe.IMAGE_FILE_MACHINE_I386": "debug/pe", - "pe.IMAGE_FILE_MACHINE_IA64": "debug/pe", - "pe.IMAGE_FILE_MACHINE_M32R": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPS16": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPSFPU": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPSFPU16": "debug/pe", - "pe.IMAGE_FILE_MACHINE_POWERPC": "debug/pe", - "pe.IMAGE_FILE_MACHINE_POWERPCFP": "debug/pe", - "pe.IMAGE_FILE_MACHINE_R4000": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH3": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH3DSP": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH4": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH5": "debug/pe", - "pe.IMAGE_FILE_MACHINE_THUMB": "debug/pe", - "pe.IMAGE_FILE_MACHINE_UNKNOWN": "debug/pe", - "pe.IMAGE_FILE_MACHINE_WCEMIPSV2": "debug/pe", - "pe.ImportDirectory": "debug/pe", - "pe.NewFile": "debug/pe", - "pe.Open": "debug/pe", - "pe.OptionalHeader32": "debug/pe", - "pe.OptionalHeader64": "debug/pe", - "pe.Section": "debug/pe", - "pe.SectionHeader": "debug/pe", - "pe.SectionHeader32": "debug/pe", - "pe.Symbol": "debug/pe", - "pem.Block": "encoding/pem", - "pem.Decode": "encoding/pem", - "pem.Encode": "encoding/pem", - "pem.EncodeToMemory": "encoding/pem", - "pkix.AlgorithmIdentifier": "crypto/x509/pkix", - "pkix.AttributeTypeAndValue": "crypto/x509/pkix", - "pkix.AttributeTypeAndValueSET": "crypto/x509/pkix", - "pkix.CertificateList": "crypto/x509/pkix", - "pkix.Extension": "crypto/x509/pkix", - "pkix.Name": "crypto/x509/pkix", - "pkix.RDNSequence": "crypto/x509/pkix", - "pkix.RelativeDistinguishedNameSET": "crypto/x509/pkix", - "pkix.RevokedCertificate": "crypto/x509/pkix", - "pkix.TBSCertificateList": "crypto/x509/pkix", - "plan9obj.File": "debug/plan9obj", - "plan9obj.FileHeader": "debug/plan9obj", - "plan9obj.Magic386": "debug/plan9obj", - "plan9obj.Magic64": "debug/plan9obj", - "plan9obj.MagicAMD64": "debug/plan9obj", - "plan9obj.MagicARM": "debug/plan9obj", - "plan9obj.NewFile": "debug/plan9obj", - "plan9obj.Open": "debug/plan9obj", - "plan9obj.Section": "debug/plan9obj", - "plan9obj.SectionHeader": "debug/plan9obj", - "plan9obj.Sym": "debug/plan9obj", - "png.Decode": "image/png", - "png.DecodeConfig": "image/png", - "png.Encode": "image/png", - "png.FormatError": "image/png", - "png.UnsupportedError": "image/png", - "pprof.Cmdline": "net/http/pprof", - "pprof.Handler": "net/http/pprof", - "pprof.Index": "net/http/pprof", - "pprof.Lookup": "runtime/pprof", - "pprof.NewProfile": "runtime/pprof", - // "pprof.Profile" is ambiguous - "pprof.Profiles": "runtime/pprof", - "pprof.StartCPUProfile": "runtime/pprof", - "pprof.StopCPUProfile": "runtime/pprof", - "pprof.Symbol": "net/http/pprof", - "pprof.WriteHeapProfile": "runtime/pprof", - "printer.CommentedNode": "go/printer", - "printer.Config": "go/printer", - "printer.Fprint": "go/printer", - "printer.Mode": "go/printer", - "printer.RawFormat": "go/printer", - "printer.SourcePos": "go/printer", - "printer.TabIndent": "go/printer", - "printer.UseSpaces": "go/printer", - "quick.Check": "testing/quick", - "quick.CheckEqual": "testing/quick", - "quick.CheckEqualError": "testing/quick", - "quick.CheckError": "testing/quick", - "quick.Config": "testing/quick", - "quick.Generator": "testing/quick", - "quick.SetupError": "testing/quick", - "quick.Value": "testing/quick", - "rand.ExpFloat64": "math/rand", - "rand.Float32": "math/rand", - "rand.Float64": "math/rand", - // "rand.Int" is ambiguous - "rand.Int31": "math/rand", - "rand.Int31n": "math/rand", - "rand.Int63": "math/rand", - "rand.Int63n": "math/rand", - "rand.Intn": "math/rand", - "rand.New": "math/rand", - "rand.NewSource": "math/rand", - "rand.NewZipf": "math/rand", - "rand.NormFloat64": "math/rand", - "rand.Perm": "math/rand", - "rand.Prime": "crypto/rand", - "rand.Rand": "math/rand", - "rand.Read": "crypto/rand", - "rand.Reader": "crypto/rand", - "rand.Seed": "math/rand", - "rand.Source": "math/rand", - "rand.Uint32": "math/rand", - "rand.Zipf": "math/rand", - "rc4.Cipher": "crypto/rc4", - "rc4.KeySizeError": "crypto/rc4", - "rc4.NewCipher": "crypto/rc4", - "reflect.Append": "reflect", - "reflect.AppendSlice": "reflect", - "reflect.Array": "reflect", - "reflect.Bool": "reflect", - "reflect.BothDir": "reflect", - "reflect.Chan": "reflect", - "reflect.ChanDir": "reflect", - "reflect.ChanOf": "reflect", - "reflect.Complex128": "reflect", - "reflect.Complex64": "reflect", - "reflect.Copy": "reflect", - "reflect.DeepEqual": "reflect", - "reflect.Float32": "reflect", - "reflect.Float64": "reflect", - "reflect.Func": "reflect", - "reflect.Indirect": "reflect", - "reflect.Int": "reflect", - "reflect.Int16": "reflect", - "reflect.Int32": "reflect", - "reflect.Int64": "reflect", - "reflect.Int8": "reflect", - "reflect.Interface": "reflect", - "reflect.Invalid": "reflect", - "reflect.Kind": "reflect", - "reflect.MakeChan": "reflect", - "reflect.MakeFunc": "reflect", - "reflect.MakeMap": "reflect", - "reflect.MakeSlice": "reflect", - "reflect.Map": "reflect", - "reflect.MapOf": "reflect", - "reflect.Method": "reflect", - "reflect.New": "reflect", - "reflect.NewAt": "reflect", - "reflect.Ptr": "reflect", - "reflect.PtrTo": "reflect", - "reflect.RecvDir": "reflect", - "reflect.Select": "reflect", - "reflect.SelectCase": "reflect", - "reflect.SelectDefault": "reflect", - "reflect.SelectDir": "reflect", - "reflect.SelectRecv": "reflect", - "reflect.SelectSend": "reflect", - "reflect.SendDir": "reflect", - "reflect.Slice": "reflect", - "reflect.SliceHeader": "reflect", - "reflect.SliceOf": "reflect", - "reflect.String": "reflect", - "reflect.StringHeader": "reflect", - "reflect.Struct": "reflect", - "reflect.StructField": "reflect", - "reflect.StructTag": "reflect", - "reflect.TypeOf": "reflect", - "reflect.Uint": "reflect", - "reflect.Uint16": "reflect", - "reflect.Uint32": "reflect", - "reflect.Uint64": "reflect", - "reflect.Uint8": "reflect", - "reflect.Uintptr": "reflect", - "reflect.UnsafePointer": "reflect", - "reflect.Value": "reflect", - "reflect.ValueError": "reflect", - "reflect.ValueOf": "reflect", - "reflect.Zero": "reflect", - "regexp.Compile": "regexp", - "regexp.CompilePOSIX": "regexp", - "regexp.Match": "regexp", - "regexp.MatchReader": "regexp", - "regexp.MatchString": "regexp", - "regexp.MustCompile": "regexp", - "regexp.MustCompilePOSIX": "regexp", - "regexp.QuoteMeta": "regexp", - "regexp.Regexp": "regexp", - "ring.New": "container/ring", - "ring.Ring": "container/ring", - "rpc.Accept": "net/rpc", - "rpc.Call": "net/rpc", - "rpc.Client": "net/rpc", - "rpc.ClientCodec": "net/rpc", - "rpc.DefaultDebugPath": "net/rpc", - "rpc.DefaultRPCPath": "net/rpc", - "rpc.DefaultServer": "net/rpc", - "rpc.Dial": "net/rpc", - "rpc.DialHTTP": "net/rpc", - "rpc.DialHTTPPath": "net/rpc", - "rpc.ErrShutdown": "net/rpc", - "rpc.HandleHTTP": "net/rpc", - "rpc.NewClient": "net/rpc", - "rpc.NewClientWithCodec": "net/rpc", - "rpc.NewServer": "net/rpc", - "rpc.Register": "net/rpc", - "rpc.RegisterName": "net/rpc", - "rpc.Request": "net/rpc", - "rpc.Response": "net/rpc", - "rpc.ServeCodec": "net/rpc", - "rpc.ServeConn": "net/rpc", - "rpc.ServeRequest": "net/rpc", - "rpc.Server": "net/rpc", - "rpc.ServerCodec": "net/rpc", - "rpc.ServerError": "net/rpc", - "rsa.CRTValue": "crypto/rsa", - "rsa.DecryptOAEP": "crypto/rsa", - "rsa.DecryptPKCS1v15": "crypto/rsa", - "rsa.DecryptPKCS1v15SessionKey": "crypto/rsa", - "rsa.EncryptOAEP": "crypto/rsa", - "rsa.EncryptPKCS1v15": "crypto/rsa", - "rsa.ErrDecryption": "crypto/rsa", - "rsa.ErrMessageTooLong": "crypto/rsa", - "rsa.ErrVerification": "crypto/rsa", - "rsa.GenerateKey": "crypto/rsa", - "rsa.GenerateMultiPrimeKey": "crypto/rsa", - "rsa.PSSOptions": "crypto/rsa", - "rsa.PSSSaltLengthAuto": "crypto/rsa", - "rsa.PSSSaltLengthEqualsHash": "crypto/rsa", - "rsa.PrecomputedValues": "crypto/rsa", - "rsa.PrivateKey": "crypto/rsa", - "rsa.PublicKey": "crypto/rsa", - "rsa.SignPKCS1v15": "crypto/rsa", - "rsa.SignPSS": "crypto/rsa", - "rsa.VerifyPKCS1v15": "crypto/rsa", - "rsa.VerifyPSS": "crypto/rsa", - "runtime.BlockProfile": "runtime", - "runtime.BlockProfileRecord": "runtime", - "runtime.Breakpoint": "runtime", - "runtime.CPUProfile": "runtime", - "runtime.Caller": "runtime", - "runtime.Callers": "runtime", - "runtime.Compiler": "runtime", - "runtime.Error": "runtime", - "runtime.Func": "runtime", - "runtime.FuncForPC": "runtime", - "runtime.GC": "runtime", - "runtime.GOARCH": "runtime", - "runtime.GOMAXPROCS": "runtime", - "runtime.GOOS": "runtime", - "runtime.GOROOT": "runtime", - "runtime.Goexit": "runtime", - "runtime.GoroutineProfile": "runtime", - "runtime.Gosched": "runtime", - "runtime.LockOSThread": "runtime", - "runtime.MemProfile": "runtime", - "runtime.MemProfileRate": "runtime", - "runtime.MemProfileRecord": "runtime", - "runtime.MemStats": "runtime", - "runtime.NumCPU": "runtime", - "runtime.NumCgoCall": "runtime", - "runtime.NumGoroutine": "runtime", - "runtime.ReadMemStats": "runtime", - "runtime.SetBlockProfileRate": "runtime", - "runtime.SetCPUProfileRate": "runtime", - "runtime.SetFinalizer": "runtime", - "runtime.Stack": "runtime", - "runtime.StackRecord": "runtime", - "runtime.ThreadCreateProfile": "runtime", - "runtime.TypeAssertionError": "runtime", - "runtime.UnlockOSThread": "runtime", - "runtime.Version": "runtime", - "scanner.Char": "text/scanner", - "scanner.Comment": "text/scanner", - "scanner.EOF": "text/scanner", - "scanner.Error": "go/scanner", - "scanner.ErrorHandler": "go/scanner", - "scanner.ErrorList": "go/scanner", - "scanner.Float": "text/scanner", - "scanner.GoTokens": "text/scanner", - "scanner.GoWhitespace": "text/scanner", - "scanner.Ident": "text/scanner", - "scanner.Int": "text/scanner", - "scanner.Mode": "go/scanner", - "scanner.Position": "text/scanner", - "scanner.PrintError": "go/scanner", - "scanner.RawString": "text/scanner", - "scanner.ScanChars": "text/scanner", - // "scanner.ScanComments" is ambiguous - "scanner.ScanFloats": "text/scanner", - "scanner.ScanIdents": "text/scanner", - "scanner.ScanInts": "text/scanner", - "scanner.ScanRawStrings": "text/scanner", - "scanner.ScanStrings": "text/scanner", - // "scanner.Scanner" is ambiguous - "scanner.SkipComments": "text/scanner", - "scanner.String": "text/scanner", - "scanner.TokenString": "text/scanner", - "sha1.BlockSize": "crypto/sha1", - "sha1.New": "crypto/sha1", - "sha1.Size": "crypto/sha1", - "sha1.Sum": "crypto/sha1", - "sha256.BlockSize": "crypto/sha256", - "sha256.New": "crypto/sha256", - "sha256.New224": "crypto/sha256", - "sha256.Size": "crypto/sha256", - "sha256.Size224": "crypto/sha256", - "sha256.Sum224": "crypto/sha256", - "sha256.Sum256": "crypto/sha256", - "sha512.BlockSize": "crypto/sha512", - "sha512.New": "crypto/sha512", - "sha512.New384": "crypto/sha512", - "sha512.Size": "crypto/sha512", - "sha512.Size384": "crypto/sha512", - "sha512.Sum384": "crypto/sha512", - "sha512.Sum512": "crypto/sha512", - "signal.Notify": "os/signal", - "signal.Stop": "os/signal", - "smtp.Auth": "net/smtp", - "smtp.CRAMMD5Auth": "net/smtp", - "smtp.Client": "net/smtp", - "smtp.Dial": "net/smtp", - "smtp.NewClient": "net/smtp", - "smtp.PlainAuth": "net/smtp", - "smtp.SendMail": "net/smtp", - "smtp.ServerInfo": "net/smtp", - "sort.Float64Slice": "sort", - "sort.Float64s": "sort", - "sort.Float64sAreSorted": "sort", - "sort.IntSlice": "sort", - "sort.Interface": "sort", - "sort.Ints": "sort", - "sort.IntsAreSorted": "sort", - "sort.IsSorted": "sort", - "sort.Reverse": "sort", - "sort.Search": "sort", - "sort.SearchFloat64s": "sort", - "sort.SearchInts": "sort", - "sort.SearchStrings": "sort", - "sort.Sort": "sort", - "sort.Stable": "sort", - "sort.StringSlice": "sort", - "sort.Strings": "sort", - "sort.StringsAreSorted": "sort", - "sql.DB": "database/sql", - "sql.ErrNoRows": "database/sql", - "sql.ErrTxDone": "database/sql", - "sql.NullBool": "database/sql", - "sql.NullFloat64": "database/sql", - "sql.NullInt64": "database/sql", - "sql.NullString": "database/sql", - "sql.Open": "database/sql", - "sql.RawBytes": "database/sql", - "sql.Register": "database/sql", - "sql.Result": "database/sql", - "sql.Row": "database/sql", - "sql.Rows": "database/sql", - "sql.Scanner": "database/sql", - "sql.Stmt": "database/sql", - "sql.Tx": "database/sql", - "strconv.AppendBool": "strconv", - "strconv.AppendFloat": "strconv", - "strconv.AppendInt": "strconv", - "strconv.AppendQuote": "strconv", - "strconv.AppendQuoteRune": "strconv", - "strconv.AppendQuoteRuneToASCII": "strconv", - "strconv.AppendQuoteToASCII": "strconv", - "strconv.AppendUint": "strconv", - "strconv.Atoi": "strconv", - "strconv.CanBackquote": "strconv", - "strconv.ErrRange": "strconv", - "strconv.ErrSyntax": "strconv", - "strconv.FormatBool": "strconv", - "strconv.FormatFloat": "strconv", - "strconv.FormatInt": "strconv", - "strconv.FormatUint": "strconv", - "strconv.IntSize": "strconv", - "strconv.IsPrint": "strconv", - "strconv.Itoa": "strconv", - "strconv.NumError": "strconv", - "strconv.ParseBool": "strconv", - "strconv.ParseFloat": "strconv", - "strconv.ParseInt": "strconv", - "strconv.ParseUint": "strconv", - "strconv.Quote": "strconv", - "strconv.QuoteRune": "strconv", - "strconv.QuoteRuneToASCII": "strconv", - "strconv.QuoteToASCII": "strconv", - "strconv.Unquote": "strconv", - "strconv.UnquoteChar": "strconv", - "strings.Contains": "strings", - "strings.ContainsAny": "strings", - "strings.ContainsRune": "strings", - "strings.Count": "strings", - "strings.EqualFold": "strings", - "strings.Fields": "strings", - "strings.FieldsFunc": "strings", - "strings.HasPrefix": "strings", - "strings.HasSuffix": "strings", - "strings.Index": "strings", - "strings.IndexAny": "strings", - "strings.IndexByte": "strings", - "strings.IndexFunc": "strings", - "strings.IndexRune": "strings", - "strings.Join": "strings", - "strings.LastIndex": "strings", - "strings.LastIndexAny": "strings", - "strings.LastIndexFunc": "strings", - "strings.Map": "strings", - "strings.NewReader": "strings", - "strings.NewReplacer": "strings", - "strings.Reader": "strings", - "strings.Repeat": "strings", - "strings.Replace": "strings", - "strings.Replacer": "strings", - "strings.Split": "strings", - "strings.SplitAfter": "strings", - "strings.SplitAfterN": "strings", - "strings.SplitN": "strings", - "strings.Title": "strings", - "strings.ToLower": "strings", - "strings.ToLowerSpecial": "strings", - "strings.ToTitle": "strings", - "strings.ToTitleSpecial": "strings", - "strings.ToUpper": "strings", - "strings.ToUpperSpecial": "strings", - "strings.Trim": "strings", - "strings.TrimFunc": "strings", - "strings.TrimLeft": "strings", - "strings.TrimLeftFunc": "strings", - "strings.TrimPrefix": "strings", - "strings.TrimRight": "strings", - "strings.TrimRightFunc": "strings", - "strings.TrimSpace": "strings", - "strings.TrimSuffix": "strings", - "subtle.ConstantTimeByteEq": "crypto/subtle", - "subtle.ConstantTimeCompare": "crypto/subtle", - "subtle.ConstantTimeCopy": "crypto/subtle", - "subtle.ConstantTimeEq": "crypto/subtle", - "subtle.ConstantTimeLessOrEq": "crypto/subtle", - "subtle.ConstantTimeSelect": "crypto/subtle", - "suffixarray.Index": "index/suffixarray", - "suffixarray.New": "index/suffixarray", - "sync.Cond": "sync", - "sync.Locker": "sync", - "sync.Mutex": "sync", - "sync.NewCond": "sync", - "sync.Once": "sync", - "sync.Pool": "sync", - "sync.RWMutex": "sync", - "sync.WaitGroup": "sync", - "syntax.ClassNL": "regexp/syntax", - "syntax.Compile": "regexp/syntax", - "syntax.DotNL": "regexp/syntax", - "syntax.EmptyBeginLine": "regexp/syntax", - "syntax.EmptyBeginText": "regexp/syntax", - "syntax.EmptyEndLine": "regexp/syntax", - "syntax.EmptyEndText": "regexp/syntax", - "syntax.EmptyNoWordBoundary": "regexp/syntax", - "syntax.EmptyOp": "regexp/syntax", - "syntax.EmptyOpContext": "regexp/syntax", - "syntax.EmptyWordBoundary": "regexp/syntax", - "syntax.ErrInternalError": "regexp/syntax", - "syntax.ErrInvalidCharClass": "regexp/syntax", - "syntax.ErrInvalidCharRange": "regexp/syntax", - "syntax.ErrInvalidEscape": "regexp/syntax", - "syntax.ErrInvalidNamedCapture": "regexp/syntax", - "syntax.ErrInvalidPerlOp": "regexp/syntax", - "syntax.ErrInvalidRepeatOp": "regexp/syntax", - "syntax.ErrInvalidRepeatSize": "regexp/syntax", - "syntax.ErrInvalidUTF8": "regexp/syntax", - "syntax.ErrMissingBracket": "regexp/syntax", - "syntax.ErrMissingParen": "regexp/syntax", - "syntax.ErrMissingRepeatArgument": "regexp/syntax", - "syntax.ErrTrailingBackslash": "regexp/syntax", - "syntax.ErrUnexpectedParen": "regexp/syntax", - "syntax.Error": "regexp/syntax", - "syntax.ErrorCode": "regexp/syntax", - "syntax.Flags": "regexp/syntax", - "syntax.FoldCase": "regexp/syntax", - "syntax.Inst": "regexp/syntax", - "syntax.InstAlt": "regexp/syntax", - "syntax.InstAltMatch": "regexp/syntax", - "syntax.InstCapture": "regexp/syntax", - "syntax.InstEmptyWidth": "regexp/syntax", - "syntax.InstFail": "regexp/syntax", - "syntax.InstMatch": "regexp/syntax", - "syntax.InstNop": "regexp/syntax", - "syntax.InstOp": "regexp/syntax", - "syntax.InstRune": "regexp/syntax", - "syntax.InstRune1": "regexp/syntax", - "syntax.InstRuneAny": "regexp/syntax", - "syntax.InstRuneAnyNotNL": "regexp/syntax", - "syntax.IsWordChar": "regexp/syntax", - "syntax.Literal": "regexp/syntax", - "syntax.MatchNL": "regexp/syntax", - "syntax.NonGreedy": "regexp/syntax", - "syntax.OneLine": "regexp/syntax", - "syntax.Op": "regexp/syntax", - "syntax.OpAlternate": "regexp/syntax", - "syntax.OpAnyChar": "regexp/syntax", - "syntax.OpAnyCharNotNL": "regexp/syntax", - "syntax.OpBeginLine": "regexp/syntax", - "syntax.OpBeginText": "regexp/syntax", - "syntax.OpCapture": "regexp/syntax", - "syntax.OpCharClass": "regexp/syntax", - "syntax.OpConcat": "regexp/syntax", - "syntax.OpEmptyMatch": "regexp/syntax", - "syntax.OpEndLine": "regexp/syntax", - "syntax.OpEndText": "regexp/syntax", - "syntax.OpLiteral": "regexp/syntax", - "syntax.OpNoMatch": "regexp/syntax", - "syntax.OpNoWordBoundary": "regexp/syntax", - "syntax.OpPlus": "regexp/syntax", - "syntax.OpQuest": "regexp/syntax", - "syntax.OpRepeat": "regexp/syntax", - "syntax.OpStar": "regexp/syntax", - "syntax.OpWordBoundary": "regexp/syntax", - "syntax.POSIX": "regexp/syntax", - "syntax.Parse": "regexp/syntax", - "syntax.Perl": "regexp/syntax", - "syntax.PerlX": "regexp/syntax", - "syntax.Prog": "regexp/syntax", - "syntax.Regexp": "regexp/syntax", - "syntax.Simple": "regexp/syntax", - "syntax.UnicodeGroups": "regexp/syntax", - "syntax.WasDollar": "regexp/syntax", - "syscall.AF_ALG": "syscall", - "syscall.AF_APPLETALK": "syscall", - "syscall.AF_ARP": "syscall", - "syscall.AF_ASH": "syscall", - "syscall.AF_ATM": "syscall", - "syscall.AF_ATMPVC": "syscall", - "syscall.AF_ATMSVC": "syscall", - "syscall.AF_AX25": "syscall", - "syscall.AF_BLUETOOTH": "syscall", - "syscall.AF_BRIDGE": "syscall", - "syscall.AF_CAIF": "syscall", - "syscall.AF_CAN": "syscall", - "syscall.AF_CCITT": "syscall", - "syscall.AF_CHAOS": "syscall", - "syscall.AF_CNT": "syscall", - "syscall.AF_COIP": "syscall", - "syscall.AF_DATAKIT": "syscall", - "syscall.AF_DECnet": "syscall", - "syscall.AF_DLI": "syscall", - "syscall.AF_E164": "syscall", - "syscall.AF_ECMA": "syscall", - "syscall.AF_ECONET": "syscall", - "syscall.AF_ENCAP": "syscall", - "syscall.AF_FILE": "syscall", - "syscall.AF_HYLINK": "syscall", - "syscall.AF_IEEE80211": "syscall", - "syscall.AF_IEEE802154": "syscall", - "syscall.AF_IMPLINK": "syscall", - "syscall.AF_INET": "syscall", - "syscall.AF_INET6": "syscall", - "syscall.AF_INET6_SDP": "syscall", - "syscall.AF_INET_SDP": "syscall", - "syscall.AF_IPX": "syscall", - "syscall.AF_IRDA": "syscall", - "syscall.AF_ISDN": "syscall", - "syscall.AF_ISO": "syscall", - "syscall.AF_IUCV": "syscall", - "syscall.AF_KEY": "syscall", - "syscall.AF_LAT": "syscall", - "syscall.AF_LINK": "syscall", - "syscall.AF_LLC": "syscall", - "syscall.AF_LOCAL": "syscall", - "syscall.AF_MAX": "syscall", - "syscall.AF_MPLS": "syscall", - "syscall.AF_NATM": "syscall", - "syscall.AF_NDRV": "syscall", - "syscall.AF_NETBEUI": "syscall", - "syscall.AF_NETBIOS": "syscall", - "syscall.AF_NETGRAPH": "syscall", - "syscall.AF_NETLINK": "syscall", - "syscall.AF_NETROM": "syscall", - "syscall.AF_NS": "syscall", - "syscall.AF_OROUTE": "syscall", - "syscall.AF_OSI": "syscall", - "syscall.AF_PACKET": "syscall", - "syscall.AF_PHONET": "syscall", - "syscall.AF_PPP": "syscall", - "syscall.AF_PPPOX": "syscall", - "syscall.AF_PUP": "syscall", - "syscall.AF_RDS": "syscall", - "syscall.AF_RESERVED_36": "syscall", - "syscall.AF_ROSE": "syscall", - "syscall.AF_ROUTE": "syscall", - "syscall.AF_RXRPC": "syscall", - "syscall.AF_SCLUSTER": "syscall", - "syscall.AF_SECURITY": "syscall", - "syscall.AF_SIP": "syscall", - "syscall.AF_SLOW": "syscall", - "syscall.AF_SNA": "syscall", - "syscall.AF_SYSTEM": "syscall", - "syscall.AF_TIPC": "syscall", - "syscall.AF_UNIX": "syscall", - "syscall.AF_UNSPEC": "syscall", - "syscall.AF_VENDOR00": "syscall", - "syscall.AF_VENDOR01": "syscall", - "syscall.AF_VENDOR02": "syscall", - "syscall.AF_VENDOR03": "syscall", - "syscall.AF_VENDOR04": "syscall", - "syscall.AF_VENDOR05": "syscall", - "syscall.AF_VENDOR06": "syscall", - "syscall.AF_VENDOR07": "syscall", - "syscall.AF_VENDOR08": "syscall", - "syscall.AF_VENDOR09": "syscall", - "syscall.AF_VENDOR10": "syscall", - "syscall.AF_VENDOR11": "syscall", - "syscall.AF_VENDOR12": "syscall", - "syscall.AF_VENDOR13": "syscall", - "syscall.AF_VENDOR14": "syscall", - "syscall.AF_VENDOR15": "syscall", - "syscall.AF_VENDOR16": "syscall", - "syscall.AF_VENDOR17": "syscall", - "syscall.AF_VENDOR18": "syscall", - "syscall.AF_VENDOR19": "syscall", - "syscall.AF_VENDOR20": "syscall", - "syscall.AF_VENDOR21": "syscall", - "syscall.AF_VENDOR22": "syscall", - "syscall.AF_VENDOR23": "syscall", - "syscall.AF_VENDOR24": "syscall", - "syscall.AF_VENDOR25": "syscall", - "syscall.AF_VENDOR26": "syscall", - "syscall.AF_VENDOR27": "syscall", - "syscall.AF_VENDOR28": "syscall", - "syscall.AF_VENDOR29": "syscall", - "syscall.AF_VENDOR30": "syscall", - "syscall.AF_VENDOR31": "syscall", - "syscall.AF_VENDOR32": "syscall", - "syscall.AF_VENDOR33": "syscall", - "syscall.AF_VENDOR34": "syscall", - "syscall.AF_VENDOR35": "syscall", - "syscall.AF_VENDOR36": "syscall", - "syscall.AF_VENDOR37": "syscall", - "syscall.AF_VENDOR38": "syscall", - "syscall.AF_VENDOR39": "syscall", - "syscall.AF_VENDOR40": "syscall", - "syscall.AF_VENDOR41": "syscall", - "syscall.AF_VENDOR42": "syscall", - "syscall.AF_VENDOR43": "syscall", - "syscall.AF_VENDOR44": "syscall", - "syscall.AF_VENDOR45": "syscall", - "syscall.AF_VENDOR46": "syscall", - "syscall.AF_VENDOR47": "syscall", - "syscall.AF_WANPIPE": "syscall", - "syscall.AF_X25": "syscall", - "syscall.AI_CANONNAME": "syscall", - "syscall.AI_NUMERICHOST": "syscall", - "syscall.AI_PASSIVE": "syscall", - "syscall.APPLICATION_ERROR": "syscall", - "syscall.ARPHRD_ADAPT": "syscall", - "syscall.ARPHRD_APPLETLK": "syscall", - "syscall.ARPHRD_ARCNET": "syscall", - "syscall.ARPHRD_ASH": "syscall", - "syscall.ARPHRD_ATM": "syscall", - "syscall.ARPHRD_AX25": "syscall", - "syscall.ARPHRD_BIF": "syscall", - "syscall.ARPHRD_CHAOS": "syscall", - "syscall.ARPHRD_CISCO": "syscall", - "syscall.ARPHRD_CSLIP": "syscall", - "syscall.ARPHRD_CSLIP6": "syscall", - "syscall.ARPHRD_DDCMP": "syscall", - "syscall.ARPHRD_DLCI": "syscall", - "syscall.ARPHRD_ECONET": "syscall", - "syscall.ARPHRD_EETHER": "syscall", - "syscall.ARPHRD_ETHER": "syscall", - "syscall.ARPHRD_EUI64": "syscall", - "syscall.ARPHRD_FCAL": "syscall", - "syscall.ARPHRD_FCFABRIC": "syscall", - "syscall.ARPHRD_FCPL": "syscall", - "syscall.ARPHRD_FCPP": "syscall", - "syscall.ARPHRD_FDDI": "syscall", - "syscall.ARPHRD_FRAD": "syscall", - "syscall.ARPHRD_FRELAY": "syscall", - "syscall.ARPHRD_HDLC": "syscall", - "syscall.ARPHRD_HIPPI": "syscall", - "syscall.ARPHRD_HWX25": "syscall", - "syscall.ARPHRD_IEEE1394": "syscall", - "syscall.ARPHRD_IEEE802": "syscall", - "syscall.ARPHRD_IEEE80211": "syscall", - "syscall.ARPHRD_IEEE80211_PRISM": "syscall", - "syscall.ARPHRD_IEEE80211_RADIOTAP": "syscall", - "syscall.ARPHRD_IEEE802154": "syscall", - "syscall.ARPHRD_IEEE802154_PHY": "syscall", - "syscall.ARPHRD_IEEE802_TR": "syscall", - "syscall.ARPHRD_INFINIBAND": "syscall", - "syscall.ARPHRD_IPDDP": "syscall", - "syscall.ARPHRD_IPGRE": "syscall", - "syscall.ARPHRD_IRDA": "syscall", - "syscall.ARPHRD_LAPB": "syscall", - "syscall.ARPHRD_LOCALTLK": "syscall", - "syscall.ARPHRD_LOOPBACK": "syscall", - "syscall.ARPHRD_METRICOM": "syscall", - "syscall.ARPHRD_NETROM": "syscall", - "syscall.ARPHRD_NONE": "syscall", - "syscall.ARPHRD_PIMREG": "syscall", - "syscall.ARPHRD_PPP": "syscall", - "syscall.ARPHRD_PRONET": "syscall", - "syscall.ARPHRD_RAWHDLC": "syscall", - "syscall.ARPHRD_ROSE": "syscall", - "syscall.ARPHRD_RSRVD": "syscall", - "syscall.ARPHRD_SIT": "syscall", - "syscall.ARPHRD_SKIP": "syscall", - "syscall.ARPHRD_SLIP": "syscall", - "syscall.ARPHRD_SLIP6": "syscall", - "syscall.ARPHRD_STRIP": "syscall", - "syscall.ARPHRD_TUNNEL": "syscall", - "syscall.ARPHRD_TUNNEL6": "syscall", - "syscall.ARPHRD_VOID": "syscall", - "syscall.ARPHRD_X25": "syscall", - "syscall.AUTHTYPE_CLIENT": "syscall", - "syscall.AUTHTYPE_SERVER": "syscall", - "syscall.Accept": "syscall", - "syscall.Accept4": "syscall", - "syscall.AcceptEx": "syscall", - "syscall.Access": "syscall", - "syscall.Acct": "syscall", - "syscall.AddrinfoW": "syscall", - "syscall.Adjtime": "syscall", - "syscall.Adjtimex": "syscall", - "syscall.AttachLsf": "syscall", - "syscall.B0": "syscall", - "syscall.B1000000": "syscall", - "syscall.B110": "syscall", - "syscall.B115200": "syscall", - "syscall.B1152000": "syscall", - "syscall.B1200": "syscall", - "syscall.B134": "syscall", - "syscall.B14400": "syscall", - "syscall.B150": "syscall", - "syscall.B1500000": "syscall", - "syscall.B1800": "syscall", - "syscall.B19200": "syscall", - "syscall.B200": "syscall", - "syscall.B2000000": "syscall", - "syscall.B230400": "syscall", - "syscall.B2400": "syscall", - "syscall.B2500000": "syscall", - "syscall.B28800": "syscall", - "syscall.B300": "syscall", - "syscall.B3000000": "syscall", - "syscall.B3500000": "syscall", - "syscall.B38400": "syscall", - "syscall.B4000000": "syscall", - "syscall.B460800": "syscall", - "syscall.B4800": "syscall", - "syscall.B50": "syscall", - "syscall.B500000": "syscall", - "syscall.B57600": "syscall", - "syscall.B576000": "syscall", - "syscall.B600": "syscall", - "syscall.B7200": "syscall", - "syscall.B75": "syscall", - "syscall.B76800": "syscall", - "syscall.B921600": "syscall", - "syscall.B9600": "syscall", - "syscall.BASE_PROTOCOL": "syscall", - "syscall.BIOCFEEDBACK": "syscall", - "syscall.BIOCFLUSH": "syscall", - "syscall.BIOCGBLEN": "syscall", - "syscall.BIOCGDIRECTION": "syscall", - "syscall.BIOCGDIRFILT": "syscall", - "syscall.BIOCGDLT": "syscall", - "syscall.BIOCGDLTLIST": "syscall", - "syscall.BIOCGETBUFMODE": "syscall", - "syscall.BIOCGETIF": "syscall", - "syscall.BIOCGETZMAX": "syscall", - "syscall.BIOCGFEEDBACK": "syscall", - "syscall.BIOCGFILDROP": "syscall", - "syscall.BIOCGHDRCMPLT": "syscall", - "syscall.BIOCGRSIG": "syscall", - "syscall.BIOCGRTIMEOUT": "syscall", - "syscall.BIOCGSEESENT": "syscall", - "syscall.BIOCGSTATS": "syscall", - "syscall.BIOCGSTATSOLD": "syscall", - "syscall.BIOCGTSTAMP": "syscall", - "syscall.BIOCIMMEDIATE": "syscall", - "syscall.BIOCLOCK": "syscall", - "syscall.BIOCPROMISC": "syscall", - "syscall.BIOCROTZBUF": "syscall", - "syscall.BIOCSBLEN": "syscall", - "syscall.BIOCSDIRECTION": "syscall", - "syscall.BIOCSDIRFILT": "syscall", - "syscall.BIOCSDLT": "syscall", - "syscall.BIOCSETBUFMODE": "syscall", - "syscall.BIOCSETF": "syscall", - "syscall.BIOCSETFNR": "syscall", - "syscall.BIOCSETIF": "syscall", - "syscall.BIOCSETWF": "syscall", - "syscall.BIOCSETZBUF": "syscall", - "syscall.BIOCSFEEDBACK": "syscall", - "syscall.BIOCSFILDROP": "syscall", - "syscall.BIOCSHDRCMPLT": "syscall", - "syscall.BIOCSRSIG": "syscall", - "syscall.BIOCSRTIMEOUT": "syscall", - "syscall.BIOCSSEESENT": "syscall", - "syscall.BIOCSTCPF": "syscall", - "syscall.BIOCSTSTAMP": "syscall", - "syscall.BIOCSUDPF": "syscall", - "syscall.BIOCVERSION": "syscall", - "syscall.BPF_A": "syscall", - "syscall.BPF_ABS": "syscall", - "syscall.BPF_ADD": "syscall", - "syscall.BPF_ALIGNMENT": "syscall", - "syscall.BPF_ALIGNMENT32": "syscall", - "syscall.BPF_ALU": "syscall", - "syscall.BPF_AND": "syscall", - "syscall.BPF_B": "syscall", - "syscall.BPF_BUFMODE_BUFFER": "syscall", - "syscall.BPF_BUFMODE_ZBUF": "syscall", - "syscall.BPF_DFLTBUFSIZE": "syscall", - "syscall.BPF_DIRECTION_IN": "syscall", - "syscall.BPF_DIRECTION_OUT": "syscall", - "syscall.BPF_DIV": "syscall", - "syscall.BPF_H": "syscall", - "syscall.BPF_IMM": "syscall", - "syscall.BPF_IND": "syscall", - "syscall.BPF_JA": "syscall", - "syscall.BPF_JEQ": "syscall", - "syscall.BPF_JGE": "syscall", - "syscall.BPF_JGT": "syscall", - "syscall.BPF_JMP": "syscall", - "syscall.BPF_JSET": "syscall", - "syscall.BPF_K": "syscall", - "syscall.BPF_LD": "syscall", - "syscall.BPF_LDX": "syscall", - "syscall.BPF_LEN": "syscall", - "syscall.BPF_LSH": "syscall", - "syscall.BPF_MAJOR_VERSION": "syscall", - "syscall.BPF_MAXBUFSIZE": "syscall", - "syscall.BPF_MAXINSNS": "syscall", - "syscall.BPF_MEM": "syscall", - "syscall.BPF_MEMWORDS": "syscall", - "syscall.BPF_MINBUFSIZE": "syscall", - "syscall.BPF_MINOR_VERSION": "syscall", - "syscall.BPF_MISC": "syscall", - "syscall.BPF_MSH": "syscall", - "syscall.BPF_MUL": "syscall", - "syscall.BPF_NEG": "syscall", - "syscall.BPF_OR": "syscall", - "syscall.BPF_RELEASE": "syscall", - "syscall.BPF_RET": "syscall", - "syscall.BPF_RSH": "syscall", - "syscall.BPF_ST": "syscall", - "syscall.BPF_STX": "syscall", - "syscall.BPF_SUB": "syscall", - "syscall.BPF_TAX": "syscall", - "syscall.BPF_TXA": "syscall", - "syscall.BPF_T_BINTIME": "syscall", - "syscall.BPF_T_BINTIME_FAST": "syscall", - "syscall.BPF_T_BINTIME_MONOTONIC": "syscall", - "syscall.BPF_T_BINTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_FAST": "syscall", - "syscall.BPF_T_FLAG_MASK": "syscall", - "syscall.BPF_T_FORMAT_MASK": "syscall", - "syscall.BPF_T_MICROTIME": "syscall", - "syscall.BPF_T_MICROTIME_FAST": "syscall", - "syscall.BPF_T_MICROTIME_MONOTONIC": "syscall", - "syscall.BPF_T_MICROTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_MONOTONIC": "syscall", - "syscall.BPF_T_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_NANOTIME": "syscall", - "syscall.BPF_T_NANOTIME_FAST": "syscall", - "syscall.BPF_T_NANOTIME_MONOTONIC": "syscall", - "syscall.BPF_T_NANOTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_NONE": "syscall", - "syscall.BPF_T_NORMAL": "syscall", - "syscall.BPF_W": "syscall", - "syscall.BPF_X": "syscall", - "syscall.BRKINT": "syscall", - "syscall.Bind": "syscall", - "syscall.BindToDevice": "syscall", - "syscall.BpfBuflen": "syscall", - "syscall.BpfDatalink": "syscall", - "syscall.BpfHdr": "syscall", - "syscall.BpfHeadercmpl": "syscall", - "syscall.BpfInsn": "syscall", - "syscall.BpfInterface": "syscall", - "syscall.BpfJump": "syscall", - "syscall.BpfProgram": "syscall", - "syscall.BpfStat": "syscall", - "syscall.BpfStats": "syscall", - "syscall.BpfStmt": "syscall", - "syscall.BpfTimeout": "syscall", - "syscall.BpfTimeval": "syscall", - "syscall.BpfVersion": "syscall", - "syscall.BpfZbuf": "syscall", - "syscall.BpfZbufHeader": "syscall", - "syscall.ByHandleFileInformation": "syscall", - "syscall.BytePtrFromString": "syscall", - "syscall.ByteSliceFromString": "syscall", - "syscall.CCR0_FLUSH": "syscall", - "syscall.CERT_CHAIN_POLICY_AUTHENTICODE": "syscall", - "syscall.CERT_CHAIN_POLICY_AUTHENTICODE_TS": "syscall", - "syscall.CERT_CHAIN_POLICY_BASE": "syscall", - "syscall.CERT_CHAIN_POLICY_BASIC_CONSTRAINTS": "syscall", - "syscall.CERT_CHAIN_POLICY_EV": "syscall", - "syscall.CERT_CHAIN_POLICY_MICROSOFT_ROOT": "syscall", - "syscall.CERT_CHAIN_POLICY_NT_AUTH": "syscall", - "syscall.CERT_CHAIN_POLICY_SSL": "syscall", - "syscall.CERT_E_CN_NO_MATCH": "syscall", - "syscall.CERT_E_EXPIRED": "syscall", - "syscall.CERT_E_PURPOSE": "syscall", - "syscall.CERT_E_ROLE": "syscall", - "syscall.CERT_E_UNTRUSTEDROOT": "syscall", - "syscall.CERT_STORE_ADD_ALWAYS": "syscall", - "syscall.CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG": "syscall", - "syscall.CERT_STORE_PROV_MEMORY": "syscall", - "syscall.CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_INVALID_BASIC_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_INVALID_EXTENSION": "syscall", - "syscall.CERT_TRUST_INVALID_NAME_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_INVALID_POLICY_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_IS_CYCLIC": "syscall", - "syscall.CERT_TRUST_IS_EXPLICIT_DISTRUST": "syscall", - "syscall.CERT_TRUST_IS_NOT_SIGNATURE_VALID": "syscall", - "syscall.CERT_TRUST_IS_NOT_TIME_VALID": "syscall", - "syscall.CERT_TRUST_IS_NOT_VALID_FOR_USAGE": "syscall", - "syscall.CERT_TRUST_IS_OFFLINE_REVOCATION": "syscall", - "syscall.CERT_TRUST_IS_REVOKED": "syscall", - "syscall.CERT_TRUST_IS_UNTRUSTED_ROOT": "syscall", - "syscall.CERT_TRUST_NO_ERROR": "syscall", - "syscall.CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY": "syscall", - "syscall.CERT_TRUST_REVOCATION_STATUS_UNKNOWN": "syscall", - "syscall.CFLUSH": "syscall", - "syscall.CLOCAL": "syscall", - "syscall.CLONE_CHILD_CLEARTID": "syscall", - "syscall.CLONE_CHILD_SETTID": "syscall", - "syscall.CLONE_CSIGNAL": "syscall", - "syscall.CLONE_DETACHED": "syscall", - "syscall.CLONE_FILES": "syscall", - "syscall.CLONE_FS": "syscall", - "syscall.CLONE_IO": "syscall", - "syscall.CLONE_NEWIPC": "syscall", - "syscall.CLONE_NEWNET": "syscall", - "syscall.CLONE_NEWNS": "syscall", - "syscall.CLONE_NEWPID": "syscall", - "syscall.CLONE_NEWUSER": "syscall", - "syscall.CLONE_NEWUTS": "syscall", - "syscall.CLONE_PARENT": "syscall", - "syscall.CLONE_PARENT_SETTID": "syscall", - "syscall.CLONE_PID": "syscall", - "syscall.CLONE_PTRACE": "syscall", - "syscall.CLONE_SETTLS": "syscall", - "syscall.CLONE_SIGHAND": "syscall", - "syscall.CLONE_SYSVSEM": "syscall", - "syscall.CLONE_THREAD": "syscall", - "syscall.CLONE_UNTRACED": "syscall", - "syscall.CLONE_VFORK": "syscall", - "syscall.CLONE_VM": "syscall", - "syscall.CPUID_CFLUSH": "syscall", - "syscall.CREAD": "syscall", - "syscall.CREATE_ALWAYS": "syscall", - "syscall.CREATE_NEW": "syscall", - "syscall.CREATE_NEW_PROCESS_GROUP": "syscall", - "syscall.CREATE_UNICODE_ENVIRONMENT": "syscall", - "syscall.CRYPT_DEFAULT_CONTAINER_OPTIONAL": "syscall", - "syscall.CRYPT_DELETEKEYSET": "syscall", - "syscall.CRYPT_MACHINE_KEYSET": "syscall", - "syscall.CRYPT_NEWKEYSET": "syscall", - "syscall.CRYPT_SILENT": "syscall", - "syscall.CRYPT_VERIFYCONTEXT": "syscall", - "syscall.CS5": "syscall", - "syscall.CS6": "syscall", - "syscall.CS7": "syscall", - "syscall.CS8": "syscall", - "syscall.CSIZE": "syscall", - "syscall.CSTART": "syscall", - "syscall.CSTATUS": "syscall", - "syscall.CSTOP": "syscall", - "syscall.CSTOPB": "syscall", - "syscall.CSUSP": "syscall", - "syscall.CTL_MAXNAME": "syscall", - "syscall.CTL_NET": "syscall", - "syscall.CTL_QUERY": "syscall", - "syscall.CTRL_BREAK_EVENT": "syscall", - "syscall.CTRL_C_EVENT": "syscall", - "syscall.CancelIo": "syscall", - "syscall.CancelIoEx": "syscall", - "syscall.CertAddCertificateContextToStore": "syscall", - "syscall.CertChainContext": "syscall", - "syscall.CertChainElement": "syscall", - "syscall.CertChainPara": "syscall", - "syscall.CertChainPolicyPara": "syscall", - "syscall.CertChainPolicyStatus": "syscall", - "syscall.CertCloseStore": "syscall", - "syscall.CertContext": "syscall", - "syscall.CertCreateCertificateContext": "syscall", - "syscall.CertEnhKeyUsage": "syscall", - "syscall.CertEnumCertificatesInStore": "syscall", - "syscall.CertFreeCertificateChain": "syscall", - "syscall.CertFreeCertificateContext": "syscall", - "syscall.CertGetCertificateChain": "syscall", - "syscall.CertOpenStore": "syscall", - "syscall.CertOpenSystemStore": "syscall", - "syscall.CertRevocationInfo": "syscall", - "syscall.CertSimpleChain": "syscall", - "syscall.CertTrustStatus": "syscall", - "syscall.CertUsageMatch": "syscall", - "syscall.CertVerifyCertificateChainPolicy": "syscall", - "syscall.Chdir": "syscall", - "syscall.CheckBpfVersion": "syscall", - "syscall.Chflags": "syscall", - "syscall.Chmod": "syscall", - "syscall.Chown": "syscall", - "syscall.Chroot": "syscall", - "syscall.Clearenv": "syscall", - "syscall.Close": "syscall", - "syscall.CloseHandle": "syscall", - "syscall.CloseOnExec": "syscall", - "syscall.Closesocket": "syscall", - "syscall.CmsgLen": "syscall", - "syscall.CmsgSpace": "syscall", - "syscall.Cmsghdr": "syscall", - "syscall.CommandLineToArgv": "syscall", - "syscall.ComputerName": "syscall", - "syscall.Connect": "syscall", - "syscall.ConnectEx": "syscall", - "syscall.ConvertSidToStringSid": "syscall", - "syscall.ConvertStringSidToSid": "syscall", - "syscall.CopySid": "syscall", - "syscall.Creat": "syscall", - "syscall.CreateDirectory": "syscall", - "syscall.CreateFile": "syscall", - "syscall.CreateFileMapping": "syscall", - "syscall.CreateIoCompletionPort": "syscall", - "syscall.CreatePipe": "syscall", - "syscall.CreateProcess": "syscall", - "syscall.Credential": "syscall", - "syscall.CryptAcquireContext": "syscall", - "syscall.CryptGenRandom": "syscall", - "syscall.CryptReleaseContext": "syscall", - "syscall.DIOCBSFLUSH": "syscall", - "syscall.DIOCOSFPFLUSH": "syscall", - "syscall.DLL": "syscall", - "syscall.DLLError": "syscall", - "syscall.DLT_A429": "syscall", - "syscall.DLT_A653_ICM": "syscall", - "syscall.DLT_AIRONET_HEADER": "syscall", - "syscall.DLT_AOS": "syscall", - "syscall.DLT_APPLE_IP_OVER_IEEE1394": "syscall", - "syscall.DLT_ARCNET": "syscall", - "syscall.DLT_ARCNET_LINUX": "syscall", - "syscall.DLT_ATM_CLIP": "syscall", - "syscall.DLT_ATM_RFC1483": "syscall", - "syscall.DLT_AURORA": "syscall", - "syscall.DLT_AX25": "syscall", - "syscall.DLT_AX25_KISS": "syscall", - "syscall.DLT_BACNET_MS_TP": "syscall", - "syscall.DLT_BLUETOOTH_HCI_H4": "syscall", - "syscall.DLT_BLUETOOTH_HCI_H4_WITH_PHDR": "syscall", - "syscall.DLT_CAN20B": "syscall", - "syscall.DLT_CAN_SOCKETCAN": "syscall", - "syscall.DLT_CHAOS": "syscall", - "syscall.DLT_CHDLC": "syscall", - "syscall.DLT_CISCO_IOS": "syscall", - "syscall.DLT_C_HDLC": "syscall", - "syscall.DLT_C_HDLC_WITH_DIR": "syscall", - "syscall.DLT_DBUS": "syscall", - "syscall.DLT_DECT": "syscall", - "syscall.DLT_DOCSIS": "syscall", - "syscall.DLT_DVB_CI": "syscall", - "syscall.DLT_ECONET": "syscall", - "syscall.DLT_EN10MB": "syscall", - "syscall.DLT_EN3MB": "syscall", - "syscall.DLT_ENC": "syscall", - "syscall.DLT_ERF": "syscall", - "syscall.DLT_ERF_ETH": "syscall", - "syscall.DLT_ERF_POS": "syscall", - "syscall.DLT_FC_2": "syscall", - "syscall.DLT_FC_2_WITH_FRAME_DELIMS": "syscall", - "syscall.DLT_FDDI": "syscall", - "syscall.DLT_FLEXRAY": "syscall", - "syscall.DLT_FRELAY": "syscall", - "syscall.DLT_FRELAY_WITH_DIR": "syscall", - "syscall.DLT_GCOM_SERIAL": "syscall", - "syscall.DLT_GCOM_T1E1": "syscall", - "syscall.DLT_GPF_F": "syscall", - "syscall.DLT_GPF_T": "syscall", - "syscall.DLT_GPRS_LLC": "syscall", - "syscall.DLT_GSMTAP_ABIS": "syscall", - "syscall.DLT_GSMTAP_UM": "syscall", - "syscall.DLT_HDLC": "syscall", - "syscall.DLT_HHDLC": "syscall", - "syscall.DLT_HIPPI": "syscall", - "syscall.DLT_IBM_SN": "syscall", - "syscall.DLT_IBM_SP": "syscall", - "syscall.DLT_IEEE802": "syscall", - "syscall.DLT_IEEE802_11": "syscall", - "syscall.DLT_IEEE802_11_RADIO": "syscall", - "syscall.DLT_IEEE802_11_RADIO_AVS": "syscall", - "syscall.DLT_IEEE802_15_4": "syscall", - "syscall.DLT_IEEE802_15_4_LINUX": "syscall", - "syscall.DLT_IEEE802_15_4_NOFCS": "syscall", - "syscall.DLT_IEEE802_15_4_NONASK_PHY": "syscall", - "syscall.DLT_IEEE802_16_MAC_CPS": "syscall", - "syscall.DLT_IEEE802_16_MAC_CPS_RADIO": "syscall", - "syscall.DLT_IPFILTER": "syscall", - "syscall.DLT_IPMB": "syscall", - "syscall.DLT_IPMB_LINUX": "syscall", - "syscall.DLT_IPNET": "syscall", - "syscall.DLT_IPOIB": "syscall", - "syscall.DLT_IPV4": "syscall", - "syscall.DLT_IPV6": "syscall", - "syscall.DLT_IP_OVER_FC": "syscall", - "syscall.DLT_JUNIPER_ATM1": "syscall", - "syscall.DLT_JUNIPER_ATM2": "syscall", - "syscall.DLT_JUNIPER_ATM_CEMIC": "syscall", - "syscall.DLT_JUNIPER_CHDLC": "syscall", - "syscall.DLT_JUNIPER_ES": "syscall", - "syscall.DLT_JUNIPER_ETHER": "syscall", - "syscall.DLT_JUNIPER_FIBRECHANNEL": "syscall", - "syscall.DLT_JUNIPER_FRELAY": "syscall", - "syscall.DLT_JUNIPER_GGSN": "syscall", - "syscall.DLT_JUNIPER_ISM": "syscall", - "syscall.DLT_JUNIPER_MFR": "syscall", - "syscall.DLT_JUNIPER_MLFR": "syscall", - "syscall.DLT_JUNIPER_MLPPP": "syscall", - "syscall.DLT_JUNIPER_MONITOR": "syscall", - "syscall.DLT_JUNIPER_PIC_PEER": "syscall", - "syscall.DLT_JUNIPER_PPP": "syscall", - "syscall.DLT_JUNIPER_PPPOE": "syscall", - "syscall.DLT_JUNIPER_PPPOE_ATM": "syscall", - "syscall.DLT_JUNIPER_SERVICES": "syscall", - "syscall.DLT_JUNIPER_SRX_E2E": "syscall", - "syscall.DLT_JUNIPER_ST": "syscall", - "syscall.DLT_JUNIPER_VP": "syscall", - "syscall.DLT_JUNIPER_VS": "syscall", - "syscall.DLT_LAPB_WITH_DIR": "syscall", - "syscall.DLT_LAPD": "syscall", - "syscall.DLT_LIN": "syscall", - "syscall.DLT_LINUX_EVDEV": "syscall", - "syscall.DLT_LINUX_IRDA": "syscall", - "syscall.DLT_LINUX_LAPD": "syscall", - "syscall.DLT_LINUX_PPP_WITHDIRECTION": "syscall", - "syscall.DLT_LINUX_SLL": "syscall", - "syscall.DLT_LOOP": "syscall", - "syscall.DLT_LTALK": "syscall", - "syscall.DLT_MATCHING_MAX": "syscall", - "syscall.DLT_MATCHING_MIN": "syscall", - "syscall.DLT_MFR": "syscall", - "syscall.DLT_MOST": "syscall", - "syscall.DLT_MPEG_2_TS": "syscall", - "syscall.DLT_MPLS": "syscall", - "syscall.DLT_MTP2": "syscall", - "syscall.DLT_MTP2_WITH_PHDR": "syscall", - "syscall.DLT_MTP3": "syscall", - "syscall.DLT_MUX27010": "syscall", - "syscall.DLT_NETANALYZER": "syscall", - "syscall.DLT_NETANALYZER_TRANSPARENT": "syscall", - "syscall.DLT_NFC_LLCP": "syscall", - "syscall.DLT_NFLOG": "syscall", - "syscall.DLT_NG40": "syscall", - "syscall.DLT_NULL": "syscall", - "syscall.DLT_PCI_EXP": "syscall", - "syscall.DLT_PFLOG": "syscall", - "syscall.DLT_PFSYNC": "syscall", - "syscall.DLT_PPI": "syscall", - "syscall.DLT_PPP": "syscall", - "syscall.DLT_PPP_BSDOS": "syscall", - "syscall.DLT_PPP_ETHER": "syscall", - "syscall.DLT_PPP_PPPD": "syscall", - "syscall.DLT_PPP_SERIAL": "syscall", - "syscall.DLT_PPP_WITH_DIR": "syscall", - "syscall.DLT_PPP_WITH_DIRECTION": "syscall", - "syscall.DLT_PRISM_HEADER": "syscall", - "syscall.DLT_PRONET": "syscall", - "syscall.DLT_RAIF1": "syscall", - "syscall.DLT_RAW": "syscall", - "syscall.DLT_RAWAF_MASK": "syscall", - "syscall.DLT_RIO": "syscall", - "syscall.DLT_SCCP": "syscall", - "syscall.DLT_SITA": "syscall", - "syscall.DLT_SLIP": "syscall", - "syscall.DLT_SLIP_BSDOS": "syscall", - "syscall.DLT_STANAG_5066_D_PDU": "syscall", - "syscall.DLT_SUNATM": "syscall", - "syscall.DLT_SYMANTEC_FIREWALL": "syscall", - "syscall.DLT_TZSP": "syscall", - "syscall.DLT_USB": "syscall", - "syscall.DLT_USB_LINUX": "syscall", - "syscall.DLT_USB_LINUX_MMAPPED": "syscall", - "syscall.DLT_USER0": "syscall", - "syscall.DLT_USER1": "syscall", - "syscall.DLT_USER10": "syscall", - "syscall.DLT_USER11": "syscall", - "syscall.DLT_USER12": "syscall", - "syscall.DLT_USER13": "syscall", - "syscall.DLT_USER14": "syscall", - "syscall.DLT_USER15": "syscall", - "syscall.DLT_USER2": "syscall", - "syscall.DLT_USER3": "syscall", - "syscall.DLT_USER4": "syscall", - "syscall.DLT_USER5": "syscall", - "syscall.DLT_USER6": "syscall", - "syscall.DLT_USER7": "syscall", - "syscall.DLT_USER8": "syscall", - "syscall.DLT_USER9": "syscall", - "syscall.DLT_WIHART": "syscall", - "syscall.DLT_X2E_SERIAL": "syscall", - "syscall.DLT_X2E_XORAYA": "syscall", - "syscall.DNSMXData": "syscall", - "syscall.DNSPTRData": "syscall", - "syscall.DNSRecord": "syscall", - "syscall.DNSSRVData": "syscall", - "syscall.DNSTXTData": "syscall", - "syscall.DNS_TYPE_A": "syscall", - "syscall.DNS_TYPE_A6": "syscall", - "syscall.DNS_TYPE_AAAA": "syscall", - "syscall.DNS_TYPE_ADDRS": "syscall", - "syscall.DNS_TYPE_AFSDB": "syscall", - "syscall.DNS_TYPE_ALL": "syscall", - "syscall.DNS_TYPE_ANY": "syscall", - "syscall.DNS_TYPE_ATMA": "syscall", - "syscall.DNS_TYPE_AXFR": "syscall", - "syscall.DNS_TYPE_CERT": "syscall", - "syscall.DNS_TYPE_CNAME": "syscall", - "syscall.DNS_TYPE_DHCID": "syscall", - "syscall.DNS_TYPE_DNAME": "syscall", - "syscall.DNS_TYPE_DNSKEY": "syscall", - "syscall.DNS_TYPE_DS": "syscall", - "syscall.DNS_TYPE_EID": "syscall", - "syscall.DNS_TYPE_GID": "syscall", - "syscall.DNS_TYPE_GPOS": "syscall", - "syscall.DNS_TYPE_HINFO": "syscall", - "syscall.DNS_TYPE_ISDN": "syscall", - "syscall.DNS_TYPE_IXFR": "syscall", - "syscall.DNS_TYPE_KEY": "syscall", - "syscall.DNS_TYPE_KX": "syscall", - "syscall.DNS_TYPE_LOC": "syscall", - "syscall.DNS_TYPE_MAILA": "syscall", - "syscall.DNS_TYPE_MAILB": "syscall", - "syscall.DNS_TYPE_MB": "syscall", - "syscall.DNS_TYPE_MD": "syscall", - "syscall.DNS_TYPE_MF": "syscall", - "syscall.DNS_TYPE_MG": "syscall", - "syscall.DNS_TYPE_MINFO": "syscall", - "syscall.DNS_TYPE_MR": "syscall", - "syscall.DNS_TYPE_MX": "syscall", - "syscall.DNS_TYPE_NAPTR": "syscall", - "syscall.DNS_TYPE_NBSTAT": "syscall", - "syscall.DNS_TYPE_NIMLOC": "syscall", - "syscall.DNS_TYPE_NS": "syscall", - "syscall.DNS_TYPE_NSAP": "syscall", - "syscall.DNS_TYPE_NSAPPTR": "syscall", - "syscall.DNS_TYPE_NSEC": "syscall", - "syscall.DNS_TYPE_NULL": "syscall", - "syscall.DNS_TYPE_NXT": "syscall", - "syscall.DNS_TYPE_OPT": "syscall", - "syscall.DNS_TYPE_PTR": "syscall", - "syscall.DNS_TYPE_PX": "syscall", - "syscall.DNS_TYPE_RP": "syscall", - "syscall.DNS_TYPE_RRSIG": "syscall", - "syscall.DNS_TYPE_RT": "syscall", - "syscall.DNS_TYPE_SIG": "syscall", - "syscall.DNS_TYPE_SINK": "syscall", - "syscall.DNS_TYPE_SOA": "syscall", - "syscall.DNS_TYPE_SRV": "syscall", - "syscall.DNS_TYPE_TEXT": "syscall", - "syscall.DNS_TYPE_TKEY": "syscall", - "syscall.DNS_TYPE_TSIG": "syscall", - "syscall.DNS_TYPE_UID": "syscall", - "syscall.DNS_TYPE_UINFO": "syscall", - "syscall.DNS_TYPE_UNSPEC": "syscall", - "syscall.DNS_TYPE_WINS": "syscall", - "syscall.DNS_TYPE_WINSR": "syscall", - "syscall.DNS_TYPE_WKS": "syscall", - "syscall.DNS_TYPE_X25": "syscall", - "syscall.DT_BLK": "syscall", - "syscall.DT_CHR": "syscall", - "syscall.DT_DIR": "syscall", - "syscall.DT_FIFO": "syscall", - "syscall.DT_LNK": "syscall", - "syscall.DT_REG": "syscall", - "syscall.DT_SOCK": "syscall", - "syscall.DT_UNKNOWN": "syscall", - "syscall.DT_WHT": "syscall", - "syscall.DUPLICATE_CLOSE_SOURCE": "syscall", - "syscall.DUPLICATE_SAME_ACCESS": "syscall", - "syscall.DeleteFile": "syscall", - "syscall.DetachLsf": "syscall", - "syscall.Dirent": "syscall", - "syscall.DnsQuery": "syscall", - "syscall.DnsRecordListFree": "syscall", - "syscall.Dup": "syscall", - "syscall.Dup2": "syscall", - "syscall.Dup3": "syscall", - "syscall.DuplicateHandle": "syscall", - "syscall.E2BIG": "syscall", - "syscall.EACCES": "syscall", - "syscall.EADDRINUSE": "syscall", - "syscall.EADDRNOTAVAIL": "syscall", - "syscall.EADV": "syscall", - "syscall.EAFNOSUPPORT": "syscall", - "syscall.EAGAIN": "syscall", - "syscall.EALREADY": "syscall", - "syscall.EAUTH": "syscall", - "syscall.EBADARCH": "syscall", - "syscall.EBADE": "syscall", - "syscall.EBADEXEC": "syscall", - "syscall.EBADF": "syscall", - "syscall.EBADFD": "syscall", - "syscall.EBADMACHO": "syscall", - "syscall.EBADMSG": "syscall", - "syscall.EBADR": "syscall", - "syscall.EBADRPC": "syscall", - "syscall.EBADRQC": "syscall", - "syscall.EBADSLT": "syscall", - "syscall.EBFONT": "syscall", - "syscall.EBUSY": "syscall", - "syscall.ECANCELED": "syscall", - "syscall.ECAPMODE": "syscall", - "syscall.ECHILD": "syscall", - "syscall.ECHO": "syscall", - "syscall.ECHOCTL": "syscall", - "syscall.ECHOE": "syscall", - "syscall.ECHOK": "syscall", - "syscall.ECHOKE": "syscall", - "syscall.ECHONL": "syscall", - "syscall.ECHOPRT": "syscall", - "syscall.ECHRNG": "syscall", - "syscall.ECOMM": "syscall", - "syscall.ECONNABORTED": "syscall", - "syscall.ECONNREFUSED": "syscall", - "syscall.ECONNRESET": "syscall", - "syscall.EDEADLK": "syscall", - "syscall.EDEADLOCK": "syscall", - "syscall.EDESTADDRREQ": "syscall", - "syscall.EDEVERR": "syscall", - "syscall.EDOM": "syscall", - "syscall.EDOOFUS": "syscall", - "syscall.EDOTDOT": "syscall", - "syscall.EDQUOT": "syscall", - "syscall.EEXIST": "syscall", - "syscall.EFAULT": "syscall", - "syscall.EFBIG": "syscall", - "syscall.EFER_LMA": "syscall", - "syscall.EFER_LME": "syscall", - "syscall.EFER_NXE": "syscall", - "syscall.EFER_SCE": "syscall", - "syscall.EFTYPE": "syscall", - "syscall.EHOSTDOWN": "syscall", - "syscall.EHOSTUNREACH": "syscall", - "syscall.EHWPOISON": "syscall", - "syscall.EIDRM": "syscall", - "syscall.EILSEQ": "syscall", - "syscall.EINPROGRESS": "syscall", - "syscall.EINTR": "syscall", - "syscall.EINVAL": "syscall", - "syscall.EIO": "syscall", - "syscall.EIPSEC": "syscall", - "syscall.EISCONN": "syscall", - "syscall.EISDIR": "syscall", - "syscall.EISNAM": "syscall", - "syscall.EKEYEXPIRED": "syscall", - "syscall.EKEYREJECTED": "syscall", - "syscall.EKEYREVOKED": "syscall", - "syscall.EL2HLT": "syscall", - "syscall.EL2NSYNC": "syscall", - "syscall.EL3HLT": "syscall", - "syscall.EL3RST": "syscall", - "syscall.ELAST": "syscall", - "syscall.ELF_NGREG": "syscall", - "syscall.ELF_PRARGSZ": "syscall", - "syscall.ELIBACC": "syscall", - "syscall.ELIBBAD": "syscall", - "syscall.ELIBEXEC": "syscall", - "syscall.ELIBMAX": "syscall", - "syscall.ELIBSCN": "syscall", - "syscall.ELNRNG": "syscall", - "syscall.ELOOP": "syscall", - "syscall.EMEDIUMTYPE": "syscall", - "syscall.EMFILE": "syscall", - "syscall.EMLINK": "syscall", - "syscall.EMSGSIZE": "syscall", - "syscall.EMT_TAGOVF": "syscall", - "syscall.EMULTIHOP": "syscall", - "syscall.EMUL_ENABLED": "syscall", - "syscall.EMUL_LINUX": "syscall", - "syscall.EMUL_LINUX32": "syscall", - "syscall.EMUL_MAXID": "syscall", - "syscall.EMUL_NATIVE": "syscall", - "syscall.ENAMETOOLONG": "syscall", - "syscall.ENAVAIL": "syscall", - "syscall.ENDRUNDISC": "syscall", - "syscall.ENEEDAUTH": "syscall", - "syscall.ENETDOWN": "syscall", - "syscall.ENETRESET": "syscall", - "syscall.ENETUNREACH": "syscall", - "syscall.ENFILE": "syscall", - "syscall.ENOANO": "syscall", - "syscall.ENOATTR": "syscall", - "syscall.ENOBUFS": "syscall", - "syscall.ENOCSI": "syscall", - "syscall.ENODATA": "syscall", - "syscall.ENODEV": "syscall", - "syscall.ENOENT": "syscall", - "syscall.ENOEXEC": "syscall", - "syscall.ENOKEY": "syscall", - "syscall.ENOLCK": "syscall", - "syscall.ENOLINK": "syscall", - "syscall.ENOMEDIUM": "syscall", - "syscall.ENOMEM": "syscall", - "syscall.ENOMSG": "syscall", - "syscall.ENONET": "syscall", - "syscall.ENOPKG": "syscall", - "syscall.ENOPOLICY": "syscall", - "syscall.ENOPROTOOPT": "syscall", - "syscall.ENOSPC": "syscall", - "syscall.ENOSR": "syscall", - "syscall.ENOSTR": "syscall", - "syscall.ENOSYS": "syscall", - "syscall.ENOTBLK": "syscall", - "syscall.ENOTCAPABLE": "syscall", - "syscall.ENOTCONN": "syscall", - "syscall.ENOTDIR": "syscall", - "syscall.ENOTEMPTY": "syscall", - "syscall.ENOTNAM": "syscall", - "syscall.ENOTRECOVERABLE": "syscall", - "syscall.ENOTSOCK": "syscall", - "syscall.ENOTSUP": "syscall", - "syscall.ENOTTY": "syscall", - "syscall.ENOTUNIQ": "syscall", - "syscall.ENXIO": "syscall", - "syscall.EN_SW_CTL_INF": "syscall", - "syscall.EN_SW_CTL_PREC": "syscall", - "syscall.EN_SW_CTL_ROUND": "syscall", - "syscall.EN_SW_DATACHAIN": "syscall", - "syscall.EN_SW_DENORM": "syscall", - "syscall.EN_SW_INVOP": "syscall", - "syscall.EN_SW_OVERFLOW": "syscall", - "syscall.EN_SW_PRECLOSS": "syscall", - "syscall.EN_SW_UNDERFLOW": "syscall", - "syscall.EN_SW_ZERODIV": "syscall", - "syscall.EOPNOTSUPP": "syscall", - "syscall.EOVERFLOW": "syscall", - "syscall.EOWNERDEAD": "syscall", - "syscall.EPERM": "syscall", - "syscall.EPFNOSUPPORT": "syscall", - "syscall.EPIPE": "syscall", - "syscall.EPOLLERR": "syscall", - "syscall.EPOLLET": "syscall", - "syscall.EPOLLHUP": "syscall", - "syscall.EPOLLIN": "syscall", - "syscall.EPOLLMSG": "syscall", - "syscall.EPOLLONESHOT": "syscall", - "syscall.EPOLLOUT": "syscall", - "syscall.EPOLLPRI": "syscall", - "syscall.EPOLLRDBAND": "syscall", - "syscall.EPOLLRDHUP": "syscall", - "syscall.EPOLLRDNORM": "syscall", - "syscall.EPOLLWRBAND": "syscall", - "syscall.EPOLLWRNORM": "syscall", - "syscall.EPOLL_CLOEXEC": "syscall", - "syscall.EPOLL_CTL_ADD": "syscall", - "syscall.EPOLL_CTL_DEL": "syscall", - "syscall.EPOLL_CTL_MOD": "syscall", - "syscall.EPOLL_NONBLOCK": "syscall", - "syscall.EPROCLIM": "syscall", - "syscall.EPROCUNAVAIL": "syscall", - "syscall.EPROGMISMATCH": "syscall", - "syscall.EPROGUNAVAIL": "syscall", - "syscall.EPROTO": "syscall", - "syscall.EPROTONOSUPPORT": "syscall", - "syscall.EPROTOTYPE": "syscall", - "syscall.EPWROFF": "syscall", - "syscall.ERANGE": "syscall", - "syscall.EREMCHG": "syscall", - "syscall.EREMOTE": "syscall", - "syscall.EREMOTEIO": "syscall", - "syscall.ERESTART": "syscall", - "syscall.ERFKILL": "syscall", - "syscall.EROFS": "syscall", - "syscall.ERPCMISMATCH": "syscall", - "syscall.ERROR_ACCESS_DENIED": "syscall", - "syscall.ERROR_ALREADY_EXISTS": "syscall", - "syscall.ERROR_BROKEN_PIPE": "syscall", - "syscall.ERROR_BUFFER_OVERFLOW": "syscall", - "syscall.ERROR_ENVVAR_NOT_FOUND": "syscall", - "syscall.ERROR_FILE_EXISTS": "syscall", - "syscall.ERROR_FILE_NOT_FOUND": "syscall", - "syscall.ERROR_HANDLE_EOF": "syscall", - "syscall.ERROR_INSUFFICIENT_BUFFER": "syscall", - "syscall.ERROR_IO_PENDING": "syscall", - "syscall.ERROR_MOD_NOT_FOUND": "syscall", - "syscall.ERROR_MORE_DATA": "syscall", - "syscall.ERROR_NETNAME_DELETED": "syscall", - "syscall.ERROR_NOT_FOUND": "syscall", - "syscall.ERROR_NO_MORE_FILES": "syscall", - "syscall.ERROR_OPERATION_ABORTED": "syscall", - "syscall.ERROR_PATH_NOT_FOUND": "syscall", - "syscall.ERROR_PROC_NOT_FOUND": "syscall", - "syscall.ESHLIBVERS": "syscall", - "syscall.ESHUTDOWN": "syscall", - "syscall.ESOCKTNOSUPPORT": "syscall", - "syscall.ESPIPE": "syscall", - "syscall.ESRCH": "syscall", - "syscall.ESRMNT": "syscall", - "syscall.ESTALE": "syscall", - "syscall.ESTRPIPE": "syscall", - "syscall.ETHERCAP_JUMBO_MTU": "syscall", - "syscall.ETHERCAP_VLAN_HWTAGGING": "syscall", - "syscall.ETHERCAP_VLAN_MTU": "syscall", - "syscall.ETHERMIN": "syscall", - "syscall.ETHERMTU": "syscall", - "syscall.ETHERMTU_JUMBO": "syscall", - "syscall.ETHERTYPE_8023": "syscall", - "syscall.ETHERTYPE_AARP": "syscall", - "syscall.ETHERTYPE_ACCTON": "syscall", - "syscall.ETHERTYPE_AEONIC": "syscall", - "syscall.ETHERTYPE_ALPHA": "syscall", - "syscall.ETHERTYPE_AMBER": "syscall", - "syscall.ETHERTYPE_AMOEBA": "syscall", - "syscall.ETHERTYPE_AOE": "syscall", - "syscall.ETHERTYPE_APOLLO": "syscall", - "syscall.ETHERTYPE_APOLLODOMAIN": "syscall", - "syscall.ETHERTYPE_APPLETALK": "syscall", - "syscall.ETHERTYPE_APPLITEK": "syscall", - "syscall.ETHERTYPE_ARGONAUT": "syscall", - "syscall.ETHERTYPE_ARP": "syscall", - "syscall.ETHERTYPE_AT": "syscall", - "syscall.ETHERTYPE_ATALK": "syscall", - "syscall.ETHERTYPE_ATOMIC": "syscall", - "syscall.ETHERTYPE_ATT": "syscall", - "syscall.ETHERTYPE_ATTSTANFORD": "syscall", - "syscall.ETHERTYPE_AUTOPHON": "syscall", - "syscall.ETHERTYPE_AXIS": "syscall", - "syscall.ETHERTYPE_BCLOOP": "syscall", - "syscall.ETHERTYPE_BOFL": "syscall", - "syscall.ETHERTYPE_CABLETRON": "syscall", - "syscall.ETHERTYPE_CHAOS": "syscall", - "syscall.ETHERTYPE_COMDESIGN": "syscall", - "syscall.ETHERTYPE_COMPUGRAPHIC": "syscall", - "syscall.ETHERTYPE_COUNTERPOINT": "syscall", - "syscall.ETHERTYPE_CRONUS": "syscall", - "syscall.ETHERTYPE_CRONUSVLN": "syscall", - "syscall.ETHERTYPE_DCA": "syscall", - "syscall.ETHERTYPE_DDE": "syscall", - "syscall.ETHERTYPE_DEBNI": "syscall", - "syscall.ETHERTYPE_DECAM": "syscall", - "syscall.ETHERTYPE_DECCUST": "syscall", - "syscall.ETHERTYPE_DECDIAG": "syscall", - "syscall.ETHERTYPE_DECDNS": "syscall", - "syscall.ETHERTYPE_DECDTS": "syscall", - "syscall.ETHERTYPE_DECEXPER": "syscall", - "syscall.ETHERTYPE_DECLAST": "syscall", - "syscall.ETHERTYPE_DECLTM": "syscall", - "syscall.ETHERTYPE_DECMUMPS": "syscall", - "syscall.ETHERTYPE_DECNETBIOS": "syscall", - "syscall.ETHERTYPE_DELTACON": "syscall", - "syscall.ETHERTYPE_DIDDLE": "syscall", - "syscall.ETHERTYPE_DLOG1": "syscall", - "syscall.ETHERTYPE_DLOG2": "syscall", - "syscall.ETHERTYPE_DN": "syscall", - "syscall.ETHERTYPE_DOGFIGHT": "syscall", - "syscall.ETHERTYPE_DSMD": "syscall", - "syscall.ETHERTYPE_ECMA": "syscall", - "syscall.ETHERTYPE_ENCRYPT": "syscall", - "syscall.ETHERTYPE_ES": "syscall", - "syscall.ETHERTYPE_EXCELAN": "syscall", - "syscall.ETHERTYPE_EXPERDATA": "syscall", - "syscall.ETHERTYPE_FLIP": "syscall", - "syscall.ETHERTYPE_FLOWCONTROL": "syscall", - "syscall.ETHERTYPE_FRARP": "syscall", - "syscall.ETHERTYPE_GENDYN": "syscall", - "syscall.ETHERTYPE_HAYES": "syscall", - "syscall.ETHERTYPE_HIPPI_FP": "syscall", - "syscall.ETHERTYPE_HITACHI": "syscall", - "syscall.ETHERTYPE_HP": "syscall", - "syscall.ETHERTYPE_IEEEPUP": "syscall", - "syscall.ETHERTYPE_IEEEPUPAT": "syscall", - "syscall.ETHERTYPE_IMLBL": "syscall", - "syscall.ETHERTYPE_IMLBLDIAG": "syscall", - "syscall.ETHERTYPE_IP": "syscall", - "syscall.ETHERTYPE_IPAS": "syscall", - "syscall.ETHERTYPE_IPV6": "syscall", - "syscall.ETHERTYPE_IPX": "syscall", - "syscall.ETHERTYPE_IPXNEW": "syscall", - "syscall.ETHERTYPE_KALPANA": "syscall", - "syscall.ETHERTYPE_LANBRIDGE": "syscall", - "syscall.ETHERTYPE_LANPROBE": "syscall", - "syscall.ETHERTYPE_LAT": "syscall", - "syscall.ETHERTYPE_LBACK": "syscall", - "syscall.ETHERTYPE_LITTLE": "syscall", - "syscall.ETHERTYPE_LLDP": "syscall", - "syscall.ETHERTYPE_LOGICRAFT": "syscall", - "syscall.ETHERTYPE_LOOPBACK": "syscall", - "syscall.ETHERTYPE_MATRA": "syscall", - "syscall.ETHERTYPE_MAX": "syscall", - "syscall.ETHERTYPE_MERIT": "syscall", - "syscall.ETHERTYPE_MICP": "syscall", - "syscall.ETHERTYPE_MOPDL": "syscall", - "syscall.ETHERTYPE_MOPRC": "syscall", - "syscall.ETHERTYPE_MOTOROLA": "syscall", - "syscall.ETHERTYPE_MPLS": "syscall", - "syscall.ETHERTYPE_MPLS_MCAST": "syscall", - "syscall.ETHERTYPE_MUMPS": "syscall", - "syscall.ETHERTYPE_NBPCC": "syscall", - "syscall.ETHERTYPE_NBPCLAIM": "syscall", - "syscall.ETHERTYPE_NBPCLREQ": "syscall", - "syscall.ETHERTYPE_NBPCLRSP": "syscall", - "syscall.ETHERTYPE_NBPCREQ": "syscall", - "syscall.ETHERTYPE_NBPCRSP": "syscall", - "syscall.ETHERTYPE_NBPDG": "syscall", - "syscall.ETHERTYPE_NBPDGB": "syscall", - "syscall.ETHERTYPE_NBPDLTE": "syscall", - "syscall.ETHERTYPE_NBPRAR": "syscall", - "syscall.ETHERTYPE_NBPRAS": "syscall", - "syscall.ETHERTYPE_NBPRST": "syscall", - "syscall.ETHERTYPE_NBPSCD": "syscall", - "syscall.ETHERTYPE_NBPVCD": "syscall", - "syscall.ETHERTYPE_NBS": "syscall", - "syscall.ETHERTYPE_NCD": "syscall", - "syscall.ETHERTYPE_NESTAR": "syscall", - "syscall.ETHERTYPE_NETBEUI": "syscall", - "syscall.ETHERTYPE_NOVELL": "syscall", - "syscall.ETHERTYPE_NS": "syscall", - "syscall.ETHERTYPE_NSAT": "syscall", - "syscall.ETHERTYPE_NSCOMPAT": "syscall", - "syscall.ETHERTYPE_NTRAILER": "syscall", - "syscall.ETHERTYPE_OS9": "syscall", - "syscall.ETHERTYPE_OS9NET": "syscall", - "syscall.ETHERTYPE_PACER": "syscall", - "syscall.ETHERTYPE_PAE": "syscall", - "syscall.ETHERTYPE_PCS": "syscall", - "syscall.ETHERTYPE_PLANNING": "syscall", - "syscall.ETHERTYPE_PPP": "syscall", - "syscall.ETHERTYPE_PPPOE": "syscall", - "syscall.ETHERTYPE_PPPOEDISC": "syscall", - "syscall.ETHERTYPE_PRIMENTS": "syscall", - "syscall.ETHERTYPE_PUP": "syscall", - "syscall.ETHERTYPE_PUPAT": "syscall", - "syscall.ETHERTYPE_QINQ": "syscall", - "syscall.ETHERTYPE_RACAL": "syscall", - "syscall.ETHERTYPE_RATIONAL": "syscall", - "syscall.ETHERTYPE_RAWFR": "syscall", - "syscall.ETHERTYPE_RCL": "syscall", - "syscall.ETHERTYPE_RDP": "syscall", - "syscall.ETHERTYPE_RETIX": "syscall", - "syscall.ETHERTYPE_REVARP": "syscall", - "syscall.ETHERTYPE_SCA": "syscall", - "syscall.ETHERTYPE_SECTRA": "syscall", - "syscall.ETHERTYPE_SECUREDATA": "syscall", - "syscall.ETHERTYPE_SGITW": "syscall", - "syscall.ETHERTYPE_SG_BOUNCE": "syscall", - "syscall.ETHERTYPE_SG_DIAG": "syscall", - "syscall.ETHERTYPE_SG_NETGAMES": "syscall", - "syscall.ETHERTYPE_SG_RESV": "syscall", - "syscall.ETHERTYPE_SIMNET": "syscall", - "syscall.ETHERTYPE_SLOW": "syscall", - "syscall.ETHERTYPE_SLOWPROTOCOLS": "syscall", - "syscall.ETHERTYPE_SNA": "syscall", - "syscall.ETHERTYPE_SNMP": "syscall", - "syscall.ETHERTYPE_SONIX": "syscall", - "syscall.ETHERTYPE_SPIDER": "syscall", - "syscall.ETHERTYPE_SPRITE": "syscall", - "syscall.ETHERTYPE_STP": "syscall", - "syscall.ETHERTYPE_TALARIS": "syscall", - "syscall.ETHERTYPE_TALARISMC": "syscall", - "syscall.ETHERTYPE_TCPCOMP": "syscall", - "syscall.ETHERTYPE_TCPSM": "syscall", - "syscall.ETHERTYPE_TEC": "syscall", - "syscall.ETHERTYPE_TIGAN": "syscall", - "syscall.ETHERTYPE_TRAIL": "syscall", - "syscall.ETHERTYPE_TRANSETHER": "syscall", - "syscall.ETHERTYPE_TYMSHARE": "syscall", - "syscall.ETHERTYPE_UBBST": "syscall", - "syscall.ETHERTYPE_UBDEBUG": "syscall", - "syscall.ETHERTYPE_UBDIAGLOOP": "syscall", - "syscall.ETHERTYPE_UBDL": "syscall", - "syscall.ETHERTYPE_UBNIU": "syscall", - "syscall.ETHERTYPE_UBNMC": "syscall", - "syscall.ETHERTYPE_VALID": "syscall", - "syscall.ETHERTYPE_VARIAN": "syscall", - "syscall.ETHERTYPE_VAXELN": "syscall", - "syscall.ETHERTYPE_VEECO": "syscall", - "syscall.ETHERTYPE_VEXP": "syscall", - "syscall.ETHERTYPE_VGLAB": "syscall", - "syscall.ETHERTYPE_VINES": "syscall", - "syscall.ETHERTYPE_VINESECHO": "syscall", - "syscall.ETHERTYPE_VINESLOOP": "syscall", - "syscall.ETHERTYPE_VITAL": "syscall", - "syscall.ETHERTYPE_VLAN": "syscall", - "syscall.ETHERTYPE_VLTLMAN": "syscall", - "syscall.ETHERTYPE_VPROD": "syscall", - "syscall.ETHERTYPE_VURESERVED": "syscall", - "syscall.ETHERTYPE_WATERLOO": "syscall", - "syscall.ETHERTYPE_WELLFLEET": "syscall", - "syscall.ETHERTYPE_X25": "syscall", - "syscall.ETHERTYPE_X75": "syscall", - "syscall.ETHERTYPE_XNSSM": "syscall", - "syscall.ETHERTYPE_XTP": "syscall", - "syscall.ETHER_ADDR_LEN": "syscall", - "syscall.ETHER_ALIGN": "syscall", - "syscall.ETHER_CRC_LEN": "syscall", - "syscall.ETHER_CRC_POLY_BE": "syscall", - "syscall.ETHER_CRC_POLY_LE": "syscall", - "syscall.ETHER_HDR_LEN": "syscall", - "syscall.ETHER_MAX_DIX_LEN": "syscall", - "syscall.ETHER_MAX_LEN": "syscall", - "syscall.ETHER_MAX_LEN_JUMBO": "syscall", - "syscall.ETHER_MIN_LEN": "syscall", - "syscall.ETHER_PPPOE_ENCAP_LEN": "syscall", - "syscall.ETHER_TYPE_LEN": "syscall", - "syscall.ETHER_VLAN_ENCAP_LEN": "syscall", - "syscall.ETH_P_1588": "syscall", - "syscall.ETH_P_8021Q": "syscall", - "syscall.ETH_P_802_2": "syscall", - "syscall.ETH_P_802_3": "syscall", - "syscall.ETH_P_AARP": "syscall", - "syscall.ETH_P_ALL": "syscall", - "syscall.ETH_P_AOE": "syscall", - "syscall.ETH_P_ARCNET": "syscall", - "syscall.ETH_P_ARP": "syscall", - "syscall.ETH_P_ATALK": "syscall", - "syscall.ETH_P_ATMFATE": "syscall", - "syscall.ETH_P_ATMMPOA": "syscall", - "syscall.ETH_P_AX25": "syscall", - "syscall.ETH_P_BPQ": "syscall", - "syscall.ETH_P_CAIF": "syscall", - "syscall.ETH_P_CAN": "syscall", - "syscall.ETH_P_CONTROL": "syscall", - "syscall.ETH_P_CUST": "syscall", - "syscall.ETH_P_DDCMP": "syscall", - "syscall.ETH_P_DEC": "syscall", - "syscall.ETH_P_DIAG": "syscall", - "syscall.ETH_P_DNA_DL": "syscall", - "syscall.ETH_P_DNA_RC": "syscall", - "syscall.ETH_P_DNA_RT": "syscall", - "syscall.ETH_P_DSA": "syscall", - "syscall.ETH_P_ECONET": "syscall", - "syscall.ETH_P_EDSA": "syscall", - "syscall.ETH_P_FCOE": "syscall", - "syscall.ETH_P_FIP": "syscall", - "syscall.ETH_P_HDLC": "syscall", - "syscall.ETH_P_IEEE802154": "syscall", - "syscall.ETH_P_IEEEPUP": "syscall", - "syscall.ETH_P_IEEEPUPAT": "syscall", - "syscall.ETH_P_IP": "syscall", - "syscall.ETH_P_IPV6": "syscall", - "syscall.ETH_P_IPX": "syscall", - "syscall.ETH_P_IRDA": "syscall", - "syscall.ETH_P_LAT": "syscall", - "syscall.ETH_P_LINK_CTL": "syscall", - "syscall.ETH_P_LOCALTALK": "syscall", - "syscall.ETH_P_LOOP": "syscall", - "syscall.ETH_P_MOBITEX": "syscall", - "syscall.ETH_P_MPLS_MC": "syscall", - "syscall.ETH_P_MPLS_UC": "syscall", - "syscall.ETH_P_PAE": "syscall", - "syscall.ETH_P_PAUSE": "syscall", - "syscall.ETH_P_PHONET": "syscall", - "syscall.ETH_P_PPPTALK": "syscall", - "syscall.ETH_P_PPP_DISC": "syscall", - "syscall.ETH_P_PPP_MP": "syscall", - "syscall.ETH_P_PPP_SES": "syscall", - "syscall.ETH_P_PUP": "syscall", - "syscall.ETH_P_PUPAT": "syscall", - "syscall.ETH_P_RARP": "syscall", - "syscall.ETH_P_SCA": "syscall", - "syscall.ETH_P_SLOW": "syscall", - "syscall.ETH_P_SNAP": "syscall", - "syscall.ETH_P_TEB": "syscall", - "syscall.ETH_P_TIPC": "syscall", - "syscall.ETH_P_TRAILER": "syscall", - "syscall.ETH_P_TR_802_2": "syscall", - "syscall.ETH_P_WAN_PPP": "syscall", - "syscall.ETH_P_WCCP": "syscall", - "syscall.ETH_P_X25": "syscall", - "syscall.ETIME": "syscall", - "syscall.ETIMEDOUT": "syscall", - "syscall.ETOOMANYREFS": "syscall", - "syscall.ETXTBSY": "syscall", - "syscall.EUCLEAN": "syscall", - "syscall.EUNATCH": "syscall", - "syscall.EUSERS": "syscall", - "syscall.EVFILT_AIO": "syscall", - "syscall.EVFILT_FS": "syscall", - "syscall.EVFILT_LIO": "syscall", - "syscall.EVFILT_MACHPORT": "syscall", - "syscall.EVFILT_PROC": "syscall", - "syscall.EVFILT_READ": "syscall", - "syscall.EVFILT_SIGNAL": "syscall", - "syscall.EVFILT_SYSCOUNT": "syscall", - "syscall.EVFILT_THREADMARKER": "syscall", - "syscall.EVFILT_TIMER": "syscall", - "syscall.EVFILT_USER": "syscall", - "syscall.EVFILT_VM": "syscall", - "syscall.EVFILT_VNODE": "syscall", - "syscall.EVFILT_WRITE": "syscall", - "syscall.EV_ADD": "syscall", - "syscall.EV_CLEAR": "syscall", - "syscall.EV_DELETE": "syscall", - "syscall.EV_DISABLE": "syscall", - "syscall.EV_DISPATCH": "syscall", - "syscall.EV_DROP": "syscall", - "syscall.EV_ENABLE": "syscall", - "syscall.EV_EOF": "syscall", - "syscall.EV_ERROR": "syscall", - "syscall.EV_FLAG0": "syscall", - "syscall.EV_FLAG1": "syscall", - "syscall.EV_ONESHOT": "syscall", - "syscall.EV_OOBAND": "syscall", - "syscall.EV_POLL": "syscall", - "syscall.EV_RECEIPT": "syscall", - "syscall.EV_SYSFLAGS": "syscall", - "syscall.EWINDOWS": "syscall", - "syscall.EWOULDBLOCK": "syscall", - "syscall.EXDEV": "syscall", - "syscall.EXFULL": "syscall", - "syscall.EXTA": "syscall", - "syscall.EXTB": "syscall", - "syscall.EXTPROC": "syscall", - "syscall.Environ": "syscall", - "syscall.EpollCreate": "syscall", - "syscall.EpollCreate1": "syscall", - "syscall.EpollCtl": "syscall", - "syscall.EpollEvent": "syscall", - "syscall.EpollWait": "syscall", - "syscall.Errno": "syscall", - "syscall.EscapeArg": "syscall", - "syscall.Exchangedata": "syscall", - "syscall.Exec": "syscall", - "syscall.Exit": "syscall", - "syscall.ExitProcess": "syscall", - "syscall.FD_CLOEXEC": "syscall", - "syscall.FD_SETSIZE": "syscall", - "syscall.FILE_ACTION_ADDED": "syscall", - "syscall.FILE_ACTION_MODIFIED": "syscall", - "syscall.FILE_ACTION_REMOVED": "syscall", - "syscall.FILE_ACTION_RENAMED_NEW_NAME": "syscall", - "syscall.FILE_ACTION_RENAMED_OLD_NAME": "syscall", - "syscall.FILE_APPEND_DATA": "syscall", - "syscall.FILE_ATTRIBUTE_ARCHIVE": "syscall", - "syscall.FILE_ATTRIBUTE_DIRECTORY": "syscall", - "syscall.FILE_ATTRIBUTE_HIDDEN": "syscall", - "syscall.FILE_ATTRIBUTE_NORMAL": "syscall", - "syscall.FILE_ATTRIBUTE_READONLY": "syscall", - "syscall.FILE_ATTRIBUTE_SYSTEM": "syscall", - "syscall.FILE_BEGIN": "syscall", - "syscall.FILE_CURRENT": "syscall", - "syscall.FILE_END": "syscall", - "syscall.FILE_FLAG_BACKUP_SEMANTICS": "syscall", - "syscall.FILE_FLAG_OVERLAPPED": "syscall", - "syscall.FILE_LIST_DIRECTORY": "syscall", - "syscall.FILE_MAP_COPY": "syscall", - "syscall.FILE_MAP_EXECUTE": "syscall", - "syscall.FILE_MAP_READ": "syscall", - "syscall.FILE_MAP_WRITE": "syscall", - "syscall.FILE_NOTIFY_CHANGE_ATTRIBUTES": "syscall", - "syscall.FILE_NOTIFY_CHANGE_CREATION": "syscall", - "syscall.FILE_NOTIFY_CHANGE_DIR_NAME": "syscall", - "syscall.FILE_NOTIFY_CHANGE_FILE_NAME": "syscall", - "syscall.FILE_NOTIFY_CHANGE_LAST_ACCESS": "syscall", - "syscall.FILE_NOTIFY_CHANGE_LAST_WRITE": "syscall", - "syscall.FILE_NOTIFY_CHANGE_SIZE": "syscall", - "syscall.FILE_SHARE_DELETE": "syscall", - "syscall.FILE_SHARE_READ": "syscall", - "syscall.FILE_SHARE_WRITE": "syscall", - "syscall.FILE_SKIP_COMPLETION_PORT_ON_SUCCESS": "syscall", - "syscall.FILE_SKIP_SET_EVENT_ON_HANDLE": "syscall", - "syscall.FILE_TYPE_CHAR": "syscall", - "syscall.FILE_TYPE_DISK": "syscall", - "syscall.FILE_TYPE_PIPE": "syscall", - "syscall.FILE_TYPE_REMOTE": "syscall", - "syscall.FILE_TYPE_UNKNOWN": "syscall", - "syscall.FILE_WRITE_ATTRIBUTES": "syscall", - "syscall.FLUSHO": "syscall", - "syscall.FORMAT_MESSAGE_ALLOCATE_BUFFER": "syscall", - "syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY": "syscall", - "syscall.FORMAT_MESSAGE_FROM_HMODULE": "syscall", - "syscall.FORMAT_MESSAGE_FROM_STRING": "syscall", - "syscall.FORMAT_MESSAGE_FROM_SYSTEM": "syscall", - "syscall.FORMAT_MESSAGE_IGNORE_INSERTS": "syscall", - "syscall.FORMAT_MESSAGE_MAX_WIDTH_MASK": "syscall", - "syscall.F_ADDFILESIGS": "syscall", - "syscall.F_ADDSIGS": "syscall", - "syscall.F_ALLOCATEALL": "syscall", - "syscall.F_ALLOCATECONTIG": "syscall", - "syscall.F_CANCEL": "syscall", - "syscall.F_CHKCLEAN": "syscall", - "syscall.F_CLOSEM": "syscall", - "syscall.F_DUP2FD": "syscall", - "syscall.F_DUP2FD_CLOEXEC": "syscall", - "syscall.F_DUPFD": "syscall", - "syscall.F_DUPFD_CLOEXEC": "syscall", - "syscall.F_EXLCK": "syscall", - "syscall.F_FLUSH_DATA": "syscall", - "syscall.F_FREEZE_FS": "syscall", - "syscall.F_FSCTL": "syscall", - "syscall.F_FSDIRMASK": "syscall", - "syscall.F_FSIN": "syscall", - "syscall.F_FSINOUT": "syscall", - "syscall.F_FSOUT": "syscall", - "syscall.F_FSPRIV": "syscall", - "syscall.F_FSVOID": "syscall", - "syscall.F_FULLFSYNC": "syscall", - "syscall.F_GETFD": "syscall", - "syscall.F_GETFL": "syscall", - "syscall.F_GETLEASE": "syscall", - "syscall.F_GETLK": "syscall", - "syscall.F_GETLK64": "syscall", - "syscall.F_GETLKPID": "syscall", - "syscall.F_GETNOSIGPIPE": "syscall", - "syscall.F_GETOWN": "syscall", - "syscall.F_GETOWN_EX": "syscall", - "syscall.F_GETPATH": "syscall", - "syscall.F_GETPATH_MTMINFO": "syscall", - "syscall.F_GETPIPE_SZ": "syscall", - "syscall.F_GETPROTECTIONCLASS": "syscall", - "syscall.F_GETSIG": "syscall", - "syscall.F_GLOBAL_NOCACHE": "syscall", - "syscall.F_LOCK": "syscall", - "syscall.F_LOG2PHYS": "syscall", - "syscall.F_LOG2PHYS_EXT": "syscall", - "syscall.F_MARKDEPENDENCY": "syscall", - "syscall.F_MAXFD": "syscall", - "syscall.F_NOCACHE": "syscall", - "syscall.F_NODIRECT": "syscall", - "syscall.F_NOTIFY": "syscall", - "syscall.F_OGETLK": "syscall", - "syscall.F_OK": "syscall", - "syscall.F_OSETLK": "syscall", - "syscall.F_OSETLKW": "syscall", - "syscall.F_PARAM_MASK": "syscall", - "syscall.F_PARAM_MAX": "syscall", - "syscall.F_PATHPKG_CHECK": "syscall", - "syscall.F_PEOFPOSMODE": "syscall", - "syscall.F_PREALLOCATE": "syscall", - "syscall.F_RDADVISE": "syscall", - "syscall.F_RDAHEAD": "syscall", - "syscall.F_RDLCK": "syscall", - "syscall.F_READAHEAD": "syscall", - "syscall.F_READBOOTSTRAP": "syscall", - "syscall.F_SETBACKINGSTORE": "syscall", - "syscall.F_SETFD": "syscall", - "syscall.F_SETFL": "syscall", - "syscall.F_SETLEASE": "syscall", - "syscall.F_SETLK": "syscall", - "syscall.F_SETLK64": "syscall", - "syscall.F_SETLKW": "syscall", - "syscall.F_SETLKW64": "syscall", - "syscall.F_SETLK_REMOTE": "syscall", - "syscall.F_SETNOSIGPIPE": "syscall", - "syscall.F_SETOWN": "syscall", - "syscall.F_SETOWN_EX": "syscall", - "syscall.F_SETPIPE_SZ": "syscall", - "syscall.F_SETPROTECTIONCLASS": "syscall", - "syscall.F_SETSIG": "syscall", - "syscall.F_SETSIZE": "syscall", - "syscall.F_SHLCK": "syscall", - "syscall.F_TEST": "syscall", - "syscall.F_THAW_FS": "syscall", - "syscall.F_TLOCK": "syscall", - "syscall.F_ULOCK": "syscall", - "syscall.F_UNLCK": "syscall", - "syscall.F_UNLCKSYS": "syscall", - "syscall.F_VOLPOSMODE": "syscall", - "syscall.F_WRITEBOOTSTRAP": "syscall", - "syscall.F_WRLCK": "syscall", - "syscall.Faccessat": "syscall", - "syscall.Fallocate": "syscall", - "syscall.Fbootstraptransfer_t": "syscall", - "syscall.Fchdir": "syscall", - "syscall.Fchflags": "syscall", - "syscall.Fchmod": "syscall", - "syscall.Fchmodat": "syscall", - "syscall.Fchown": "syscall", - "syscall.Fchownat": "syscall", - "syscall.FcntlFlock": "syscall", - "syscall.FdSet": "syscall", - "syscall.Fdatasync": "syscall", - "syscall.FileNotifyInformation": "syscall", - "syscall.Filetime": "syscall", - "syscall.FindClose": "syscall", - "syscall.FindFirstFile": "syscall", - "syscall.FindNextFile": "syscall", - "syscall.Flock": "syscall", - "syscall.Flock_t": "syscall", - "syscall.FlushBpf": "syscall", - "syscall.FlushFileBuffers": "syscall", - "syscall.FlushViewOfFile": "syscall", - "syscall.ForkExec": "syscall", - "syscall.ForkLock": "syscall", - "syscall.FormatMessage": "syscall", - "syscall.Fpathconf": "syscall", - "syscall.FreeAddrInfoW": "syscall", - "syscall.FreeEnvironmentStrings": "syscall", - "syscall.FreeLibrary": "syscall", - "syscall.Fsid": "syscall", - "syscall.Fstat": "syscall", - "syscall.Fstatfs": "syscall", - "syscall.Fstore_t": "syscall", - "syscall.Fsync": "syscall", - "syscall.Ftruncate": "syscall", - "syscall.Futimes": "syscall", - "syscall.Futimesat": "syscall", - "syscall.GENERIC_ALL": "syscall", - "syscall.GENERIC_EXECUTE": "syscall", - "syscall.GENERIC_READ": "syscall", - "syscall.GENERIC_WRITE": "syscall", - "syscall.GUID": "syscall", - "syscall.GetAcceptExSockaddrs": "syscall", - "syscall.GetAdaptersInfo": "syscall", - "syscall.GetAddrInfoW": "syscall", - "syscall.GetCommandLine": "syscall", - "syscall.GetComputerName": "syscall", - "syscall.GetConsoleMode": "syscall", - "syscall.GetCurrentDirectory": "syscall", - "syscall.GetCurrentProcess": "syscall", - "syscall.GetEnvironmentStrings": "syscall", - "syscall.GetEnvironmentVariable": "syscall", - "syscall.GetExitCodeProcess": "syscall", - "syscall.GetFileAttributes": "syscall", - "syscall.GetFileAttributesEx": "syscall", - "syscall.GetFileExInfoStandard": "syscall", - "syscall.GetFileExMaxInfoLevel": "syscall", - "syscall.GetFileInformationByHandle": "syscall", - "syscall.GetFileType": "syscall", - "syscall.GetFullPathName": "syscall", - "syscall.GetHostByName": "syscall", - "syscall.GetIfEntry": "syscall", - "syscall.GetLastError": "syscall", - "syscall.GetLengthSid": "syscall", - "syscall.GetLongPathName": "syscall", - "syscall.GetProcAddress": "syscall", - "syscall.GetProcessTimes": "syscall", - "syscall.GetProtoByName": "syscall", - "syscall.GetQueuedCompletionStatus": "syscall", - "syscall.GetServByName": "syscall", - "syscall.GetShortPathName": "syscall", - "syscall.GetStartupInfo": "syscall", - "syscall.GetStdHandle": "syscall", - "syscall.GetSystemTimeAsFileTime": "syscall", - "syscall.GetTempPath": "syscall", - "syscall.GetTimeZoneInformation": "syscall", - "syscall.GetTokenInformation": "syscall", - "syscall.GetUserNameEx": "syscall", - "syscall.GetUserProfileDirectory": "syscall", - "syscall.GetVersion": "syscall", - "syscall.Getcwd": "syscall", - "syscall.Getdents": "syscall", - "syscall.Getdirentries": "syscall", - "syscall.Getdtablesize": "syscall", - "syscall.Getegid": "syscall", - "syscall.Getenv": "syscall", - "syscall.Geteuid": "syscall", - "syscall.Getfsstat": "syscall", - "syscall.Getgid": "syscall", - "syscall.Getgroups": "syscall", - "syscall.Getpagesize": "syscall", - "syscall.Getpeername": "syscall", - "syscall.Getpgid": "syscall", - "syscall.Getpgrp": "syscall", - "syscall.Getpid": "syscall", - "syscall.Getppid": "syscall", - "syscall.Getpriority": "syscall", - "syscall.Getrlimit": "syscall", - "syscall.Getrusage": "syscall", - "syscall.Getsid": "syscall", - "syscall.Getsockname": "syscall", - "syscall.Getsockopt": "syscall", - "syscall.GetsockoptByte": "syscall", - "syscall.GetsockoptICMPv6Filter": "syscall", - "syscall.GetsockoptIPMreq": "syscall", - "syscall.GetsockoptIPMreqn": "syscall", - "syscall.GetsockoptIPv6MTUInfo": "syscall", - "syscall.GetsockoptIPv6Mreq": "syscall", - "syscall.GetsockoptInet4Addr": "syscall", - "syscall.GetsockoptInt": "syscall", - "syscall.GetsockoptUcred": "syscall", - "syscall.Gettid": "syscall", - "syscall.Gettimeofday": "syscall", - "syscall.Getuid": "syscall", - "syscall.Getwd": "syscall", - "syscall.Getxattr": "syscall", - "syscall.HANDLE_FLAG_INHERIT": "syscall", - "syscall.HKEY_CLASSES_ROOT": "syscall", - "syscall.HKEY_CURRENT_CONFIG": "syscall", - "syscall.HKEY_CURRENT_USER": "syscall", - "syscall.HKEY_DYN_DATA": "syscall", - "syscall.HKEY_LOCAL_MACHINE": "syscall", - "syscall.HKEY_PERFORMANCE_DATA": "syscall", - "syscall.HKEY_USERS": "syscall", - "syscall.HUPCL": "syscall", - "syscall.Handle": "syscall", - "syscall.Hostent": "syscall", - "syscall.ICANON": "syscall", - "syscall.ICMP6_FILTER": "syscall", - "syscall.ICMPV6_FILTER": "syscall", - "syscall.ICMPv6Filter": "syscall", - "syscall.ICRNL": "syscall", - "syscall.IEXTEN": "syscall", - "syscall.IFAN_ARRIVAL": "syscall", - "syscall.IFAN_DEPARTURE": "syscall", - "syscall.IFA_ADDRESS": "syscall", - "syscall.IFA_ANYCAST": "syscall", - "syscall.IFA_BROADCAST": "syscall", - "syscall.IFA_CACHEINFO": "syscall", - "syscall.IFA_F_DADFAILED": "syscall", - "syscall.IFA_F_DEPRECATED": "syscall", - "syscall.IFA_F_HOMEADDRESS": "syscall", - "syscall.IFA_F_NODAD": "syscall", - "syscall.IFA_F_OPTIMISTIC": "syscall", - "syscall.IFA_F_PERMANENT": "syscall", - "syscall.IFA_F_SECONDARY": "syscall", - "syscall.IFA_F_TEMPORARY": "syscall", - "syscall.IFA_F_TENTATIVE": "syscall", - "syscall.IFA_LABEL": "syscall", - "syscall.IFA_LOCAL": "syscall", - "syscall.IFA_MAX": "syscall", - "syscall.IFA_MULTICAST": "syscall", - "syscall.IFA_ROUTE": "syscall", - "syscall.IFA_UNSPEC": "syscall", - "syscall.IFF_ALLMULTI": "syscall", - "syscall.IFF_ALTPHYS": "syscall", - "syscall.IFF_AUTOMEDIA": "syscall", - "syscall.IFF_BROADCAST": "syscall", - "syscall.IFF_CANTCHANGE": "syscall", - "syscall.IFF_CANTCONFIG": "syscall", - "syscall.IFF_DEBUG": "syscall", - "syscall.IFF_DRV_OACTIVE": "syscall", - "syscall.IFF_DRV_RUNNING": "syscall", - "syscall.IFF_DYING": "syscall", - "syscall.IFF_DYNAMIC": "syscall", - "syscall.IFF_LINK0": "syscall", - "syscall.IFF_LINK1": "syscall", - "syscall.IFF_LINK2": "syscall", - "syscall.IFF_LOOPBACK": "syscall", - "syscall.IFF_MASTER": "syscall", - "syscall.IFF_MONITOR": "syscall", - "syscall.IFF_MULTICAST": "syscall", - "syscall.IFF_NOARP": "syscall", - "syscall.IFF_NOTRAILERS": "syscall", - "syscall.IFF_NO_PI": "syscall", - "syscall.IFF_OACTIVE": "syscall", - "syscall.IFF_ONE_QUEUE": "syscall", - "syscall.IFF_POINTOPOINT": "syscall", - "syscall.IFF_POINTTOPOINT": "syscall", - "syscall.IFF_PORTSEL": "syscall", - "syscall.IFF_PPROMISC": "syscall", - "syscall.IFF_PROMISC": "syscall", - "syscall.IFF_RENAMING": "syscall", - "syscall.IFF_RUNNING": "syscall", - "syscall.IFF_SIMPLEX": "syscall", - "syscall.IFF_SLAVE": "syscall", - "syscall.IFF_SMART": "syscall", - "syscall.IFF_STATICARP": "syscall", - "syscall.IFF_TAP": "syscall", - "syscall.IFF_TUN": "syscall", - "syscall.IFF_TUN_EXCL": "syscall", - "syscall.IFF_UP": "syscall", - "syscall.IFF_VNET_HDR": "syscall", - "syscall.IFLA_ADDRESS": "syscall", - "syscall.IFLA_BROADCAST": "syscall", - "syscall.IFLA_COST": "syscall", - "syscall.IFLA_IFALIAS": "syscall", - "syscall.IFLA_IFNAME": "syscall", - "syscall.IFLA_LINK": "syscall", - "syscall.IFLA_LINKINFO": "syscall", - "syscall.IFLA_LINKMODE": "syscall", - "syscall.IFLA_MAP": "syscall", - "syscall.IFLA_MASTER": "syscall", - "syscall.IFLA_MAX": "syscall", - "syscall.IFLA_MTU": "syscall", - "syscall.IFLA_NET_NS_PID": "syscall", - "syscall.IFLA_OPERSTATE": "syscall", - "syscall.IFLA_PRIORITY": "syscall", - "syscall.IFLA_PROTINFO": "syscall", - "syscall.IFLA_QDISC": "syscall", - "syscall.IFLA_STATS": "syscall", - "syscall.IFLA_TXQLEN": "syscall", - "syscall.IFLA_UNSPEC": "syscall", - "syscall.IFLA_WEIGHT": "syscall", - "syscall.IFLA_WIRELESS": "syscall", - "syscall.IFNAMSIZ": "syscall", - "syscall.IFT_1822": "syscall", - "syscall.IFT_A12MPPSWITCH": "syscall", - "syscall.IFT_AAL2": "syscall", - "syscall.IFT_AAL5": "syscall", - "syscall.IFT_ADSL": "syscall", - "syscall.IFT_AFLANE8023": "syscall", - "syscall.IFT_AFLANE8025": "syscall", - "syscall.IFT_ARAP": "syscall", - "syscall.IFT_ARCNET": "syscall", - "syscall.IFT_ARCNETPLUS": "syscall", - "syscall.IFT_ASYNC": "syscall", - "syscall.IFT_ATM": "syscall", - "syscall.IFT_ATMDXI": "syscall", - "syscall.IFT_ATMFUNI": "syscall", - "syscall.IFT_ATMIMA": "syscall", - "syscall.IFT_ATMLOGICAL": "syscall", - "syscall.IFT_ATMRADIO": "syscall", - "syscall.IFT_ATMSUBINTERFACE": "syscall", - "syscall.IFT_ATMVCIENDPT": "syscall", - "syscall.IFT_ATMVIRTUAL": "syscall", - "syscall.IFT_BGPPOLICYACCOUNTING": "syscall", - "syscall.IFT_BLUETOOTH": "syscall", - "syscall.IFT_BRIDGE": "syscall", - "syscall.IFT_BSC": "syscall", - "syscall.IFT_CARP": "syscall", - "syscall.IFT_CCTEMUL": "syscall", - "syscall.IFT_CELLULAR": "syscall", - "syscall.IFT_CEPT": "syscall", - "syscall.IFT_CES": "syscall", - "syscall.IFT_CHANNEL": "syscall", - "syscall.IFT_CNR": "syscall", - "syscall.IFT_COFFEE": "syscall", - "syscall.IFT_COMPOSITELINK": "syscall", - "syscall.IFT_DCN": "syscall", - "syscall.IFT_DIGITALPOWERLINE": "syscall", - "syscall.IFT_DIGITALWRAPPEROVERHEADCHANNEL": "syscall", - "syscall.IFT_DLSW": "syscall", - "syscall.IFT_DOCSCABLEDOWNSTREAM": "syscall", - "syscall.IFT_DOCSCABLEMACLAYER": "syscall", - "syscall.IFT_DOCSCABLEUPSTREAM": "syscall", - "syscall.IFT_DOCSCABLEUPSTREAMCHANNEL": "syscall", - "syscall.IFT_DS0": "syscall", - "syscall.IFT_DS0BUNDLE": "syscall", - "syscall.IFT_DS1FDL": "syscall", - "syscall.IFT_DS3": "syscall", - "syscall.IFT_DTM": "syscall", - "syscall.IFT_DUMMY": "syscall", - "syscall.IFT_DVBASILN": "syscall", - "syscall.IFT_DVBASIOUT": "syscall", - "syscall.IFT_DVBRCCDOWNSTREAM": "syscall", - "syscall.IFT_DVBRCCMACLAYER": "syscall", - "syscall.IFT_DVBRCCUPSTREAM": "syscall", - "syscall.IFT_ECONET": "syscall", - "syscall.IFT_ENC": "syscall", - "syscall.IFT_EON": "syscall", - "syscall.IFT_EPLRS": "syscall", - "syscall.IFT_ESCON": "syscall", - "syscall.IFT_ETHER": "syscall", - "syscall.IFT_FAITH": "syscall", - "syscall.IFT_FAST": "syscall", - "syscall.IFT_FASTETHER": "syscall", - "syscall.IFT_FASTETHERFX": "syscall", - "syscall.IFT_FDDI": "syscall", - "syscall.IFT_FIBRECHANNEL": "syscall", - "syscall.IFT_FRAMERELAYINTERCONNECT": "syscall", - "syscall.IFT_FRAMERELAYMPI": "syscall", - "syscall.IFT_FRDLCIENDPT": "syscall", - "syscall.IFT_FRELAY": "syscall", - "syscall.IFT_FRELAYDCE": "syscall", - "syscall.IFT_FRF16MFRBUNDLE": "syscall", - "syscall.IFT_FRFORWARD": "syscall", - "syscall.IFT_G703AT2MB": "syscall", - "syscall.IFT_G703AT64K": "syscall", - "syscall.IFT_GIF": "syscall", - "syscall.IFT_GIGABITETHERNET": "syscall", - "syscall.IFT_GR303IDT": "syscall", - "syscall.IFT_GR303RDT": "syscall", - "syscall.IFT_H323GATEKEEPER": "syscall", - "syscall.IFT_H323PROXY": "syscall", - "syscall.IFT_HDH1822": "syscall", - "syscall.IFT_HDLC": "syscall", - "syscall.IFT_HDSL2": "syscall", - "syscall.IFT_HIPERLAN2": "syscall", - "syscall.IFT_HIPPI": "syscall", - "syscall.IFT_HIPPIINTERFACE": "syscall", - "syscall.IFT_HOSTPAD": "syscall", - "syscall.IFT_HSSI": "syscall", - "syscall.IFT_HY": "syscall", - "syscall.IFT_IBM370PARCHAN": "syscall", - "syscall.IFT_IDSL": "syscall", - "syscall.IFT_IEEE1394": "syscall", - "syscall.IFT_IEEE80211": "syscall", - "syscall.IFT_IEEE80212": "syscall", - "syscall.IFT_IEEE8023ADLAG": "syscall", - "syscall.IFT_IFGSN": "syscall", - "syscall.IFT_IMT": "syscall", - "syscall.IFT_INFINIBAND": "syscall", - "syscall.IFT_INTERLEAVE": "syscall", - "syscall.IFT_IP": "syscall", - "syscall.IFT_IPFORWARD": "syscall", - "syscall.IFT_IPOVERATM": "syscall", - "syscall.IFT_IPOVERCDLC": "syscall", - "syscall.IFT_IPOVERCLAW": "syscall", - "syscall.IFT_IPSWITCH": "syscall", - "syscall.IFT_IPXIP": "syscall", - "syscall.IFT_ISDN": "syscall", - "syscall.IFT_ISDNBASIC": "syscall", - "syscall.IFT_ISDNPRIMARY": "syscall", - "syscall.IFT_ISDNS": "syscall", - "syscall.IFT_ISDNU": "syscall", - "syscall.IFT_ISO88022LLC": "syscall", - "syscall.IFT_ISO88023": "syscall", - "syscall.IFT_ISO88024": "syscall", - "syscall.IFT_ISO88025": "syscall", - "syscall.IFT_ISO88025CRFPINT": "syscall", - "syscall.IFT_ISO88025DTR": "syscall", - "syscall.IFT_ISO88025FIBER": "syscall", - "syscall.IFT_ISO88026": "syscall", - "syscall.IFT_ISUP": "syscall", - "syscall.IFT_L2VLAN": "syscall", - "syscall.IFT_L3IPVLAN": "syscall", - "syscall.IFT_L3IPXVLAN": "syscall", - "syscall.IFT_LAPB": "syscall", - "syscall.IFT_LAPD": "syscall", - "syscall.IFT_LAPF": "syscall", - "syscall.IFT_LINEGROUP": "syscall", - "syscall.IFT_LOCALTALK": "syscall", - "syscall.IFT_LOOP": "syscall", - "syscall.IFT_MEDIAMAILOVERIP": "syscall", - "syscall.IFT_MFSIGLINK": "syscall", - "syscall.IFT_MIOX25": "syscall", - "syscall.IFT_MODEM": "syscall", - "syscall.IFT_MPC": "syscall", - "syscall.IFT_MPLS": "syscall", - "syscall.IFT_MPLSTUNNEL": "syscall", - "syscall.IFT_MSDSL": "syscall", - "syscall.IFT_MVL": "syscall", - "syscall.IFT_MYRINET": "syscall", - "syscall.IFT_NFAS": "syscall", - "syscall.IFT_NSIP": "syscall", - "syscall.IFT_OPTICALCHANNEL": "syscall", - "syscall.IFT_OPTICALTRANSPORT": "syscall", - "syscall.IFT_OTHER": "syscall", - "syscall.IFT_P10": "syscall", - "syscall.IFT_P80": "syscall", - "syscall.IFT_PARA": "syscall", - "syscall.IFT_PDP": "syscall", - "syscall.IFT_PFLOG": "syscall", - "syscall.IFT_PFLOW": "syscall", - "syscall.IFT_PFSYNC": "syscall", - "syscall.IFT_PLC": "syscall", - "syscall.IFT_PON155": "syscall", - "syscall.IFT_PON622": "syscall", - "syscall.IFT_POS": "syscall", - "syscall.IFT_PPP": "syscall", - "syscall.IFT_PPPMULTILINKBUNDLE": "syscall", - "syscall.IFT_PROPATM": "syscall", - "syscall.IFT_PROPBWAP2MP": "syscall", - "syscall.IFT_PROPCNLS": "syscall", - "syscall.IFT_PROPDOCSWIRELESSDOWNSTREAM": "syscall", - "syscall.IFT_PROPDOCSWIRELESSMACLAYER": "syscall", - "syscall.IFT_PROPDOCSWIRELESSUPSTREAM": "syscall", - "syscall.IFT_PROPMUX": "syscall", - "syscall.IFT_PROPVIRTUAL": "syscall", - "syscall.IFT_PROPWIRELESSP2P": "syscall", - "syscall.IFT_PTPSERIAL": "syscall", - "syscall.IFT_PVC": "syscall", - "syscall.IFT_Q2931": "syscall", - "syscall.IFT_QLLC": "syscall", - "syscall.IFT_RADIOMAC": "syscall", - "syscall.IFT_RADSL": "syscall", - "syscall.IFT_REACHDSL": "syscall", - "syscall.IFT_RFC1483": "syscall", - "syscall.IFT_RS232": "syscall", - "syscall.IFT_RSRB": "syscall", - "syscall.IFT_SDLC": "syscall", - "syscall.IFT_SDSL": "syscall", - "syscall.IFT_SHDSL": "syscall", - "syscall.IFT_SIP": "syscall", - "syscall.IFT_SIPSIG": "syscall", - "syscall.IFT_SIPTG": "syscall", - "syscall.IFT_SLIP": "syscall", - "syscall.IFT_SMDSDXI": "syscall", - "syscall.IFT_SMDSICIP": "syscall", - "syscall.IFT_SONET": "syscall", - "syscall.IFT_SONETOVERHEADCHANNEL": "syscall", - "syscall.IFT_SONETPATH": "syscall", - "syscall.IFT_SONETVT": "syscall", - "syscall.IFT_SRP": "syscall", - "syscall.IFT_SS7SIGLINK": "syscall", - "syscall.IFT_STACKTOSTACK": "syscall", - "syscall.IFT_STARLAN": "syscall", - "syscall.IFT_STF": "syscall", - "syscall.IFT_T1": "syscall", - "syscall.IFT_TDLC": "syscall", - "syscall.IFT_TELINK": "syscall", - "syscall.IFT_TERMPAD": "syscall", - "syscall.IFT_TR008": "syscall", - "syscall.IFT_TRANSPHDLC": "syscall", - "syscall.IFT_TUNNEL": "syscall", - "syscall.IFT_ULTRA": "syscall", - "syscall.IFT_USB": "syscall", - "syscall.IFT_V11": "syscall", - "syscall.IFT_V35": "syscall", - "syscall.IFT_V36": "syscall", - "syscall.IFT_V37": "syscall", - "syscall.IFT_VDSL": "syscall", - "syscall.IFT_VIRTUALIPADDRESS": "syscall", - "syscall.IFT_VIRTUALTG": "syscall", - "syscall.IFT_VOICEDID": "syscall", - "syscall.IFT_VOICEEM": "syscall", - "syscall.IFT_VOICEEMFGD": "syscall", - "syscall.IFT_VOICEENCAP": "syscall", - "syscall.IFT_VOICEFGDEANA": "syscall", - "syscall.IFT_VOICEFXO": "syscall", - "syscall.IFT_VOICEFXS": "syscall", - "syscall.IFT_VOICEOVERATM": "syscall", - "syscall.IFT_VOICEOVERCABLE": "syscall", - "syscall.IFT_VOICEOVERFRAMERELAY": "syscall", - "syscall.IFT_VOICEOVERIP": "syscall", - "syscall.IFT_X213": "syscall", - "syscall.IFT_X25": "syscall", - "syscall.IFT_X25DDN": "syscall", - "syscall.IFT_X25HUNTGROUP": "syscall", - "syscall.IFT_X25MLP": "syscall", - "syscall.IFT_X25PLE": "syscall", - "syscall.IFT_XETHER": "syscall", - "syscall.IGNBRK": "syscall", - "syscall.IGNCR": "syscall", - "syscall.IGNORE": "syscall", - "syscall.IGNPAR": "syscall", - "syscall.IMAXBEL": "syscall", - "syscall.INFINITE": "syscall", - "syscall.INLCR": "syscall", - "syscall.INPCK": "syscall", - "syscall.INVALID_FILE_ATTRIBUTES": "syscall", - "syscall.IN_ACCESS": "syscall", - "syscall.IN_ALL_EVENTS": "syscall", - "syscall.IN_ATTRIB": "syscall", - "syscall.IN_CLASSA_HOST": "syscall", - "syscall.IN_CLASSA_MAX": "syscall", - "syscall.IN_CLASSA_NET": "syscall", - "syscall.IN_CLASSA_NSHIFT": "syscall", - "syscall.IN_CLASSB_HOST": "syscall", - "syscall.IN_CLASSB_MAX": "syscall", - "syscall.IN_CLASSB_NET": "syscall", - "syscall.IN_CLASSB_NSHIFT": "syscall", - "syscall.IN_CLASSC_HOST": "syscall", - "syscall.IN_CLASSC_NET": "syscall", - "syscall.IN_CLASSC_NSHIFT": "syscall", - "syscall.IN_CLASSD_HOST": "syscall", - "syscall.IN_CLASSD_NET": "syscall", - "syscall.IN_CLASSD_NSHIFT": "syscall", - "syscall.IN_CLOEXEC": "syscall", - "syscall.IN_CLOSE": "syscall", - "syscall.IN_CLOSE_NOWRITE": "syscall", - "syscall.IN_CLOSE_WRITE": "syscall", - "syscall.IN_CREATE": "syscall", - "syscall.IN_DELETE": "syscall", - "syscall.IN_DELETE_SELF": "syscall", - "syscall.IN_DONT_FOLLOW": "syscall", - "syscall.IN_EXCL_UNLINK": "syscall", - "syscall.IN_IGNORED": "syscall", - "syscall.IN_ISDIR": "syscall", - "syscall.IN_LINKLOCALNETNUM": "syscall", - "syscall.IN_LOOPBACKNET": "syscall", - "syscall.IN_MASK_ADD": "syscall", - "syscall.IN_MODIFY": "syscall", - "syscall.IN_MOVE": "syscall", - "syscall.IN_MOVED_FROM": "syscall", - "syscall.IN_MOVED_TO": "syscall", - "syscall.IN_MOVE_SELF": "syscall", - "syscall.IN_NONBLOCK": "syscall", - "syscall.IN_ONESHOT": "syscall", - "syscall.IN_ONLYDIR": "syscall", - "syscall.IN_OPEN": "syscall", - "syscall.IN_Q_OVERFLOW": "syscall", - "syscall.IN_RFC3021_HOST": "syscall", - "syscall.IN_RFC3021_MASK": "syscall", - "syscall.IN_RFC3021_NET": "syscall", - "syscall.IN_RFC3021_NSHIFT": "syscall", - "syscall.IN_UNMOUNT": "syscall", - "syscall.IOC_IN": "syscall", - "syscall.IOC_INOUT": "syscall", - "syscall.IOC_OUT": "syscall", - "syscall.IOC_VENDOR": "syscall", - "syscall.IOC_WS2": "syscall", - "syscall.IPMreq": "syscall", - "syscall.IPMreqn": "syscall", - "syscall.IPPROTO_3PC": "syscall", - "syscall.IPPROTO_ADFS": "syscall", - "syscall.IPPROTO_AH": "syscall", - "syscall.IPPROTO_AHIP": "syscall", - "syscall.IPPROTO_APES": "syscall", - "syscall.IPPROTO_ARGUS": "syscall", - "syscall.IPPROTO_AX25": "syscall", - "syscall.IPPROTO_BHA": "syscall", - "syscall.IPPROTO_BLT": "syscall", - "syscall.IPPROTO_BRSATMON": "syscall", - "syscall.IPPROTO_CARP": "syscall", - "syscall.IPPROTO_CFTP": "syscall", - "syscall.IPPROTO_CHAOS": "syscall", - "syscall.IPPROTO_CMTP": "syscall", - "syscall.IPPROTO_COMP": "syscall", - "syscall.IPPROTO_CPHB": "syscall", - "syscall.IPPROTO_CPNX": "syscall", - "syscall.IPPROTO_DCCP": "syscall", - "syscall.IPPROTO_DDP": "syscall", - "syscall.IPPROTO_DGP": "syscall", - "syscall.IPPROTO_DIVERT": "syscall", - "syscall.IPPROTO_DIVERT_INIT": "syscall", - "syscall.IPPROTO_DIVERT_RESP": "syscall", - "syscall.IPPROTO_DONE": "syscall", - "syscall.IPPROTO_DSTOPTS": "syscall", - "syscall.IPPROTO_EGP": "syscall", - "syscall.IPPROTO_EMCON": "syscall", - "syscall.IPPROTO_ENCAP": "syscall", - "syscall.IPPROTO_EON": "syscall", - "syscall.IPPROTO_ESP": "syscall", - "syscall.IPPROTO_ETHERIP": "syscall", - "syscall.IPPROTO_FRAGMENT": "syscall", - "syscall.IPPROTO_GGP": "syscall", - "syscall.IPPROTO_GMTP": "syscall", - "syscall.IPPROTO_GRE": "syscall", - "syscall.IPPROTO_HELLO": "syscall", - "syscall.IPPROTO_HMP": "syscall", - "syscall.IPPROTO_HOPOPTS": "syscall", - "syscall.IPPROTO_ICMP": "syscall", - "syscall.IPPROTO_ICMPV6": "syscall", - "syscall.IPPROTO_IDP": "syscall", - "syscall.IPPROTO_IDPR": "syscall", - "syscall.IPPROTO_IDRP": "syscall", - "syscall.IPPROTO_IGMP": "syscall", - "syscall.IPPROTO_IGP": "syscall", - "syscall.IPPROTO_IGRP": "syscall", - "syscall.IPPROTO_IL": "syscall", - "syscall.IPPROTO_INLSP": "syscall", - "syscall.IPPROTO_INP": "syscall", - "syscall.IPPROTO_IP": "syscall", - "syscall.IPPROTO_IPCOMP": "syscall", - "syscall.IPPROTO_IPCV": "syscall", - "syscall.IPPROTO_IPEIP": "syscall", - "syscall.IPPROTO_IPIP": "syscall", - "syscall.IPPROTO_IPPC": "syscall", - "syscall.IPPROTO_IPV4": "syscall", - "syscall.IPPROTO_IPV6": "syscall", - "syscall.IPPROTO_IPV6_ICMP": "syscall", - "syscall.IPPROTO_IRTP": "syscall", - "syscall.IPPROTO_KRYPTOLAN": "syscall", - "syscall.IPPROTO_LARP": "syscall", - "syscall.IPPROTO_LEAF1": "syscall", - "syscall.IPPROTO_LEAF2": "syscall", - "syscall.IPPROTO_MAX": "syscall", - "syscall.IPPROTO_MAXID": "syscall", - "syscall.IPPROTO_MEAS": "syscall", - "syscall.IPPROTO_MH": "syscall", - "syscall.IPPROTO_MHRP": "syscall", - "syscall.IPPROTO_MICP": "syscall", - "syscall.IPPROTO_MOBILE": "syscall", - "syscall.IPPROTO_MPLS": "syscall", - "syscall.IPPROTO_MTP": "syscall", - "syscall.IPPROTO_MUX": "syscall", - "syscall.IPPROTO_ND": "syscall", - "syscall.IPPROTO_NHRP": "syscall", - "syscall.IPPROTO_NONE": "syscall", - "syscall.IPPROTO_NSP": "syscall", - "syscall.IPPROTO_NVPII": "syscall", - "syscall.IPPROTO_OLD_DIVERT": "syscall", - "syscall.IPPROTO_OSPFIGP": "syscall", - "syscall.IPPROTO_PFSYNC": "syscall", - "syscall.IPPROTO_PGM": "syscall", - "syscall.IPPROTO_PIGP": "syscall", - "syscall.IPPROTO_PIM": "syscall", - "syscall.IPPROTO_PRM": "syscall", - "syscall.IPPROTO_PUP": "syscall", - "syscall.IPPROTO_PVP": "syscall", - "syscall.IPPROTO_RAW": "syscall", - "syscall.IPPROTO_RCCMON": "syscall", - "syscall.IPPROTO_RDP": "syscall", - "syscall.IPPROTO_ROUTING": "syscall", - "syscall.IPPROTO_RSVP": "syscall", - "syscall.IPPROTO_RVD": "syscall", - "syscall.IPPROTO_SATEXPAK": "syscall", - "syscall.IPPROTO_SATMON": "syscall", - "syscall.IPPROTO_SCCSP": "syscall", - "syscall.IPPROTO_SCTP": "syscall", - "syscall.IPPROTO_SDRP": "syscall", - "syscall.IPPROTO_SEND": "syscall", - "syscall.IPPROTO_SEP": "syscall", - "syscall.IPPROTO_SKIP": "syscall", - "syscall.IPPROTO_SPACER": "syscall", - "syscall.IPPROTO_SRPC": "syscall", - "syscall.IPPROTO_ST": "syscall", - "syscall.IPPROTO_SVMTP": "syscall", - "syscall.IPPROTO_SWIPE": "syscall", - "syscall.IPPROTO_TCF": "syscall", - "syscall.IPPROTO_TCP": "syscall", - "syscall.IPPROTO_TLSP": "syscall", - "syscall.IPPROTO_TP": "syscall", - "syscall.IPPROTO_TPXX": "syscall", - "syscall.IPPROTO_TRUNK1": "syscall", - "syscall.IPPROTO_TRUNK2": "syscall", - "syscall.IPPROTO_TTP": "syscall", - "syscall.IPPROTO_UDP": "syscall", - "syscall.IPPROTO_UDPLITE": "syscall", - "syscall.IPPROTO_VINES": "syscall", - "syscall.IPPROTO_VISA": "syscall", - "syscall.IPPROTO_VMTP": "syscall", - "syscall.IPPROTO_VRRP": "syscall", - "syscall.IPPROTO_WBEXPAK": "syscall", - "syscall.IPPROTO_WBMON": "syscall", - "syscall.IPPROTO_WSN": "syscall", - "syscall.IPPROTO_XNET": "syscall", - "syscall.IPPROTO_XTP": "syscall", - "syscall.IPV6_2292DSTOPTS": "syscall", - "syscall.IPV6_2292HOPLIMIT": "syscall", - "syscall.IPV6_2292HOPOPTS": "syscall", - "syscall.IPV6_2292NEXTHOP": "syscall", - "syscall.IPV6_2292PKTINFO": "syscall", - "syscall.IPV6_2292PKTOPTIONS": "syscall", - "syscall.IPV6_2292RTHDR": "syscall", - "syscall.IPV6_ADDRFORM": "syscall", - "syscall.IPV6_ADD_MEMBERSHIP": "syscall", - "syscall.IPV6_AUTHHDR": "syscall", - "syscall.IPV6_AUTH_LEVEL": "syscall", - "syscall.IPV6_AUTOFLOWLABEL": "syscall", - "syscall.IPV6_BINDANY": "syscall", - "syscall.IPV6_BINDV6ONLY": "syscall", - "syscall.IPV6_BOUND_IF": "syscall", - "syscall.IPV6_CHECKSUM": "syscall", - "syscall.IPV6_DEFAULT_MULTICAST_HOPS": "syscall", - "syscall.IPV6_DEFAULT_MULTICAST_LOOP": "syscall", - "syscall.IPV6_DEFHLIM": "syscall", - "syscall.IPV6_DONTFRAG": "syscall", - "syscall.IPV6_DROP_MEMBERSHIP": "syscall", - "syscall.IPV6_DSTOPTS": "syscall", - "syscall.IPV6_ESP_NETWORK_LEVEL": "syscall", - "syscall.IPV6_ESP_TRANS_LEVEL": "syscall", - "syscall.IPV6_FAITH": "syscall", - "syscall.IPV6_FLOWINFO_MASK": "syscall", - "syscall.IPV6_FLOWLABEL_MASK": "syscall", - "syscall.IPV6_FRAGTTL": "syscall", - "syscall.IPV6_FW_ADD": "syscall", - "syscall.IPV6_FW_DEL": "syscall", - "syscall.IPV6_FW_FLUSH": "syscall", - "syscall.IPV6_FW_GET": "syscall", - "syscall.IPV6_FW_ZERO": "syscall", - "syscall.IPV6_HLIMDEC": "syscall", - "syscall.IPV6_HOPLIMIT": "syscall", - "syscall.IPV6_HOPOPTS": "syscall", - "syscall.IPV6_IPCOMP_LEVEL": "syscall", - "syscall.IPV6_IPSEC_POLICY": "syscall", - "syscall.IPV6_JOIN_ANYCAST": "syscall", - "syscall.IPV6_JOIN_GROUP": "syscall", - "syscall.IPV6_LEAVE_ANYCAST": "syscall", - "syscall.IPV6_LEAVE_GROUP": "syscall", - "syscall.IPV6_MAXHLIM": "syscall", - "syscall.IPV6_MAXOPTHDR": "syscall", - "syscall.IPV6_MAXPACKET": "syscall", - "syscall.IPV6_MAX_GROUP_SRC_FILTER": "syscall", - "syscall.IPV6_MAX_MEMBERSHIPS": "syscall", - "syscall.IPV6_MAX_SOCK_SRC_FILTER": "syscall", - "syscall.IPV6_MIN_MEMBERSHIPS": "syscall", - "syscall.IPV6_MMTU": "syscall", - "syscall.IPV6_MSFILTER": "syscall", - "syscall.IPV6_MTU": "syscall", - "syscall.IPV6_MTU_DISCOVER": "syscall", - "syscall.IPV6_MULTICAST_HOPS": "syscall", - "syscall.IPV6_MULTICAST_IF": "syscall", - "syscall.IPV6_MULTICAST_LOOP": "syscall", - "syscall.IPV6_NEXTHOP": "syscall", - "syscall.IPV6_OPTIONS": "syscall", - "syscall.IPV6_PATHMTU": "syscall", - "syscall.IPV6_PIPEX": "syscall", - "syscall.IPV6_PKTINFO": "syscall", - "syscall.IPV6_PMTUDISC_DO": "syscall", - "syscall.IPV6_PMTUDISC_DONT": "syscall", - "syscall.IPV6_PMTUDISC_PROBE": "syscall", - "syscall.IPV6_PMTUDISC_WANT": "syscall", - "syscall.IPV6_PORTRANGE": "syscall", - "syscall.IPV6_PORTRANGE_DEFAULT": "syscall", - "syscall.IPV6_PORTRANGE_HIGH": "syscall", - "syscall.IPV6_PORTRANGE_LOW": "syscall", - "syscall.IPV6_PREFER_TEMPADDR": "syscall", - "syscall.IPV6_RECVDSTOPTS": "syscall", - "syscall.IPV6_RECVDSTPORT": "syscall", - "syscall.IPV6_RECVERR": "syscall", - "syscall.IPV6_RECVHOPLIMIT": "syscall", - "syscall.IPV6_RECVHOPOPTS": "syscall", - "syscall.IPV6_RECVPATHMTU": "syscall", - "syscall.IPV6_RECVPKTINFO": "syscall", - "syscall.IPV6_RECVRTHDR": "syscall", - "syscall.IPV6_RECVTCLASS": "syscall", - "syscall.IPV6_ROUTER_ALERT": "syscall", - "syscall.IPV6_RTABLE": "syscall", - "syscall.IPV6_RTHDR": "syscall", - "syscall.IPV6_RTHDRDSTOPTS": "syscall", - "syscall.IPV6_RTHDR_LOOSE": "syscall", - "syscall.IPV6_RTHDR_STRICT": "syscall", - "syscall.IPV6_RTHDR_TYPE_0": "syscall", - "syscall.IPV6_RXDSTOPTS": "syscall", - "syscall.IPV6_RXHOPOPTS": "syscall", - "syscall.IPV6_SOCKOPT_RESERVED1": "syscall", - "syscall.IPV6_TCLASS": "syscall", - "syscall.IPV6_UNICAST_HOPS": "syscall", - "syscall.IPV6_USE_MIN_MTU": "syscall", - "syscall.IPV6_V6ONLY": "syscall", - "syscall.IPV6_VERSION": "syscall", - "syscall.IPV6_VERSION_MASK": "syscall", - "syscall.IPV6_XFRM_POLICY": "syscall", - "syscall.IP_ADD_MEMBERSHIP": "syscall", - "syscall.IP_ADD_SOURCE_MEMBERSHIP": "syscall", - "syscall.IP_AUTH_LEVEL": "syscall", - "syscall.IP_BINDANY": "syscall", - "syscall.IP_BLOCK_SOURCE": "syscall", - "syscall.IP_BOUND_IF": "syscall", - "syscall.IP_DEFAULT_MULTICAST_LOOP": "syscall", - "syscall.IP_DEFAULT_MULTICAST_TTL": "syscall", - "syscall.IP_DF": "syscall", - "syscall.IP_DIVERTFL": "syscall", - "syscall.IP_DONTFRAG": "syscall", - "syscall.IP_DROP_MEMBERSHIP": "syscall", - "syscall.IP_DROP_SOURCE_MEMBERSHIP": "syscall", - "syscall.IP_DUMMYNET3": "syscall", - "syscall.IP_DUMMYNET_CONFIGURE": "syscall", - "syscall.IP_DUMMYNET_DEL": "syscall", - "syscall.IP_DUMMYNET_FLUSH": "syscall", - "syscall.IP_DUMMYNET_GET": "syscall", - "syscall.IP_EF": "syscall", - "syscall.IP_ERRORMTU": "syscall", - "syscall.IP_ESP_NETWORK_LEVEL": "syscall", - "syscall.IP_ESP_TRANS_LEVEL": "syscall", - "syscall.IP_FAITH": "syscall", - "syscall.IP_FREEBIND": "syscall", - "syscall.IP_FW3": "syscall", - "syscall.IP_FW_ADD": "syscall", - "syscall.IP_FW_DEL": "syscall", - "syscall.IP_FW_FLUSH": "syscall", - "syscall.IP_FW_GET": "syscall", - "syscall.IP_FW_NAT_CFG": "syscall", - "syscall.IP_FW_NAT_DEL": "syscall", - "syscall.IP_FW_NAT_GET_CONFIG": "syscall", - "syscall.IP_FW_NAT_GET_LOG": "syscall", - "syscall.IP_FW_RESETLOG": "syscall", - "syscall.IP_FW_TABLE_ADD": "syscall", - "syscall.IP_FW_TABLE_DEL": "syscall", - "syscall.IP_FW_TABLE_FLUSH": "syscall", - "syscall.IP_FW_TABLE_GETSIZE": "syscall", - "syscall.IP_FW_TABLE_LIST": "syscall", - "syscall.IP_FW_ZERO": "syscall", - "syscall.IP_HDRINCL": "syscall", - "syscall.IP_IPCOMP_LEVEL": "syscall", - "syscall.IP_IPSECFLOWINFO": "syscall", - "syscall.IP_IPSEC_LOCAL_AUTH": "syscall", - "syscall.IP_IPSEC_LOCAL_CRED": "syscall", - "syscall.IP_IPSEC_LOCAL_ID": "syscall", - "syscall.IP_IPSEC_POLICY": "syscall", - "syscall.IP_IPSEC_REMOTE_AUTH": "syscall", - "syscall.IP_IPSEC_REMOTE_CRED": "syscall", - "syscall.IP_IPSEC_REMOTE_ID": "syscall", - "syscall.IP_MAXPACKET": "syscall", - "syscall.IP_MAX_GROUP_SRC_FILTER": "syscall", - "syscall.IP_MAX_MEMBERSHIPS": "syscall", - "syscall.IP_MAX_SOCK_MUTE_FILTER": "syscall", - "syscall.IP_MAX_SOCK_SRC_FILTER": "syscall", - "syscall.IP_MAX_SOURCE_FILTER": "syscall", - "syscall.IP_MF": "syscall", - "syscall.IP_MINFRAGSIZE": "syscall", - "syscall.IP_MINTTL": "syscall", - "syscall.IP_MIN_MEMBERSHIPS": "syscall", - "syscall.IP_MSFILTER": "syscall", - "syscall.IP_MSS": "syscall", - "syscall.IP_MTU": "syscall", - "syscall.IP_MTU_DISCOVER": "syscall", - "syscall.IP_MULTICAST_IF": "syscall", - "syscall.IP_MULTICAST_IFINDEX": "syscall", - "syscall.IP_MULTICAST_LOOP": "syscall", - "syscall.IP_MULTICAST_TTL": "syscall", - "syscall.IP_MULTICAST_VIF": "syscall", - "syscall.IP_NAT__XXX": "syscall", - "syscall.IP_OFFMASK": "syscall", - "syscall.IP_OLD_FW_ADD": "syscall", - "syscall.IP_OLD_FW_DEL": "syscall", - "syscall.IP_OLD_FW_FLUSH": "syscall", - "syscall.IP_OLD_FW_GET": "syscall", - "syscall.IP_OLD_FW_RESETLOG": "syscall", - "syscall.IP_OLD_FW_ZERO": "syscall", - "syscall.IP_ONESBCAST": "syscall", - "syscall.IP_OPTIONS": "syscall", - "syscall.IP_ORIGDSTADDR": "syscall", - "syscall.IP_PASSSEC": "syscall", - "syscall.IP_PIPEX": "syscall", - "syscall.IP_PKTINFO": "syscall", - "syscall.IP_PKTOPTIONS": "syscall", - "syscall.IP_PMTUDISC": "syscall", - "syscall.IP_PMTUDISC_DO": "syscall", - "syscall.IP_PMTUDISC_DONT": "syscall", - "syscall.IP_PMTUDISC_PROBE": "syscall", - "syscall.IP_PMTUDISC_WANT": "syscall", - "syscall.IP_PORTRANGE": "syscall", - "syscall.IP_PORTRANGE_DEFAULT": "syscall", - "syscall.IP_PORTRANGE_HIGH": "syscall", - "syscall.IP_PORTRANGE_LOW": "syscall", - "syscall.IP_RECVDSTADDR": "syscall", - "syscall.IP_RECVDSTPORT": "syscall", - "syscall.IP_RECVERR": "syscall", - "syscall.IP_RECVIF": "syscall", - "syscall.IP_RECVOPTS": "syscall", - "syscall.IP_RECVORIGDSTADDR": "syscall", - "syscall.IP_RECVPKTINFO": "syscall", - "syscall.IP_RECVRETOPTS": "syscall", - "syscall.IP_RECVRTABLE": "syscall", - "syscall.IP_RECVTOS": "syscall", - "syscall.IP_RECVTTL": "syscall", - "syscall.IP_RETOPTS": "syscall", - "syscall.IP_RF": "syscall", - "syscall.IP_ROUTER_ALERT": "syscall", - "syscall.IP_RSVP_OFF": "syscall", - "syscall.IP_RSVP_ON": "syscall", - "syscall.IP_RSVP_VIF_OFF": "syscall", - "syscall.IP_RSVP_VIF_ON": "syscall", - "syscall.IP_RTABLE": "syscall", - "syscall.IP_SENDSRCADDR": "syscall", - "syscall.IP_STRIPHDR": "syscall", - "syscall.IP_TOS": "syscall", - "syscall.IP_TRAFFIC_MGT_BACKGROUND": "syscall", - "syscall.IP_TRANSPARENT": "syscall", - "syscall.IP_TTL": "syscall", - "syscall.IP_UNBLOCK_SOURCE": "syscall", - "syscall.IP_XFRM_POLICY": "syscall", - "syscall.IPv6MTUInfo": "syscall", - "syscall.IPv6Mreq": "syscall", - "syscall.ISIG": "syscall", - "syscall.ISTRIP": "syscall", - "syscall.IUCLC": "syscall", - "syscall.IUTF8": "syscall", - "syscall.IXANY": "syscall", - "syscall.IXOFF": "syscall", - "syscall.IXON": "syscall", - "syscall.IfAddrmsg": "syscall", - "syscall.IfAnnounceMsghdr": "syscall", - "syscall.IfData": "syscall", - "syscall.IfInfomsg": "syscall", - "syscall.IfMsghdr": "syscall", - "syscall.IfaMsghdr": "syscall", - "syscall.IfmaMsghdr": "syscall", - "syscall.IfmaMsghdr2": "syscall", - "syscall.ImplementsGetwd": "syscall", - "syscall.Inet4Pktinfo": "syscall", - "syscall.Inet6Pktinfo": "syscall", - "syscall.InotifyAddWatch": "syscall", - "syscall.InotifyEvent": "syscall", - "syscall.InotifyInit": "syscall", - "syscall.InotifyInit1": "syscall", - "syscall.InotifyRmWatch": "syscall", - "syscall.InterfaceAddrMessage": "syscall", - "syscall.InterfaceAnnounceMessage": "syscall", - "syscall.InterfaceInfo": "syscall", - "syscall.InterfaceMessage": "syscall", - "syscall.InterfaceMulticastAddrMessage": "syscall", - "syscall.InvalidHandle": "syscall", - "syscall.Ioperm": "syscall", - "syscall.Iopl": "syscall", - "syscall.Iovec": "syscall", - "syscall.IpAdapterInfo": "syscall", - "syscall.IpAddrString": "syscall", - "syscall.IpAddressString": "syscall", - "syscall.IpMaskString": "syscall", - "syscall.Issetugid": "syscall", - "syscall.KEY_ALL_ACCESS": "syscall", - "syscall.KEY_CREATE_LINK": "syscall", - "syscall.KEY_CREATE_SUB_KEY": "syscall", - "syscall.KEY_ENUMERATE_SUB_KEYS": "syscall", - "syscall.KEY_EXECUTE": "syscall", - "syscall.KEY_NOTIFY": "syscall", - "syscall.KEY_QUERY_VALUE": "syscall", - "syscall.KEY_READ": "syscall", - "syscall.KEY_SET_VALUE": "syscall", - "syscall.KEY_WOW64_32KEY": "syscall", - "syscall.KEY_WOW64_64KEY": "syscall", - "syscall.KEY_WRITE": "syscall", - "syscall.Kevent": "syscall", - "syscall.Kevent_t": "syscall", - "syscall.Kill": "syscall", - "syscall.Klogctl": "syscall", - "syscall.Kqueue": "syscall", - "syscall.LANG_ENGLISH": "syscall", - "syscall.LAYERED_PROTOCOL": "syscall", - "syscall.LCNT_OVERLOAD_FLUSH": "syscall", - "syscall.LINUX_REBOOT_CMD_CAD_OFF": "syscall", - "syscall.LINUX_REBOOT_CMD_CAD_ON": "syscall", - "syscall.LINUX_REBOOT_CMD_HALT": "syscall", - "syscall.LINUX_REBOOT_CMD_KEXEC": "syscall", - "syscall.LINUX_REBOOT_CMD_POWER_OFF": "syscall", - "syscall.LINUX_REBOOT_CMD_RESTART": "syscall", - "syscall.LINUX_REBOOT_CMD_RESTART2": "syscall", - "syscall.LINUX_REBOOT_CMD_SW_SUSPEND": "syscall", - "syscall.LINUX_REBOOT_MAGIC1": "syscall", - "syscall.LINUX_REBOOT_MAGIC2": "syscall", - "syscall.LOCK_EX": "syscall", - "syscall.LOCK_NB": "syscall", - "syscall.LOCK_SH": "syscall", - "syscall.LOCK_UN": "syscall", - "syscall.LazyDLL": "syscall", - "syscall.LazyProc": "syscall", - "syscall.Lchown": "syscall", - "syscall.Linger": "syscall", - "syscall.Link": "syscall", - "syscall.Listen": "syscall", - "syscall.Listxattr": "syscall", - "syscall.LoadCancelIoEx": "syscall", - "syscall.LoadConnectEx": "syscall", - "syscall.LoadDLL": "syscall", - "syscall.LoadGetAddrInfo": "syscall", - "syscall.LoadLibrary": "syscall", - "syscall.LoadSetFileCompletionNotificationModes": "syscall", - "syscall.LocalFree": "syscall", - "syscall.Log2phys_t": "syscall", - "syscall.LookupAccountName": "syscall", - "syscall.LookupAccountSid": "syscall", - "syscall.LookupSID": "syscall", - "syscall.LsfJump": "syscall", - "syscall.LsfSocket": "syscall", - "syscall.LsfStmt": "syscall", - "syscall.Lstat": "syscall", - "syscall.MADV_AUTOSYNC": "syscall", - "syscall.MADV_CAN_REUSE": "syscall", - "syscall.MADV_CORE": "syscall", - "syscall.MADV_DOFORK": "syscall", - "syscall.MADV_DONTFORK": "syscall", - "syscall.MADV_DONTNEED": "syscall", - "syscall.MADV_FREE": "syscall", - "syscall.MADV_FREE_REUSABLE": "syscall", - "syscall.MADV_FREE_REUSE": "syscall", - "syscall.MADV_HUGEPAGE": "syscall", - "syscall.MADV_HWPOISON": "syscall", - "syscall.MADV_MERGEABLE": "syscall", - "syscall.MADV_NOCORE": "syscall", - "syscall.MADV_NOHUGEPAGE": "syscall", - "syscall.MADV_NORMAL": "syscall", - "syscall.MADV_NOSYNC": "syscall", - "syscall.MADV_PROTECT": "syscall", - "syscall.MADV_RANDOM": "syscall", - "syscall.MADV_REMOVE": "syscall", - "syscall.MADV_SEQUENTIAL": "syscall", - "syscall.MADV_SPACEAVAIL": "syscall", - "syscall.MADV_UNMERGEABLE": "syscall", - "syscall.MADV_WILLNEED": "syscall", - "syscall.MADV_ZERO_WIRED_PAGES": "syscall", - "syscall.MAP_32BIT": "syscall", - "syscall.MAP_ALIGNED_SUPER": "syscall", - "syscall.MAP_ALIGNMENT_16MB": "syscall", - "syscall.MAP_ALIGNMENT_1TB": "syscall", - "syscall.MAP_ALIGNMENT_256TB": "syscall", - "syscall.MAP_ALIGNMENT_4GB": "syscall", - "syscall.MAP_ALIGNMENT_64KB": "syscall", - "syscall.MAP_ALIGNMENT_64PB": "syscall", - "syscall.MAP_ALIGNMENT_MASK": "syscall", - "syscall.MAP_ALIGNMENT_SHIFT": "syscall", - "syscall.MAP_ANON": "syscall", - "syscall.MAP_ANONYMOUS": "syscall", - "syscall.MAP_COPY": "syscall", - "syscall.MAP_DENYWRITE": "syscall", - "syscall.MAP_EXECUTABLE": "syscall", - "syscall.MAP_FILE": "syscall", - "syscall.MAP_FIXED": "syscall", - "syscall.MAP_FLAGMASK": "syscall", - "syscall.MAP_GROWSDOWN": "syscall", - "syscall.MAP_HASSEMAPHORE": "syscall", - "syscall.MAP_HUGETLB": "syscall", - "syscall.MAP_INHERIT": "syscall", - "syscall.MAP_INHERIT_COPY": "syscall", - "syscall.MAP_INHERIT_DEFAULT": "syscall", - "syscall.MAP_INHERIT_DONATE_COPY": "syscall", - "syscall.MAP_INHERIT_NONE": "syscall", - "syscall.MAP_INHERIT_SHARE": "syscall", - "syscall.MAP_JIT": "syscall", - "syscall.MAP_LOCKED": "syscall", - "syscall.MAP_NOCACHE": "syscall", - "syscall.MAP_NOCORE": "syscall", - "syscall.MAP_NOEXTEND": "syscall", - "syscall.MAP_NONBLOCK": "syscall", - "syscall.MAP_NORESERVE": "syscall", - "syscall.MAP_NOSYNC": "syscall", - "syscall.MAP_POPULATE": "syscall", - "syscall.MAP_PREFAULT_READ": "syscall", - "syscall.MAP_PRIVATE": "syscall", - "syscall.MAP_RENAME": "syscall", - "syscall.MAP_RESERVED0080": "syscall", - "syscall.MAP_RESERVED0100": "syscall", - "syscall.MAP_SHARED": "syscall", - "syscall.MAP_STACK": "syscall", - "syscall.MAP_TRYFIXED": "syscall", - "syscall.MAP_TYPE": "syscall", - "syscall.MAP_WIRED": "syscall", - "syscall.MAXLEN_IFDESCR": "syscall", - "syscall.MAXLEN_PHYSADDR": "syscall", - "syscall.MAX_ADAPTER_ADDRESS_LENGTH": "syscall", - "syscall.MAX_ADAPTER_DESCRIPTION_LENGTH": "syscall", - "syscall.MAX_ADAPTER_NAME_LENGTH": "syscall", - "syscall.MAX_COMPUTERNAME_LENGTH": "syscall", - "syscall.MAX_INTERFACE_NAME_LEN": "syscall", - "syscall.MAX_LONG_PATH": "syscall", - "syscall.MAX_PATH": "syscall", - "syscall.MAX_PROTOCOL_CHAIN": "syscall", - "syscall.MCL_CURRENT": "syscall", - "syscall.MCL_FUTURE": "syscall", - "syscall.MNT_DETACH": "syscall", - "syscall.MNT_EXPIRE": "syscall", - "syscall.MNT_FORCE": "syscall", - "syscall.MSG_BCAST": "syscall", - "syscall.MSG_CMSG_CLOEXEC": "syscall", - "syscall.MSG_COMPAT": "syscall", - "syscall.MSG_CONFIRM": "syscall", - "syscall.MSG_CONTROLMBUF": "syscall", - "syscall.MSG_CTRUNC": "syscall", - "syscall.MSG_DONTROUTE": "syscall", - "syscall.MSG_DONTWAIT": "syscall", - "syscall.MSG_EOF": "syscall", - "syscall.MSG_EOR": "syscall", - "syscall.MSG_ERRQUEUE": "syscall", - "syscall.MSG_FASTOPEN": "syscall", - "syscall.MSG_FIN": "syscall", - "syscall.MSG_FLUSH": "syscall", - "syscall.MSG_HAVEMORE": "syscall", - "syscall.MSG_HOLD": "syscall", - "syscall.MSG_IOVUSRSPACE": "syscall", - "syscall.MSG_LENUSRSPACE": "syscall", - "syscall.MSG_MCAST": "syscall", - "syscall.MSG_MORE": "syscall", - "syscall.MSG_NAMEMBUF": "syscall", - "syscall.MSG_NBIO": "syscall", - "syscall.MSG_NEEDSA": "syscall", - "syscall.MSG_NOSIGNAL": "syscall", - "syscall.MSG_NOTIFICATION": "syscall", - "syscall.MSG_OOB": "syscall", - "syscall.MSG_PEEK": "syscall", - "syscall.MSG_PROXY": "syscall", - "syscall.MSG_RCVMORE": "syscall", - "syscall.MSG_RST": "syscall", - "syscall.MSG_SEND": "syscall", - "syscall.MSG_SYN": "syscall", - "syscall.MSG_TRUNC": "syscall", - "syscall.MSG_TRYHARD": "syscall", - "syscall.MSG_USERFLAGS": "syscall", - "syscall.MSG_WAITALL": "syscall", - "syscall.MSG_WAITFORONE": "syscall", - "syscall.MSG_WAITSTREAM": "syscall", - "syscall.MS_ACTIVE": "syscall", - "syscall.MS_ASYNC": "syscall", - "syscall.MS_BIND": "syscall", - "syscall.MS_DEACTIVATE": "syscall", - "syscall.MS_DIRSYNC": "syscall", - "syscall.MS_INVALIDATE": "syscall", - "syscall.MS_I_VERSION": "syscall", - "syscall.MS_KERNMOUNT": "syscall", - "syscall.MS_KILLPAGES": "syscall", - "syscall.MS_MANDLOCK": "syscall", - "syscall.MS_MGC_MSK": "syscall", - "syscall.MS_MGC_VAL": "syscall", - "syscall.MS_MOVE": "syscall", - "syscall.MS_NOATIME": "syscall", - "syscall.MS_NODEV": "syscall", - "syscall.MS_NODIRATIME": "syscall", - "syscall.MS_NOEXEC": "syscall", - "syscall.MS_NOSUID": "syscall", - "syscall.MS_NOUSER": "syscall", - "syscall.MS_POSIXACL": "syscall", - "syscall.MS_PRIVATE": "syscall", - "syscall.MS_RDONLY": "syscall", - "syscall.MS_REC": "syscall", - "syscall.MS_RELATIME": "syscall", - "syscall.MS_REMOUNT": "syscall", - "syscall.MS_RMT_MASK": "syscall", - "syscall.MS_SHARED": "syscall", - "syscall.MS_SILENT": "syscall", - "syscall.MS_SLAVE": "syscall", - "syscall.MS_STRICTATIME": "syscall", - "syscall.MS_SYNC": "syscall", - "syscall.MS_SYNCHRONOUS": "syscall", - "syscall.MS_UNBINDABLE": "syscall", - "syscall.Madvise": "syscall", - "syscall.MapViewOfFile": "syscall", - "syscall.MaxTokenInfoClass": "syscall", - "syscall.Mclpool": "syscall", - "syscall.MibIfRow": "syscall", - "syscall.Mkdir": "syscall", - "syscall.Mkdirat": "syscall", - "syscall.Mkfifo": "syscall", - "syscall.Mknod": "syscall", - "syscall.Mknodat": "syscall", - "syscall.Mlock": "syscall", - "syscall.Mlockall": "syscall", - "syscall.Mmap": "syscall", - "syscall.Mount": "syscall", - "syscall.MoveFile": "syscall", - "syscall.Mprotect": "syscall", - "syscall.Msghdr": "syscall", - "syscall.Munlock": "syscall", - "syscall.Munlockall": "syscall", - "syscall.Munmap": "syscall", - "syscall.MustLoadDLL": "syscall", - "syscall.NAME_MAX": "syscall", - "syscall.NETLINK_ADD_MEMBERSHIP": "syscall", - "syscall.NETLINK_AUDIT": "syscall", - "syscall.NETLINK_BROADCAST_ERROR": "syscall", - "syscall.NETLINK_CONNECTOR": "syscall", - "syscall.NETLINK_DNRTMSG": "syscall", - "syscall.NETLINK_DROP_MEMBERSHIP": "syscall", - "syscall.NETLINK_ECRYPTFS": "syscall", - "syscall.NETLINK_FIB_LOOKUP": "syscall", - "syscall.NETLINK_FIREWALL": "syscall", - "syscall.NETLINK_GENERIC": "syscall", - "syscall.NETLINK_INET_DIAG": "syscall", - "syscall.NETLINK_IP6_FW": "syscall", - "syscall.NETLINK_ISCSI": "syscall", - "syscall.NETLINK_KOBJECT_UEVENT": "syscall", - "syscall.NETLINK_NETFILTER": "syscall", - "syscall.NETLINK_NFLOG": "syscall", - "syscall.NETLINK_NO_ENOBUFS": "syscall", - "syscall.NETLINK_PKTINFO": "syscall", - "syscall.NETLINK_RDMA": "syscall", - "syscall.NETLINK_ROUTE": "syscall", - "syscall.NETLINK_SCSITRANSPORT": "syscall", - "syscall.NETLINK_SELINUX": "syscall", - "syscall.NETLINK_UNUSED": "syscall", - "syscall.NETLINK_USERSOCK": "syscall", - "syscall.NETLINK_XFRM": "syscall", - "syscall.NET_RT_DUMP": "syscall", - "syscall.NET_RT_DUMP2": "syscall", - "syscall.NET_RT_FLAGS": "syscall", - "syscall.NET_RT_IFLIST": "syscall", - "syscall.NET_RT_IFLIST2": "syscall", - "syscall.NET_RT_IFLISTL": "syscall", - "syscall.NET_RT_IFMALIST": "syscall", - "syscall.NET_RT_MAXID": "syscall", - "syscall.NET_RT_OIFLIST": "syscall", - "syscall.NET_RT_OOIFLIST": "syscall", - "syscall.NET_RT_STAT": "syscall", - "syscall.NET_RT_STATS": "syscall", - "syscall.NET_RT_TABLE": "syscall", - "syscall.NET_RT_TRASH": "syscall", - "syscall.NLA_ALIGNTO": "syscall", - "syscall.NLA_F_NESTED": "syscall", - "syscall.NLA_F_NET_BYTEORDER": "syscall", - "syscall.NLA_HDRLEN": "syscall", - "syscall.NLMSG_ALIGNTO": "syscall", - "syscall.NLMSG_DONE": "syscall", - "syscall.NLMSG_ERROR": "syscall", - "syscall.NLMSG_HDRLEN": "syscall", - "syscall.NLMSG_MIN_TYPE": "syscall", - "syscall.NLMSG_NOOP": "syscall", - "syscall.NLMSG_OVERRUN": "syscall", - "syscall.NLM_F_ACK": "syscall", - "syscall.NLM_F_APPEND": "syscall", - "syscall.NLM_F_ATOMIC": "syscall", - "syscall.NLM_F_CREATE": "syscall", - "syscall.NLM_F_DUMP": "syscall", - "syscall.NLM_F_ECHO": "syscall", - "syscall.NLM_F_EXCL": "syscall", - "syscall.NLM_F_MATCH": "syscall", - "syscall.NLM_F_MULTI": "syscall", - "syscall.NLM_F_REPLACE": "syscall", - "syscall.NLM_F_REQUEST": "syscall", - "syscall.NLM_F_ROOT": "syscall", - "syscall.NOFLSH": "syscall", - "syscall.NOTE_ABSOLUTE": "syscall", - "syscall.NOTE_ATTRIB": "syscall", - "syscall.NOTE_CHILD": "syscall", - "syscall.NOTE_DELETE": "syscall", - "syscall.NOTE_EOF": "syscall", - "syscall.NOTE_EXEC": "syscall", - "syscall.NOTE_EXIT": "syscall", - "syscall.NOTE_EXITSTATUS": "syscall", - "syscall.NOTE_EXTEND": "syscall", - "syscall.NOTE_FFAND": "syscall", - "syscall.NOTE_FFCOPY": "syscall", - "syscall.NOTE_FFCTRLMASK": "syscall", - "syscall.NOTE_FFLAGSMASK": "syscall", - "syscall.NOTE_FFNOP": "syscall", - "syscall.NOTE_FFOR": "syscall", - "syscall.NOTE_FORK": "syscall", - "syscall.NOTE_LINK": "syscall", - "syscall.NOTE_LOWAT": "syscall", - "syscall.NOTE_NONE": "syscall", - "syscall.NOTE_NSECONDS": "syscall", - "syscall.NOTE_PCTRLMASK": "syscall", - "syscall.NOTE_PDATAMASK": "syscall", - "syscall.NOTE_REAP": "syscall", - "syscall.NOTE_RENAME": "syscall", - "syscall.NOTE_RESOURCEEND": "syscall", - "syscall.NOTE_REVOKE": "syscall", - "syscall.NOTE_SECONDS": "syscall", - "syscall.NOTE_SIGNAL": "syscall", - "syscall.NOTE_TRACK": "syscall", - "syscall.NOTE_TRACKERR": "syscall", - "syscall.NOTE_TRIGGER": "syscall", - "syscall.NOTE_TRUNCATE": "syscall", - "syscall.NOTE_USECONDS": "syscall", - "syscall.NOTE_VM_ERROR": "syscall", - "syscall.NOTE_VM_PRESSURE": "syscall", - "syscall.NOTE_VM_PRESSURE_SUDDEN_TERMINATE": "syscall", - "syscall.NOTE_VM_PRESSURE_TERMINATE": "syscall", - "syscall.NOTE_WRITE": "syscall", - "syscall.NameCanonical": "syscall", - "syscall.NameCanonicalEx": "syscall", - "syscall.NameDisplay": "syscall", - "syscall.NameDnsDomain": "syscall", - "syscall.NameFullyQualifiedDN": "syscall", - "syscall.NameSamCompatible": "syscall", - "syscall.NameServicePrincipal": "syscall", - "syscall.NameUniqueId": "syscall", - "syscall.NameUnknown": "syscall", - "syscall.NameUserPrincipal": "syscall", - "syscall.Nanosleep": "syscall", - "syscall.NetApiBufferFree": "syscall", - "syscall.NetGetJoinInformation": "syscall", - "syscall.NetSetupDomainName": "syscall", - "syscall.NetSetupUnjoined": "syscall", - "syscall.NetSetupUnknownStatus": "syscall", - "syscall.NetSetupWorkgroupName": "syscall", - "syscall.NetUserGetInfo": "syscall", - "syscall.NetlinkMessage": "syscall", - "syscall.NetlinkRIB": "syscall", - "syscall.NetlinkRouteAttr": "syscall", - "syscall.NetlinkRouteRequest": "syscall", - "syscall.NewCallback": "syscall", - "syscall.NewCallbackCDecl": "syscall", - "syscall.NewLazyDLL": "syscall", - "syscall.NlAttr": "syscall", - "syscall.NlMsgerr": "syscall", - "syscall.NlMsghdr": "syscall", - "syscall.NsecToFiletime": "syscall", - "syscall.NsecToTimespec": "syscall", - "syscall.NsecToTimeval": "syscall", - "syscall.Ntohs": "syscall", - "syscall.OCRNL": "syscall", - "syscall.OFDEL": "syscall", - "syscall.OFILL": "syscall", - "syscall.OFIOGETBMAP": "syscall", - "syscall.OID_PKIX_KP_SERVER_AUTH": "syscall", - "syscall.OID_SERVER_GATED_CRYPTO": "syscall", - "syscall.OID_SGC_NETSCAPE": "syscall", - "syscall.OLCUC": "syscall", - "syscall.ONLCR": "syscall", - "syscall.ONLRET": "syscall", - "syscall.ONOCR": "syscall", - "syscall.ONOEOT": "syscall", - "syscall.OPEN_ALWAYS": "syscall", - "syscall.OPEN_EXISTING": "syscall", - "syscall.OPOST": "syscall", - "syscall.O_ACCMODE": "syscall", - "syscall.O_ALERT": "syscall", - "syscall.O_ALT_IO": "syscall", - "syscall.O_APPEND": "syscall", - "syscall.O_ASYNC": "syscall", - "syscall.O_CLOEXEC": "syscall", - "syscall.O_CREAT": "syscall", - "syscall.O_DIRECT": "syscall", - "syscall.O_DIRECTORY": "syscall", - "syscall.O_DSYNC": "syscall", - "syscall.O_EVTONLY": "syscall", - "syscall.O_EXCL": "syscall", - "syscall.O_EXEC": "syscall", - "syscall.O_EXLOCK": "syscall", - "syscall.O_FSYNC": "syscall", - "syscall.O_LARGEFILE": "syscall", - "syscall.O_NDELAY": "syscall", - "syscall.O_NOATIME": "syscall", - "syscall.O_NOCTTY": "syscall", - "syscall.O_NOFOLLOW": "syscall", - "syscall.O_NONBLOCK": "syscall", - "syscall.O_NOSIGPIPE": "syscall", - "syscall.O_POPUP": "syscall", - "syscall.O_RDONLY": "syscall", - "syscall.O_RDWR": "syscall", - "syscall.O_RSYNC": "syscall", - "syscall.O_SHLOCK": "syscall", - "syscall.O_SYMLINK": "syscall", - "syscall.O_SYNC": "syscall", - "syscall.O_TRUNC": "syscall", - "syscall.O_TTY_INIT": "syscall", - "syscall.O_WRONLY": "syscall", - "syscall.Open": "syscall", - "syscall.OpenCurrentProcessToken": "syscall", - "syscall.OpenProcess": "syscall", - "syscall.OpenProcessToken": "syscall", - "syscall.Openat": "syscall", - "syscall.Overlapped": "syscall", - "syscall.PACKET_ADD_MEMBERSHIP": "syscall", - "syscall.PACKET_BROADCAST": "syscall", - "syscall.PACKET_DROP_MEMBERSHIP": "syscall", - "syscall.PACKET_FASTROUTE": "syscall", - "syscall.PACKET_HOST": "syscall", - "syscall.PACKET_LOOPBACK": "syscall", - "syscall.PACKET_MR_ALLMULTI": "syscall", - "syscall.PACKET_MR_MULTICAST": "syscall", - "syscall.PACKET_MR_PROMISC": "syscall", - "syscall.PACKET_MULTICAST": "syscall", - "syscall.PACKET_OTHERHOST": "syscall", - "syscall.PACKET_OUTGOING": "syscall", - "syscall.PACKET_RECV_OUTPUT": "syscall", - "syscall.PACKET_RX_RING": "syscall", - "syscall.PACKET_STATISTICS": "syscall", - "syscall.PAGE_EXECUTE_READ": "syscall", - "syscall.PAGE_EXECUTE_READWRITE": "syscall", - "syscall.PAGE_EXECUTE_WRITECOPY": "syscall", - "syscall.PAGE_READONLY": "syscall", - "syscall.PAGE_READWRITE": "syscall", - "syscall.PAGE_WRITECOPY": "syscall", - "syscall.PARENB": "syscall", - "syscall.PARMRK": "syscall", - "syscall.PARODD": "syscall", - "syscall.PENDIN": "syscall", - "syscall.PFL_HIDDEN": "syscall", - "syscall.PFL_MATCHES_PROTOCOL_ZERO": "syscall", - "syscall.PFL_MULTIPLE_PROTO_ENTRIES": "syscall", - "syscall.PFL_NETWORKDIRECT_PROVIDER": "syscall", - "syscall.PFL_RECOMMENDED_PROTO_ENTRY": "syscall", - "syscall.PF_FLUSH": "syscall", - "syscall.PKCS_7_ASN_ENCODING": "syscall", - "syscall.PMC5_PIPELINE_FLUSH": "syscall", - "syscall.PRIO_PGRP": "syscall", - "syscall.PRIO_PROCESS": "syscall", - "syscall.PRIO_USER": "syscall", - "syscall.PRI_IOFLUSH": "syscall", - "syscall.PROCESS_QUERY_INFORMATION": "syscall", - "syscall.PROCESS_TERMINATE": "syscall", - "syscall.PROT_EXEC": "syscall", - "syscall.PROT_GROWSDOWN": "syscall", - "syscall.PROT_GROWSUP": "syscall", - "syscall.PROT_NONE": "syscall", - "syscall.PROT_READ": "syscall", - "syscall.PROT_WRITE": "syscall", - "syscall.PROV_DH_SCHANNEL": "syscall", - "syscall.PROV_DSS": "syscall", - "syscall.PROV_DSS_DH": "syscall", - "syscall.PROV_EC_ECDSA_FULL": "syscall", - "syscall.PROV_EC_ECDSA_SIG": "syscall", - "syscall.PROV_EC_ECNRA_FULL": "syscall", - "syscall.PROV_EC_ECNRA_SIG": "syscall", - "syscall.PROV_FORTEZZA": "syscall", - "syscall.PROV_INTEL_SEC": "syscall", - "syscall.PROV_MS_EXCHANGE": "syscall", - "syscall.PROV_REPLACE_OWF": "syscall", - "syscall.PROV_RNG": "syscall", - "syscall.PROV_RSA_AES": "syscall", - "syscall.PROV_RSA_FULL": "syscall", - "syscall.PROV_RSA_SCHANNEL": "syscall", - "syscall.PROV_RSA_SIG": "syscall", - "syscall.PROV_SPYRUS_LYNKS": "syscall", - "syscall.PROV_SSL": "syscall", - "syscall.PR_CAPBSET_DROP": "syscall", - "syscall.PR_CAPBSET_READ": "syscall", - "syscall.PR_CLEAR_SECCOMP_FILTER": "syscall", - "syscall.PR_ENDIAN_BIG": "syscall", - "syscall.PR_ENDIAN_LITTLE": "syscall", - "syscall.PR_ENDIAN_PPC_LITTLE": "syscall", - "syscall.PR_FPEMU_NOPRINT": "syscall", - "syscall.PR_FPEMU_SIGFPE": "syscall", - "syscall.PR_FP_EXC_ASYNC": "syscall", - "syscall.PR_FP_EXC_DISABLED": "syscall", - "syscall.PR_FP_EXC_DIV": "syscall", - "syscall.PR_FP_EXC_INV": "syscall", - "syscall.PR_FP_EXC_NONRECOV": "syscall", - "syscall.PR_FP_EXC_OVF": "syscall", - "syscall.PR_FP_EXC_PRECISE": "syscall", - "syscall.PR_FP_EXC_RES": "syscall", - "syscall.PR_FP_EXC_SW_ENABLE": "syscall", - "syscall.PR_FP_EXC_UND": "syscall", - "syscall.PR_GET_DUMPABLE": "syscall", - "syscall.PR_GET_ENDIAN": "syscall", - "syscall.PR_GET_FPEMU": "syscall", - "syscall.PR_GET_FPEXC": "syscall", - "syscall.PR_GET_KEEPCAPS": "syscall", - "syscall.PR_GET_NAME": "syscall", - "syscall.PR_GET_PDEATHSIG": "syscall", - "syscall.PR_GET_SECCOMP": "syscall", - "syscall.PR_GET_SECCOMP_FILTER": "syscall", - "syscall.PR_GET_SECUREBITS": "syscall", - "syscall.PR_GET_TIMERSLACK": "syscall", - "syscall.PR_GET_TIMING": "syscall", - "syscall.PR_GET_TSC": "syscall", - "syscall.PR_GET_UNALIGN": "syscall", - "syscall.PR_MCE_KILL": "syscall", - "syscall.PR_MCE_KILL_CLEAR": "syscall", - "syscall.PR_MCE_KILL_DEFAULT": "syscall", - "syscall.PR_MCE_KILL_EARLY": "syscall", - "syscall.PR_MCE_KILL_GET": "syscall", - "syscall.PR_MCE_KILL_LATE": "syscall", - "syscall.PR_MCE_KILL_SET": "syscall", - "syscall.PR_SECCOMP_FILTER_EVENT": "syscall", - "syscall.PR_SECCOMP_FILTER_SYSCALL": "syscall", - "syscall.PR_SET_DUMPABLE": "syscall", - "syscall.PR_SET_ENDIAN": "syscall", - "syscall.PR_SET_FPEMU": "syscall", - "syscall.PR_SET_FPEXC": "syscall", - "syscall.PR_SET_KEEPCAPS": "syscall", - "syscall.PR_SET_NAME": "syscall", - "syscall.PR_SET_PDEATHSIG": "syscall", - "syscall.PR_SET_PTRACER": "syscall", - "syscall.PR_SET_SECCOMP": "syscall", - "syscall.PR_SET_SECCOMP_FILTER": "syscall", - "syscall.PR_SET_SECUREBITS": "syscall", - "syscall.PR_SET_TIMERSLACK": "syscall", - "syscall.PR_SET_TIMING": "syscall", - "syscall.PR_SET_TSC": "syscall", - "syscall.PR_SET_UNALIGN": "syscall", - "syscall.PR_TASK_PERF_EVENTS_DISABLE": "syscall", - "syscall.PR_TASK_PERF_EVENTS_ENABLE": "syscall", - "syscall.PR_TIMING_STATISTICAL": "syscall", - "syscall.PR_TIMING_TIMESTAMP": "syscall", - "syscall.PR_TSC_ENABLE": "syscall", - "syscall.PR_TSC_SIGSEGV": "syscall", - "syscall.PR_UNALIGN_NOPRINT": "syscall", - "syscall.PR_UNALIGN_SIGBUS": "syscall", - "syscall.PTRACE_ARCH_PRCTL": "syscall", - "syscall.PTRACE_ATTACH": "syscall", - "syscall.PTRACE_CONT": "syscall", - "syscall.PTRACE_DETACH": "syscall", - "syscall.PTRACE_EVENT_CLONE": "syscall", - "syscall.PTRACE_EVENT_EXEC": "syscall", - "syscall.PTRACE_EVENT_EXIT": "syscall", - "syscall.PTRACE_EVENT_FORK": "syscall", - "syscall.PTRACE_EVENT_VFORK": "syscall", - "syscall.PTRACE_EVENT_VFORK_DONE": "syscall", - "syscall.PTRACE_GETCRUNCHREGS": "syscall", - "syscall.PTRACE_GETEVENTMSG": "syscall", - "syscall.PTRACE_GETFPREGS": "syscall", - "syscall.PTRACE_GETFPXREGS": "syscall", - "syscall.PTRACE_GETHBPREGS": "syscall", - "syscall.PTRACE_GETREGS": "syscall", - "syscall.PTRACE_GETREGSET": "syscall", - "syscall.PTRACE_GETSIGINFO": "syscall", - "syscall.PTRACE_GETVFPREGS": "syscall", - "syscall.PTRACE_GETWMMXREGS": "syscall", - "syscall.PTRACE_GET_THREAD_AREA": "syscall", - "syscall.PTRACE_KILL": "syscall", - "syscall.PTRACE_OLDSETOPTIONS": "syscall", - "syscall.PTRACE_O_MASK": "syscall", - "syscall.PTRACE_O_TRACECLONE": "syscall", - "syscall.PTRACE_O_TRACEEXEC": "syscall", - "syscall.PTRACE_O_TRACEEXIT": "syscall", - "syscall.PTRACE_O_TRACEFORK": "syscall", - "syscall.PTRACE_O_TRACESYSGOOD": "syscall", - "syscall.PTRACE_O_TRACEVFORK": "syscall", - "syscall.PTRACE_O_TRACEVFORKDONE": "syscall", - "syscall.PTRACE_PEEKDATA": "syscall", - "syscall.PTRACE_PEEKTEXT": "syscall", - "syscall.PTRACE_PEEKUSR": "syscall", - "syscall.PTRACE_POKEDATA": "syscall", - "syscall.PTRACE_POKETEXT": "syscall", - "syscall.PTRACE_POKEUSR": "syscall", - "syscall.PTRACE_SETCRUNCHREGS": "syscall", - "syscall.PTRACE_SETFPREGS": "syscall", - "syscall.PTRACE_SETFPXREGS": "syscall", - "syscall.PTRACE_SETHBPREGS": "syscall", - "syscall.PTRACE_SETOPTIONS": "syscall", - "syscall.PTRACE_SETREGS": "syscall", - "syscall.PTRACE_SETREGSET": "syscall", - "syscall.PTRACE_SETSIGINFO": "syscall", - "syscall.PTRACE_SETVFPREGS": "syscall", - "syscall.PTRACE_SETWMMXREGS": "syscall", - "syscall.PTRACE_SET_SYSCALL": "syscall", - "syscall.PTRACE_SET_THREAD_AREA": "syscall", - "syscall.PTRACE_SINGLEBLOCK": "syscall", - "syscall.PTRACE_SINGLESTEP": "syscall", - "syscall.PTRACE_SYSCALL": "syscall", - "syscall.PTRACE_SYSEMU": "syscall", - "syscall.PTRACE_SYSEMU_SINGLESTEP": "syscall", - "syscall.PTRACE_TRACEME": "syscall", - "syscall.PT_ATTACH": "syscall", - "syscall.PT_ATTACHEXC": "syscall", - "syscall.PT_CONTINUE": "syscall", - "syscall.PT_DATA_ADDR": "syscall", - "syscall.PT_DENY_ATTACH": "syscall", - "syscall.PT_DETACH": "syscall", - "syscall.PT_FIRSTMACH": "syscall", - "syscall.PT_FORCEQUOTA": "syscall", - "syscall.PT_KILL": "syscall", - "syscall.PT_MASK": "syscall", - "syscall.PT_READ_D": "syscall", - "syscall.PT_READ_I": "syscall", - "syscall.PT_READ_U": "syscall", - "syscall.PT_SIGEXC": "syscall", - "syscall.PT_STEP": "syscall", - "syscall.PT_TEXT_ADDR": "syscall", - "syscall.PT_TEXT_END_ADDR": "syscall", - "syscall.PT_THUPDATE": "syscall", - "syscall.PT_TRACE_ME": "syscall", - "syscall.PT_WRITE_D": "syscall", - "syscall.PT_WRITE_I": "syscall", - "syscall.PT_WRITE_U": "syscall", - "syscall.ParseDirent": "syscall", - "syscall.ParseNetlinkMessage": "syscall", - "syscall.ParseNetlinkRouteAttr": "syscall", - "syscall.ParseRoutingMessage": "syscall", - "syscall.ParseRoutingSockaddr": "syscall", - "syscall.ParseSocketControlMessage": "syscall", - "syscall.ParseUnixCredentials": "syscall", - "syscall.ParseUnixRights": "syscall", - "syscall.PathMax": "syscall", - "syscall.Pathconf": "syscall", - "syscall.Pause": "syscall", - "syscall.Pipe": "syscall", - "syscall.Pipe2": "syscall", - "syscall.PivotRoot": "syscall", - "syscall.PostQueuedCompletionStatus": "syscall", - "syscall.Pread": "syscall", - "syscall.Proc": "syscall", - "syscall.ProcAttr": "syscall", - "syscall.ProcessInformation": "syscall", - "syscall.Protoent": "syscall", - "syscall.PtraceAttach": "syscall", - "syscall.PtraceCont": "syscall", - "syscall.PtraceDetach": "syscall", - "syscall.PtraceGetEventMsg": "syscall", - "syscall.PtraceGetRegs": "syscall", - "syscall.PtracePeekData": "syscall", - "syscall.PtracePeekText": "syscall", - "syscall.PtracePokeData": "syscall", - "syscall.PtracePokeText": "syscall", - "syscall.PtraceRegs": "syscall", - "syscall.PtraceSetOptions": "syscall", - "syscall.PtraceSetRegs": "syscall", - "syscall.PtraceSingleStep": "syscall", - "syscall.PtraceSyscall": "syscall", - "syscall.Pwrite": "syscall", - "syscall.REG_BINARY": "syscall", - "syscall.REG_DWORD": "syscall", - "syscall.REG_DWORD_BIG_ENDIAN": "syscall", - "syscall.REG_DWORD_LITTLE_ENDIAN": "syscall", - "syscall.REG_EXPAND_SZ": "syscall", - "syscall.REG_FULL_RESOURCE_DESCRIPTOR": "syscall", - "syscall.REG_LINK": "syscall", - "syscall.REG_MULTI_SZ": "syscall", - "syscall.REG_NONE": "syscall", - "syscall.REG_QWORD": "syscall", - "syscall.REG_QWORD_LITTLE_ENDIAN": "syscall", - "syscall.REG_RESOURCE_LIST": "syscall", - "syscall.REG_RESOURCE_REQUIREMENTS_LIST": "syscall", - "syscall.REG_SZ": "syscall", - "syscall.RLIMIT_AS": "syscall", - "syscall.RLIMIT_CORE": "syscall", - "syscall.RLIMIT_CPU": "syscall", - "syscall.RLIMIT_DATA": "syscall", - "syscall.RLIMIT_FSIZE": "syscall", - "syscall.RLIMIT_NOFILE": "syscall", - "syscall.RLIMIT_STACK": "syscall", - "syscall.RLIM_INFINITY": "syscall", - "syscall.RTAX_ADVMSS": "syscall", - "syscall.RTAX_AUTHOR": "syscall", - "syscall.RTAX_BRD": "syscall", - "syscall.RTAX_CWND": "syscall", - "syscall.RTAX_DST": "syscall", - "syscall.RTAX_FEATURES": "syscall", - "syscall.RTAX_FEATURE_ALLFRAG": "syscall", - "syscall.RTAX_FEATURE_ECN": "syscall", - "syscall.RTAX_FEATURE_SACK": "syscall", - "syscall.RTAX_FEATURE_TIMESTAMP": "syscall", - "syscall.RTAX_GATEWAY": "syscall", - "syscall.RTAX_GENMASK": "syscall", - "syscall.RTAX_HOPLIMIT": "syscall", - "syscall.RTAX_IFA": "syscall", - "syscall.RTAX_IFP": "syscall", - "syscall.RTAX_INITCWND": "syscall", - "syscall.RTAX_INITRWND": "syscall", - "syscall.RTAX_LABEL": "syscall", - "syscall.RTAX_LOCK": "syscall", - "syscall.RTAX_MAX": "syscall", - "syscall.RTAX_MTU": "syscall", - "syscall.RTAX_NETMASK": "syscall", - "syscall.RTAX_REORDERING": "syscall", - "syscall.RTAX_RTO_MIN": "syscall", - "syscall.RTAX_RTT": "syscall", - "syscall.RTAX_RTTVAR": "syscall", - "syscall.RTAX_SRC": "syscall", - "syscall.RTAX_SRCMASK": "syscall", - "syscall.RTAX_SSTHRESH": "syscall", - "syscall.RTAX_TAG": "syscall", - "syscall.RTAX_UNSPEC": "syscall", - "syscall.RTAX_WINDOW": "syscall", - "syscall.RTA_ALIGNTO": "syscall", - "syscall.RTA_AUTHOR": "syscall", - "syscall.RTA_BRD": "syscall", - "syscall.RTA_CACHEINFO": "syscall", - "syscall.RTA_DST": "syscall", - "syscall.RTA_FLOW": "syscall", - "syscall.RTA_GATEWAY": "syscall", - "syscall.RTA_GENMASK": "syscall", - "syscall.RTA_IFA": "syscall", - "syscall.RTA_IFP": "syscall", - "syscall.RTA_IIF": "syscall", - "syscall.RTA_LABEL": "syscall", - "syscall.RTA_MAX": "syscall", - "syscall.RTA_METRICS": "syscall", - "syscall.RTA_MULTIPATH": "syscall", - "syscall.RTA_NETMASK": "syscall", - "syscall.RTA_OIF": "syscall", - "syscall.RTA_PREFSRC": "syscall", - "syscall.RTA_PRIORITY": "syscall", - "syscall.RTA_SRC": "syscall", - "syscall.RTA_SRCMASK": "syscall", - "syscall.RTA_TABLE": "syscall", - "syscall.RTA_TAG": "syscall", - "syscall.RTA_UNSPEC": "syscall", - "syscall.RTCF_DIRECTSRC": "syscall", - "syscall.RTCF_DOREDIRECT": "syscall", - "syscall.RTCF_LOG": "syscall", - "syscall.RTCF_MASQ": "syscall", - "syscall.RTCF_NAT": "syscall", - "syscall.RTCF_VALVE": "syscall", - "syscall.RTF_ADDRCLASSMASK": "syscall", - "syscall.RTF_ADDRCONF": "syscall", - "syscall.RTF_ALLONLINK": "syscall", - "syscall.RTF_ANNOUNCE": "syscall", - "syscall.RTF_BLACKHOLE": "syscall", - "syscall.RTF_BROADCAST": "syscall", - "syscall.RTF_CACHE": "syscall", - "syscall.RTF_CLONED": "syscall", - "syscall.RTF_CLONING": "syscall", - "syscall.RTF_CONDEMNED": "syscall", - "syscall.RTF_DEFAULT": "syscall", - "syscall.RTF_DELCLONE": "syscall", - "syscall.RTF_DONE": "syscall", - "syscall.RTF_DYNAMIC": "syscall", - "syscall.RTF_FLOW": "syscall", - "syscall.RTF_FMASK": "syscall", - "syscall.RTF_GATEWAY": "syscall", - "syscall.RTF_GWFLAG_COMPAT": "syscall", - "syscall.RTF_HOST": "syscall", - "syscall.RTF_IFREF": "syscall", - "syscall.RTF_IFSCOPE": "syscall", - "syscall.RTF_INTERFACE": "syscall", - "syscall.RTF_IRTT": "syscall", - "syscall.RTF_LINKRT": "syscall", - "syscall.RTF_LLDATA": "syscall", - "syscall.RTF_LLINFO": "syscall", - "syscall.RTF_LOCAL": "syscall", - "syscall.RTF_MASK": "syscall", - "syscall.RTF_MODIFIED": "syscall", - "syscall.RTF_MPATH": "syscall", - "syscall.RTF_MPLS": "syscall", - "syscall.RTF_MSS": "syscall", - "syscall.RTF_MTU": "syscall", - "syscall.RTF_MULTICAST": "syscall", - "syscall.RTF_NAT": "syscall", - "syscall.RTF_NOFORWARD": "syscall", - "syscall.RTF_NONEXTHOP": "syscall", - "syscall.RTF_NOPMTUDISC": "syscall", - "syscall.RTF_PERMANENT_ARP": "syscall", - "syscall.RTF_PINNED": "syscall", - "syscall.RTF_POLICY": "syscall", - "syscall.RTF_PRCLONING": "syscall", - "syscall.RTF_PROTO1": "syscall", - "syscall.RTF_PROTO2": "syscall", - "syscall.RTF_PROTO3": "syscall", - "syscall.RTF_REINSTATE": "syscall", - "syscall.RTF_REJECT": "syscall", - "syscall.RTF_RNH_LOCKED": "syscall", - "syscall.RTF_SOURCE": "syscall", - "syscall.RTF_SRC": "syscall", - "syscall.RTF_STATIC": "syscall", - "syscall.RTF_STICKY": "syscall", - "syscall.RTF_THROW": "syscall", - "syscall.RTF_TUNNEL": "syscall", - "syscall.RTF_UP": "syscall", - "syscall.RTF_USETRAILERS": "syscall", - "syscall.RTF_WASCLONED": "syscall", - "syscall.RTF_WINDOW": "syscall", - "syscall.RTF_XRESOLVE": "syscall", - "syscall.RTM_ADD": "syscall", - "syscall.RTM_BASE": "syscall", - "syscall.RTM_CHANGE": "syscall", - "syscall.RTM_CHGADDR": "syscall", - "syscall.RTM_DELACTION": "syscall", - "syscall.RTM_DELADDR": "syscall", - "syscall.RTM_DELADDRLABEL": "syscall", - "syscall.RTM_DELETE": "syscall", - "syscall.RTM_DELLINK": "syscall", - "syscall.RTM_DELMADDR": "syscall", - "syscall.RTM_DELNEIGH": "syscall", - "syscall.RTM_DELQDISC": "syscall", - "syscall.RTM_DELROUTE": "syscall", - "syscall.RTM_DELRULE": "syscall", - "syscall.RTM_DELTCLASS": "syscall", - "syscall.RTM_DELTFILTER": "syscall", - "syscall.RTM_DESYNC": "syscall", - "syscall.RTM_F_CLONED": "syscall", - "syscall.RTM_F_EQUALIZE": "syscall", - "syscall.RTM_F_NOTIFY": "syscall", - "syscall.RTM_F_PREFIX": "syscall", - "syscall.RTM_GET": "syscall", - "syscall.RTM_GET2": "syscall", - "syscall.RTM_GETACTION": "syscall", - "syscall.RTM_GETADDR": "syscall", - "syscall.RTM_GETADDRLABEL": "syscall", - "syscall.RTM_GETANYCAST": "syscall", - "syscall.RTM_GETDCB": "syscall", - "syscall.RTM_GETLINK": "syscall", - "syscall.RTM_GETMULTICAST": "syscall", - "syscall.RTM_GETNEIGH": "syscall", - "syscall.RTM_GETNEIGHTBL": "syscall", - "syscall.RTM_GETQDISC": "syscall", - "syscall.RTM_GETROUTE": "syscall", - "syscall.RTM_GETRULE": "syscall", - "syscall.RTM_GETTCLASS": "syscall", - "syscall.RTM_GETTFILTER": "syscall", - "syscall.RTM_IEEE80211": "syscall", - "syscall.RTM_IFANNOUNCE": "syscall", - "syscall.RTM_IFINFO": "syscall", - "syscall.RTM_IFINFO2": "syscall", - "syscall.RTM_LLINFO_UPD": "syscall", - "syscall.RTM_LOCK": "syscall", - "syscall.RTM_LOSING": "syscall", - "syscall.RTM_MAX": "syscall", - "syscall.RTM_MAXSIZE": "syscall", - "syscall.RTM_MISS": "syscall", - "syscall.RTM_NEWACTION": "syscall", - "syscall.RTM_NEWADDR": "syscall", - "syscall.RTM_NEWADDRLABEL": "syscall", - "syscall.RTM_NEWLINK": "syscall", - "syscall.RTM_NEWMADDR": "syscall", - "syscall.RTM_NEWMADDR2": "syscall", - "syscall.RTM_NEWNDUSEROPT": "syscall", - "syscall.RTM_NEWNEIGH": "syscall", - "syscall.RTM_NEWNEIGHTBL": "syscall", - "syscall.RTM_NEWPREFIX": "syscall", - "syscall.RTM_NEWQDISC": "syscall", - "syscall.RTM_NEWROUTE": "syscall", - "syscall.RTM_NEWRULE": "syscall", - "syscall.RTM_NEWTCLASS": "syscall", - "syscall.RTM_NEWTFILTER": "syscall", - "syscall.RTM_NR_FAMILIES": "syscall", - "syscall.RTM_NR_MSGTYPES": "syscall", - "syscall.RTM_OIFINFO": "syscall", - "syscall.RTM_OLDADD": "syscall", - "syscall.RTM_OLDDEL": "syscall", - "syscall.RTM_OOIFINFO": "syscall", - "syscall.RTM_REDIRECT": "syscall", - "syscall.RTM_RESOLVE": "syscall", - "syscall.RTM_RTTUNIT": "syscall", - "syscall.RTM_SETDCB": "syscall", - "syscall.RTM_SETGATE": "syscall", - "syscall.RTM_SETLINK": "syscall", - "syscall.RTM_SETNEIGHTBL": "syscall", - "syscall.RTM_VERSION": "syscall", - "syscall.RTNH_ALIGNTO": "syscall", - "syscall.RTNH_F_DEAD": "syscall", - "syscall.RTNH_F_ONLINK": "syscall", - "syscall.RTNH_F_PERVASIVE": "syscall", - "syscall.RTNLGRP_IPV4_IFADDR": "syscall", - "syscall.RTNLGRP_IPV4_MROUTE": "syscall", - "syscall.RTNLGRP_IPV4_ROUTE": "syscall", - "syscall.RTNLGRP_IPV4_RULE": "syscall", - "syscall.RTNLGRP_IPV6_IFADDR": "syscall", - "syscall.RTNLGRP_IPV6_IFINFO": "syscall", - "syscall.RTNLGRP_IPV6_MROUTE": "syscall", - "syscall.RTNLGRP_IPV6_PREFIX": "syscall", - "syscall.RTNLGRP_IPV6_ROUTE": "syscall", - "syscall.RTNLGRP_IPV6_RULE": "syscall", - "syscall.RTNLGRP_LINK": "syscall", - "syscall.RTNLGRP_ND_USEROPT": "syscall", - "syscall.RTNLGRP_NEIGH": "syscall", - "syscall.RTNLGRP_NONE": "syscall", - "syscall.RTNLGRP_NOTIFY": "syscall", - "syscall.RTNLGRP_TC": "syscall", - "syscall.RTN_ANYCAST": "syscall", - "syscall.RTN_BLACKHOLE": "syscall", - "syscall.RTN_BROADCAST": "syscall", - "syscall.RTN_LOCAL": "syscall", - "syscall.RTN_MAX": "syscall", - "syscall.RTN_MULTICAST": "syscall", - "syscall.RTN_NAT": "syscall", - "syscall.RTN_PROHIBIT": "syscall", - "syscall.RTN_THROW": "syscall", - "syscall.RTN_UNICAST": "syscall", - "syscall.RTN_UNREACHABLE": "syscall", - "syscall.RTN_UNSPEC": "syscall", - "syscall.RTN_XRESOLVE": "syscall", - "syscall.RTPROT_BIRD": "syscall", - "syscall.RTPROT_BOOT": "syscall", - "syscall.RTPROT_DHCP": "syscall", - "syscall.RTPROT_DNROUTED": "syscall", - "syscall.RTPROT_GATED": "syscall", - "syscall.RTPROT_KERNEL": "syscall", - "syscall.RTPROT_MRT": "syscall", - "syscall.RTPROT_NTK": "syscall", - "syscall.RTPROT_RA": "syscall", - "syscall.RTPROT_REDIRECT": "syscall", - "syscall.RTPROT_STATIC": "syscall", - "syscall.RTPROT_UNSPEC": "syscall", - "syscall.RTPROT_XORP": "syscall", - "syscall.RTPROT_ZEBRA": "syscall", - "syscall.RTV_EXPIRE": "syscall", - "syscall.RTV_HOPCOUNT": "syscall", - "syscall.RTV_MTU": "syscall", - "syscall.RTV_RPIPE": "syscall", - "syscall.RTV_RTT": "syscall", - "syscall.RTV_RTTVAR": "syscall", - "syscall.RTV_SPIPE": "syscall", - "syscall.RTV_SSTHRESH": "syscall", - "syscall.RTV_WEIGHT": "syscall", - "syscall.RT_CACHING_CONTEXT": "syscall", - "syscall.RT_CLASS_DEFAULT": "syscall", - "syscall.RT_CLASS_LOCAL": "syscall", - "syscall.RT_CLASS_MAIN": "syscall", - "syscall.RT_CLASS_MAX": "syscall", - "syscall.RT_CLASS_UNSPEC": "syscall", - "syscall.RT_DEFAULT_FIB": "syscall", - "syscall.RT_NORTREF": "syscall", - "syscall.RT_SCOPE_HOST": "syscall", - "syscall.RT_SCOPE_LINK": "syscall", - "syscall.RT_SCOPE_NOWHERE": "syscall", - "syscall.RT_SCOPE_SITE": "syscall", - "syscall.RT_SCOPE_UNIVERSE": "syscall", - "syscall.RT_TABLEID_MAX": "syscall", - "syscall.RT_TABLE_COMPAT": "syscall", - "syscall.RT_TABLE_DEFAULT": "syscall", - "syscall.RT_TABLE_LOCAL": "syscall", - "syscall.RT_TABLE_MAIN": "syscall", - "syscall.RT_TABLE_MAX": "syscall", - "syscall.RT_TABLE_UNSPEC": "syscall", - "syscall.RUSAGE_CHILDREN": "syscall", - "syscall.RUSAGE_SELF": "syscall", - "syscall.RUSAGE_THREAD": "syscall", - "syscall.Radvisory_t": "syscall", - "syscall.RawSockaddr": "syscall", - "syscall.RawSockaddrAny": "syscall", - "syscall.RawSockaddrDatalink": "syscall", - "syscall.RawSockaddrInet4": "syscall", - "syscall.RawSockaddrInet6": "syscall", - "syscall.RawSockaddrLinklayer": "syscall", - "syscall.RawSockaddrNetlink": "syscall", - "syscall.RawSockaddrUnix": "syscall", - "syscall.RawSyscall": "syscall", - "syscall.RawSyscall6": "syscall", - "syscall.Read": "syscall", - "syscall.ReadConsole": "syscall", - "syscall.ReadDirectoryChanges": "syscall", - "syscall.ReadDirent": "syscall", - "syscall.ReadFile": "syscall", - "syscall.Readlink": "syscall", - "syscall.Reboot": "syscall", - "syscall.Recvfrom": "syscall", - "syscall.Recvmsg": "syscall", - "syscall.RegCloseKey": "syscall", - "syscall.RegEnumKeyEx": "syscall", - "syscall.RegOpenKeyEx": "syscall", - "syscall.RegQueryInfoKey": "syscall", - "syscall.RegQueryValueEx": "syscall", - "syscall.RemoveDirectory": "syscall", - "syscall.Removexattr": "syscall", - "syscall.Rename": "syscall", - "syscall.Renameat": "syscall", - "syscall.Revoke": "syscall", - "syscall.Rlimit": "syscall", - "syscall.Rmdir": "syscall", - "syscall.RouteMessage": "syscall", - "syscall.RouteRIB": "syscall", - "syscall.RtAttr": "syscall", - "syscall.RtGenmsg": "syscall", - "syscall.RtMetrics": "syscall", - "syscall.RtMsg": "syscall", - "syscall.RtMsghdr": "syscall", - "syscall.RtNexthop": "syscall", - "syscall.Rusage": "syscall", - "syscall.SCM_BINTIME": "syscall", - "syscall.SCM_CREDENTIALS": "syscall", - "syscall.SCM_CREDS": "syscall", - "syscall.SCM_RIGHTS": "syscall", - "syscall.SCM_TIMESTAMP": "syscall", - "syscall.SCM_TIMESTAMPING": "syscall", - "syscall.SCM_TIMESTAMPNS": "syscall", - "syscall.SCM_TIMESTAMP_MONOTONIC": "syscall", - "syscall.SHUT_RD": "syscall", - "syscall.SHUT_RDWR": "syscall", - "syscall.SHUT_WR": "syscall", - "syscall.SID": "syscall", - "syscall.SIDAndAttributes": "syscall", - "syscall.SIGABRT": "syscall", - "syscall.SIGALRM": "syscall", - "syscall.SIGBUS": "syscall", - "syscall.SIGCHLD": "syscall", - "syscall.SIGCLD": "syscall", - "syscall.SIGCONT": "syscall", - "syscall.SIGEMT": "syscall", - "syscall.SIGFPE": "syscall", - "syscall.SIGHUP": "syscall", - "syscall.SIGILL": "syscall", - "syscall.SIGINFO": "syscall", - "syscall.SIGINT": "syscall", - "syscall.SIGIO": "syscall", - "syscall.SIGIOT": "syscall", - "syscall.SIGKILL": "syscall", - "syscall.SIGLIBRT": "syscall", - "syscall.SIGLWP": "syscall", - "syscall.SIGPIPE": "syscall", - "syscall.SIGPOLL": "syscall", - "syscall.SIGPROF": "syscall", - "syscall.SIGPWR": "syscall", - "syscall.SIGQUIT": "syscall", - "syscall.SIGSEGV": "syscall", - "syscall.SIGSTKFLT": "syscall", - "syscall.SIGSTOP": "syscall", - "syscall.SIGSYS": "syscall", - "syscall.SIGTERM": "syscall", - "syscall.SIGTHR": "syscall", - "syscall.SIGTRAP": "syscall", - "syscall.SIGTSTP": "syscall", - "syscall.SIGTTIN": "syscall", - "syscall.SIGTTOU": "syscall", - "syscall.SIGUNUSED": "syscall", - "syscall.SIGURG": "syscall", - "syscall.SIGUSR1": "syscall", - "syscall.SIGUSR2": "syscall", - "syscall.SIGVTALRM": "syscall", - "syscall.SIGWINCH": "syscall", - "syscall.SIGXCPU": "syscall", - "syscall.SIGXFSZ": "syscall", - "syscall.SIOCADDDLCI": "syscall", - "syscall.SIOCADDMULTI": "syscall", - "syscall.SIOCADDRT": "syscall", - "syscall.SIOCAIFADDR": "syscall", - "syscall.SIOCAIFGROUP": "syscall", - "syscall.SIOCALIFADDR": "syscall", - "syscall.SIOCARPIPLL": "syscall", - "syscall.SIOCATMARK": "syscall", - "syscall.SIOCAUTOADDR": "syscall", - "syscall.SIOCAUTONETMASK": "syscall", - "syscall.SIOCBRDGADD": "syscall", - "syscall.SIOCBRDGADDS": "syscall", - "syscall.SIOCBRDGARL": "syscall", - "syscall.SIOCBRDGDADDR": "syscall", - "syscall.SIOCBRDGDEL": "syscall", - "syscall.SIOCBRDGDELS": "syscall", - "syscall.SIOCBRDGFLUSH": "syscall", - "syscall.SIOCBRDGFRL": "syscall", - "syscall.SIOCBRDGGCACHE": "syscall", - "syscall.SIOCBRDGGFD": "syscall", - "syscall.SIOCBRDGGHT": "syscall", - "syscall.SIOCBRDGGIFFLGS": "syscall", - "syscall.SIOCBRDGGMA": "syscall", - "syscall.SIOCBRDGGPARAM": "syscall", - "syscall.SIOCBRDGGPRI": "syscall", - "syscall.SIOCBRDGGRL": "syscall", - "syscall.SIOCBRDGGSIFS": "syscall", - "syscall.SIOCBRDGGTO": "syscall", - "syscall.SIOCBRDGIFS": "syscall", - "syscall.SIOCBRDGRTS": "syscall", - "syscall.SIOCBRDGSADDR": "syscall", - "syscall.SIOCBRDGSCACHE": "syscall", - "syscall.SIOCBRDGSFD": "syscall", - "syscall.SIOCBRDGSHT": "syscall", - "syscall.SIOCBRDGSIFCOST": "syscall", - "syscall.SIOCBRDGSIFFLGS": "syscall", - "syscall.SIOCBRDGSIFPRIO": "syscall", - "syscall.SIOCBRDGSMA": "syscall", - "syscall.SIOCBRDGSPRI": "syscall", - "syscall.SIOCBRDGSPROTO": "syscall", - "syscall.SIOCBRDGSTO": "syscall", - "syscall.SIOCBRDGSTXHC": "syscall", - "syscall.SIOCDARP": "syscall", - "syscall.SIOCDELDLCI": "syscall", - "syscall.SIOCDELMULTI": "syscall", - "syscall.SIOCDELRT": "syscall", - "syscall.SIOCDEVPRIVATE": "syscall", - "syscall.SIOCDIFADDR": "syscall", - "syscall.SIOCDIFGROUP": "syscall", - "syscall.SIOCDIFPHYADDR": "syscall", - "syscall.SIOCDLIFADDR": "syscall", - "syscall.SIOCDRARP": "syscall", - "syscall.SIOCGARP": "syscall", - "syscall.SIOCGDRVSPEC": "syscall", - "syscall.SIOCGETKALIVE": "syscall", - "syscall.SIOCGETLABEL": "syscall", - "syscall.SIOCGETPFLOW": "syscall", - "syscall.SIOCGETPFSYNC": "syscall", - "syscall.SIOCGETSGCNT": "syscall", - "syscall.SIOCGETVIFCNT": "syscall", - "syscall.SIOCGETVLAN": "syscall", - "syscall.SIOCGHIWAT": "syscall", - "syscall.SIOCGIFADDR": "syscall", - "syscall.SIOCGIFADDRPREF": "syscall", - "syscall.SIOCGIFALIAS": "syscall", - "syscall.SIOCGIFALTMTU": "syscall", - "syscall.SIOCGIFASYNCMAP": "syscall", - "syscall.SIOCGIFBOND": "syscall", - "syscall.SIOCGIFBR": "syscall", - "syscall.SIOCGIFBRDADDR": "syscall", - "syscall.SIOCGIFCAP": "syscall", - "syscall.SIOCGIFCONF": "syscall", - "syscall.SIOCGIFCOUNT": "syscall", - "syscall.SIOCGIFDATA": "syscall", - "syscall.SIOCGIFDESCR": "syscall", - "syscall.SIOCGIFDEVMTU": "syscall", - "syscall.SIOCGIFDLT": "syscall", - "syscall.SIOCGIFDSTADDR": "syscall", - "syscall.SIOCGIFENCAP": "syscall", - "syscall.SIOCGIFFIB": "syscall", - "syscall.SIOCGIFFLAGS": "syscall", - "syscall.SIOCGIFGATTR": "syscall", - "syscall.SIOCGIFGENERIC": "syscall", - "syscall.SIOCGIFGMEMB": "syscall", - "syscall.SIOCGIFGROUP": "syscall", - "syscall.SIOCGIFHARDMTU": "syscall", - "syscall.SIOCGIFHWADDR": "syscall", - "syscall.SIOCGIFINDEX": "syscall", - "syscall.SIOCGIFKPI": "syscall", - "syscall.SIOCGIFMAC": "syscall", - "syscall.SIOCGIFMAP": "syscall", - "syscall.SIOCGIFMEDIA": "syscall", - "syscall.SIOCGIFMEM": "syscall", - "syscall.SIOCGIFMETRIC": "syscall", - "syscall.SIOCGIFMTU": "syscall", - "syscall.SIOCGIFNAME": "syscall", - "syscall.SIOCGIFNETMASK": "syscall", - "syscall.SIOCGIFPDSTADDR": "syscall", - "syscall.SIOCGIFPFLAGS": "syscall", - "syscall.SIOCGIFPHYS": "syscall", - "syscall.SIOCGIFPRIORITY": "syscall", - "syscall.SIOCGIFPSRCADDR": "syscall", - "syscall.SIOCGIFRDOMAIN": "syscall", - "syscall.SIOCGIFRTLABEL": "syscall", - "syscall.SIOCGIFSLAVE": "syscall", - "syscall.SIOCGIFSTATUS": "syscall", - "syscall.SIOCGIFTIMESLOT": "syscall", - "syscall.SIOCGIFTXQLEN": "syscall", - "syscall.SIOCGIFVLAN": "syscall", - "syscall.SIOCGIFWAKEFLAGS": "syscall", - "syscall.SIOCGIFXFLAGS": "syscall", - "syscall.SIOCGLIFADDR": "syscall", - "syscall.SIOCGLIFPHYADDR": "syscall", - "syscall.SIOCGLIFPHYRTABLE": "syscall", - "syscall.SIOCGLIFPHYTTL": "syscall", - "syscall.SIOCGLINKSTR": "syscall", - "syscall.SIOCGLOWAT": "syscall", - "syscall.SIOCGPGRP": "syscall", - "syscall.SIOCGPRIVATE_0": "syscall", - "syscall.SIOCGPRIVATE_1": "syscall", - "syscall.SIOCGRARP": "syscall", - "syscall.SIOCGSPPPPARAMS": "syscall", - "syscall.SIOCGSTAMP": "syscall", - "syscall.SIOCGSTAMPNS": "syscall", - "syscall.SIOCGVH": "syscall", - "syscall.SIOCGVNETID": "syscall", - "syscall.SIOCIFCREATE": "syscall", - "syscall.SIOCIFCREATE2": "syscall", - "syscall.SIOCIFDESTROY": "syscall", - "syscall.SIOCIFGCLONERS": "syscall", - "syscall.SIOCINITIFADDR": "syscall", - "syscall.SIOCPROTOPRIVATE": "syscall", - "syscall.SIOCRSLVMULTI": "syscall", - "syscall.SIOCRTMSG": "syscall", - "syscall.SIOCSARP": "syscall", - "syscall.SIOCSDRVSPEC": "syscall", - "syscall.SIOCSETKALIVE": "syscall", - "syscall.SIOCSETLABEL": "syscall", - "syscall.SIOCSETPFLOW": "syscall", - "syscall.SIOCSETPFSYNC": "syscall", - "syscall.SIOCSETVLAN": "syscall", - "syscall.SIOCSHIWAT": "syscall", - "syscall.SIOCSIFADDR": "syscall", - "syscall.SIOCSIFADDRPREF": "syscall", - "syscall.SIOCSIFALTMTU": "syscall", - "syscall.SIOCSIFASYNCMAP": "syscall", - "syscall.SIOCSIFBOND": "syscall", - "syscall.SIOCSIFBR": "syscall", - "syscall.SIOCSIFBRDADDR": "syscall", - "syscall.SIOCSIFCAP": "syscall", - "syscall.SIOCSIFDESCR": "syscall", - "syscall.SIOCSIFDSTADDR": "syscall", - "syscall.SIOCSIFENCAP": "syscall", - "syscall.SIOCSIFFIB": "syscall", - "syscall.SIOCSIFFLAGS": "syscall", - "syscall.SIOCSIFGATTR": "syscall", - "syscall.SIOCSIFGENERIC": "syscall", - "syscall.SIOCSIFHWADDR": "syscall", - "syscall.SIOCSIFHWBROADCAST": "syscall", - "syscall.SIOCSIFKPI": "syscall", - "syscall.SIOCSIFLINK": "syscall", - "syscall.SIOCSIFLLADDR": "syscall", - "syscall.SIOCSIFMAC": "syscall", - "syscall.SIOCSIFMAP": "syscall", - "syscall.SIOCSIFMEDIA": "syscall", - "syscall.SIOCSIFMEM": "syscall", - "syscall.SIOCSIFMETRIC": "syscall", - "syscall.SIOCSIFMTU": "syscall", - "syscall.SIOCSIFNAME": "syscall", - "syscall.SIOCSIFNETMASK": "syscall", - "syscall.SIOCSIFPFLAGS": "syscall", - "syscall.SIOCSIFPHYADDR": "syscall", - "syscall.SIOCSIFPHYS": "syscall", - "syscall.SIOCSIFPRIORITY": "syscall", - "syscall.SIOCSIFRDOMAIN": "syscall", - "syscall.SIOCSIFRTLABEL": "syscall", - "syscall.SIOCSIFRVNET": "syscall", - "syscall.SIOCSIFSLAVE": "syscall", - "syscall.SIOCSIFTIMESLOT": "syscall", - "syscall.SIOCSIFTXQLEN": "syscall", - "syscall.SIOCSIFVLAN": "syscall", - "syscall.SIOCSIFVNET": "syscall", - "syscall.SIOCSIFXFLAGS": "syscall", - "syscall.SIOCSLIFPHYADDR": "syscall", - "syscall.SIOCSLIFPHYRTABLE": "syscall", - "syscall.SIOCSLIFPHYTTL": "syscall", - "syscall.SIOCSLINKSTR": "syscall", - "syscall.SIOCSLOWAT": "syscall", - "syscall.SIOCSPGRP": "syscall", - "syscall.SIOCSRARP": "syscall", - "syscall.SIOCSSPPPPARAMS": "syscall", - "syscall.SIOCSVH": "syscall", - "syscall.SIOCSVNETID": "syscall", - "syscall.SIOCZIFDATA": "syscall", - "syscall.SIO_GET_EXTENSION_FUNCTION_POINTER": "syscall", - "syscall.SIO_GET_INTERFACE_LIST": "syscall", - "syscall.SIO_KEEPALIVE_VALS": "syscall", - "syscall.SOCK_CLOEXEC": "syscall", - "syscall.SOCK_DCCP": "syscall", - "syscall.SOCK_DGRAM": "syscall", - "syscall.SOCK_FLAGS_MASK": "syscall", - "syscall.SOCK_MAXADDRLEN": "syscall", - "syscall.SOCK_NONBLOCK": "syscall", - "syscall.SOCK_NOSIGPIPE": "syscall", - "syscall.SOCK_PACKET": "syscall", - "syscall.SOCK_RAW": "syscall", - "syscall.SOCK_RDM": "syscall", - "syscall.SOCK_SEQPACKET": "syscall", - "syscall.SOCK_STREAM": "syscall", - "syscall.SOL_AAL": "syscall", - "syscall.SOL_ATM": "syscall", - "syscall.SOL_DECNET": "syscall", - "syscall.SOL_ICMPV6": "syscall", - "syscall.SOL_IP": "syscall", - "syscall.SOL_IPV6": "syscall", - "syscall.SOL_IRDA": "syscall", - "syscall.SOL_PACKET": "syscall", - "syscall.SOL_RAW": "syscall", - "syscall.SOL_SOCKET": "syscall", - "syscall.SOL_TCP": "syscall", - "syscall.SOL_X25": "syscall", - "syscall.SOMAXCONN": "syscall", - "syscall.SO_ACCEPTCONN": "syscall", - "syscall.SO_ACCEPTFILTER": "syscall", - "syscall.SO_ATTACH_FILTER": "syscall", - "syscall.SO_BINDANY": "syscall", - "syscall.SO_BINDTODEVICE": "syscall", - "syscall.SO_BINTIME": "syscall", - "syscall.SO_BROADCAST": "syscall", - "syscall.SO_BSDCOMPAT": "syscall", - "syscall.SO_DEBUG": "syscall", - "syscall.SO_DETACH_FILTER": "syscall", - "syscall.SO_DOMAIN": "syscall", - "syscall.SO_DONTROUTE": "syscall", - "syscall.SO_DONTTRUNC": "syscall", - "syscall.SO_ERROR": "syscall", - "syscall.SO_KEEPALIVE": "syscall", - "syscall.SO_LABEL": "syscall", - "syscall.SO_LINGER": "syscall", - "syscall.SO_LINGER_SEC": "syscall", - "syscall.SO_LISTENINCQLEN": "syscall", - "syscall.SO_LISTENQLEN": "syscall", - "syscall.SO_LISTENQLIMIT": "syscall", - "syscall.SO_MARK": "syscall", - "syscall.SO_NETPROC": "syscall", - "syscall.SO_NKE": "syscall", - "syscall.SO_NOADDRERR": "syscall", - "syscall.SO_NOHEADER": "syscall", - "syscall.SO_NOSIGPIPE": "syscall", - "syscall.SO_NOTIFYCONFLICT": "syscall", - "syscall.SO_NO_CHECK": "syscall", - "syscall.SO_NO_DDP": "syscall", - "syscall.SO_NO_OFFLOAD": "syscall", - "syscall.SO_NP_EXTENSIONS": "syscall", - "syscall.SO_NREAD": "syscall", - "syscall.SO_NWRITE": "syscall", - "syscall.SO_OOBINLINE": "syscall", - "syscall.SO_OVERFLOWED": "syscall", - "syscall.SO_PASSCRED": "syscall", - "syscall.SO_PASSSEC": "syscall", - "syscall.SO_PEERCRED": "syscall", - "syscall.SO_PEERLABEL": "syscall", - "syscall.SO_PEERNAME": "syscall", - "syscall.SO_PEERSEC": "syscall", - "syscall.SO_PRIORITY": "syscall", - "syscall.SO_PROTOCOL": "syscall", - "syscall.SO_PROTOTYPE": "syscall", - "syscall.SO_RANDOMPORT": "syscall", - "syscall.SO_RCVBUF": "syscall", - "syscall.SO_RCVBUFFORCE": "syscall", - "syscall.SO_RCVLOWAT": "syscall", - "syscall.SO_RCVTIMEO": "syscall", - "syscall.SO_RESTRICTIONS": "syscall", - "syscall.SO_RESTRICT_DENYIN": "syscall", - "syscall.SO_RESTRICT_DENYOUT": "syscall", - "syscall.SO_RESTRICT_DENYSET": "syscall", - "syscall.SO_REUSEADDR": "syscall", - "syscall.SO_REUSEPORT": "syscall", - "syscall.SO_REUSESHAREUID": "syscall", - "syscall.SO_RTABLE": "syscall", - "syscall.SO_RXQ_OVFL": "syscall", - "syscall.SO_SECURITY_AUTHENTICATION": "syscall", - "syscall.SO_SECURITY_ENCRYPTION_NETWORK": "syscall", - "syscall.SO_SECURITY_ENCRYPTION_TRANSPORT": "syscall", - "syscall.SO_SETFIB": "syscall", - "syscall.SO_SNDBUF": "syscall", - "syscall.SO_SNDBUFFORCE": "syscall", - "syscall.SO_SNDLOWAT": "syscall", - "syscall.SO_SNDTIMEO": "syscall", - "syscall.SO_SPLICE": "syscall", - "syscall.SO_TIMESTAMP": "syscall", - "syscall.SO_TIMESTAMPING": "syscall", - "syscall.SO_TIMESTAMPNS": "syscall", - "syscall.SO_TIMESTAMP_MONOTONIC": "syscall", - "syscall.SO_TYPE": "syscall", - "syscall.SO_UPCALLCLOSEWAIT": "syscall", - "syscall.SO_UPDATE_ACCEPT_CONTEXT": "syscall", - "syscall.SO_UPDATE_CONNECT_CONTEXT": "syscall", - "syscall.SO_USELOOPBACK": "syscall", - "syscall.SO_USER_COOKIE": "syscall", - "syscall.SO_VENDOR": "syscall", - "syscall.SO_WANTMORE": "syscall", - "syscall.SO_WANTOOBFLAG": "syscall", - "syscall.SSLExtraCertChainPolicyPara": "syscall", - "syscall.STANDARD_RIGHTS_ALL": "syscall", - "syscall.STANDARD_RIGHTS_EXECUTE": "syscall", - "syscall.STANDARD_RIGHTS_READ": "syscall", - "syscall.STANDARD_RIGHTS_REQUIRED": "syscall", - "syscall.STANDARD_RIGHTS_WRITE": "syscall", - "syscall.STARTF_USESHOWWINDOW": "syscall", - "syscall.STARTF_USESTDHANDLES": "syscall", - "syscall.STD_ERROR_HANDLE": "syscall", - "syscall.STD_INPUT_HANDLE": "syscall", - "syscall.STD_OUTPUT_HANDLE": "syscall", - "syscall.SUBLANG_ENGLISH_US": "syscall", - "syscall.SW_FORCEMINIMIZE": "syscall", - "syscall.SW_HIDE": "syscall", - "syscall.SW_MAXIMIZE": "syscall", - "syscall.SW_MINIMIZE": "syscall", - "syscall.SW_NORMAL": "syscall", - "syscall.SW_RESTORE": "syscall", - "syscall.SW_SHOW": "syscall", - "syscall.SW_SHOWDEFAULT": "syscall", - "syscall.SW_SHOWMAXIMIZED": "syscall", - "syscall.SW_SHOWMINIMIZED": "syscall", - "syscall.SW_SHOWMINNOACTIVE": "syscall", - "syscall.SW_SHOWNA": "syscall", - "syscall.SW_SHOWNOACTIVATE": "syscall", - "syscall.SW_SHOWNORMAL": "syscall", - "syscall.SYNCHRONIZE": "syscall", - "syscall.SYSCTL_VERSION": "syscall", - "syscall.SYSCTL_VERS_0": "syscall", - "syscall.SYSCTL_VERS_1": "syscall", - "syscall.SYSCTL_VERS_MASK": "syscall", - "syscall.SYS_ABORT2": "syscall", - "syscall.SYS_ACCEPT": "syscall", - "syscall.SYS_ACCEPT4": "syscall", - "syscall.SYS_ACCEPT_NOCANCEL": "syscall", - "syscall.SYS_ACCESS": "syscall", - "syscall.SYS_ACCESS_EXTENDED": "syscall", - "syscall.SYS_ACCT": "syscall", - "syscall.SYS_ADD_KEY": "syscall", - "syscall.SYS_ADD_PROFIL": "syscall", - "syscall.SYS_ADJFREQ": "syscall", - "syscall.SYS_ADJTIME": "syscall", - "syscall.SYS_ADJTIMEX": "syscall", - "syscall.SYS_AFS_SYSCALL": "syscall", - "syscall.SYS_AIO_CANCEL": "syscall", - "syscall.SYS_AIO_ERROR": "syscall", - "syscall.SYS_AIO_FSYNC": "syscall", - "syscall.SYS_AIO_READ": "syscall", - "syscall.SYS_AIO_RETURN": "syscall", - "syscall.SYS_AIO_SUSPEND": "syscall", - "syscall.SYS_AIO_SUSPEND_NOCANCEL": "syscall", - "syscall.SYS_AIO_WRITE": "syscall", - "syscall.SYS_ALARM": "syscall", - "syscall.SYS_ARCH_PRCTL": "syscall", - "syscall.SYS_ARM_FADVISE64_64": "syscall", - "syscall.SYS_ARM_SYNC_FILE_RANGE": "syscall", - "syscall.SYS_ATGETMSG": "syscall", - "syscall.SYS_ATPGETREQ": "syscall", - "syscall.SYS_ATPGETRSP": "syscall", - "syscall.SYS_ATPSNDREQ": "syscall", - "syscall.SYS_ATPSNDRSP": "syscall", - "syscall.SYS_ATPUTMSG": "syscall", - "syscall.SYS_ATSOCKET": "syscall", - "syscall.SYS_AUDIT": "syscall", - "syscall.SYS_AUDITCTL": "syscall", - "syscall.SYS_AUDITON": "syscall", - "syscall.SYS_AUDIT_SESSION_JOIN": "syscall", - "syscall.SYS_AUDIT_SESSION_PORT": "syscall", - "syscall.SYS_AUDIT_SESSION_SELF": "syscall", - "syscall.SYS_BDFLUSH": "syscall", - "syscall.SYS_BIND": "syscall", - "syscall.SYS_BINDAT": "syscall", - "syscall.SYS_BREAK": "syscall", - "syscall.SYS_BRK": "syscall", - "syscall.SYS_BSDTHREAD_CREATE": "syscall", - "syscall.SYS_BSDTHREAD_REGISTER": "syscall", - "syscall.SYS_BSDTHREAD_TERMINATE": "syscall", - "syscall.SYS_CAPGET": "syscall", - "syscall.SYS_CAPSET": "syscall", - "syscall.SYS_CAP_ENTER": "syscall", - "syscall.SYS_CAP_FCNTLS_GET": "syscall", - "syscall.SYS_CAP_FCNTLS_LIMIT": "syscall", - "syscall.SYS_CAP_GETMODE": "syscall", - "syscall.SYS_CAP_GETRIGHTS": "syscall", - "syscall.SYS_CAP_IOCTLS_GET": "syscall", - "syscall.SYS_CAP_IOCTLS_LIMIT": "syscall", - "syscall.SYS_CAP_NEW": "syscall", - "syscall.SYS_CAP_RIGHTS_GET": "syscall", - "syscall.SYS_CAP_RIGHTS_LIMIT": "syscall", - "syscall.SYS_CHDIR": "syscall", - "syscall.SYS_CHFLAGS": "syscall", - "syscall.SYS_CHFLAGSAT": "syscall", - "syscall.SYS_CHMOD": "syscall", - "syscall.SYS_CHMOD_EXTENDED": "syscall", - "syscall.SYS_CHOWN": "syscall", - "syscall.SYS_CHOWN32": "syscall", - "syscall.SYS_CHROOT": "syscall", - "syscall.SYS_CHUD": "syscall", - "syscall.SYS_CLOCK_ADJTIME": "syscall", - "syscall.SYS_CLOCK_GETCPUCLOCKID2": "syscall", - "syscall.SYS_CLOCK_GETRES": "syscall", - "syscall.SYS_CLOCK_GETTIME": "syscall", - "syscall.SYS_CLOCK_NANOSLEEP": "syscall", - "syscall.SYS_CLOCK_SETTIME": "syscall", - "syscall.SYS_CLONE": "syscall", - "syscall.SYS_CLOSE": "syscall", - "syscall.SYS_CLOSEFROM": "syscall", - "syscall.SYS_CLOSE_NOCANCEL": "syscall", - "syscall.SYS_CONNECT": "syscall", - "syscall.SYS_CONNECTAT": "syscall", - "syscall.SYS_CONNECT_NOCANCEL": "syscall", - "syscall.SYS_COPYFILE": "syscall", - "syscall.SYS_CPUSET": "syscall", - "syscall.SYS_CPUSET_GETAFFINITY": "syscall", - "syscall.SYS_CPUSET_GETID": "syscall", - "syscall.SYS_CPUSET_SETAFFINITY": "syscall", - "syscall.SYS_CPUSET_SETID": "syscall", - "syscall.SYS_CREAT": "syscall", - "syscall.SYS_CREATE_MODULE": "syscall", - "syscall.SYS_CSOPS": "syscall", - "syscall.SYS_DELETE": "syscall", - "syscall.SYS_DELETE_MODULE": "syscall", - "syscall.SYS_DUP": "syscall", - "syscall.SYS_DUP2": "syscall", - "syscall.SYS_DUP3": "syscall", - "syscall.SYS_EACCESS": "syscall", - "syscall.SYS_EPOLL_CREATE": "syscall", - "syscall.SYS_EPOLL_CREATE1": "syscall", - "syscall.SYS_EPOLL_CTL": "syscall", - "syscall.SYS_EPOLL_CTL_OLD": "syscall", - "syscall.SYS_EPOLL_PWAIT": "syscall", - "syscall.SYS_EPOLL_WAIT": "syscall", - "syscall.SYS_EPOLL_WAIT_OLD": "syscall", - "syscall.SYS_EVENTFD": "syscall", - "syscall.SYS_EVENTFD2": "syscall", - "syscall.SYS_EXCHANGEDATA": "syscall", - "syscall.SYS_EXECVE": "syscall", - "syscall.SYS_EXIT": "syscall", - "syscall.SYS_EXIT_GROUP": "syscall", - "syscall.SYS_EXTATTRCTL": "syscall", - "syscall.SYS_EXTATTR_DELETE_FD": "syscall", - "syscall.SYS_EXTATTR_DELETE_FILE": "syscall", - "syscall.SYS_EXTATTR_DELETE_LINK": "syscall", - "syscall.SYS_EXTATTR_GET_FD": "syscall", - "syscall.SYS_EXTATTR_GET_FILE": "syscall", - "syscall.SYS_EXTATTR_GET_LINK": "syscall", - "syscall.SYS_EXTATTR_LIST_FD": "syscall", - "syscall.SYS_EXTATTR_LIST_FILE": "syscall", - "syscall.SYS_EXTATTR_LIST_LINK": "syscall", - "syscall.SYS_EXTATTR_SET_FD": "syscall", - "syscall.SYS_EXTATTR_SET_FILE": "syscall", - "syscall.SYS_EXTATTR_SET_LINK": "syscall", - "syscall.SYS_FACCESSAT": "syscall", - "syscall.SYS_FADVISE64": "syscall", - "syscall.SYS_FADVISE64_64": "syscall", - "syscall.SYS_FALLOCATE": "syscall", - "syscall.SYS_FANOTIFY_INIT": "syscall", - "syscall.SYS_FANOTIFY_MARK": "syscall", - "syscall.SYS_FCHDIR": "syscall", - "syscall.SYS_FCHFLAGS": "syscall", - "syscall.SYS_FCHMOD": "syscall", - "syscall.SYS_FCHMODAT": "syscall", - "syscall.SYS_FCHMOD_EXTENDED": "syscall", - "syscall.SYS_FCHOWN": "syscall", - "syscall.SYS_FCHOWN32": "syscall", - "syscall.SYS_FCHOWNAT": "syscall", - "syscall.SYS_FCHROOT": "syscall", - "syscall.SYS_FCNTL": "syscall", - "syscall.SYS_FCNTL64": "syscall", - "syscall.SYS_FCNTL_NOCANCEL": "syscall", - "syscall.SYS_FDATASYNC": "syscall", - "syscall.SYS_FEXECVE": "syscall", - "syscall.SYS_FFCLOCK_GETCOUNTER": "syscall", - "syscall.SYS_FFCLOCK_GETESTIMATE": "syscall", - "syscall.SYS_FFCLOCK_SETESTIMATE": "syscall", - "syscall.SYS_FFSCTL": "syscall", - "syscall.SYS_FGETATTRLIST": "syscall", - "syscall.SYS_FGETXATTR": "syscall", - "syscall.SYS_FHOPEN": "syscall", - "syscall.SYS_FHSTAT": "syscall", - "syscall.SYS_FHSTATFS": "syscall", - "syscall.SYS_FILEPORT_MAKEFD": "syscall", - "syscall.SYS_FILEPORT_MAKEPORT": "syscall", - "syscall.SYS_FKTRACE": "syscall", - "syscall.SYS_FLISTXATTR": "syscall", - "syscall.SYS_FLOCK": "syscall", - "syscall.SYS_FORK": "syscall", - "syscall.SYS_FPATHCONF": "syscall", - "syscall.SYS_FREEBSD6_FTRUNCATE": "syscall", - "syscall.SYS_FREEBSD6_LSEEK": "syscall", - "syscall.SYS_FREEBSD6_MMAP": "syscall", - "syscall.SYS_FREEBSD6_PREAD": "syscall", - "syscall.SYS_FREEBSD6_PWRITE": "syscall", - "syscall.SYS_FREEBSD6_TRUNCATE": "syscall", - "syscall.SYS_FREMOVEXATTR": "syscall", - "syscall.SYS_FSCTL": "syscall", - "syscall.SYS_FSETATTRLIST": "syscall", - "syscall.SYS_FSETXATTR": "syscall", - "syscall.SYS_FSGETPATH": "syscall", - "syscall.SYS_FSTAT": "syscall", - "syscall.SYS_FSTAT64": "syscall", - "syscall.SYS_FSTAT64_EXTENDED": "syscall", - "syscall.SYS_FSTATAT": "syscall", - "syscall.SYS_FSTATAT64": "syscall", - "syscall.SYS_FSTATFS": "syscall", - "syscall.SYS_FSTATFS64": "syscall", - "syscall.SYS_FSTATV": "syscall", - "syscall.SYS_FSTATVFS1": "syscall", - "syscall.SYS_FSTAT_EXTENDED": "syscall", - "syscall.SYS_FSYNC": "syscall", - "syscall.SYS_FSYNC_NOCANCEL": "syscall", - "syscall.SYS_FSYNC_RANGE": "syscall", - "syscall.SYS_FTIME": "syscall", - "syscall.SYS_FTRUNCATE": "syscall", - "syscall.SYS_FTRUNCATE64": "syscall", - "syscall.SYS_FUTEX": "syscall", - "syscall.SYS_FUTIMENS": "syscall", - "syscall.SYS_FUTIMES": "syscall", - "syscall.SYS_FUTIMESAT": "syscall", - "syscall.SYS_GETATTRLIST": "syscall", - "syscall.SYS_GETAUDIT": "syscall", - "syscall.SYS_GETAUDIT_ADDR": "syscall", - "syscall.SYS_GETAUID": "syscall", - "syscall.SYS_GETCONTEXT": "syscall", - "syscall.SYS_GETCPU": "syscall", - "syscall.SYS_GETCWD": "syscall", - "syscall.SYS_GETDENTS": "syscall", - "syscall.SYS_GETDENTS64": "syscall", - "syscall.SYS_GETDIRENTRIES": "syscall", - "syscall.SYS_GETDIRENTRIES64": "syscall", - "syscall.SYS_GETDIRENTRIESATTR": "syscall", - "syscall.SYS_GETDTABLECOUNT": "syscall", - "syscall.SYS_GETDTABLESIZE": "syscall", - "syscall.SYS_GETEGID": "syscall", - "syscall.SYS_GETEGID32": "syscall", - "syscall.SYS_GETEUID": "syscall", - "syscall.SYS_GETEUID32": "syscall", - "syscall.SYS_GETFH": "syscall", - "syscall.SYS_GETFSSTAT": "syscall", - "syscall.SYS_GETFSSTAT64": "syscall", - "syscall.SYS_GETGID": "syscall", - "syscall.SYS_GETGID32": "syscall", - "syscall.SYS_GETGROUPS": "syscall", - "syscall.SYS_GETGROUPS32": "syscall", - "syscall.SYS_GETHOSTUUID": "syscall", - "syscall.SYS_GETITIMER": "syscall", - "syscall.SYS_GETLCID": "syscall", - "syscall.SYS_GETLOGIN": "syscall", - "syscall.SYS_GETLOGINCLASS": "syscall", - "syscall.SYS_GETPEERNAME": "syscall", - "syscall.SYS_GETPGID": "syscall", - "syscall.SYS_GETPGRP": "syscall", - "syscall.SYS_GETPID": "syscall", - "syscall.SYS_GETPMSG": "syscall", - "syscall.SYS_GETPPID": "syscall", - "syscall.SYS_GETPRIORITY": "syscall", - "syscall.SYS_GETRESGID": "syscall", - "syscall.SYS_GETRESGID32": "syscall", - "syscall.SYS_GETRESUID": "syscall", - "syscall.SYS_GETRESUID32": "syscall", - "syscall.SYS_GETRLIMIT": "syscall", - "syscall.SYS_GETRTABLE": "syscall", - "syscall.SYS_GETRUSAGE": "syscall", - "syscall.SYS_GETSGROUPS": "syscall", - "syscall.SYS_GETSID": "syscall", - "syscall.SYS_GETSOCKNAME": "syscall", - "syscall.SYS_GETSOCKOPT": "syscall", - "syscall.SYS_GETTHRID": "syscall", - "syscall.SYS_GETTID": "syscall", - "syscall.SYS_GETTIMEOFDAY": "syscall", - "syscall.SYS_GETUID": "syscall", - "syscall.SYS_GETUID32": "syscall", - "syscall.SYS_GETVFSSTAT": "syscall", - "syscall.SYS_GETWGROUPS": "syscall", - "syscall.SYS_GETXATTR": "syscall", - "syscall.SYS_GET_KERNEL_SYMS": "syscall", - "syscall.SYS_GET_MEMPOLICY": "syscall", - "syscall.SYS_GET_ROBUST_LIST": "syscall", - "syscall.SYS_GET_THREAD_AREA": "syscall", - "syscall.SYS_GTTY": "syscall", - "syscall.SYS_IDENTITYSVC": "syscall", - "syscall.SYS_IDLE": "syscall", - "syscall.SYS_INITGROUPS": "syscall", - "syscall.SYS_INIT_MODULE": "syscall", - "syscall.SYS_INOTIFY_ADD_WATCH": "syscall", - "syscall.SYS_INOTIFY_INIT": "syscall", - "syscall.SYS_INOTIFY_INIT1": "syscall", - "syscall.SYS_INOTIFY_RM_WATCH": "syscall", - "syscall.SYS_IOCTL": "syscall", - "syscall.SYS_IOPERM": "syscall", - "syscall.SYS_IOPL": "syscall", - "syscall.SYS_IOPOLICYSYS": "syscall", - "syscall.SYS_IOPRIO_GET": "syscall", - "syscall.SYS_IOPRIO_SET": "syscall", - "syscall.SYS_IO_CANCEL": "syscall", - "syscall.SYS_IO_DESTROY": "syscall", - "syscall.SYS_IO_GETEVENTS": "syscall", - "syscall.SYS_IO_SETUP": "syscall", - "syscall.SYS_IO_SUBMIT": "syscall", - "syscall.SYS_IPC": "syscall", - "syscall.SYS_ISSETUGID": "syscall", - "syscall.SYS_JAIL": "syscall", - "syscall.SYS_JAIL_ATTACH": "syscall", - "syscall.SYS_JAIL_GET": "syscall", - "syscall.SYS_JAIL_REMOVE": "syscall", - "syscall.SYS_JAIL_SET": "syscall", - "syscall.SYS_KDEBUG_TRACE": "syscall", - "syscall.SYS_KENV": "syscall", - "syscall.SYS_KEVENT": "syscall", - "syscall.SYS_KEVENT64": "syscall", - "syscall.SYS_KEXEC_LOAD": "syscall", - "syscall.SYS_KEYCTL": "syscall", - "syscall.SYS_KILL": "syscall", - "syscall.SYS_KLDFIND": "syscall", - "syscall.SYS_KLDFIRSTMOD": "syscall", - "syscall.SYS_KLDLOAD": "syscall", - "syscall.SYS_KLDNEXT": "syscall", - "syscall.SYS_KLDSTAT": "syscall", - "syscall.SYS_KLDSYM": "syscall", - "syscall.SYS_KLDUNLOAD": "syscall", - "syscall.SYS_KLDUNLOADF": "syscall", - "syscall.SYS_KQUEUE": "syscall", - "syscall.SYS_KQUEUE1": "syscall", - "syscall.SYS_KTIMER_CREATE": "syscall", - "syscall.SYS_KTIMER_DELETE": "syscall", - "syscall.SYS_KTIMER_GETOVERRUN": "syscall", - "syscall.SYS_KTIMER_GETTIME": "syscall", - "syscall.SYS_KTIMER_SETTIME": "syscall", - "syscall.SYS_KTRACE": "syscall", - "syscall.SYS_LCHFLAGS": "syscall", - "syscall.SYS_LCHMOD": "syscall", - "syscall.SYS_LCHOWN": "syscall", - "syscall.SYS_LCHOWN32": "syscall", - "syscall.SYS_LGETFH": "syscall", - "syscall.SYS_LGETXATTR": "syscall", - "syscall.SYS_LINK": "syscall", - "syscall.SYS_LINKAT": "syscall", - "syscall.SYS_LIO_LISTIO": "syscall", - "syscall.SYS_LISTEN": "syscall", - "syscall.SYS_LISTXATTR": "syscall", - "syscall.SYS_LLISTXATTR": "syscall", - "syscall.SYS_LOCK": "syscall", - "syscall.SYS_LOOKUP_DCOOKIE": "syscall", - "syscall.SYS_LPATHCONF": "syscall", - "syscall.SYS_LREMOVEXATTR": "syscall", - "syscall.SYS_LSEEK": "syscall", - "syscall.SYS_LSETXATTR": "syscall", - "syscall.SYS_LSTAT": "syscall", - "syscall.SYS_LSTAT64": "syscall", - "syscall.SYS_LSTAT64_EXTENDED": "syscall", - "syscall.SYS_LSTATV": "syscall", - "syscall.SYS_LSTAT_EXTENDED": "syscall", - "syscall.SYS_LUTIMES": "syscall", - "syscall.SYS_MAC_SYSCALL": "syscall", - "syscall.SYS_MADVISE": "syscall", - "syscall.SYS_MADVISE1": "syscall", - "syscall.SYS_MAXSYSCALL": "syscall", - "syscall.SYS_MBIND": "syscall", - "syscall.SYS_MIGRATE_PAGES": "syscall", - "syscall.SYS_MINCORE": "syscall", - "syscall.SYS_MINHERIT": "syscall", - "syscall.SYS_MKCOMPLEX": "syscall", - "syscall.SYS_MKDIR": "syscall", - "syscall.SYS_MKDIRAT": "syscall", - "syscall.SYS_MKDIR_EXTENDED": "syscall", - "syscall.SYS_MKFIFO": "syscall", - "syscall.SYS_MKFIFOAT": "syscall", - "syscall.SYS_MKFIFO_EXTENDED": "syscall", - "syscall.SYS_MKNOD": "syscall", - "syscall.SYS_MKNODAT": "syscall", - "syscall.SYS_MLOCK": "syscall", - "syscall.SYS_MLOCKALL": "syscall", - "syscall.SYS_MMAP": "syscall", - "syscall.SYS_MMAP2": "syscall", - "syscall.SYS_MODCTL": "syscall", - "syscall.SYS_MODFIND": "syscall", - "syscall.SYS_MODFNEXT": "syscall", - "syscall.SYS_MODIFY_LDT": "syscall", - "syscall.SYS_MODNEXT": "syscall", - "syscall.SYS_MODSTAT": "syscall", - "syscall.SYS_MODWATCH": "syscall", - "syscall.SYS_MOUNT": "syscall", - "syscall.SYS_MOVE_PAGES": "syscall", - "syscall.SYS_MPROTECT": "syscall", - "syscall.SYS_MPX": "syscall", - "syscall.SYS_MQUERY": "syscall", - "syscall.SYS_MQ_GETSETATTR": "syscall", - "syscall.SYS_MQ_NOTIFY": "syscall", - "syscall.SYS_MQ_OPEN": "syscall", - "syscall.SYS_MQ_TIMEDRECEIVE": "syscall", - "syscall.SYS_MQ_TIMEDSEND": "syscall", - "syscall.SYS_MQ_UNLINK": "syscall", - "syscall.SYS_MREMAP": "syscall", - "syscall.SYS_MSGCTL": "syscall", - "syscall.SYS_MSGGET": "syscall", - "syscall.SYS_MSGRCV": "syscall", - "syscall.SYS_MSGRCV_NOCANCEL": "syscall", - "syscall.SYS_MSGSND": "syscall", - "syscall.SYS_MSGSND_NOCANCEL": "syscall", - "syscall.SYS_MSGSYS": "syscall", - "syscall.SYS_MSYNC": "syscall", - "syscall.SYS_MSYNC_NOCANCEL": "syscall", - "syscall.SYS_MUNLOCK": "syscall", - "syscall.SYS_MUNLOCKALL": "syscall", - "syscall.SYS_MUNMAP": "syscall", - "syscall.SYS_NAME_TO_HANDLE_AT": "syscall", - "syscall.SYS_NANOSLEEP": "syscall", - "syscall.SYS_NEWFSTATAT": "syscall", - "syscall.SYS_NFSCLNT": "syscall", - "syscall.SYS_NFSSERVCTL": "syscall", - "syscall.SYS_NFSSVC": "syscall", - "syscall.SYS_NFSTAT": "syscall", - "syscall.SYS_NICE": "syscall", - "syscall.SYS_NLSTAT": "syscall", - "syscall.SYS_NMOUNT": "syscall", - "syscall.SYS_NSTAT": "syscall", - "syscall.SYS_NTP_ADJTIME": "syscall", - "syscall.SYS_NTP_GETTIME": "syscall", - "syscall.SYS_OABI_SYSCALL_BASE": "syscall", - "syscall.SYS_OBREAK": "syscall", - "syscall.SYS_OLDFSTAT": "syscall", - "syscall.SYS_OLDLSTAT": "syscall", - "syscall.SYS_OLDOLDUNAME": "syscall", - "syscall.SYS_OLDSTAT": "syscall", - "syscall.SYS_OLDUNAME": "syscall", - "syscall.SYS_OPEN": "syscall", - "syscall.SYS_OPENAT": "syscall", - "syscall.SYS_OPENBSD_POLL": "syscall", - "syscall.SYS_OPEN_BY_HANDLE_AT": "syscall", - "syscall.SYS_OPEN_EXTENDED": "syscall", - "syscall.SYS_OPEN_NOCANCEL": "syscall", - "syscall.SYS_OVADVISE": "syscall", - "syscall.SYS_PACCEPT": "syscall", - "syscall.SYS_PATHCONF": "syscall", - "syscall.SYS_PAUSE": "syscall", - "syscall.SYS_PCICONFIG_IOBASE": "syscall", - "syscall.SYS_PCICONFIG_READ": "syscall", - "syscall.SYS_PCICONFIG_WRITE": "syscall", - "syscall.SYS_PDFORK": "syscall", - "syscall.SYS_PDGETPID": "syscall", - "syscall.SYS_PDKILL": "syscall", - "syscall.SYS_PERF_EVENT_OPEN": "syscall", - "syscall.SYS_PERSONALITY": "syscall", - "syscall.SYS_PID_HIBERNATE": "syscall", - "syscall.SYS_PID_RESUME": "syscall", - "syscall.SYS_PID_SHUTDOWN_SOCKETS": "syscall", - "syscall.SYS_PID_SUSPEND": "syscall", - "syscall.SYS_PIPE": "syscall", - "syscall.SYS_PIPE2": "syscall", - "syscall.SYS_PIVOT_ROOT": "syscall", - "syscall.SYS_PMC_CONTROL": "syscall", - "syscall.SYS_PMC_GET_INFO": "syscall", - "syscall.SYS_POLL": "syscall", - "syscall.SYS_POLLTS": "syscall", - "syscall.SYS_POLL_NOCANCEL": "syscall", - "syscall.SYS_POSIX_FADVISE": "syscall", - "syscall.SYS_POSIX_FALLOCATE": "syscall", - "syscall.SYS_POSIX_OPENPT": "syscall", - "syscall.SYS_POSIX_SPAWN": "syscall", - "syscall.SYS_PPOLL": "syscall", - "syscall.SYS_PRCTL": "syscall", - "syscall.SYS_PREAD": "syscall", - "syscall.SYS_PREAD64": "syscall", - "syscall.SYS_PREADV": "syscall", - "syscall.SYS_PREAD_NOCANCEL": "syscall", - "syscall.SYS_PRLIMIT64": "syscall", - "syscall.SYS_PROCCTL": "syscall", - "syscall.SYS_PROCESS_POLICY": "syscall", - "syscall.SYS_PROCESS_VM_READV": "syscall", - "syscall.SYS_PROCESS_VM_WRITEV": "syscall", - "syscall.SYS_PROC_INFO": "syscall", - "syscall.SYS_PROF": "syscall", - "syscall.SYS_PROFIL": "syscall", - "syscall.SYS_PSELECT": "syscall", - "syscall.SYS_PSELECT6": "syscall", - "syscall.SYS_PSET_ASSIGN": "syscall", - "syscall.SYS_PSET_CREATE": "syscall", - "syscall.SYS_PSET_DESTROY": "syscall", - "syscall.SYS_PSYNCH_CVBROAD": "syscall", - "syscall.SYS_PSYNCH_CVCLRPREPOST": "syscall", - "syscall.SYS_PSYNCH_CVSIGNAL": "syscall", - "syscall.SYS_PSYNCH_CVWAIT": "syscall", - "syscall.SYS_PSYNCH_MUTEXDROP": "syscall", - "syscall.SYS_PSYNCH_MUTEXWAIT": "syscall", - "syscall.SYS_PSYNCH_RW_DOWNGRADE": "syscall", - "syscall.SYS_PSYNCH_RW_LONGRDLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_RDLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_UNLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_UNLOCK2": "syscall", - "syscall.SYS_PSYNCH_RW_UPGRADE": "syscall", - "syscall.SYS_PSYNCH_RW_WRLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_YIELDWRLOCK": "syscall", - "syscall.SYS_PTRACE": "syscall", - "syscall.SYS_PUTPMSG": "syscall", - "syscall.SYS_PWRITE": "syscall", - "syscall.SYS_PWRITE64": "syscall", - "syscall.SYS_PWRITEV": "syscall", - "syscall.SYS_PWRITE_NOCANCEL": "syscall", - "syscall.SYS_QUERY_MODULE": "syscall", - "syscall.SYS_QUOTACTL": "syscall", - "syscall.SYS_RASCTL": "syscall", - "syscall.SYS_RCTL_ADD_RULE": "syscall", - "syscall.SYS_RCTL_GET_LIMITS": "syscall", - "syscall.SYS_RCTL_GET_RACCT": "syscall", - "syscall.SYS_RCTL_GET_RULES": "syscall", - "syscall.SYS_RCTL_REMOVE_RULE": "syscall", - "syscall.SYS_READ": "syscall", - "syscall.SYS_READAHEAD": "syscall", - "syscall.SYS_READDIR": "syscall", - "syscall.SYS_READLINK": "syscall", - "syscall.SYS_READLINKAT": "syscall", - "syscall.SYS_READV": "syscall", - "syscall.SYS_READV_NOCANCEL": "syscall", - "syscall.SYS_READ_NOCANCEL": "syscall", - "syscall.SYS_REBOOT": "syscall", - "syscall.SYS_RECV": "syscall", - "syscall.SYS_RECVFROM": "syscall", - "syscall.SYS_RECVFROM_NOCANCEL": "syscall", - "syscall.SYS_RECVMMSG": "syscall", - "syscall.SYS_RECVMSG": "syscall", - "syscall.SYS_RECVMSG_NOCANCEL": "syscall", - "syscall.SYS_REMAP_FILE_PAGES": "syscall", - "syscall.SYS_REMOVEXATTR": "syscall", - "syscall.SYS_RENAME": "syscall", - "syscall.SYS_RENAMEAT": "syscall", - "syscall.SYS_REQUEST_KEY": "syscall", - "syscall.SYS_RESTART_SYSCALL": "syscall", - "syscall.SYS_REVOKE": "syscall", - "syscall.SYS_RFORK": "syscall", - "syscall.SYS_RMDIR": "syscall", - "syscall.SYS_RTPRIO": "syscall", - "syscall.SYS_RTPRIO_THREAD": "syscall", - "syscall.SYS_RT_SIGACTION": "syscall", - "syscall.SYS_RT_SIGPENDING": "syscall", - "syscall.SYS_RT_SIGPROCMASK": "syscall", - "syscall.SYS_RT_SIGQUEUEINFO": "syscall", - "syscall.SYS_RT_SIGRETURN": "syscall", - "syscall.SYS_RT_SIGSUSPEND": "syscall", - "syscall.SYS_RT_SIGTIMEDWAIT": "syscall", - "syscall.SYS_RT_TGSIGQUEUEINFO": "syscall", - "syscall.SYS_SBRK": "syscall", - "syscall.SYS_SCHED_GETAFFINITY": "syscall", - "syscall.SYS_SCHED_GETPARAM": "syscall", - "syscall.SYS_SCHED_GETSCHEDULER": "syscall", - "syscall.SYS_SCHED_GET_PRIORITY_MAX": "syscall", - "syscall.SYS_SCHED_GET_PRIORITY_MIN": "syscall", - "syscall.SYS_SCHED_RR_GET_INTERVAL": "syscall", - "syscall.SYS_SCHED_SETAFFINITY": "syscall", - "syscall.SYS_SCHED_SETPARAM": "syscall", - "syscall.SYS_SCHED_SETSCHEDULER": "syscall", - "syscall.SYS_SCHED_YIELD": "syscall", - "syscall.SYS_SCTP_GENERIC_RECVMSG": "syscall", - "syscall.SYS_SCTP_GENERIC_SENDMSG": "syscall", - "syscall.SYS_SCTP_GENERIC_SENDMSG_IOV": "syscall", - "syscall.SYS_SCTP_PEELOFF": "syscall", - "syscall.SYS_SEARCHFS": "syscall", - "syscall.SYS_SECURITY": "syscall", - "syscall.SYS_SELECT": "syscall", - "syscall.SYS_SELECT_NOCANCEL": "syscall", - "syscall.SYS_SEMCONFIG": "syscall", - "syscall.SYS_SEMCTL": "syscall", - "syscall.SYS_SEMGET": "syscall", - "syscall.SYS_SEMOP": "syscall", - "syscall.SYS_SEMSYS": "syscall", - "syscall.SYS_SEMTIMEDOP": "syscall", - "syscall.SYS_SEM_CLOSE": "syscall", - "syscall.SYS_SEM_DESTROY": "syscall", - "syscall.SYS_SEM_GETVALUE": "syscall", - "syscall.SYS_SEM_INIT": "syscall", - "syscall.SYS_SEM_OPEN": "syscall", - "syscall.SYS_SEM_POST": "syscall", - "syscall.SYS_SEM_TRYWAIT": "syscall", - "syscall.SYS_SEM_UNLINK": "syscall", - "syscall.SYS_SEM_WAIT": "syscall", - "syscall.SYS_SEM_WAIT_NOCANCEL": "syscall", - "syscall.SYS_SEND": "syscall", - "syscall.SYS_SENDFILE": "syscall", - "syscall.SYS_SENDFILE64": "syscall", - "syscall.SYS_SENDMMSG": "syscall", - "syscall.SYS_SENDMSG": "syscall", - "syscall.SYS_SENDMSG_NOCANCEL": "syscall", - "syscall.SYS_SENDTO": "syscall", - "syscall.SYS_SENDTO_NOCANCEL": "syscall", - "syscall.SYS_SETATTRLIST": "syscall", - "syscall.SYS_SETAUDIT": "syscall", - "syscall.SYS_SETAUDIT_ADDR": "syscall", - "syscall.SYS_SETAUID": "syscall", - "syscall.SYS_SETCONTEXT": "syscall", - "syscall.SYS_SETDOMAINNAME": "syscall", - "syscall.SYS_SETEGID": "syscall", - "syscall.SYS_SETEUID": "syscall", - "syscall.SYS_SETFIB": "syscall", - "syscall.SYS_SETFSGID": "syscall", - "syscall.SYS_SETFSGID32": "syscall", - "syscall.SYS_SETFSUID": "syscall", - "syscall.SYS_SETFSUID32": "syscall", - "syscall.SYS_SETGID": "syscall", - "syscall.SYS_SETGID32": "syscall", - "syscall.SYS_SETGROUPS": "syscall", - "syscall.SYS_SETGROUPS32": "syscall", - "syscall.SYS_SETHOSTNAME": "syscall", - "syscall.SYS_SETITIMER": "syscall", - "syscall.SYS_SETLCID": "syscall", - "syscall.SYS_SETLOGIN": "syscall", - "syscall.SYS_SETLOGINCLASS": "syscall", - "syscall.SYS_SETNS": "syscall", - "syscall.SYS_SETPGID": "syscall", - "syscall.SYS_SETPRIORITY": "syscall", - "syscall.SYS_SETPRIVEXEC": "syscall", - "syscall.SYS_SETREGID": "syscall", - "syscall.SYS_SETREGID32": "syscall", - "syscall.SYS_SETRESGID": "syscall", - "syscall.SYS_SETRESGID32": "syscall", - "syscall.SYS_SETRESUID": "syscall", - "syscall.SYS_SETRESUID32": "syscall", - "syscall.SYS_SETREUID": "syscall", - "syscall.SYS_SETREUID32": "syscall", - "syscall.SYS_SETRLIMIT": "syscall", - "syscall.SYS_SETRTABLE": "syscall", - "syscall.SYS_SETSGROUPS": "syscall", - "syscall.SYS_SETSID": "syscall", - "syscall.SYS_SETSOCKOPT": "syscall", - "syscall.SYS_SETTID": "syscall", - "syscall.SYS_SETTID_WITH_PID": "syscall", - "syscall.SYS_SETTIMEOFDAY": "syscall", - "syscall.SYS_SETUID": "syscall", - "syscall.SYS_SETUID32": "syscall", - "syscall.SYS_SETWGROUPS": "syscall", - "syscall.SYS_SETXATTR": "syscall", - "syscall.SYS_SET_MEMPOLICY": "syscall", - "syscall.SYS_SET_ROBUST_LIST": "syscall", - "syscall.SYS_SET_THREAD_AREA": "syscall", - "syscall.SYS_SET_TID_ADDRESS": "syscall", - "syscall.SYS_SGETMASK": "syscall", - "syscall.SYS_SHARED_REGION_CHECK_NP": "syscall", - "syscall.SYS_SHARED_REGION_MAP_AND_SLIDE_NP": "syscall", - "syscall.SYS_SHMAT": "syscall", - "syscall.SYS_SHMCTL": "syscall", - "syscall.SYS_SHMDT": "syscall", - "syscall.SYS_SHMGET": "syscall", - "syscall.SYS_SHMSYS": "syscall", - "syscall.SYS_SHM_OPEN": "syscall", - "syscall.SYS_SHM_UNLINK": "syscall", - "syscall.SYS_SHUTDOWN": "syscall", - "syscall.SYS_SIGACTION": "syscall", - "syscall.SYS_SIGALTSTACK": "syscall", - "syscall.SYS_SIGNAL": "syscall", - "syscall.SYS_SIGNALFD": "syscall", - "syscall.SYS_SIGNALFD4": "syscall", - "syscall.SYS_SIGPENDING": "syscall", - "syscall.SYS_SIGPROCMASK": "syscall", - "syscall.SYS_SIGQUEUE": "syscall", - "syscall.SYS_SIGQUEUEINFO": "syscall", - "syscall.SYS_SIGRETURN": "syscall", - "syscall.SYS_SIGSUSPEND": "syscall", - "syscall.SYS_SIGSUSPEND_NOCANCEL": "syscall", - "syscall.SYS_SIGTIMEDWAIT": "syscall", - "syscall.SYS_SIGWAIT": "syscall", - "syscall.SYS_SIGWAITINFO": "syscall", - "syscall.SYS_SOCKET": "syscall", - "syscall.SYS_SOCKETCALL": "syscall", - "syscall.SYS_SOCKETPAIR": "syscall", - "syscall.SYS_SPLICE": "syscall", - "syscall.SYS_SSETMASK": "syscall", - "syscall.SYS_SSTK": "syscall", - "syscall.SYS_STACK_SNAPSHOT": "syscall", - "syscall.SYS_STAT": "syscall", - "syscall.SYS_STAT64": "syscall", - "syscall.SYS_STAT64_EXTENDED": "syscall", - "syscall.SYS_STATFS": "syscall", - "syscall.SYS_STATFS64": "syscall", - "syscall.SYS_STATV": "syscall", - "syscall.SYS_STATVFS1": "syscall", - "syscall.SYS_STAT_EXTENDED": "syscall", - "syscall.SYS_STIME": "syscall", - "syscall.SYS_STTY": "syscall", - "syscall.SYS_SWAPCONTEXT": "syscall", - "syscall.SYS_SWAPCTL": "syscall", - "syscall.SYS_SWAPOFF": "syscall", - "syscall.SYS_SWAPON": "syscall", - "syscall.SYS_SYMLINK": "syscall", - "syscall.SYS_SYMLINKAT": "syscall", - "syscall.SYS_SYNC": "syscall", - "syscall.SYS_SYNCFS": "syscall", - "syscall.SYS_SYNC_FILE_RANGE": "syscall", - "syscall.SYS_SYSARCH": "syscall", - "syscall.SYS_SYSCALL": "syscall", - "syscall.SYS_SYSCALL_BASE": "syscall", - "syscall.SYS_SYSFS": "syscall", - "syscall.SYS_SYSINFO": "syscall", - "syscall.SYS_SYSLOG": "syscall", - "syscall.SYS_TEE": "syscall", - "syscall.SYS_TGKILL": "syscall", - "syscall.SYS_THREAD_SELFID": "syscall", - "syscall.SYS_THR_CREATE": "syscall", - "syscall.SYS_THR_EXIT": "syscall", - "syscall.SYS_THR_KILL": "syscall", - "syscall.SYS_THR_KILL2": "syscall", - "syscall.SYS_THR_NEW": "syscall", - "syscall.SYS_THR_SELF": "syscall", - "syscall.SYS_THR_SET_NAME": "syscall", - "syscall.SYS_THR_SUSPEND": "syscall", - "syscall.SYS_THR_WAKE": "syscall", - "syscall.SYS_TIME": "syscall", - "syscall.SYS_TIMERFD_CREATE": "syscall", - "syscall.SYS_TIMERFD_GETTIME": "syscall", - "syscall.SYS_TIMERFD_SETTIME": "syscall", - "syscall.SYS_TIMER_CREATE": "syscall", - "syscall.SYS_TIMER_DELETE": "syscall", - "syscall.SYS_TIMER_GETOVERRUN": "syscall", - "syscall.SYS_TIMER_GETTIME": "syscall", - "syscall.SYS_TIMER_SETTIME": "syscall", - "syscall.SYS_TIMES": "syscall", - "syscall.SYS_TKILL": "syscall", - "syscall.SYS_TRUNCATE": "syscall", - "syscall.SYS_TRUNCATE64": "syscall", - "syscall.SYS_TUXCALL": "syscall", - "syscall.SYS_UGETRLIMIT": "syscall", - "syscall.SYS_ULIMIT": "syscall", - "syscall.SYS_UMASK": "syscall", - "syscall.SYS_UMASK_EXTENDED": "syscall", - "syscall.SYS_UMOUNT": "syscall", - "syscall.SYS_UMOUNT2": "syscall", - "syscall.SYS_UNAME": "syscall", - "syscall.SYS_UNDELETE": "syscall", - "syscall.SYS_UNLINK": "syscall", - "syscall.SYS_UNLINKAT": "syscall", - "syscall.SYS_UNMOUNT": "syscall", - "syscall.SYS_UNSHARE": "syscall", - "syscall.SYS_USELIB": "syscall", - "syscall.SYS_USTAT": "syscall", - "syscall.SYS_UTIME": "syscall", - "syscall.SYS_UTIMENSAT": "syscall", - "syscall.SYS_UTIMES": "syscall", - "syscall.SYS_UTRACE": "syscall", - "syscall.SYS_UUIDGEN": "syscall", - "syscall.SYS_VADVISE": "syscall", - "syscall.SYS_VFORK": "syscall", - "syscall.SYS_VHANGUP": "syscall", - "syscall.SYS_VM86": "syscall", - "syscall.SYS_VM86OLD": "syscall", - "syscall.SYS_VMSPLICE": "syscall", - "syscall.SYS_VM_PRESSURE_MONITOR": "syscall", - "syscall.SYS_VSERVER": "syscall", - "syscall.SYS_WAIT4": "syscall", - "syscall.SYS_WAIT4_NOCANCEL": "syscall", - "syscall.SYS_WAIT6": "syscall", - "syscall.SYS_WAITEVENT": "syscall", - "syscall.SYS_WAITID": "syscall", - "syscall.SYS_WAITID_NOCANCEL": "syscall", - "syscall.SYS_WAITPID": "syscall", - "syscall.SYS_WATCHEVENT": "syscall", - "syscall.SYS_WORKQ_KERNRETURN": "syscall", - "syscall.SYS_WORKQ_OPEN": "syscall", - "syscall.SYS_WRITE": "syscall", - "syscall.SYS_WRITEV": "syscall", - "syscall.SYS_WRITEV_NOCANCEL": "syscall", - "syscall.SYS_WRITE_NOCANCEL": "syscall", - "syscall.SYS_YIELD": "syscall", - "syscall.SYS__LLSEEK": "syscall", - "syscall.SYS__LWP_CONTINUE": "syscall", - "syscall.SYS__LWP_CREATE": "syscall", - "syscall.SYS__LWP_CTL": "syscall", - "syscall.SYS__LWP_DETACH": "syscall", - "syscall.SYS__LWP_EXIT": "syscall", - "syscall.SYS__LWP_GETNAME": "syscall", - "syscall.SYS__LWP_GETPRIVATE": "syscall", - "syscall.SYS__LWP_KILL": "syscall", - "syscall.SYS__LWP_PARK": "syscall", - "syscall.SYS__LWP_SELF": "syscall", - "syscall.SYS__LWP_SETNAME": "syscall", - "syscall.SYS__LWP_SETPRIVATE": "syscall", - "syscall.SYS__LWP_SUSPEND": "syscall", - "syscall.SYS__LWP_UNPARK": "syscall", - "syscall.SYS__LWP_UNPARK_ALL": "syscall", - "syscall.SYS__LWP_WAIT": "syscall", - "syscall.SYS__LWP_WAKEUP": "syscall", - "syscall.SYS__NEWSELECT": "syscall", - "syscall.SYS__PSET_BIND": "syscall", - "syscall.SYS__SCHED_GETAFFINITY": "syscall", - "syscall.SYS__SCHED_GETPARAM": "syscall", - "syscall.SYS__SCHED_SETAFFINITY": "syscall", - "syscall.SYS__SCHED_SETPARAM": "syscall", - "syscall.SYS__SYSCTL": "syscall", - "syscall.SYS__UMTX_LOCK": "syscall", - "syscall.SYS__UMTX_OP": "syscall", - "syscall.SYS__UMTX_UNLOCK": "syscall", - "syscall.SYS___ACL_ACLCHECK_FD": "syscall", - "syscall.SYS___ACL_ACLCHECK_FILE": "syscall", - "syscall.SYS___ACL_ACLCHECK_LINK": "syscall", - "syscall.SYS___ACL_DELETE_FD": "syscall", - "syscall.SYS___ACL_DELETE_FILE": "syscall", - "syscall.SYS___ACL_DELETE_LINK": "syscall", - "syscall.SYS___ACL_GET_FD": "syscall", - "syscall.SYS___ACL_GET_FILE": "syscall", - "syscall.SYS___ACL_GET_LINK": "syscall", - "syscall.SYS___ACL_SET_FD": "syscall", - "syscall.SYS___ACL_SET_FILE": "syscall", - "syscall.SYS___ACL_SET_LINK": "syscall", - "syscall.SYS___CLONE": "syscall", - "syscall.SYS___DISABLE_THREADSIGNAL": "syscall", - "syscall.SYS___GETCWD": "syscall", - "syscall.SYS___GETLOGIN": "syscall", - "syscall.SYS___GET_TCB": "syscall", - "syscall.SYS___MAC_EXECVE": "syscall", - "syscall.SYS___MAC_GETFSSTAT": "syscall", - "syscall.SYS___MAC_GET_FD": "syscall", - "syscall.SYS___MAC_GET_FILE": "syscall", - "syscall.SYS___MAC_GET_LCID": "syscall", - "syscall.SYS___MAC_GET_LCTX": "syscall", - "syscall.SYS___MAC_GET_LINK": "syscall", - "syscall.SYS___MAC_GET_MOUNT": "syscall", - "syscall.SYS___MAC_GET_PID": "syscall", - "syscall.SYS___MAC_GET_PROC": "syscall", - "syscall.SYS___MAC_MOUNT": "syscall", - "syscall.SYS___MAC_SET_FD": "syscall", - "syscall.SYS___MAC_SET_FILE": "syscall", - "syscall.SYS___MAC_SET_LCTX": "syscall", - "syscall.SYS___MAC_SET_LINK": "syscall", - "syscall.SYS___MAC_SET_PROC": "syscall", - "syscall.SYS___MAC_SYSCALL": "syscall", - "syscall.SYS___OLD_SEMWAIT_SIGNAL": "syscall", - "syscall.SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL": "syscall", - "syscall.SYS___POSIX_CHOWN": "syscall", - "syscall.SYS___POSIX_FCHOWN": "syscall", - "syscall.SYS___POSIX_LCHOWN": "syscall", - "syscall.SYS___POSIX_RENAME": "syscall", - "syscall.SYS___PTHREAD_CANCELED": "syscall", - "syscall.SYS___PTHREAD_CHDIR": "syscall", - "syscall.SYS___PTHREAD_FCHDIR": "syscall", - "syscall.SYS___PTHREAD_KILL": "syscall", - "syscall.SYS___PTHREAD_MARKCANCEL": "syscall", - "syscall.SYS___PTHREAD_SIGMASK": "syscall", - "syscall.SYS___QUOTACTL": "syscall", - "syscall.SYS___SEMCTL": "syscall", - "syscall.SYS___SEMWAIT_SIGNAL": "syscall", - "syscall.SYS___SEMWAIT_SIGNAL_NOCANCEL": "syscall", - "syscall.SYS___SETLOGIN": "syscall", - "syscall.SYS___SETUGID": "syscall", - "syscall.SYS___SET_TCB": "syscall", - "syscall.SYS___SIGACTION_SIGTRAMP": "syscall", - "syscall.SYS___SIGTIMEDWAIT": "syscall", - "syscall.SYS___SIGWAIT": "syscall", - "syscall.SYS___SIGWAIT_NOCANCEL": "syscall", - "syscall.SYS___SYSCTL": "syscall", - "syscall.SYS___TFORK": "syscall", - "syscall.SYS___THREXIT": "syscall", - "syscall.SYS___THRSIGDIVERT": "syscall", - "syscall.SYS___THRSLEEP": "syscall", - "syscall.SYS___THRWAKEUP": "syscall", - "syscall.S_ARCH1": "syscall", - "syscall.S_ARCH2": "syscall", - "syscall.S_BLKSIZE": "syscall", - "syscall.S_IEXEC": "syscall", - "syscall.S_IFBLK": "syscall", - "syscall.S_IFCHR": "syscall", - "syscall.S_IFDIR": "syscall", - "syscall.S_IFIFO": "syscall", - "syscall.S_IFLNK": "syscall", - "syscall.S_IFMT": "syscall", - "syscall.S_IFREG": "syscall", - "syscall.S_IFSOCK": "syscall", - "syscall.S_IFWHT": "syscall", - "syscall.S_IREAD": "syscall", - "syscall.S_IRGRP": "syscall", - "syscall.S_IROTH": "syscall", - "syscall.S_IRUSR": "syscall", - "syscall.S_IRWXG": "syscall", - "syscall.S_IRWXO": "syscall", - "syscall.S_IRWXU": "syscall", - "syscall.S_ISGID": "syscall", - "syscall.S_ISTXT": "syscall", - "syscall.S_ISUID": "syscall", - "syscall.S_ISVTX": "syscall", - "syscall.S_IWGRP": "syscall", - "syscall.S_IWOTH": "syscall", - "syscall.S_IWRITE": "syscall", - "syscall.S_IWUSR": "syscall", - "syscall.S_IXGRP": "syscall", - "syscall.S_IXOTH": "syscall", - "syscall.S_IXUSR": "syscall", - "syscall.S_LOGIN_SET": "syscall", - "syscall.SecurityAttributes": "syscall", - "syscall.Seek": "syscall", - "syscall.Select": "syscall", - "syscall.Sendfile": "syscall", - "syscall.Sendmsg": "syscall", - "syscall.SendmsgN": "syscall", - "syscall.Sendto": "syscall", - "syscall.Servent": "syscall", - "syscall.SetBpf": "syscall", - "syscall.SetBpfBuflen": "syscall", - "syscall.SetBpfDatalink": "syscall", - "syscall.SetBpfHeadercmpl": "syscall", - "syscall.SetBpfImmediate": "syscall", - "syscall.SetBpfInterface": "syscall", - "syscall.SetBpfPromisc": "syscall", - "syscall.SetBpfTimeout": "syscall", - "syscall.SetCurrentDirectory": "syscall", - "syscall.SetEndOfFile": "syscall", - "syscall.SetEnvironmentVariable": "syscall", - "syscall.SetFileAttributes": "syscall", - "syscall.SetFileCompletionNotificationModes": "syscall", - "syscall.SetFilePointer": "syscall", - "syscall.SetFileTime": "syscall", - "syscall.SetHandleInformation": "syscall", - "syscall.SetKevent": "syscall", - "syscall.SetLsfPromisc": "syscall", - "syscall.SetNonblock": "syscall", - "syscall.Setdomainname": "syscall", - "syscall.Setegid": "syscall", - "syscall.Setenv": "syscall", - "syscall.Seteuid": "syscall", - "syscall.Setfsgid": "syscall", - "syscall.Setfsuid": "syscall", - "syscall.Setgid": "syscall", - "syscall.Setgroups": "syscall", - "syscall.Sethostname": "syscall", - "syscall.Setlogin": "syscall", - "syscall.Setpgid": "syscall", - "syscall.Setpriority": "syscall", - "syscall.Setprivexec": "syscall", - "syscall.Setregid": "syscall", - "syscall.Setresgid": "syscall", - "syscall.Setresuid": "syscall", - "syscall.Setreuid": "syscall", - "syscall.Setrlimit": "syscall", - "syscall.Setsid": "syscall", - "syscall.Setsockopt": "syscall", - "syscall.SetsockoptByte": "syscall", - "syscall.SetsockoptICMPv6Filter": "syscall", - "syscall.SetsockoptIPMreq": "syscall", - "syscall.SetsockoptIPMreqn": "syscall", - "syscall.SetsockoptIPv6Mreq": "syscall", - "syscall.SetsockoptInet4Addr": "syscall", - "syscall.SetsockoptInt": "syscall", - "syscall.SetsockoptLinger": "syscall", - "syscall.SetsockoptString": "syscall", - "syscall.SetsockoptTimeval": "syscall", - "syscall.Settimeofday": "syscall", - "syscall.Setuid": "syscall", - "syscall.Setxattr": "syscall", - "syscall.Shutdown": "syscall", - "syscall.SidTypeAlias": "syscall", - "syscall.SidTypeComputer": "syscall", - "syscall.SidTypeDeletedAccount": "syscall", - "syscall.SidTypeDomain": "syscall", - "syscall.SidTypeGroup": "syscall", - "syscall.SidTypeInvalid": "syscall", - "syscall.SidTypeLabel": "syscall", - "syscall.SidTypeUnknown": "syscall", - "syscall.SidTypeUser": "syscall", - "syscall.SidTypeWellKnownGroup": "syscall", - "syscall.Signal": "syscall", - "syscall.SizeofBpfHdr": "syscall", - "syscall.SizeofBpfInsn": "syscall", - "syscall.SizeofBpfProgram": "syscall", - "syscall.SizeofBpfStat": "syscall", - "syscall.SizeofBpfVersion": "syscall", - "syscall.SizeofBpfZbuf": "syscall", - "syscall.SizeofBpfZbufHeader": "syscall", - "syscall.SizeofCmsghdr": "syscall", - "syscall.SizeofICMPv6Filter": "syscall", - "syscall.SizeofIPMreq": "syscall", - "syscall.SizeofIPMreqn": "syscall", - "syscall.SizeofIPv6MTUInfo": "syscall", - "syscall.SizeofIPv6Mreq": "syscall", - "syscall.SizeofIfAddrmsg": "syscall", - "syscall.SizeofIfAnnounceMsghdr": "syscall", - "syscall.SizeofIfData": "syscall", - "syscall.SizeofIfInfomsg": "syscall", - "syscall.SizeofIfMsghdr": "syscall", - "syscall.SizeofIfaMsghdr": "syscall", - "syscall.SizeofIfmaMsghdr": "syscall", - "syscall.SizeofIfmaMsghdr2": "syscall", - "syscall.SizeofInet4Pktinfo": "syscall", - "syscall.SizeofInet6Pktinfo": "syscall", - "syscall.SizeofInotifyEvent": "syscall", - "syscall.SizeofLinger": "syscall", - "syscall.SizeofMsghdr": "syscall", - "syscall.SizeofNlAttr": "syscall", - "syscall.SizeofNlMsgerr": "syscall", - "syscall.SizeofNlMsghdr": "syscall", - "syscall.SizeofRtAttr": "syscall", - "syscall.SizeofRtGenmsg": "syscall", - "syscall.SizeofRtMetrics": "syscall", - "syscall.SizeofRtMsg": "syscall", - "syscall.SizeofRtMsghdr": "syscall", - "syscall.SizeofRtNexthop": "syscall", - "syscall.SizeofSockFilter": "syscall", - "syscall.SizeofSockFprog": "syscall", - "syscall.SizeofSockaddrAny": "syscall", - "syscall.SizeofSockaddrDatalink": "syscall", - "syscall.SizeofSockaddrInet4": "syscall", - "syscall.SizeofSockaddrInet6": "syscall", - "syscall.SizeofSockaddrLinklayer": "syscall", - "syscall.SizeofSockaddrNetlink": "syscall", - "syscall.SizeofSockaddrUnix": "syscall", - "syscall.SizeofTCPInfo": "syscall", - "syscall.SizeofUcred": "syscall", - "syscall.SlicePtrFromStrings": "syscall", - "syscall.SockFilter": "syscall", - "syscall.SockFprog": "syscall", - "syscall.SockaddrDatalink": "syscall", - "syscall.SockaddrGen": "syscall", - "syscall.SockaddrInet4": "syscall", - "syscall.SockaddrInet6": "syscall", - "syscall.SockaddrLinklayer": "syscall", - "syscall.SockaddrNetlink": "syscall", - "syscall.SockaddrUnix": "syscall", - "syscall.Socket": "syscall", - "syscall.SocketControlMessage": "syscall", - "syscall.SocketDisableIPv6": "syscall", - "syscall.Socketpair": "syscall", - "syscall.Splice": "syscall", - "syscall.StartProcess": "syscall", - "syscall.StartupInfo": "syscall", - "syscall.Stat": "syscall", - "syscall.Stat_t": "syscall", - "syscall.Statfs": "syscall", - "syscall.Statfs_t": "syscall", - "syscall.Stderr": "syscall", - "syscall.Stdin": "syscall", - "syscall.Stdout": "syscall", - "syscall.StringBytePtr": "syscall", - "syscall.StringByteSlice": "syscall", - "syscall.StringSlicePtr": "syscall", - "syscall.StringToSid": "syscall", - "syscall.StringToUTF16": "syscall", - "syscall.StringToUTF16Ptr": "syscall", - "syscall.Symlink": "syscall", - "syscall.Sync": "syscall", - "syscall.SyncFileRange": "syscall", - "syscall.SysProcAttr": "syscall", - "syscall.Syscall": "syscall", - "syscall.Syscall12": "syscall", - "syscall.Syscall15": "syscall", - "syscall.Syscall6": "syscall", - "syscall.Syscall9": "syscall", - "syscall.Sysctl": "syscall", - "syscall.SysctlUint32": "syscall", - "syscall.Sysctlnode": "syscall", - "syscall.Sysinfo": "syscall", - "syscall.Sysinfo_t": "syscall", - "syscall.Systemtime": "syscall", - "syscall.TCGETS": "syscall", - "syscall.TCIFLUSH": "syscall", - "syscall.TCIOFLUSH": "syscall", - "syscall.TCOFLUSH": "syscall", - "syscall.TCPInfo": "syscall", - "syscall.TCPKeepalive": "syscall", - "syscall.TCP_CA_NAME_MAX": "syscall", - "syscall.TCP_CONGCTL": "syscall", - "syscall.TCP_CONGESTION": "syscall", - "syscall.TCP_CONNECTIONTIMEOUT": "syscall", - "syscall.TCP_CORK": "syscall", - "syscall.TCP_DEFER_ACCEPT": "syscall", - "syscall.TCP_INFO": "syscall", - "syscall.TCP_KEEPALIVE": "syscall", - "syscall.TCP_KEEPCNT": "syscall", - "syscall.TCP_KEEPIDLE": "syscall", - "syscall.TCP_KEEPINIT": "syscall", - "syscall.TCP_KEEPINTVL": "syscall", - "syscall.TCP_LINGER2": "syscall", - "syscall.TCP_MAXBURST": "syscall", - "syscall.TCP_MAXHLEN": "syscall", - "syscall.TCP_MAXOLEN": "syscall", - "syscall.TCP_MAXSEG": "syscall", - "syscall.TCP_MAXWIN": "syscall", - "syscall.TCP_MAX_SACK": "syscall", - "syscall.TCP_MAX_WINSHIFT": "syscall", - "syscall.TCP_MD5SIG": "syscall", - "syscall.TCP_MD5SIG_MAXKEYLEN": "syscall", - "syscall.TCP_MINMSS": "syscall", - "syscall.TCP_MINMSSOVERLOAD": "syscall", - "syscall.TCP_MSS": "syscall", - "syscall.TCP_NODELAY": "syscall", - "syscall.TCP_NOOPT": "syscall", - "syscall.TCP_NOPUSH": "syscall", - "syscall.TCP_NSTATES": "syscall", - "syscall.TCP_QUICKACK": "syscall", - "syscall.TCP_RXT_CONNDROPTIME": "syscall", - "syscall.TCP_RXT_FINDROP": "syscall", - "syscall.TCP_SACK_ENABLE": "syscall", - "syscall.TCP_SYNCNT": "syscall", - "syscall.TCP_VENDOR": "syscall", - "syscall.TCP_WINDOW_CLAMP": "syscall", - "syscall.TCSAFLUSH": "syscall", - "syscall.TCSETS": "syscall", - "syscall.TF_DISCONNECT": "syscall", - "syscall.TF_REUSE_SOCKET": "syscall", - "syscall.TF_USE_DEFAULT_WORKER": "syscall", - "syscall.TF_USE_KERNEL_APC": "syscall", - "syscall.TF_USE_SYSTEM_THREAD": "syscall", - "syscall.TF_WRITE_BEHIND": "syscall", - "syscall.TIME_ZONE_ID_DAYLIGHT": "syscall", - "syscall.TIME_ZONE_ID_STANDARD": "syscall", - "syscall.TIME_ZONE_ID_UNKNOWN": "syscall", - "syscall.TIOCCBRK": "syscall", - "syscall.TIOCCDTR": "syscall", - "syscall.TIOCCONS": "syscall", - "syscall.TIOCDCDTIMESTAMP": "syscall", - "syscall.TIOCDRAIN": "syscall", - "syscall.TIOCDSIMICROCODE": "syscall", - "syscall.TIOCEXCL": "syscall", - "syscall.TIOCEXT": "syscall", - "syscall.TIOCFLAG_CDTRCTS": "syscall", - "syscall.TIOCFLAG_CLOCAL": "syscall", - "syscall.TIOCFLAG_CRTSCTS": "syscall", - "syscall.TIOCFLAG_MDMBUF": "syscall", - "syscall.TIOCFLAG_PPS": "syscall", - "syscall.TIOCFLAG_SOFTCAR": "syscall", - "syscall.TIOCFLUSH": "syscall", - "syscall.TIOCGDEV": "syscall", - "syscall.TIOCGDRAINWAIT": "syscall", - "syscall.TIOCGETA": "syscall", - "syscall.TIOCGETD": "syscall", - "syscall.TIOCGFLAGS": "syscall", - "syscall.TIOCGICOUNT": "syscall", - "syscall.TIOCGLCKTRMIOS": "syscall", - "syscall.TIOCGLINED": "syscall", - "syscall.TIOCGPGRP": "syscall", - "syscall.TIOCGPTN": "syscall", - "syscall.TIOCGQSIZE": "syscall", - "syscall.TIOCGRANTPT": "syscall", - "syscall.TIOCGRS485": "syscall", - "syscall.TIOCGSERIAL": "syscall", - "syscall.TIOCGSID": "syscall", - "syscall.TIOCGSIZE": "syscall", - "syscall.TIOCGSOFTCAR": "syscall", - "syscall.TIOCGTSTAMP": "syscall", - "syscall.TIOCGWINSZ": "syscall", - "syscall.TIOCINQ": "syscall", - "syscall.TIOCIXOFF": "syscall", - "syscall.TIOCIXON": "syscall", - "syscall.TIOCLINUX": "syscall", - "syscall.TIOCMBIC": "syscall", - "syscall.TIOCMBIS": "syscall", - "syscall.TIOCMGDTRWAIT": "syscall", - "syscall.TIOCMGET": "syscall", - "syscall.TIOCMIWAIT": "syscall", - "syscall.TIOCMODG": "syscall", - "syscall.TIOCMODS": "syscall", - "syscall.TIOCMSDTRWAIT": "syscall", - "syscall.TIOCMSET": "syscall", - "syscall.TIOCM_CAR": "syscall", - "syscall.TIOCM_CD": "syscall", - "syscall.TIOCM_CTS": "syscall", - "syscall.TIOCM_DCD": "syscall", - "syscall.TIOCM_DSR": "syscall", - "syscall.TIOCM_DTR": "syscall", - "syscall.TIOCM_LE": "syscall", - "syscall.TIOCM_RI": "syscall", - "syscall.TIOCM_RNG": "syscall", - "syscall.TIOCM_RTS": "syscall", - "syscall.TIOCM_SR": "syscall", - "syscall.TIOCM_ST": "syscall", - "syscall.TIOCNOTTY": "syscall", - "syscall.TIOCNXCL": "syscall", - "syscall.TIOCOUTQ": "syscall", - "syscall.TIOCPKT": "syscall", - "syscall.TIOCPKT_DATA": "syscall", - "syscall.TIOCPKT_DOSTOP": "syscall", - "syscall.TIOCPKT_FLUSHREAD": "syscall", - "syscall.TIOCPKT_FLUSHWRITE": "syscall", - "syscall.TIOCPKT_IOCTL": "syscall", - "syscall.TIOCPKT_NOSTOP": "syscall", - "syscall.TIOCPKT_START": "syscall", - "syscall.TIOCPKT_STOP": "syscall", - "syscall.TIOCPTMASTER": "syscall", - "syscall.TIOCPTMGET": "syscall", - "syscall.TIOCPTSNAME": "syscall", - "syscall.TIOCPTYGNAME": "syscall", - "syscall.TIOCPTYGRANT": "syscall", - "syscall.TIOCPTYUNLK": "syscall", - "syscall.TIOCRCVFRAME": "syscall", - "syscall.TIOCREMOTE": "syscall", - "syscall.TIOCSBRK": "syscall", - "syscall.TIOCSCONS": "syscall", - "syscall.TIOCSCTTY": "syscall", - "syscall.TIOCSDRAINWAIT": "syscall", - "syscall.TIOCSDTR": "syscall", - "syscall.TIOCSERCONFIG": "syscall", - "syscall.TIOCSERGETLSR": "syscall", - "syscall.TIOCSERGETMULTI": "syscall", - "syscall.TIOCSERGSTRUCT": "syscall", - "syscall.TIOCSERGWILD": "syscall", - "syscall.TIOCSERSETMULTI": "syscall", - "syscall.TIOCSERSWILD": "syscall", - "syscall.TIOCSER_TEMT": "syscall", - "syscall.TIOCSETA": "syscall", - "syscall.TIOCSETAF": "syscall", - "syscall.TIOCSETAW": "syscall", - "syscall.TIOCSETD": "syscall", - "syscall.TIOCSFLAGS": "syscall", - "syscall.TIOCSIG": "syscall", - "syscall.TIOCSLCKTRMIOS": "syscall", - "syscall.TIOCSLINED": "syscall", - "syscall.TIOCSPGRP": "syscall", - "syscall.TIOCSPTLCK": "syscall", - "syscall.TIOCSQSIZE": "syscall", - "syscall.TIOCSRS485": "syscall", - "syscall.TIOCSSERIAL": "syscall", - "syscall.TIOCSSIZE": "syscall", - "syscall.TIOCSSOFTCAR": "syscall", - "syscall.TIOCSTART": "syscall", - "syscall.TIOCSTAT": "syscall", - "syscall.TIOCSTI": "syscall", - "syscall.TIOCSTOP": "syscall", - "syscall.TIOCSTSTAMP": "syscall", - "syscall.TIOCSWINSZ": "syscall", - "syscall.TIOCTIMESTAMP": "syscall", - "syscall.TIOCUCNTL": "syscall", - "syscall.TIOCVHANGUP": "syscall", - "syscall.TIOCXMTFRAME": "syscall", - "syscall.TOKEN_ADJUST_DEFAULT": "syscall", - "syscall.TOKEN_ADJUST_GROUPS": "syscall", - "syscall.TOKEN_ADJUST_PRIVILEGES": "syscall", - "syscall.TOKEN_ALL_ACCESS": "syscall", - "syscall.TOKEN_ASSIGN_PRIMARY": "syscall", - "syscall.TOKEN_DUPLICATE": "syscall", - "syscall.TOKEN_EXECUTE": "syscall", - "syscall.TOKEN_IMPERSONATE": "syscall", - "syscall.TOKEN_QUERY": "syscall", - "syscall.TOKEN_QUERY_SOURCE": "syscall", - "syscall.TOKEN_READ": "syscall", - "syscall.TOKEN_WRITE": "syscall", - "syscall.TOSTOP": "syscall", - "syscall.TRUNCATE_EXISTING": "syscall", - "syscall.TUNATTACHFILTER": "syscall", - "syscall.TUNDETACHFILTER": "syscall", - "syscall.TUNGETFEATURES": "syscall", - "syscall.TUNGETIFF": "syscall", - "syscall.TUNGETSNDBUF": "syscall", - "syscall.TUNGETVNETHDRSZ": "syscall", - "syscall.TUNSETDEBUG": "syscall", - "syscall.TUNSETGROUP": "syscall", - "syscall.TUNSETIFF": "syscall", - "syscall.TUNSETLINK": "syscall", - "syscall.TUNSETNOCSUM": "syscall", - "syscall.TUNSETOFFLOAD": "syscall", - "syscall.TUNSETOWNER": "syscall", - "syscall.TUNSETPERSIST": "syscall", - "syscall.TUNSETSNDBUF": "syscall", - "syscall.TUNSETTXFILTER": "syscall", - "syscall.TUNSETVNETHDRSZ": "syscall", - "syscall.Tee": "syscall", - "syscall.TerminateProcess": "syscall", - "syscall.Termios": "syscall", - "syscall.Tgkill": "syscall", - "syscall.Time": "syscall", - "syscall.Time_t": "syscall", - "syscall.Times": "syscall", - "syscall.Timespec": "syscall", - "syscall.TimespecToNsec": "syscall", - "syscall.Timeval": "syscall", - "syscall.Timeval32": "syscall", - "syscall.TimevalToNsec": "syscall", - "syscall.Timex": "syscall", - "syscall.Timezoneinformation": "syscall", - "syscall.Tms": "syscall", - "syscall.Token": "syscall", - "syscall.TokenAccessInformation": "syscall", - "syscall.TokenAuditPolicy": "syscall", - "syscall.TokenDefaultDacl": "syscall", - "syscall.TokenElevation": "syscall", - "syscall.TokenElevationType": "syscall", - "syscall.TokenGroups": "syscall", - "syscall.TokenGroupsAndPrivileges": "syscall", - "syscall.TokenHasRestrictions": "syscall", - "syscall.TokenImpersonationLevel": "syscall", - "syscall.TokenIntegrityLevel": "syscall", - "syscall.TokenLinkedToken": "syscall", - "syscall.TokenLogonSid": "syscall", - "syscall.TokenMandatoryPolicy": "syscall", - "syscall.TokenOrigin": "syscall", - "syscall.TokenOwner": "syscall", - "syscall.TokenPrimaryGroup": "syscall", - "syscall.TokenPrivileges": "syscall", - "syscall.TokenRestrictedSids": "syscall", - "syscall.TokenSandBoxInert": "syscall", - "syscall.TokenSessionId": "syscall", - "syscall.TokenSessionReference": "syscall", - "syscall.TokenSource": "syscall", - "syscall.TokenStatistics": "syscall", - "syscall.TokenType": "syscall", - "syscall.TokenUIAccess": "syscall", - "syscall.TokenUser": "syscall", - "syscall.TokenVirtualizationAllowed": "syscall", - "syscall.TokenVirtualizationEnabled": "syscall", - "syscall.Tokenprimarygroup": "syscall", - "syscall.Tokenuser": "syscall", - "syscall.TranslateAccountName": "syscall", - "syscall.TranslateName": "syscall", - "syscall.TransmitFile": "syscall", - "syscall.TransmitFileBuffers": "syscall", - "syscall.Truncate": "syscall", - "syscall.USAGE_MATCH_TYPE_AND": "syscall", - "syscall.USAGE_MATCH_TYPE_OR": "syscall", - "syscall.UTF16FromString": "syscall", - "syscall.UTF16PtrFromString": "syscall", - "syscall.UTF16ToString": "syscall", - "syscall.Ucred": "syscall", - "syscall.Umask": "syscall", - "syscall.Uname": "syscall", - "syscall.Undelete": "syscall", - "syscall.UnixCredentials": "syscall", - "syscall.UnixRights": "syscall", - "syscall.Unlink": "syscall", - "syscall.Unlinkat": "syscall", - "syscall.UnmapViewOfFile": "syscall", - "syscall.Unmount": "syscall", - "syscall.Unshare": "syscall", - "syscall.UserInfo10": "syscall", - "syscall.Ustat": "syscall", - "syscall.Ustat_t": "syscall", - "syscall.Utimbuf": "syscall", - "syscall.Utime": "syscall", - "syscall.Utimes": "syscall", - "syscall.UtimesNano": "syscall", - "syscall.Utsname": "syscall", - "syscall.VDISCARD": "syscall", - "syscall.VDSUSP": "syscall", - "syscall.VEOF": "syscall", - "syscall.VEOL": "syscall", - "syscall.VEOL2": "syscall", - "syscall.VERASE": "syscall", - "syscall.VERASE2": "syscall", - "syscall.VINTR": "syscall", - "syscall.VKILL": "syscall", - "syscall.VLNEXT": "syscall", - "syscall.VMIN": "syscall", - "syscall.VQUIT": "syscall", - "syscall.VREPRINT": "syscall", - "syscall.VSTART": "syscall", - "syscall.VSTATUS": "syscall", - "syscall.VSTOP": "syscall", - "syscall.VSUSP": "syscall", - "syscall.VSWTC": "syscall", - "syscall.VT0": "syscall", - "syscall.VT1": "syscall", - "syscall.VTDLY": "syscall", - "syscall.VTIME": "syscall", - "syscall.VWERASE": "syscall", - "syscall.VirtualLock": "syscall", - "syscall.VirtualUnlock": "syscall", - "syscall.WAIT_ABANDONED": "syscall", - "syscall.WAIT_FAILED": "syscall", - "syscall.WAIT_OBJECT_0": "syscall", - "syscall.WAIT_TIMEOUT": "syscall", - "syscall.WALL": "syscall", - "syscall.WALLSIG": "syscall", - "syscall.WALTSIG": "syscall", - "syscall.WCLONE": "syscall", - "syscall.WCONTINUED": "syscall", - "syscall.WCOREFLAG": "syscall", - "syscall.WEXITED": "syscall", - "syscall.WLINUXCLONE": "syscall", - "syscall.WNOHANG": "syscall", - "syscall.WNOTHREAD": "syscall", - "syscall.WNOWAIT": "syscall", - "syscall.WNOZOMBIE": "syscall", - "syscall.WOPTSCHECKED": "syscall", - "syscall.WORDSIZE": "syscall", - "syscall.WSABuf": "syscall", - "syscall.WSACleanup": "syscall", - "syscall.WSADESCRIPTION_LEN": "syscall", - "syscall.WSAData": "syscall", - "syscall.WSAEACCES": "syscall", - "syscall.WSAECONNRESET": "syscall", - "syscall.WSAEnumProtocols": "syscall", - "syscall.WSAID_CONNECTEX": "syscall", - "syscall.WSAIoctl": "syscall", - "syscall.WSAPROTOCOL_LEN": "syscall", - "syscall.WSAProtocolChain": "syscall", - "syscall.WSAProtocolInfo": "syscall", - "syscall.WSARecv": "syscall", - "syscall.WSARecvFrom": "syscall", - "syscall.WSASYS_STATUS_LEN": "syscall", - "syscall.WSASend": "syscall", - "syscall.WSASendTo": "syscall", - "syscall.WSASendto": "syscall", - "syscall.WSAStartup": "syscall", - "syscall.WSTOPPED": "syscall", - "syscall.WTRAPPED": "syscall", - "syscall.WUNTRACED": "syscall", - "syscall.Wait4": "syscall", - "syscall.WaitForSingleObject": "syscall", - "syscall.WaitStatus": "syscall", - "syscall.Win32FileAttributeData": "syscall", - "syscall.Win32finddata": "syscall", - "syscall.Write": "syscall", - "syscall.WriteConsole": "syscall", - "syscall.WriteFile": "syscall", - "syscall.X509_ASN_ENCODING": "syscall", - "syscall.XCASE": "syscall", - "syscall.XP1_CONNECTIONLESS": "syscall", - "syscall.XP1_CONNECT_DATA": "syscall", - "syscall.XP1_DISCONNECT_DATA": "syscall", - "syscall.XP1_EXPEDITED_DATA": "syscall", - "syscall.XP1_GRACEFUL_CLOSE": "syscall", - "syscall.XP1_GUARANTEED_DELIVERY": "syscall", - "syscall.XP1_GUARANTEED_ORDER": "syscall", - "syscall.XP1_IFS_HANDLES": "syscall", - "syscall.XP1_MESSAGE_ORIENTED": "syscall", - "syscall.XP1_MULTIPOINT_CONTROL_PLANE": "syscall", - "syscall.XP1_MULTIPOINT_DATA_PLANE": "syscall", - "syscall.XP1_PARTIAL_MESSAGE": "syscall", - "syscall.XP1_PSEUDO_STREAM": "syscall", - "syscall.XP1_QOS_SUPPORTED": "syscall", - "syscall.XP1_SAN_SUPPORT_SDP": "syscall", - "syscall.XP1_SUPPORT_BROADCAST": "syscall", - "syscall.XP1_SUPPORT_MULTIPOINT": "syscall", - "syscall.XP1_UNI_RECV": "syscall", - "syscall.XP1_UNI_SEND": "syscall", - "syslog.Dial": "log/syslog", - "syslog.LOG_ALERT": "log/syslog", - "syslog.LOG_AUTH": "log/syslog", - "syslog.LOG_AUTHPRIV": "log/syslog", - "syslog.LOG_CRIT": "log/syslog", - "syslog.LOG_CRON": "log/syslog", - "syslog.LOG_DAEMON": "log/syslog", - "syslog.LOG_DEBUG": "log/syslog", - "syslog.LOG_EMERG": "log/syslog", - "syslog.LOG_ERR": "log/syslog", - "syslog.LOG_FTP": "log/syslog", - "syslog.LOG_INFO": "log/syslog", - "syslog.LOG_KERN": "log/syslog", - "syslog.LOG_LOCAL0": "log/syslog", - "syslog.LOG_LOCAL1": "log/syslog", - "syslog.LOG_LOCAL2": "log/syslog", - "syslog.LOG_LOCAL3": "log/syslog", - "syslog.LOG_LOCAL4": "log/syslog", - "syslog.LOG_LOCAL5": "log/syslog", - "syslog.LOG_LOCAL6": "log/syslog", - "syslog.LOG_LOCAL7": "log/syslog", - "syslog.LOG_LPR": "log/syslog", - "syslog.LOG_MAIL": "log/syslog", - "syslog.LOG_NEWS": "log/syslog", - "syslog.LOG_NOTICE": "log/syslog", - "syslog.LOG_SYSLOG": "log/syslog", - "syslog.LOG_USER": "log/syslog", - "syslog.LOG_UUCP": "log/syslog", - "syslog.LOG_WARNING": "log/syslog", - "syslog.New": "log/syslog", - "syslog.NewLogger": "log/syslog", - "syslog.Priority": "log/syslog", - "syslog.Writer": "log/syslog", - "tabwriter.AlignRight": "text/tabwriter", - "tabwriter.Debug": "text/tabwriter", - "tabwriter.DiscardEmptyColumns": "text/tabwriter", - "tabwriter.Escape": "text/tabwriter", - "tabwriter.FilterHTML": "text/tabwriter", - "tabwriter.NewWriter": "text/tabwriter", - "tabwriter.StripEscape": "text/tabwriter", - "tabwriter.TabIndent": "text/tabwriter", - "tabwriter.Writer": "text/tabwriter", - "tar.ErrFieldTooLong": "archive/tar", - "tar.ErrHeader": "archive/tar", - "tar.ErrWriteAfterClose": "archive/tar", - "tar.ErrWriteTooLong": "archive/tar", - "tar.FileInfoHeader": "archive/tar", - "tar.Header": "archive/tar", - "tar.NewReader": "archive/tar", - "tar.NewWriter": "archive/tar", - "tar.Reader": "archive/tar", - "tar.TypeBlock": "archive/tar", - "tar.TypeChar": "archive/tar", - "tar.TypeCont": "archive/tar", - "tar.TypeDir": "archive/tar", - "tar.TypeFifo": "archive/tar", - "tar.TypeGNULongLink": "archive/tar", - "tar.TypeGNULongName": "archive/tar", - "tar.TypeGNUSparse": "archive/tar", - "tar.TypeLink": "archive/tar", - "tar.TypeReg": "archive/tar", - "tar.TypeRegA": "archive/tar", - "tar.TypeSymlink": "archive/tar", - "tar.TypeXGlobalHeader": "archive/tar", - "tar.TypeXHeader": "archive/tar", - "tar.Writer": "archive/tar", - "template.CSS": "html/template", - "template.ErrAmbigContext": "html/template", - "template.ErrBadHTML": "html/template", - "template.ErrBranchEnd": "html/template", - "template.ErrEndContext": "html/template", - "template.ErrNoSuchTemplate": "html/template", - "template.ErrOutputContext": "html/template", - "template.ErrPartialCharset": "html/template", - "template.ErrPartialEscape": "html/template", - "template.ErrRangeLoopReentry": "html/template", - "template.ErrSlashAmbig": "html/template", - "template.Error": "html/template", - "template.ErrorCode": "html/template", - // "template.FuncMap" is ambiguous - "template.HTML": "html/template", - "template.HTMLAttr": "html/template", - // "template.HTMLEscape" is ambiguous - // "template.HTMLEscapeString" is ambiguous - // "template.HTMLEscaper" is ambiguous - "template.JS": "html/template", - // "template.JSEscape" is ambiguous - // "template.JSEscapeString" is ambiguous - // "template.JSEscaper" is ambiguous - "template.JSStr": "html/template", - // "template.Must" is ambiguous - // "template.New" is ambiguous - "template.OK": "html/template", - // "template.ParseFiles" is ambiguous - // "template.ParseGlob" is ambiguous - // "template.Template" is ambiguous - "template.URL": "html/template", - // "template.URLQueryEscaper" is ambiguous - "testing.AllocsPerRun": "testing", - "testing.B": "testing", - "testing.Benchmark": "testing", - "testing.BenchmarkResult": "testing", - "testing.Cover": "testing", - "testing.CoverBlock": "testing", - "testing.InternalBenchmark": "testing", - "testing.InternalExample": "testing", - "testing.InternalTest": "testing", - "testing.Main": "testing", - "testing.PB": "testing", - "testing.RegisterCover": "testing", - "testing.RunBenchmarks": "testing", - "testing.RunExamples": "testing", - "testing.RunTests": "testing", - "testing.Short": "testing", - "testing.T": "testing", - "testing.Verbose": "testing", - "textproto.CanonicalMIMEHeaderKey": "net/textproto", - "textproto.Conn": "net/textproto", - "textproto.Dial": "net/textproto", - "textproto.Error": "net/textproto", - "textproto.MIMEHeader": "net/textproto", - "textproto.NewConn": "net/textproto", - "textproto.NewReader": "net/textproto", - "textproto.NewWriter": "net/textproto", - "textproto.Pipeline": "net/textproto", - "textproto.ProtocolError": "net/textproto", - "textproto.Reader": "net/textproto", - "textproto.TrimBytes": "net/textproto", - "textproto.TrimString": "net/textproto", - "textproto.Writer": "net/textproto", - "time.ANSIC": "time", - "time.After": "time", - "time.AfterFunc": "time", - "time.April": "time", - "time.August": "time", - "time.Date": "time", - "time.December": "time", - "time.Duration": "time", - "time.February": "time", - "time.FixedZone": "time", - "time.Friday": "time", - "time.Hour": "time", - "time.January": "time", - "time.July": "time", - "time.June": "time", - "time.Kitchen": "time", - "time.LoadLocation": "time", - "time.Local": "time", - "time.Location": "time", - "time.March": "time", - "time.May": "time", - "time.Microsecond": "time", - "time.Millisecond": "time", - "time.Minute": "time", - "time.Monday": "time", - "time.Month": "time", - "time.Nanosecond": "time", - "time.NewTicker": "time", - "time.NewTimer": "time", - "time.November": "time", - "time.Now": "time", - "time.October": "time", - "time.Parse": "time", - "time.ParseDuration": "time", - "time.ParseError": "time", - "time.ParseInLocation": "time", - "time.RFC1123": "time", - "time.RFC1123Z": "time", - "time.RFC3339": "time", - "time.RFC3339Nano": "time", - "time.RFC822": "time", - "time.RFC822Z": "time", - "time.RFC850": "time", - "time.RubyDate": "time", - "time.Saturday": "time", - "time.Second": "time", - "time.September": "time", - "time.Since": "time", - "time.Sleep": "time", - "time.Stamp": "time", - "time.StampMicro": "time", - "time.StampMilli": "time", - "time.StampNano": "time", - "time.Sunday": "time", - "time.Thursday": "time", - "time.Tick": "time", - "time.Ticker": "time", - "time.Time": "time", - "time.Timer": "time", - "time.Tuesday": "time", - "time.UTC": "time", - "time.Unix": "time", - "time.UnixDate": "time", - "time.Wednesday": "time", - "time.Weekday": "time", - "tls.Certificate": "crypto/tls", - "tls.Client": "crypto/tls", - "tls.ClientAuthType": "crypto/tls", - "tls.ClientSessionCache": "crypto/tls", - "tls.ClientSessionState": "crypto/tls", - "tls.Config": "crypto/tls", - "tls.Conn": "crypto/tls", - "tls.ConnectionState": "crypto/tls", - "tls.CurveID": "crypto/tls", - "tls.CurveP256": "crypto/tls", - "tls.CurveP384": "crypto/tls", - "tls.CurveP521": "crypto/tls", - "tls.Dial": "crypto/tls", - "tls.DialWithDialer": "crypto/tls", - "tls.Listen": "crypto/tls", - "tls.LoadX509KeyPair": "crypto/tls", - "tls.NewLRUClientSessionCache": "crypto/tls", - "tls.NewListener": "crypto/tls", - "tls.NoClientCert": "crypto/tls", - "tls.RequestClientCert": "crypto/tls", - "tls.RequireAndVerifyClientCert": "crypto/tls", - "tls.RequireAnyClientCert": "crypto/tls", - "tls.Server": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.VerifyClientCertIfGiven": "crypto/tls", - "tls.VersionSSL30": "crypto/tls", - "tls.VersionTLS10": "crypto/tls", - "tls.VersionTLS11": "crypto/tls", - "tls.VersionTLS12": "crypto/tls", - "tls.X509KeyPair": "crypto/tls", - "token.ADD": "go/token", - "token.ADD_ASSIGN": "go/token", - "token.AND": "go/token", - "token.AND_ASSIGN": "go/token", - "token.AND_NOT": "go/token", - "token.AND_NOT_ASSIGN": "go/token", - "token.ARROW": "go/token", - "token.ASSIGN": "go/token", - "token.BREAK": "go/token", - "token.CASE": "go/token", - "token.CHAN": "go/token", - "token.CHAR": "go/token", - "token.COLON": "go/token", - "token.COMMA": "go/token", - "token.COMMENT": "go/token", - "token.CONST": "go/token", - "token.CONTINUE": "go/token", - "token.DEC": "go/token", - "token.DEFAULT": "go/token", - "token.DEFER": "go/token", - "token.DEFINE": "go/token", - "token.ELLIPSIS": "go/token", - "token.ELSE": "go/token", - "token.EOF": "go/token", - "token.EQL": "go/token", - "token.FALLTHROUGH": "go/token", - "token.FLOAT": "go/token", - "token.FOR": "go/token", - "token.FUNC": "go/token", - "token.File": "go/token", - "token.FileSet": "go/token", - "token.GEQ": "go/token", - "token.GO": "go/token", - "token.GOTO": "go/token", - "token.GTR": "go/token", - "token.HighestPrec": "go/token", - "token.IDENT": "go/token", - "token.IF": "go/token", - "token.ILLEGAL": "go/token", - "token.IMAG": "go/token", - "token.IMPORT": "go/token", - "token.INC": "go/token", - "token.INT": "go/token", - "token.INTERFACE": "go/token", - "token.LAND": "go/token", - "token.LBRACE": "go/token", - "token.LBRACK": "go/token", - "token.LEQ": "go/token", - "token.LOR": "go/token", - "token.LPAREN": "go/token", - "token.LSS": "go/token", - "token.Lookup": "go/token", - "token.LowestPrec": "go/token", - "token.MAP": "go/token", - "token.MUL": "go/token", - "token.MUL_ASSIGN": "go/token", - "token.NEQ": "go/token", - "token.NOT": "go/token", - "token.NewFileSet": "go/token", - "token.NoPos": "go/token", - "token.OR": "go/token", - "token.OR_ASSIGN": "go/token", - "token.PACKAGE": "go/token", - "token.PERIOD": "go/token", - "token.Pos": "go/token", - "token.Position": "go/token", - "token.QUO": "go/token", - "token.QUO_ASSIGN": "go/token", - "token.RANGE": "go/token", - "token.RBRACE": "go/token", - "token.RBRACK": "go/token", - "token.REM": "go/token", - "token.REM_ASSIGN": "go/token", - "token.RETURN": "go/token", - "token.RPAREN": "go/token", - "token.SELECT": "go/token", - "token.SEMICOLON": "go/token", - "token.SHL": "go/token", - "token.SHL_ASSIGN": "go/token", - "token.SHR": "go/token", - "token.SHR_ASSIGN": "go/token", - "token.STRING": "go/token", - "token.STRUCT": "go/token", - "token.SUB": "go/token", - "token.SUB_ASSIGN": "go/token", - "token.SWITCH": "go/token", - "token.TYPE": "go/token", - "token.Token": "go/token", - "token.UnaryPrec": "go/token", - "token.VAR": "go/token", - "token.XOR": "go/token", - "token.XOR_ASSIGN": "go/token", - "unicode.ASCII_Hex_Digit": "unicode", - "unicode.Arabic": "unicode", - "unicode.Armenian": "unicode", - "unicode.Avestan": "unicode", - "unicode.AzeriCase": "unicode", - "unicode.Balinese": "unicode", - "unicode.Bamum": "unicode", - "unicode.Batak": "unicode", - "unicode.Bengali": "unicode", - "unicode.Bidi_Control": "unicode", - "unicode.Bopomofo": "unicode", - "unicode.Brahmi": "unicode", - "unicode.Braille": "unicode", - "unicode.Buginese": "unicode", - "unicode.Buhid": "unicode", - "unicode.C": "unicode", - "unicode.Canadian_Aboriginal": "unicode", - "unicode.Carian": "unicode", - "unicode.CaseRange": "unicode", - "unicode.CaseRanges": "unicode", - "unicode.Categories": "unicode", - "unicode.Cc": "unicode", - "unicode.Cf": "unicode", - "unicode.Chakma": "unicode", - "unicode.Cham": "unicode", - "unicode.Cherokee": "unicode", - "unicode.Co": "unicode", - "unicode.Common": "unicode", - "unicode.Coptic": "unicode", - "unicode.Cs": "unicode", - "unicode.Cuneiform": "unicode", - "unicode.Cypriot": "unicode", - "unicode.Cyrillic": "unicode", - "unicode.Dash": "unicode", - "unicode.Deprecated": "unicode", - "unicode.Deseret": "unicode", - "unicode.Devanagari": "unicode", - "unicode.Diacritic": "unicode", - "unicode.Digit": "unicode", - "unicode.Egyptian_Hieroglyphs": "unicode", - "unicode.Ethiopic": "unicode", - "unicode.Extender": "unicode", - "unicode.FoldCategory": "unicode", - "unicode.FoldScript": "unicode", - "unicode.Georgian": "unicode", - "unicode.Glagolitic": "unicode", - "unicode.Gothic": "unicode", - "unicode.GraphicRanges": "unicode", - "unicode.Greek": "unicode", - "unicode.Gujarati": "unicode", - "unicode.Gurmukhi": "unicode", - "unicode.Han": "unicode", - "unicode.Hangul": "unicode", - "unicode.Hanunoo": "unicode", - "unicode.Hebrew": "unicode", - "unicode.Hex_Digit": "unicode", - "unicode.Hiragana": "unicode", - "unicode.Hyphen": "unicode", - "unicode.IDS_Binary_Operator": "unicode", - "unicode.IDS_Trinary_Operator": "unicode", - "unicode.Ideographic": "unicode", - "unicode.Imperial_Aramaic": "unicode", - "unicode.In": "unicode", - "unicode.Inherited": "unicode", - "unicode.Inscriptional_Pahlavi": "unicode", - "unicode.Inscriptional_Parthian": "unicode", - "unicode.Is": "unicode", - "unicode.IsControl": "unicode", - "unicode.IsDigit": "unicode", - "unicode.IsGraphic": "unicode", - "unicode.IsLetter": "unicode", - "unicode.IsLower": "unicode", - "unicode.IsMark": "unicode", - "unicode.IsNumber": "unicode", - "unicode.IsOneOf": "unicode", - "unicode.IsPrint": "unicode", - "unicode.IsPunct": "unicode", - "unicode.IsSpace": "unicode", - "unicode.IsSymbol": "unicode", - "unicode.IsTitle": "unicode", - "unicode.IsUpper": "unicode", - "unicode.Javanese": "unicode", - "unicode.Join_Control": "unicode", - "unicode.Kaithi": "unicode", - "unicode.Kannada": "unicode", - "unicode.Katakana": "unicode", - "unicode.Kayah_Li": "unicode", - "unicode.Kharoshthi": "unicode", - "unicode.Khmer": "unicode", - "unicode.L": "unicode", - "unicode.Lao": "unicode", - "unicode.Latin": "unicode", - "unicode.Lepcha": "unicode", - "unicode.Letter": "unicode", - "unicode.Limbu": "unicode", - "unicode.Linear_B": "unicode", - "unicode.Lisu": "unicode", - "unicode.Ll": "unicode", - "unicode.Lm": "unicode", - "unicode.Lo": "unicode", - "unicode.Logical_Order_Exception": "unicode", - "unicode.Lower": "unicode", - "unicode.LowerCase": "unicode", - "unicode.Lt": "unicode", - "unicode.Lu": "unicode", - "unicode.Lycian": "unicode", - "unicode.Lydian": "unicode", - "unicode.M": "unicode", - "unicode.Malayalam": "unicode", - "unicode.Mandaic": "unicode", - "unicode.Mark": "unicode", - "unicode.MaxASCII": "unicode", - "unicode.MaxCase": "unicode", - "unicode.MaxLatin1": "unicode", - "unicode.MaxRune": "unicode", - "unicode.Mc": "unicode", - "unicode.Me": "unicode", - "unicode.Meetei_Mayek": "unicode", - "unicode.Meroitic_Cursive": "unicode", - "unicode.Meroitic_Hieroglyphs": "unicode", - "unicode.Miao": "unicode", - "unicode.Mn": "unicode", - "unicode.Mongolian": "unicode", - "unicode.Myanmar": "unicode", - "unicode.N": "unicode", - "unicode.Nd": "unicode", - "unicode.New_Tai_Lue": "unicode", - "unicode.Nko": "unicode", - "unicode.Nl": "unicode", - "unicode.No": "unicode", - "unicode.Noncharacter_Code_Point": "unicode", - "unicode.Number": "unicode", - "unicode.Ogham": "unicode", - "unicode.Ol_Chiki": "unicode", - "unicode.Old_Italic": "unicode", - "unicode.Old_Persian": "unicode", - "unicode.Old_South_Arabian": "unicode", - "unicode.Old_Turkic": "unicode", - "unicode.Oriya": "unicode", - "unicode.Osmanya": "unicode", - "unicode.Other": "unicode", - "unicode.Other_Alphabetic": "unicode", - "unicode.Other_Default_Ignorable_Code_Point": "unicode", - "unicode.Other_Grapheme_Extend": "unicode", - "unicode.Other_ID_Continue": "unicode", - "unicode.Other_ID_Start": "unicode", - "unicode.Other_Lowercase": "unicode", - "unicode.Other_Math": "unicode", - "unicode.Other_Uppercase": "unicode", - "unicode.P": "unicode", - "unicode.Pattern_Syntax": "unicode", - "unicode.Pattern_White_Space": "unicode", - "unicode.Pc": "unicode", - "unicode.Pd": "unicode", - "unicode.Pe": "unicode", - "unicode.Pf": "unicode", - "unicode.Phags_Pa": "unicode", - "unicode.Phoenician": "unicode", - "unicode.Pi": "unicode", - "unicode.Po": "unicode", - "unicode.PrintRanges": "unicode", - "unicode.Properties": "unicode", - "unicode.Ps": "unicode", - "unicode.Punct": "unicode", - "unicode.Quotation_Mark": "unicode", - "unicode.Radical": "unicode", - "unicode.Range16": "unicode", - "unicode.Range32": "unicode", - "unicode.RangeTable": "unicode", - "unicode.Rejang": "unicode", - "unicode.ReplacementChar": "unicode", - "unicode.Runic": "unicode", - "unicode.S": "unicode", - "unicode.STerm": "unicode", - "unicode.Samaritan": "unicode", - "unicode.Saurashtra": "unicode", - "unicode.Sc": "unicode", - "unicode.Scripts": "unicode", - "unicode.Sharada": "unicode", - "unicode.Shavian": "unicode", - "unicode.SimpleFold": "unicode", - "unicode.Sinhala": "unicode", - "unicode.Sk": "unicode", - "unicode.Sm": "unicode", - "unicode.So": "unicode", - "unicode.Soft_Dotted": "unicode", - "unicode.Sora_Sompeng": "unicode", - "unicode.Space": "unicode", - "unicode.SpecialCase": "unicode", - "unicode.Sundanese": "unicode", - "unicode.Syloti_Nagri": "unicode", - "unicode.Symbol": "unicode", - "unicode.Syriac": "unicode", - "unicode.Tagalog": "unicode", - "unicode.Tagbanwa": "unicode", - "unicode.Tai_Le": "unicode", - "unicode.Tai_Tham": "unicode", - "unicode.Tai_Viet": "unicode", - "unicode.Takri": "unicode", - "unicode.Tamil": "unicode", - "unicode.Telugu": "unicode", - "unicode.Terminal_Punctuation": "unicode", - "unicode.Thaana": "unicode", - "unicode.Thai": "unicode", - "unicode.Tibetan": "unicode", - "unicode.Tifinagh": "unicode", - "unicode.Title": "unicode", - "unicode.TitleCase": "unicode", - "unicode.To": "unicode", - "unicode.ToLower": "unicode", - "unicode.ToTitle": "unicode", - "unicode.ToUpper": "unicode", - "unicode.TurkishCase": "unicode", - "unicode.Ugaritic": "unicode", - "unicode.Unified_Ideograph": "unicode", - "unicode.Upper": "unicode", - "unicode.UpperCase": "unicode", - "unicode.UpperLower": "unicode", - "unicode.Vai": "unicode", - "unicode.Variation_Selector": "unicode", - "unicode.Version": "unicode", - "unicode.White_Space": "unicode", - "unicode.Yi": "unicode", - "unicode.Z": "unicode", - "unicode.Zl": "unicode", - "unicode.Zp": "unicode", - "unicode.Zs": "unicode", - "url.Error": "net/url", - "url.EscapeError": "net/url", - "url.Parse": "net/url", - "url.ParseQuery": "net/url", - "url.ParseRequestURI": "net/url", - "url.QueryEscape": "net/url", - "url.QueryUnescape": "net/url", - "url.URL": "net/url", - "url.User": "net/url", - "url.UserPassword": "net/url", - "url.Userinfo": "net/url", - "url.Values": "net/url", - "user.Current": "os/user", - "user.Lookup": "os/user", - "user.LookupId": "os/user", - "user.UnknownUserError": "os/user", - "user.UnknownUserIdError": "os/user", - "user.User": "os/user", - "utf16.Decode": "unicode/utf16", - "utf16.DecodeRune": "unicode/utf16", - "utf16.Encode": "unicode/utf16", - "utf16.EncodeRune": "unicode/utf16", - "utf16.IsSurrogate": "unicode/utf16", - "utf8.DecodeLastRune": "unicode/utf8", - "utf8.DecodeLastRuneInString": "unicode/utf8", - "utf8.DecodeRune": "unicode/utf8", - "utf8.DecodeRuneInString": "unicode/utf8", - "utf8.EncodeRune": "unicode/utf8", - "utf8.FullRune": "unicode/utf8", - "utf8.FullRuneInString": "unicode/utf8", - "utf8.MaxRune": "unicode/utf8", - "utf8.RuneCount": "unicode/utf8", - "utf8.RuneCountInString": "unicode/utf8", - "utf8.RuneError": "unicode/utf8", - "utf8.RuneLen": "unicode/utf8", - "utf8.RuneSelf": "unicode/utf8", - "utf8.RuneStart": "unicode/utf8", - "utf8.UTFMax": "unicode/utf8", - "utf8.Valid": "unicode/utf8", - "utf8.ValidRune": "unicode/utf8", - "utf8.ValidString": "unicode/utf8", - "x509.CANotAuthorizedForThisName": "crypto/x509", - "x509.CertPool": "crypto/x509", - "x509.Certificate": "crypto/x509", - "x509.CertificateInvalidError": "crypto/x509", - "x509.CertificateRequest": "crypto/x509", - "x509.ConstraintViolationError": "crypto/x509", - "x509.CreateCertificate": "crypto/x509", - "x509.CreateCertificateRequest": "crypto/x509", - "x509.DSA": "crypto/x509", - "x509.DSAWithSHA1": "crypto/x509", - "x509.DSAWithSHA256": "crypto/x509", - "x509.DecryptPEMBlock": "crypto/x509", - "x509.ECDSA": "crypto/x509", - "x509.ECDSAWithSHA1": "crypto/x509", - "x509.ECDSAWithSHA256": "crypto/x509", - "x509.ECDSAWithSHA384": "crypto/x509", - "x509.ECDSAWithSHA512": "crypto/x509", - "x509.EncryptPEMBlock": "crypto/x509", - "x509.ErrUnsupportedAlgorithm": "crypto/x509", - "x509.Expired": "crypto/x509", - "x509.ExtKeyUsage": "crypto/x509", - "x509.ExtKeyUsageAny": "crypto/x509", - "x509.ExtKeyUsageClientAuth": "crypto/x509", - "x509.ExtKeyUsageCodeSigning": "crypto/x509", - "x509.ExtKeyUsageEmailProtection": "crypto/x509", - "x509.ExtKeyUsageIPSECEndSystem": "crypto/x509", - "x509.ExtKeyUsageIPSECTunnel": "crypto/x509", - "x509.ExtKeyUsageIPSECUser": "crypto/x509", - "x509.ExtKeyUsageMicrosoftServerGatedCrypto": "crypto/x509", - "x509.ExtKeyUsageNetscapeServerGatedCrypto": "crypto/x509", - "x509.ExtKeyUsageOCSPSigning": "crypto/x509", - "x509.ExtKeyUsageServerAuth": "crypto/x509", - "x509.ExtKeyUsageTimeStamping": "crypto/x509", - "x509.HostnameError": "crypto/x509", - "x509.IncompatibleUsage": "crypto/x509", - "x509.IncorrectPasswordError": "crypto/x509", - "x509.InvalidReason": "crypto/x509", - "x509.IsEncryptedPEMBlock": "crypto/x509", - "x509.KeyUsage": "crypto/x509", - "x509.KeyUsageCRLSign": "crypto/x509", - "x509.KeyUsageCertSign": "crypto/x509", - "x509.KeyUsageContentCommitment": "crypto/x509", - "x509.KeyUsageDataEncipherment": "crypto/x509", - "x509.KeyUsageDecipherOnly": "crypto/x509", - "x509.KeyUsageDigitalSignature": "crypto/x509", - "x509.KeyUsageEncipherOnly": "crypto/x509", - "x509.KeyUsageKeyAgreement": "crypto/x509", - "x509.KeyUsageKeyEncipherment": "crypto/x509", - "x509.MD2WithRSA": "crypto/x509", - "x509.MD5WithRSA": "crypto/x509", - "x509.MarshalECPrivateKey": "crypto/x509", - "x509.MarshalPKCS1PrivateKey": "crypto/x509", - "x509.MarshalPKIXPublicKey": "crypto/x509", - "x509.NewCertPool": "crypto/x509", - "x509.NotAuthorizedToSign": "crypto/x509", - "x509.PEMCipher": "crypto/x509", - "x509.PEMCipher3DES": "crypto/x509", - "x509.PEMCipherAES128": "crypto/x509", - "x509.PEMCipherAES192": "crypto/x509", - "x509.PEMCipherAES256": "crypto/x509", - "x509.PEMCipherDES": "crypto/x509", - "x509.ParseCRL": "crypto/x509", - "x509.ParseCertificate": "crypto/x509", - "x509.ParseCertificateRequest": "crypto/x509", - "x509.ParseCertificates": "crypto/x509", - "x509.ParseDERCRL": "crypto/x509", - "x509.ParseECPrivateKey": "crypto/x509", - "x509.ParsePKCS1PrivateKey": "crypto/x509", - "x509.ParsePKCS8PrivateKey": "crypto/x509", - "x509.ParsePKIXPublicKey": "crypto/x509", - "x509.PublicKeyAlgorithm": "crypto/x509", - "x509.RSA": "crypto/x509", - "x509.SHA1WithRSA": "crypto/x509", - "x509.SHA256WithRSA": "crypto/x509", - "x509.SHA384WithRSA": "crypto/x509", - "x509.SHA512WithRSA": "crypto/x509", - "x509.SignatureAlgorithm": "crypto/x509", - "x509.SystemRootsError": "crypto/x509", - "x509.TooManyIntermediates": "crypto/x509", - "x509.UnhandledCriticalExtension": "crypto/x509", - "x509.UnknownAuthorityError": "crypto/x509", - "x509.UnknownPublicKeyAlgorithm": "crypto/x509", - "x509.UnknownSignatureAlgorithm": "crypto/x509", - "x509.VerifyOptions": "crypto/x509", - "xml.Attr": "encoding/xml", - "xml.CharData": "encoding/xml", - "xml.Comment": "encoding/xml", - "xml.CopyToken": "encoding/xml", - "xml.Decoder": "encoding/xml", - "xml.Directive": "encoding/xml", - "xml.Encoder": "encoding/xml", - "xml.EndElement": "encoding/xml", - "xml.Escape": "encoding/xml", - "xml.EscapeText": "encoding/xml", - "xml.HTMLAutoClose": "encoding/xml", - "xml.HTMLEntity": "encoding/xml", - "xml.Header": "encoding/xml", - "xml.Marshal": "encoding/xml", - "xml.MarshalIndent": "encoding/xml", - "xml.Marshaler": "encoding/xml", - "xml.MarshalerAttr": "encoding/xml", - "xml.Name": "encoding/xml", - "xml.NewDecoder": "encoding/xml", - "xml.NewEncoder": "encoding/xml", - "xml.ProcInst": "encoding/xml", - "xml.StartElement": "encoding/xml", - "xml.SyntaxError": "encoding/xml", - "xml.TagPathError": "encoding/xml", - "xml.Token": "encoding/xml", - "xml.Unmarshal": "encoding/xml", - "xml.UnmarshalError": "encoding/xml", - "xml.Unmarshaler": "encoding/xml", - "xml.UnmarshalerAttr": "encoding/xml", - "xml.UnsupportedTypeError": "encoding/xml", - "zip.Compressor": "archive/zip", - "zip.Decompressor": "archive/zip", - "zip.Deflate": "archive/zip", - "zip.ErrAlgorithm": "archive/zip", - "zip.ErrChecksum": "archive/zip", - "zip.ErrFormat": "archive/zip", - "zip.File": "archive/zip", - "zip.FileHeader": "archive/zip", - "zip.FileInfoHeader": "archive/zip", - "zip.NewReader": "archive/zip", - "zip.NewWriter": "archive/zip", - "zip.OpenReader": "archive/zip", - "zip.ReadCloser": "archive/zip", - "zip.Reader": "archive/zip", - "zip.RegisterCompressor": "archive/zip", - "zip.RegisterDecompressor": "archive/zip", - "zip.Store": "archive/zip", - "zip.Writer": "archive/zip", - "zlib.BestCompression": "compress/zlib", - "zlib.BestSpeed": "compress/zlib", - "zlib.DefaultCompression": "compress/zlib", - "zlib.ErrChecksum": "compress/zlib", - "zlib.ErrDictionary": "compress/zlib", - "zlib.ErrHeader": "compress/zlib", - "zlib.NewReader": "compress/zlib", - "zlib.NewReaderDict": "compress/zlib", - "zlib.NewWriter": "compress/zlib", - "zlib.NewWriterLevel": "compress/zlib", - "zlib.NewWriterLevelDict": "compress/zlib", - "zlib.NoCompression": "compress/zlib", - "zlib.Writer": "compress/zlib", -} diff --git a/vendor/github.com/visualfc/gotools/types/types.go b/vendor/github.com/visualfc/gotools/types/types.go deleted file mode 100644 index 1605adb..0000000 --- a/vendor/github.com/visualfc/gotools/types/types.go +++ /dev/null @@ -1,1064 +0,0 @@ -// Copyright 2011-2015 visualfc . All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package types - -import ( - "bytes" - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/printer" - "go/token" - "io/ioutil" - "log" - "os" - "path/filepath" - "regexp" - "sort" - "strconv" - "strings" - "time" - - "github.com/visualfc/gotools/command" - "github.com/visualfc/gotools/stdlib" - "golang.org/x/tools/go/buildutil" - "golang.org/x/tools/go/gcimporter" - "golang.org/x/tools/go/types" -) - -var Command = &command.Command{ - Run: runTypes, - UsageLine: "types", - Short: "golang type util", - Long: `golang type util`, -} - -var ( - typesVerbose bool - typesAllowBinary bool - typesFilePos string - typesFileStdin bool - typesFindUse bool - typesFindDef bool - typesFindUseAll bool - typesFindInfo bool - typesFindDoc bool -) - -//func init -func init() { - Command.Flag.BoolVar(&typesVerbose, "v", false, "verbose debugging") - Command.Flag.BoolVar(&typesAllowBinary, "b", false, "import can be satisfied by a compiled package object without corresponding sources.") - Command.Flag.StringVar(&typesFilePos, "pos", "", "file position \"file.go:pos\"") - Command.Flag.BoolVar(&typesFileStdin, "stdin", false, "input file use stdin") - Command.Flag.BoolVar(&typesFindInfo, "info", false, "find cursor info") - Command.Flag.BoolVar(&typesFindDef, "def", false, "find cursor define") - Command.Flag.BoolVar(&typesFindUse, "use", false, "find cursor usages") - Command.Flag.BoolVar(&typesFindUseAll, "all", false, "find cursor all usages in GOPATH") - Command.Flag.BoolVar(&typesFindDoc, "doc", false, "find cursor def doc") -} - -type ObjKind int - -const ( - ObjNone ObjKind = iota - ObjPkgName - ObjTypeName - ObjInterface - ObjStruct - ObjConst - ObjVar - ObjField - ObjFunc - ObjMethod - ObjLabel - ObjBuiltin - ObjNil -) - -var ObjKindName = []string{"none", "package", - "type", "interface", "struct", - "const", "var", "field", - "func", "method", - "label", "builtin", "nil"} - -func (k ObjKind) String() string { - if k >= 0 && int(k) < len(ObjKindName) { - return ObjKindName[k] - } - return "unkwnown" -} - -var builtinInfoMap = map[string]string{ - "append": "func append(slice []Type, elems ...Type) []Type", - "copy": "func copy(dst, src []Type) int", - "delete": "func delete(m map[Type]Type1, key Type)", - "len": "func len(v Type) int", - "cap": "func cap(v Type) int", - "make": "func make(Type, size IntegerType) Type", - "new": "func new(Type) *Type", - "complex": "func complex(r, i FloatType) ComplexType", - "real": "func real(c ComplexType) FloatType", - "imag": "func imag(c ComplexType) FloatType", - "close": "func close(c chan<- Type)", - "panic": "func panic(v interface{})", - "recover": "func recover() interface{}", - "print": "func print(args ...Type)", - "println": "func println(args ...Type)", - "error": "type error interface {Error() string}", -} - -func builtinInfo(id string) string { - if info, ok := builtinInfoMap[id]; ok { - return "builtin " + info - } - return "builtin " + id -} - -func simpleObjInfo(obj types.Object) string { - pkg := obj.Pkg() - s := simpleType(obj.String()) - if pkg != nil && pkg.Name() == "main" { - return strings.Replace(s, simpleType(pkg.Path())+".", "", -1) - } - return s -} - -func simpleType(src string) string { - re, _ := regexp.Compile("[\\w\\./]+") - return re.ReplaceAllStringFunc(src, func(s string) string { - r := s - if i := strings.LastIndex(s, "/"); i != -1 { - r = s[i+1:] - } - if strings.Count(r, ".") > 1 { - r = r[strings.Index(r, ".")+1:] - } - return r - }) -} - -func runTypes(cmd *command.Command, args []string) error { - if len(args) < 1 { - cmd.Usage() - return nil - } - if typesVerbose { - now := time.Now() - defer func() { - log.Println("time", time.Now().Sub(now)) - }() - } - w := NewPkgWalker(&build.Default) - var cursor *FileCursor - if typesFilePos != "" { - var cursorInfo FileCursor - pos := strings.Index(typesFilePos, ":") - if pos != -1 { - cursorInfo.fileName = typesFilePos[:pos] - if i, err := strconv.Atoi(typesFilePos[pos+1:]); err == nil { - cursorInfo.cursorPos = i - } - } - if typesFileStdin { - src, err := ioutil.ReadAll(os.Stdin) - if err == nil { - cursorInfo.src = src - } - } - cursor = &cursorInfo - } - for _, pkgName := range args { - if pkgName == "." { - pkgPath, err := os.Getwd() - if err != nil { - log.Fatalln(err) - } - pkgName = pkgPath - } - conf := &PkgConfig{IgnoreFuncBodies: true, AllowBinary: true, WithTestFiles: true} - if cursor != nil { - conf.Cursor = cursor - conf.IgnoreFuncBodies = false - conf.Info = &types.Info{ - Uses: make(map[*ast.Ident]types.Object), - Defs: make(map[*ast.Ident]types.Object), - Selections: make(map[*ast.SelectorExpr]*types.Selection), - //Types: make(map[ast.Expr]types.TypeAndValue), - //Scopes : make(map[ast.Node]*types.Scope) - //Implicits : make(map[ast.Node]types.Object) - } - conf.XInfo = &types.Info{ - Uses: make(map[*ast.Ident]types.Object), - Defs: make(map[*ast.Ident]types.Object), - Selections: make(map[*ast.SelectorExpr]*types.Selection), - } - } - pkg, err := w.Import("", pkgName, conf) - if pkg == nil { - log.Fatalln("error import path", err) - } - if cursor != nil && (typesFindInfo || typesFindDef || typesFindUse) { - w.LookupCursor(pkg, conf, cursor) - } - } - return nil -} - -type FileCursor struct { - pkg string - fileName string - fileDir string - cursorPos int - pos token.Pos - src interface{} - xtest bool -} - -type PkgConfig struct { - IgnoreFuncBodies bool - AllowBinary bool - WithTestFiles bool - Cursor *FileCursor - Pkg *types.Package - XPkg *types.Package - Info *types.Info - XInfo *types.Info - Files map[string]*ast.File - TestFiles map[string]*ast.File - XTestFiles map[string]*ast.File -} - -func NewPkgWalker(context *build.Context) *PkgWalker { - return &PkgWalker{ - context: context, - fset: token.NewFileSet(), - parsedFileCache: map[string]*ast.File{}, - imported: map[string]*types.Package{"unsafe": types.Unsafe}, - gcimporter: map[string]*types.Package{"unsafe": types.Unsafe}, - } -} - -type PkgWalker struct { - fset *token.FileSet - context *build.Context - current *types.Package - importing types.Package - parsedFileCache map[string]*ast.File - imported map[string]*types.Package // packages already imported - gcimporter map[string]*types.Package -} - -func contains(list []string, s string) bool { - for _, t := range list { - if t == s { - return true - } - } - return false -} - -func (w *PkgWalker) isBinaryPkg(pkg string) bool { - return stdlib.IsStdPkg(pkg) -} - -func (w *PkgWalker) importPath(path string, mode build.ImportMode) (*build.Package, error) { - if filepath.IsAbs(path) { - return w.context.ImportDir(path, 0) - } - if stdlib.IsStdPkg(path) { - return stdlib.ImportStdPkg(w.context, path, mode) - } - return w.context.Import(path, "", mode) -} - -func (w *PkgWalker) Import(parentDir string, name string, conf *PkgConfig) (pkg *types.Package, err error) { - defer func() { - err := recover() - if err != nil && typesVerbose { - log.Println(err) - } - }() - - if strings.HasPrefix(name, ".") && parentDir != "" { - name = filepath.Join(parentDir, name) - } - pkg = w.imported[name] - if pkg != nil { - if pkg == &w.importing { - return nil, fmt.Errorf("cycle importing package %q", name) - } - return pkg, nil - } - - if typesVerbose { - log.Println("parser pkg", name) - } - - bp, err := w.importPath(name, 0) - if err != nil { - return nil, err - } - - checkName := name - - if bp.ImportPath == "." { - checkName = bp.Name - } else { - checkName = bp.ImportPath - } - - if err != nil { - return nil, err - //if _, nogo := err.(*build.NoGoError); nogo { - // return - //} - //return - //log.Fatalf("pkg %q, dir %q: ScanDir: %v", name, info.Dir, err) - } - - filenames := append(append([]string{}, bp.GoFiles...), bp.CgoFiles...) - if conf.WithTestFiles { - filenames = append(filenames, bp.TestGoFiles...) - } - - if name == "runtime" { - n := fmt.Sprintf("zgoos_%s.go", w.context.GOOS) - if !contains(filenames, n) { - filenames = append(filenames, n) - } - - n = fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH) - if !contains(filenames, n) { - filenames = append(filenames, n) - } - } - - parserFiles := func(filenames []string, cursor *FileCursor, xtest bool) (files []*ast.File) { - for _, file := range filenames { - var f *ast.File - if cursor != nil && cursor.fileName == file { - f, err = w.parseFile(bp.Dir, file, cursor.src) - cursor.pos = token.Pos(w.fset.File(f.Pos()).Base()) + token.Pos(cursor.cursorPos) - cursor.fileDir = bp.Dir - cursor.xtest = xtest - } else { - f, err = w.parseFile(bp.Dir, file, nil) - } - if err != nil && typesVerbose { - log.Printf("error parsing package %s: %s\n", name, err) - } - files = append(files, f) - } - return - } - files := parserFiles(filenames, conf.Cursor, false) - xfiles := parserFiles(bp.XTestGoFiles, conf.Cursor, true) - - typesConf := types.Config{ - IgnoreFuncBodies: conf.IgnoreFuncBodies, - FakeImportC: true, - Packages: w.gcimporter, - Import: func(imports map[string]*types.Package, name string) (pkg *types.Package, err error) { - if pkg != nil { - return pkg, nil - } - if conf.AllowBinary && w.isBinaryPkg(name) { - pkg = w.gcimporter[name] - if pkg != nil && pkg.Complete() { - return - } - pkg, err = gcimporter.Import(imports, name) - if pkg != nil && pkg.Complete() { - w.gcimporter[name] = pkg - return - } - } - return w.Import(bp.Dir, name, &PkgConfig{IgnoreFuncBodies: true, AllowBinary: true, WithTestFiles: false}) - }, - Error: func(err error) { - if typesVerbose { - log.Println(err) - } - }, - } - if pkg == nil { - pkg, err = typesConf.Check(checkName, w.fset, files, conf.Info) - conf.Pkg = pkg - } - w.imported[name] = pkg - - if len(xfiles) > 0 { - xpkg, _ := typesConf.Check(checkName+"_test", w.fset, xfiles, conf.XInfo) - w.imported[checkName+"_test"] = xpkg - conf.XPkg = xpkg - } - return -} - -func (w *PkgWalker) parseFile(dir, file string, src interface{}) (*ast.File, error) { - filename := filepath.Join(dir, file) - f, _ := w.parsedFileCache[filename] - if f != nil { - return f, nil - } - - var err error - - // generate missing context-dependent files. - if w.context != nil && file == fmt.Sprintf("zgoos_%s.go", w.context.GOOS) { - src := fmt.Sprintf("package runtime; const theGoos = `%s`", w.context.GOOS) - f, err = parser.ParseFile(w.fset, filename, src, 0) - if err != nil { - log.Fatalf("incorrect generated file: %s", err) - } - } - - if w.context != nil && file == fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH) { - src := fmt.Sprintf("package runtime; const theGoarch = `%s`", w.context.GOARCH) - f, err = parser.ParseFile(w.fset, filename, src, 0) - if err != nil { - log.Fatalf("incorrect generated file: %s", err) - } - } - - if f == nil { - flag := parser.AllErrors - if typesFindDoc { - flag |= parser.ParseComments - } - f, err = parser.ParseFile(w.fset, filename, src, flag) - if err != nil { - return f, err - } - } - - w.parsedFileCache[filename] = f - return f, nil -} - -func (w *PkgWalker) LookupCursor(pkg *types.Package, conf *PkgConfig, cursor *FileCursor) { - is := w.CheckIsImport(cursor) - if is != nil { - if cursor.xtest { - w.LookupImport(conf.XPkg, conf.XInfo, cursor, is) - } else { - w.LookupImport(conf.Pkg, conf.Info, cursor, is) - } - } else { - w.LookupObjects(conf, cursor) - } -} - -func (w *PkgWalker) LookupImport(pkg *types.Package, pkgInfo *types.Info, cursor *FileCursor, is *ast.ImportSpec) { - fpath, err := strconv.Unquote(is.Path.Value) - if err != nil { - return - } - - if typesFindDef { - fmt.Println(w.fset.Position(is.Pos())) - } - - fbase := fpath - pos := strings.LastIndexAny(fpath, "./-\\") - if pos != -1 { - fbase = fpath[pos+1:] - } - - var fname string - if is.Name != nil { - fname = is.Name.Name - } else { - fname = fbase - } - - if typesFindInfo { - if fname == fpath { - fmt.Printf("package %s\n", fname) - } else { - fmt.Printf("package %s (\"%s\")\n", fname, fpath) - } - } - - if !typesFindUse { - return - } - - fid := pkg.Path() + "." + fname - var usages []int - for id, obj := range pkgInfo.Uses { - if obj != nil && obj.Id() == fid { //!= nil && cursorObj.Pos() == obj.Pos() { - usages = append(usages, int(id.Pos())) - } - } - (sort.IntSlice(usages)).Sort() - for _, pos := range usages { - fmt.Println(w.fset.Position(token.Pos(pos))) - } -} - -func parserObjKind(obj types.Object) (ObjKind, error) { - var kind ObjKind - switch t := obj.(type) { - case *types.PkgName: - kind = ObjPkgName - case *types.Const: - kind = ObjConst - case *types.TypeName: - kind = ObjTypeName - switch t.Type().Underlying().(type) { - case *types.Interface: - kind = ObjInterface - case *types.Struct: - kind = ObjStruct - } - case *types.Var: - kind = ObjVar - if t.IsField() { - kind = ObjField - } - case *types.Func: - kind = ObjFunc - if sig, ok := t.Type().(*types.Signature); ok { - if sig.Recv() != nil { - kind = ObjMethod - } - } - case *types.Label: - kind = ObjLabel - case *types.Builtin: - kind = ObjBuiltin - case *types.Nil: - kind = ObjNil - default: - return ObjNone, fmt.Errorf("unknown obj type %T", obj) - } - return kind, nil -} - -func (w *PkgWalker) LookupStructFromField(info *types.Info, cursorPkg *types.Package, cursorObj types.Object, cursorPos token.Pos) types.Object { - if info == nil { - conf := &PkgConfig{ - IgnoreFuncBodies: true, - AllowBinary: true, - WithTestFiles: true, - Info: &types.Info{ - Defs: make(map[*ast.Ident]types.Object), - }, - } - w.imported[cursorPkg.Path()] = nil - pkg, _ := w.Import("", cursorPkg.Path(), conf) - if pkg != nil { - info = conf.Info - } - } - for _, obj := range info.Defs { - if obj == nil { - continue - } - if _, ok := obj.(*types.TypeName); ok { - if t, ok := obj.Type().Underlying().(*types.Struct); ok { - for i := 0; i < t.NumFields(); i++ { - if t.Field(i).Pos() == cursorPos { - return obj - } - } - } - } - } - return nil -} - -func (w *PkgWalker) lookupNamedField(named *types.Named, name string) *types.Named { - if istruct, ok := named.Underlying().(*types.Struct); ok { - for i := 0; i < istruct.NumFields(); i++ { - field := istruct.Field(i) - if field.Anonymous() { - fieldType := orgType(field.Type()) - if typ, ok := fieldType.(*types.Named); ok { - if na := w.lookupNamedField(typ, name); na != nil { - return na - } - } - } else { - if field.Name() == name { - return named - } - } - } - } - return nil -} - -func (w *PkgWalker) lookupNamedMethod(named *types.Named, name string) (types.Object, *types.Named) { - if iface, ok := named.Underlying().(*types.Interface); ok { - for i := 0; i < iface.NumMethods(); i++ { - fn := iface.Method(i) - if fn.Name() == name { - return fn, named - } - } - for i := 0; i < iface.NumEmbeddeds(); i++ { - if obj, na := w.lookupNamedMethod(iface.Embedded(i), name); obj != nil { - return obj, na - } - } - return nil, nil - } - if istruct, ok := named.Underlying().(*types.Struct); ok { - for i := 0; i < named.NumMethods(); i++ { - fn := named.Method(i) - if fn.Name() == name { - return fn, named - } - } - for i := 0; i < istruct.NumFields(); i++ { - field := istruct.Field(i) - if !field.Anonymous() { - continue - } - if typ, ok := field.Type().(*types.Named); ok { - if obj, na := w.lookupNamedMethod(typ, name); obj != nil { - return obj, na - } - } - } - } - return nil, nil -} - -func IsSamePkg(a, b *types.Package) bool { - if a == b { - return true - } - if a == nil || b == nil { - return false - } - return a.Path() == b.Path() -} - -func IsSameObject(a, b types.Object) bool { - if a == b { - return true - } - if a == nil || b == nil { - return false - } - var apath string - var bpath string - if a.Pkg() != nil { - apath = a.Pkg().Path() - } - if b.Pkg() != nil { - bpath = b.Pkg().Path() - } - if apath != bpath { - return false - } - if a.Id() != b.Id() { - return false - } - return a.String() == b.String() -} - -func orgType(typ types.Type) types.Type { - if pt, ok := typ.(*types.Pointer); ok { - return pt.Elem() - } - return typ -} - -func (w *PkgWalker) LookupObjects(conf *PkgConfig, cursor *FileCursor) { - var cursorObj types.Object - var cursorSelection *types.Selection - var cursorObjIsDef bool - //lookup defs - - var pkg *types.Package - var pkgInfo *types.Info - if cursor.xtest { - pkgInfo = conf.XInfo - pkg = conf.XPkg - } else { - pkgInfo = conf.Info - pkg = conf.Pkg - } - - _ = cursorObjIsDef - if cursorObj == nil { - for sel, obj := range pkgInfo.Selections { - if cursor.pos >= sel.Sel.Pos() && cursor.pos <= sel.Sel.End() { - cursorObj = obj.Obj() - cursorSelection = obj - break - } - } - } - if cursorObj == nil { - for id, obj := range pkgInfo.Defs { - if cursor.pos >= id.Pos() && cursor.pos <= id.End() { - cursorObj = obj - cursorObjIsDef = true - break - } - } - } - _ = cursorSelection - if cursorObj == nil { - for id, obj := range pkgInfo.Uses { - if cursor.pos >= id.Pos() && cursor.pos <= id.End() { - cursorObj = obj - break - } - } - } - if cursorObj == nil { - return - } - kind, err := parserObjKind(cursorObj) - if err != nil { - log.Fatalln(err) - } - - if kind == ObjField { - if cursorObj.(*types.Var).Anonymous() { - typ := orgType(cursorObj.Type()) - if named, ok := typ.(*types.Named); ok { - cursorObj = named.Obj() - } - } - } - cursorPkg := cursorObj.Pkg() - cursorPos := cursorObj.Pos() - //var fieldTypeInfo *types.Info - var fieldTypeObj types.Object - // if cursorPkg == pkg { - // fieldTypeInfo = pkgInfo - // } - cursorIsInterfaceMethod := false - var cursorInterfaceTypeName string - if kind == ObjMethod && cursorSelection != nil && cursorSelection.Recv() != nil { - sig := cursorObj.(*types.Func).Type().Underlying().(*types.Signature) - if _, ok := sig.Recv().Type().Underlying().(*types.Interface); ok { - if named, ok := cursorSelection.Recv().(*types.Named); ok { - obj, typ := w.lookupNamedMethod(named, cursorObj.Name()) - if obj != nil { - cursorObj = obj - } - if typ != nil { - cursorPkg = typ.Obj().Pkg() - cursorInterfaceTypeName = typ.Obj().Name() - } - cursorIsInterfaceMethod = true - } - } - } else if kind == ObjField && cursorSelection != nil { - if recv := cursorSelection.Recv(); recv != nil { - typ := orgType(recv) - if typ != nil { - if name, ok := typ.(*types.Named); ok { - fieldTypeObj = name.Obj() - na := w.lookupNamedField(name, cursorObj.Name()) - if na != nil { - fieldTypeObj = na.Obj() - } - } - } - } - } - if cursorPkg != nil && cursorPkg != pkg && - kind != ObjPkgName && w.isBinaryPkg(cursorPkg.Path()) { - conf := &PkgConfig{ - IgnoreFuncBodies: true, - AllowBinary: true, - WithTestFiles: true, - Info: &types.Info{ - Defs: make(map[*ast.Ident]types.Object), - }, - } - pkg, _ := w.Import("", cursorPkg.Path(), conf) - if pkg != nil { - if cursorIsInterfaceMethod { - for _, obj := range conf.Info.Defs { - if obj == nil { - continue - } - if fn, ok := obj.(*types.Func); ok { - if fn.Name() == cursorObj.Name() { - if sig, ok := fn.Type().Underlying().(*types.Signature); ok { - if named, ok := sig.Recv().Type().(*types.Named); ok { - if named.Obj() != nil && named.Obj().Name() == cursorInterfaceTypeName { - cursorPos = obj.Pos() - break - } - } - } - } - } - } - } else if kind == ObjField && fieldTypeObj != nil { - for _, obj := range conf.Info.Defs { - if obj == nil { - continue - } - if _, ok := obj.(*types.TypeName); ok { - if IsSameObject(fieldTypeObj, obj) { - if t, ok := obj.Type().Underlying().(*types.Struct); ok { - for i := 0; i < t.NumFields(); i++ { - if t.Field(i).Id() == cursorObj.Id() { - cursorPos = t.Field(i).Pos() - break - } - } - } - break - } - } - } - } else { - for k, v := range conf.Info.Defs { - if k != nil && v != nil && IsSameObject(v, cursorObj) { - cursorPos = k.Pos() - break - } - } - } - } - // if kind == ObjField || cursorIsInterfaceMethod { - // fieldTypeInfo = conf.Info - // } - } - // if kind == ObjField { - // fieldTypeObj = w.LookupStructFromField(fieldTypeInfo, cursorPkg, cursorObj, cursorPos) - // } - if typesFindDef { - fmt.Println(w.fset.Position(cursorPos)) - } - if typesFindInfo { - if kind == ObjField && fieldTypeObj != nil { - typeName := fieldTypeObj.Name() - if fieldTypeObj.Pkg() != nil && fieldTypeObj.Pkg() != pkg { - typeName = fieldTypeObj.Pkg().Name() + "." + fieldTypeObj.Name() - } - fmt.Println(typeName, simpleObjInfo(cursorObj)) - } else if kind == ObjBuiltin { - fmt.Println(builtinInfo(cursorObj.Name())) - } else if kind == ObjPkgName { - fmt.Println(cursorObj.String()) - } else if cursorIsInterfaceMethod { - fmt.Println(strings.Replace(simpleObjInfo(cursorObj), "(interface)", cursorPkg.Name()+"."+cursorInterfaceTypeName, 1)) - } else { - fmt.Println(simpleObjInfo(cursorObj)) - } - } - - if typesFindDoc && typesFindDef { - pos := w.fset.Position(cursorPos) - file := w.parsedFileCache[pos.Filename] - if file != nil { - line := pos.Line - var group *ast.CommentGroup - for _, v := range file.Comments { - lastLine := w.fset.Position(v.End()).Line - if lastLine == line || lastLine == line-1 { - group = v - } else if lastLine > line { - break - } - } - if group != nil { - fmt.Println(group.Text()) - } - } - } - if !typesFindUse { - return - } - - var usages []int - if kind == ObjPkgName { - for id, obj := range pkgInfo.Uses { - if obj != nil && obj.Id() == cursorObj.Id() { //!= nil && cursorObj.Pos() == obj.Pos() { - usages = append(usages, int(id.Pos())) - } - } - } else { - // for id, obj := range pkgInfo.Defs { - // if obj == cursorObj { //!= nil && cursorObj.Pos() == obj.Pos() { - // usages = append(usages, int(id.Pos())) - // } - // } - for id, obj := range pkgInfo.Uses { - if obj == cursorObj { //!= nil && cursorObj.Pos() == obj.Pos() { - usages = append(usages, int(id.Pos())) - } - } - } - var pkg_path string - var xpkg_path string - if conf.Pkg != nil { - pkg_path = conf.Pkg.Path() - } - if conf.XPkg != nil { - xpkg_path = conf.XPkg.Path() - } - - if cursorPkg != nil && (cursorPkg.Path() == pkg_path || - cursorPkg.Path() == xpkg_path) { - usages = append(usages, int(cursorPos)) - } - - (sort.IntSlice(usages)).Sort() - for _, pos := range usages { - fmt.Println(w.fset.Position(token.Pos(pos))) - } - //check look for current pkg.object on pkg_test - if typesFindUseAll || IsSamePkg(cursorPkg, conf.Pkg) { - var addInfo *types.Info - if conf.Cursor.xtest { - addInfo = conf.Info - } else { - addInfo = conf.XInfo - } - if addInfo != nil && cursorPkg != nil { - var usages []int - // for id, obj := range addInfo.Defs { - // if id != nil && obj != nil && obj.Id() == cursorObj.Id() { - // usages = append(usages, int(id.Pos())) - // } - // } - for k, v := range addInfo.Uses { - if k != nil && v != nil && IsSameObject(v, cursorObj) { - usages = append(usages, int(k.Pos())) - } - } - (sort.IntSlice(usages)).Sort() - for _, pos := range usages { - fmt.Println(w.fset.Position(token.Pos(pos))) - } - } - } - if !typesFindUseAll { - return - } - - if cursorPkg == nil { - return - } - - var find_def_pkg string - var uses_paths []string - if cursorPkg.Path() != pkg_path && cursorPkg.Path() != xpkg_path { - find_def_pkg = cursorPkg.Path() - uses_paths = append(uses_paths, cursorPkg.Path()) - } - - buildutil.ForEachPackage(&build.Default, func(importPath string, err error) { - if err != nil { - return - } - if importPath == conf.Pkg.Path() { - return - } - bp, err := w.importPath(importPath, 0) - if err != nil { - return - } - find := false - if bp.ImportPath == cursorPkg.Path() { - find = true - } else { - for _, v := range bp.Imports { - if v == cursorObj.Pkg().Path() { - find = true - break - } - } - } - if find { - for _, v := range uses_paths { - if v == bp.ImportPath { - return - } - } - uses_paths = append(uses_paths, bp.ImportPath) - } - }) - - w.imported = make(map[string]*types.Package) - for _, v := range uses_paths { - conf := &PkgConfig{ - IgnoreFuncBodies: false, - AllowBinary: true, - WithTestFiles: true, - Info: &types.Info{ - Uses: make(map[*ast.Ident]types.Object), - }, - XInfo: &types.Info{ - Uses: make(map[*ast.Ident]types.Object), - }, - } - w.imported[v] = nil - var usages []int - vpkg, _ := w.Import("", v, conf) - if vpkg != nil && vpkg != pkg { - if conf.Info != nil { - for k, v := range conf.Info.Uses { - if k != nil && v != nil && IsSameObject(v, cursorObj) { - usages = append(usages, int(k.Pos())) - } - } - } - if conf.XInfo != nil { - for k, v := range conf.XInfo.Uses { - if k != nil && v != nil && IsSameObject(v, cursorObj) { - usages = append(usages, int(k.Pos())) - } - } - } - } - if v == find_def_pkg { - usages = append(usages, int(cursorPos)) - } - (sort.IntSlice(usages)).Sort() - for _, pos := range usages { - fmt.Println(w.fset.Position(token.Pos(pos))) - } - } -} - -func (w *PkgWalker) CheckIsImport(cursor *FileCursor) *ast.ImportSpec { - if cursor.fileDir == "" { - return nil - } - file, _ := w.parseFile(cursor.fileDir, cursor.fileName, cursor.src) - if file == nil { - return nil - } - for _, is := range file.Imports { - if inRange(is, cursor.pos) { - return is - } - } - return nil -} - -func inRange(node ast.Node, p token.Pos) bool { - if node == nil { - return false - } - return p >= node.Pos() && p <= node.End() -} - -func (w *PkgWalker) nodeString(node interface{}) string { - if node == nil { - return "" - } - var b bytes.Buffer - printer.Fprint(&b, w.fset, node) - return b.String() -} diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE deleted file mode 100644 index 6a66aea..0000000 --- a/vendor/golang.org/x/sys/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS deleted file mode 100644 index 7330990..0000000 --- a/vendor/golang.org/x/sys/PATENTS +++ /dev/null @@ -1,22 +0,0 @@ -Additional IP Rights Grant (Patents) - -"This implementation" means the copyrightable works distributed by -Google as part of the Go project. - -Google hereby grants to You a perpetual, worldwide, non-exclusive, -no-charge, royalty-free, irrevocable (except as stated in this section) -patent license to make, have made, use, offer to sell, sell, import, -transfer and otherwise run, modify and propagate the contents of this -implementation of Go, where such license applies only to those patent -claims, both currently owned or controlled by Google and acquired in -the future, licensable by Google that are necessarily infringed by this -implementation of Go. This grant does not include claims that would be -infringed only as a consequence of further modification of this -implementation. If you or your agent or exclusive licensee institute or -order or agree to the institution of patent litigation against any -entity (including a cross-claim or counterclaim in a lawsuit) alleging -that this implementation of Go or any code incorporated within this -implementation of Go constitutes direct or contributory patent -infringement, or inducement of patent infringement, then any patent -rights granted to you under this License for this implementation of Go -shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md deleted file mode 100644 index bc6f603..0000000 --- a/vendor/golang.org/x/sys/unix/README.md +++ /dev/null @@ -1,173 +0,0 @@ -# Building `sys/unix` - -The sys/unix package provides access to the raw system call interface of the -underlying operating system. See: https://godoc.org/golang.org/x/sys/unix - -Porting Go to a new architecture/OS combination or adding syscalls, types, or -constants to an existing architecture/OS pair requires some manual effort; -however, there are tools that automate much of the process. - -## Build Systems - -There are currently two ways we generate the necessary files. We are currently -migrating the build system to use containers so the builds are reproducible. -This is being done on an OS-by-OS basis. Please update this documentation as -components of the build system change. - -### Old Build System (currently for `GOOS != "Linux" || GOARCH == "sparc64"`) - -The old build system generates the Go files based on the C header files -present on your system. This means that files -for a given GOOS/GOARCH pair must be generated on a system with that OS and -architecture. This also means that the generated code can differ from system -to system, based on differences in the header files. - -To avoid this, if you are using the old build system, only generate the Go -files on an installation with unmodified header files. It is also important to -keep track of which version of the OS the files were generated from (ex. -Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes -and have each OS upgrade correspond to a single change. - -To build the files for your current OS and architecture, make sure GOOS and -GOARCH are set correctly and run `mkall.sh`. This will generate the files for -your specific system. Running `mkall.sh -n` shows the commands that will be run. - -Requirements: bash, perl, go - -### New Build System (currently for `GOOS == "Linux" && GOARCH != "sparc64"`) - -The new build system uses a Docker container to generate the go files directly -from source checkouts of the kernel and various system libraries. This means -that on any platform that supports Docker, all the files using the new build -system can be generated at once, and generated files will not change based on -what the person running the scripts has installed on their computer. - -The OS specific files for the new build system are located in the `${GOOS}` -directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When -the kernel or system library updates, modify the Dockerfile at -`${GOOS}/Dockerfile` to checkout the new release of the source. - -To build all the files under the new build system, you must be on an amd64/Linux -system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will -then generate all of the files for all of the GOOS/GOARCH pairs in the new build -system. Running `mkall.sh -n` shows the commands that will be run. - -Requirements: bash, perl, go, docker - -## Component files - -This section describes the various files used in the code generation process. -It also contains instructions on how to modify these files to add a new -architecture/OS or to add additional syscalls, types, or constants. Note that -if you are using the new build system, the scripts cannot be called normally. -They must be called from within the docker container. - -### asm files - -The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system -call dispatch. There are three entry points: -``` - func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) - func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) - func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) -``` -The first and second are the standard ones; they differ only in how many -arguments can be passed to the kernel. The third is for low-level use by the -ForkExec wrapper. Unlike the first two, it does not call into the scheduler to -let it know that a system call is running. - -When porting Go to an new architecture/OS, this file must be implemented for -each GOOS/GOARCH pair. - -### mksysnum - -Mksysnum is a script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl` -for the old system). This script takes in a list of header files containing the -syscall number declarations and parses them to produce the corresponding list of -Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated -constants. - -Adding new syscall numbers is mostly done by running the build on a sufficiently -new installation of the target OS (or updating the source checkouts for the -new build system). However, depending on the OS, you make need to update the -parsing in mksysnum. - -### mksyscall.pl - -The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are -hand-written Go files which implement system calls (for unix, the specific OS, -or the specific OS/Architecture pair respectively) that need special handling -and list `//sys` comments giving prototypes for ones that can be generated. - -The mksyscall.pl script takes the `//sys` and `//sysnb` comments and converts -them into syscalls. This requires the name of the prototype in the comment to -match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function -prototype can be exported (capitalized) or not. - -Adding a new syscall often just requires adding a new `//sys` function prototype -with the desired arguments and a capitalized name so it is exported. However, if -you want the interface to the syscall to be different, often one will make an -unexported `//sys` prototype, an then write a custom wrapper in -`syscall_${GOOS}.go`. - -### types files - -For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or -`types_${GOOS}.go` on the old system). This file includes standard C headers and -creates Go type aliases to the corresponding C types. The file is then fed -through godef to get the Go compatible definitions. Finally, the generated code -is fed though mkpost.go to format the code correctly and remove any hidden or -private identifiers. This cleaned-up code is written to -`ztypes_${GOOS}_${GOARCH}.go`. - -The hardest part about preparing this file is figuring out which headers to -include and which symbols need to be `#define`d to get the actual data -structures that pass through to the kernel system calls. Some C libraries -preset alternate versions for binary compatibility and translate them on the -way in and out of system calls, but there is almost always a `#define` that can -get the real ones. -See `types_darwin.go` and `linux/types.go` for examples. - -To add a new type, add in the necessary include statement at the top of the -file (if it is not already there) and add in a type alias line. Note that if -your type is significantly different on different architectures, you may need -some `#if/#elif` macros in your include statements. - -### mkerrors.sh - -This script is used to generate the system's various constants. This doesn't -just include the error numbers and error strings, but also the signal numbers -an a wide variety of miscellaneous constants. The constants come from the list -of include files in the `includes_${uname}` variable. A regex then picks out -the desired `#define` statements, and generates the corresponding Go constants. -The error numbers and strings are generated from `#include `, and the -signal numbers and strings are generated from `#include `. All of -these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program, -`_errors.c`, which prints out all the constants. - -To add a constant, add the header that includes it to the appropriate variable. -Then, edit the regex (if necessary) to match the desired constant. Avoid making -the regex too broad to avoid matching unintended constants. - - -## Generated files - -### `zerror_${GOOS}_${GOARCH}.go` - -A file containing all of the system's generated error numbers, error strings, -signal numbers, and constants. Generated by `mkerrors.sh` (see above). - -### `zsyscall_${GOOS}_${GOARCH}.go` - -A file containing all the generated syscalls for a specific GOOS and GOARCH. -Generated by `mksyscall.pl` (see above). - -### `zsysnum_${GOOS}_${GOARCH}.go` - -A list of numeric constants for all the syscall number of the specific GOOS -and GOARCH. Generated by mksysnum (see above). - -### `ztypes_${GOOS}_${GOARCH}.go` - -A file containing Go types for passing into (or returning from) syscalls. -Generated by godefs and the types file (see above). diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s deleted file mode 100644 index 8a72783..0000000 --- a/vendor/golang.org/x/sys/unix/asm_darwin_386.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for 386, Darwin -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s deleted file mode 100644 index 6321421..0000000 --- a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for AMD64, Darwin -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-104 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s deleted file mode 100644 index 333242d..0000000 --- a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2015 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. - -// +build !gccgo -// +build arm,darwin - -#include "textflag.h" - -// -// System call support for ARM, Darwin -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - B syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - B syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s deleted file mode 100644 index 97e0174..0000000 --- a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2015 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. - -// +build !gccgo -// +build arm64,darwin - -#include "textflag.h" - -// -// System call support for AMD64, Darwin -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - B syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-104 - B syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s deleted file mode 100644 index d5ed672..0000000 --- a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for AMD64, DragonFly -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-64 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-88 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-112 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-64 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s deleted file mode 100644 index c9a0a26..0000000 --- a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for 386, FreeBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s deleted file mode 100644 index 3517247..0000000 --- a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for AMD64, FreeBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-104 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s deleted file mode 100644 index 9227c87..0000000 --- a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2012 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for ARM, FreeBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - B syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - B syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s deleted file mode 100644 index 4db2909..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_386.s +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System calls for 386, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) - -TEXT ·socketcall(SB),NOSPLIT,$0-36 - JMP syscall·socketcall(SB) - -TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 - JMP syscall·rawsocketcall(SB) - -TEXT ·seek(SB),NOSPLIT,$0-28 - JMP syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s deleted file mode 100644 index 44e25c6..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System calls for AMD64, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) - -TEXT ·gettimeofday(SB),NOSPLIT,$0-16 - JMP syscall·gettimeofday(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s deleted file mode 100644 index cf0b574..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_arm.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System calls for arm, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - B syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - B syscall·RawSyscall6(SB) - -TEXT ·seek(SB),NOSPLIT,$0-32 - B syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s deleted file mode 100644 index 4be9bfe..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2015 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. - -// +build linux -// +build arm64 -// +build !gccgo - -#include "textflag.h" - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - B syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s deleted file mode 100644 index 724e580..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2015 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. - -// +build linux -// +build mips64 mips64le -// +build !gccgo - -#include "textflag.h" - -// -// System calls for mips64, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s deleted file mode 100644 index 2ea4257..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2016 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. - -// +build linux -// +build mips mipsle -// +build !gccgo - -#include "textflag.h" - -// -// System calls for mips, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s deleted file mode 100644 index 8d231fe..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2014 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. - -// +build linux -// +build ppc64 ppc64le -// +build !gccgo - -#include "textflag.h" - -// -// System calls for ppc64, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - BR syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - BR syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - BR syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - BR syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s deleted file mode 100644 index 1188985..0000000 --- a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2016 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. - -// +build s390x -// +build linux -// +build !gccgo - -#include "textflag.h" - -// -// System calls for s390x, Linux -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - BR syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - BR syscall·Syscall6(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - BR syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - BR syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s deleted file mode 100644 index 48bdcd7..0000000 --- a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for 386, NetBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s deleted file mode 100644 index 2ede05c..0000000 --- a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for AMD64, NetBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-104 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s deleted file mode 100644 index e892857..0000000 --- a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2013 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for ARM, NetBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - B syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - B syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - B syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - B syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s deleted file mode 100644 index 00576f3..0000000 --- a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for 386, OpenBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-28 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-40 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-52 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-28 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s deleted file mode 100644 index 790ef77..0000000 --- a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2009 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System call support for AMD64, OpenBSD -// - -// Just jump to package syscall's implementation for all these functions. -// The runtime may know about them. - -TEXT ·Syscall(SB),NOSPLIT,$0-56 - JMP syscall·Syscall(SB) - -TEXT ·Syscall6(SB),NOSPLIT,$0-80 - JMP syscall·Syscall6(SB) - -TEXT ·Syscall9(SB),NOSPLIT,$0-104 - JMP syscall·Syscall9(SB) - -TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - JMP syscall·RawSyscall(SB) - -TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s deleted file mode 100644 index ded8260..0000000 --- a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2014 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. - -// +build !gccgo - -#include "textflag.h" - -// -// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go -// - -TEXT ·sysvicall6(SB),NOSPLIT,$0-88 - JMP syscall·sysvicall6(SB) - -TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 - JMP syscall·rawSysvicall6(SB) diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go deleted file mode 100644 index 6e32296..0000000 --- a/vendor/golang.org/x/sys/unix/bluetooth_linux.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2016 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. - -// Bluetooth sockets and messages - -package unix - -// Bluetooth Protocols -const ( - BTPROTO_L2CAP = 0 - BTPROTO_HCI = 1 - BTPROTO_SCO = 2 - BTPROTO_RFCOMM = 3 - BTPROTO_BNEP = 4 - BTPROTO_CMTP = 5 - BTPROTO_HIDP = 6 - BTPROTO_AVDTP = 7 -) - -const ( - HCI_CHANNEL_RAW = 0 - HCI_CHANNEL_USER = 1 - HCI_CHANNEL_MONITOR = 2 - HCI_CHANNEL_CONTROL = 3 -) - -// Socketoption Level -const ( - SOL_BLUETOOTH = 0x112 - SOL_HCI = 0x0 - SOL_L2CAP = 0x6 - SOL_RFCOMM = 0x12 - SOL_SCO = 0x11 -) diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go deleted file mode 100644 index a96f0eb..0000000 --- a/vendor/golang.org/x/sys/unix/constants.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2015 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package unix - -const ( - R_OK = 0x4 - W_OK = 0x2 - X_OK = 0x1 -) diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go deleted file mode 100644 index bd47581..0000000 --- a/vendor/golang.org/x/sys/unix/dirent.go +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2009 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. - -// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris - -package unix - -import "unsafe" - -// readInt returns the size-bytes unsigned integer in native byte order at offset off. -func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { - if len(b) < int(off+size) { - return 0, false - } - if isBigEndian { - return readIntBE(b[off:], size), true - } - return readIntLE(b[off:], size), true -} - -func readIntBE(b []byte, size uintptr) uint64 { - switch size { - case 1: - return uint64(b[0]) - case 2: - _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[1]) | uint64(b[0])<<8 - case 4: - _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 - case 8: - _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | - uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 - default: - panic("syscall: readInt with unsupported size") - } -} - -func readIntLE(b []byte, size uintptr) uint64 { - switch size { - case 1: - return uint64(b[0]) - case 2: - _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[0]) | uint64(b[1])<<8 - case 4: - _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 - case 8: - _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 - return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | - uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 - default: - panic("syscall: readInt with unsupported size") - } -} - -// ParseDirent parses up to max directory entries in buf, -// appending the names to names. It returns the number of -// bytes consumed from buf, the number of entries added -// to names, and the new names slice. -func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { - origlen := len(buf) - count = 0 - for max != 0 && len(buf) > 0 { - reclen, ok := direntReclen(buf) - if !ok || reclen > uint64(len(buf)) { - return origlen, count, names - } - rec := buf[:reclen] - buf = buf[reclen:] - ino, ok := direntIno(rec) - if !ok { - break - } - if ino == 0 { // File absent in directory. - continue - } - const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) - namlen, ok := direntNamlen(rec) - if !ok || namoff+namlen > uint64(len(rec)) { - break - } - name := rec[namoff : namoff+namlen] - for i, c := range name { - if c == 0 { - name = name[:i] - break - } - } - // Check for useless names before allocating a string. - if string(name) == "." || string(name) == ".." { - continue - } - max-- - count++ - names = append(names, string(name)) - } - return origlen - len(buf), count, names -} diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go deleted file mode 100644 index 5e92690..0000000 --- a/vendor/golang.org/x/sys/unix/endian_big.go +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2016 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. -// -// +build ppc64 s390x mips mips64 - -package unix - -const isBigEndian = true diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go deleted file mode 100644 index 085df2d..0000000 --- a/vendor/golang.org/x/sys/unix/endian_little.go +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2016 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. -// -// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le - -package unix - -const isBigEndian = false diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go deleted file mode 100644 index 45e281a..0000000 --- a/vendor/golang.org/x/sys/unix/env_unix.go +++ /dev/null @@ -1,27 +0,0 @@ -// 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -// Unix environment variables. - -package unix - -import "syscall" - -func Getenv(key string) (value string, found bool) { - return syscall.Getenv(key) -} - -func Setenv(key, value string) error { - return syscall.Setenv(key, value) -} - -func Clearenv() { - syscall.Clearenv() -} - -func Environ() []string { - return syscall.Environ() -} diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go deleted file mode 100644 index 9222262..0000000 --- a/vendor/golang.org/x/sys/unix/env_unset.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2014 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. - -// +build go1.4 - -package unix - -import "syscall" - -func Unsetenv(key string) error { - // This was added in Go 1.4. - return syscall.Unsetenv(key) -} diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go deleted file mode 100644 index ce67a59..0000000 --- a/vendor/golang.org/x/sys/unix/flock.go +++ /dev/null @@ -1,24 +0,0 @@ -// +build linux darwin freebsd openbsd netbsd dragonfly - -// Copyright 2014 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd - -package unix - -import "unsafe" - -// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux -// systems by flock_linux_32bit.go to be SYS_FCNTL64. -var fcntl64Syscall uintptr = SYS_FCNTL - -// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { - _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) - if errno == 0 { - return nil - } - return errno -} diff --git a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go deleted file mode 100644 index fc0e50e..0000000 --- a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go +++ /dev/null @@ -1,13 +0,0 @@ -// +build linux,386 linux,arm linux,mips linux,mipsle - -// Copyright 2014 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. - -package unix - -func init() { - // On 32-bit Linux systems, the fcntl syscall that matches Go's - // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. - fcntl64Syscall = SYS_FCNTL64 -} diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go deleted file mode 100644 index 94c8232..0000000 --- a/vendor/golang.org/x/sys/unix/gccgo.go +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2015 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. - -// +build gccgo - -package unix - -import "syscall" - -// We can't use the gc-syntax .s files for gccgo. On the plus side -// much of the functionality can be written directly in Go. - -//extern gccgoRealSyscall -func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) - -func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { - syscall.Entersyscall() - r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) - syscall.Exitsyscall() - return r, 0, syscall.Errno(errno) -} - -func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { - syscall.Entersyscall() - r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) - syscall.Exitsyscall() - return r, 0, syscall.Errno(errno) -} - -func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { - syscall.Entersyscall() - r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) - syscall.Exitsyscall() - return r, 0, syscall.Errno(errno) -} - -func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { - r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) - return r, 0, syscall.Errno(errno) -} - -func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { - r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) - return r, 0, syscall.Errno(errno) -} diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c deleted file mode 100644 index 07f6be0..0000000 --- a/vendor/golang.org/x/sys/unix/gccgo_c.c +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2015 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. - -// +build gccgo - -#include -#include -#include - -#define _STRINGIFY2_(x) #x -#define _STRINGIFY_(x) _STRINGIFY2_(x) -#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) - -// Call syscall from C code because the gccgo support for calling from -// Go to C does not support varargs functions. - -struct ret { - uintptr_t r; - uintptr_t err; -}; - -struct ret -gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) -{ - struct ret r; - - errno = 0; - r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); - r.err = errno; - return r; -} - -// Define the use function in C so that it is not inlined. - -extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline)); - -void -use(void *p __attribute__ ((unused))) -{ -} diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go deleted file mode 100644 index bffe1a7..0000000 --- a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2015 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. - -// +build gccgo,linux,amd64 - -package unix - -import "syscall" - -//extern gettimeofday -func realGettimeofday(*Timeval, *byte) int32 - -func gettimeofday(tv *Timeval) (err syscall.Errno) { - r := realGettimeofday(tv, nil) - if r < 0 { - return syscall.GetErrno() - } - return 0 -} diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go deleted file mode 100644 index 5633269..0000000 --- a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2016 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. - -// +build gccgo,linux,sparc64 - -package unix - -import "syscall" - -//extern sysconf -func realSysconf(name int) int64 - -func sysconf(name int) (n int64, err syscall.Errno) { - r := realSysconf(name) - if r < 0 { - return 0, syscall.GetErrno() - } - return r, 0 -} diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh deleted file mode 100644 index f0d6566..0000000 --- a/vendor/golang.org/x/sys/unix/mkall.sh +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2009 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. - -# This script runs or (given -n) prints suggested commands to generate files for -# the Architecture/OS specified by the GOARCH and GOOS environment variables. -# See README.md for more information about how the build system works. - -GOOSARCH="${GOOS}_${GOARCH}" - -# defaults -mksyscall="./mksyscall.pl" -mkerrors="./mkerrors.sh" -zerrors="zerrors_$GOOSARCH.go" -mksysctl="" -zsysctl="zsysctl_$GOOSARCH.go" -mksysnum= -mktypes= -run="sh" -cmd="" - -case "$1" in --syscalls) - for i in zsyscall*go - do - # Run the command line that appears in the first line - # of the generated file to regenerate it. - sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i - rm _$i - done - exit 0 - ;; --n) - run="cat" - cmd="echo" - shift -esac - -case "$#" in -0) - ;; -*) - echo 'usage: mkall.sh [-n]' 1>&2 - exit 2 -esac - -if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then - # Use then new build system - # Files generated through docker (use $cmd so you can Ctl-C the build or run) - $cmd docker build --tag generate:$GOOS $GOOS - $cmd docker run --interactive --tty --volume $(dirname "$(readlink -f "$0")"):/build generate:$GOOS - exit -fi - -GOOSARCH_in=syscall_$GOOSARCH.go -case "$GOOSARCH" in -_* | *_ | _) - echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 - exit 1 - ;; -darwin_386) - mkerrors="$mkerrors -m32" - mksyscall="./mksyscall.pl -l32" - mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -darwin_amd64) - mkerrors="$mkerrors -m64" - mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -darwin_arm) - mkerrors="$mkerrors" - mksysnum="./mksysnum_darwin.pl /usr/include/sys/syscall.h" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -darwin_arm64) - mkerrors="$mkerrors -m64" - mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -dragonfly_386) - mkerrors="$mkerrors -m32" - mksyscall="./mksyscall.pl -l32 -dragonfly" - mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -dragonfly_amd64) - mkerrors="$mkerrors -m64" - mksyscall="./mksyscall.pl -dragonfly" - mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -freebsd_386) - mkerrors="$mkerrors -m32" - mksyscall="./mksyscall.pl -l32" - mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -freebsd_amd64) - mkerrors="$mkerrors -m64" - mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -freebsd_arm) - mkerrors="$mkerrors" - mksyscall="./mksyscall.pl -l32 -arm" - mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" - # Let the type of C char be signed for making the bare syscall - # API consistent across over platforms. - mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" - ;; -linux_sparc64) - GOOSARCH_in=syscall_linux_sparc64.go - unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h - mkerrors="$mkerrors -m64" - mksysnum="./mksysnum_linux.pl $unistd_h" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -netbsd_386) - mkerrors="$mkerrors -m32" - mksyscall="./mksyscall.pl -l32 -netbsd" - mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -netbsd_amd64) - mkerrors="$mkerrors -m64" - mksyscall="./mksyscall.pl -netbsd" - mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -openbsd_386) - mkerrors="$mkerrors -m32" - mksyscall="./mksyscall.pl -l32 -openbsd" - mksysctl="./mksysctl_openbsd.pl" - zsysctl="zsysctl_openbsd.go" - mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -openbsd_amd64) - mkerrors="$mkerrors -m64" - mksyscall="./mksyscall.pl -openbsd" - mksysctl="./mksysctl_openbsd.pl" - zsysctl="zsysctl_openbsd.go" - mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -solaris_amd64) - mksyscall="./mksyscall_solaris.pl" - mkerrors="$mkerrors -m64" - mksysnum= - mktypes="GOARCH=$GOARCH go tool cgo -godefs" - ;; -*) - echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 - exit 1 - ;; -esac - -( - if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi - case "$GOOS" in - *) - syscall_goos="syscall_$GOOS.go" - case "$GOOS" in - darwin | dragonfly | freebsd | netbsd | openbsd) - syscall_goos="syscall_bsd.go $syscall_goos" - ;; - esac - if [ -n "$mksyscall" ]; then echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi - ;; - esac - if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi - if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi - if [ -n "$mktypes" ]; then - echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; - fi -) | $run diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh deleted file mode 100644 index d56eb43..0000000 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ /dev/null @@ -1,549 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2009 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. - -# Generate Go code listing errors and other #defined constant -# values (ENAMETOOLONG etc.), by asking the preprocessor -# about the definitions. - -unset LANG -export LC_ALL=C -export LC_CTYPE=C - -if test -z "$GOARCH" -o -z "$GOOS"; then - echo 1>&2 "GOARCH or GOOS not defined in environment" - exit 1 -fi - -# Check that we are using the new build system if we should -if [[ "$GOOS" -eq "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then - if [[ "$GOLANG_SYS_BUILD" -ne "docker" ]]; then - echo 1>&2 "In the new build system, mkerrors should not be called directly." - echo 1>&2 "See README.md" - exit 1 - fi -fi - -CC=${CC:-cc} - -if [[ "$GOOS" -eq "solaris" ]]; then - # Assumes GNU versions of utilities in PATH. - export PATH=/usr/gnu/bin:$PATH -fi - -uname=$(uname) - -includes_Darwin=' -#define _DARWIN_C_SOURCE -#define KERNEL -#define _DARWIN_USE_64_BIT_INODE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -' - -includes_DragonFly=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -' - -includes_FreeBSD=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if __FreeBSD__ >= 10 -#define IFT_CARP 0xf8 // IFT_CARP is deprecated in FreeBSD 10 -#undef SIOCAIFADDR -#define SIOCAIFADDR _IOW(105, 26, struct oifaliasreq) // ifaliasreq contains if_data -#undef SIOCSIFPHYADDR -#define SIOCSIFPHYADDR _IOW(105, 70, struct oifaliasreq) // ifaliasreq contains if_data -#endif -' - -includes_Linux=' -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE -#ifndef __LP64__ -#define _FILE_OFFSET_BITS 64 -#endif -#define _GNU_SOURCE - -// is broken on powerpc64, as it fails to include definitions of -// these structures. We just include them copied from . -#if defined(__powerpc__) -struct sgttyb { - char sg_ispeed; - char sg_ospeed; - char sg_erase; - char sg_kill; - short sg_flags; -}; - -struct tchars { - char t_intrc; - char t_quitc; - char t_startc; - char t_stopc; - char t_eofc; - char t_brkc; -}; - -struct ltchars { - char t_suspc; - char t_dsuspc; - char t_rprntc; - char t_flushc; - char t_werasc; - char t_lnextc; -}; -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef MSG_FASTOPEN -#define MSG_FASTOPEN 0x20000000 -#endif - -#ifndef PTRACE_GETREGS -#define PTRACE_GETREGS 0xc -#endif - -#ifndef PTRACE_SETREGS -#define PTRACE_SETREGS 0xd -#endif - -#ifndef SOL_NETLINK -#define SOL_NETLINK 270 -#endif - -#ifdef SOL_BLUETOOTH -// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h -// but it is already in bluetooth_linux.go -#undef SOL_BLUETOOTH -#endif - -// Certain constants are missing from the fs/crypto UAPI -#define FS_KEY_DESC_PREFIX "fscrypt:" -#define FS_KEY_DESC_PREFIX_SIZE 8 -#define FS_MAX_KEY_SIZE 64 -' - -includes_NetBSD=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Needed since refers to it... -#define schedppq 1 -' - -includes_OpenBSD=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// We keep some constants not supported in OpenBSD 5.5 and beyond for -// the promise of compatibility. -#define EMUL_ENABLED 0x1 -#define EMUL_NATIVE 0x2 -#define IPV6_FAITH 0x1d -#define IPV6_OPTIONS 0x1 -#define IPV6_RTHDR_STRICT 0x1 -#define IPV6_SOCKOPT_RESERVED1 0x3 -#define SIOCGIFGENERIC 0xc020693a -#define SIOCSIFGENERIC 0x80206939 -#define WALTSIG 0x4 -' - -includes_SunOS=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -' - - -includes=' -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -' -ccflags="$@" - -# Write go tool cgo -godefs input. -( - echo package unix - echo - echo '/*' - indirect="includes_$(uname)" - echo "${!indirect} $includes" - echo '*/' - echo 'import "C"' - echo 'import "syscall"' - echo - echo 'const (' - - # The gcc command line prints all the #defines - # it encounters while processing the input - echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags | - awk ' - $1 != "#define" || $2 ~ /\(/ || $3 == "" {next} - - $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers - $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next} - $2 ~ /^(SCM_SRCRT)$/ {next} - $2 ~ /^(MAP_FAILED)$/ {next} - $2 ~ /^ELF_.*$/ {next}# contains ELF_ARCH, etc. - - $2 ~ /^EXTATTR_NAMESPACE_NAMES/ || - $2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next} - - $2 !~ /^ETH_/ && - $2 !~ /^EPROC_/ && - $2 !~ /^EQUIV_/ && - $2 !~ /^EXPR_/ && - $2 ~ /^E[A-Z0-9_]+$/ || - $2 ~ /^B[0-9_]+$/ || - $2 == "BOTHER" || - $2 ~ /^CI?BAUD(EX)?$/ || - $2 == "IBSHIFT" || - $2 ~ /^V[A-Z0-9]+$/ || - $2 ~ /^CS[A-Z0-9]/ || - $2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ || - $2 ~ /^IGN/ || - $2 ~ /^IX(ON|ANY|OFF)$/ || - $2 ~ /^IN(LCR|PCK)$/ || - $2 ~ /(^FLU?SH)|(FLU?SH$)/ || - $2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ || - $2 == "BRKINT" || - $2 == "HUPCL" || - $2 == "PENDIN" || - $2 == "TOSTOP" || - $2 == "XCASE" || - $2 == "ALTWERASE" || - $2 == "NOKERNINFO" || - $2 ~ /^PAR/ || - $2 ~ /^SIG[^_]/ || - $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || - $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || - $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || - $2 ~ /^O?XTABS$/ || - $2 ~ /^TC[IO](ON|OFF)$/ || - $2 ~ /^IN_/ || - $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || - $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || - $2 ~ /^FALLOC_/ || - $2 == "ICMPV6_FILTER" || - $2 == "SOMAXCONN" || - $2 == "NAME_MAX" || - $2 == "IFNAMSIZ" || - $2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ || - $2 ~ /^SYSCTL_VERS/ || - $2 ~ /^(MS|MNT)_/ || - $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || - $2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ || - $2 ~ /^LINUX_REBOOT_CMD_/ || - $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || - $2 !~ "NLA_TYPE_MASK" && - $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ || - $2 ~ /^SIOC/ || - $2 ~ /^TIOC/ || - $2 ~ /^TCGET/ || - $2 ~ /^TCSET/ || - $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || - $2 !~ "RTF_BITS" && - $2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ || - $2 ~ /^BIOC/ || - $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ || - $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || - $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || - $2 ~ /^CLONE_[A-Z_]+/ || - $2 !~ /^(BPF_TIMEVAL)$/ && - $2 ~ /^(BPF|DLT)_/ || - $2 ~ /^CLOCK_/ || - $2 ~ /^CAN_/ || - $2 ~ /^ALG_/ || - $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || - $2 ~ /^GRND_/ || - $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || - $2 ~ /^KEYCTL_/ || - $2 ~ /^SPLICE_/ || - $2 ~ /^(VM|VMADDR)_/ || - $2 !~ "WMESGLEN" && - $2 ~ /^W[A-Z0-9]+$/ || - $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} - $2 ~ /^__WCOREFLAG$/ {next} - $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} - - {next} - ' | sort - - echo ')' -) >_const.go - -# Pull out the error names for later. -errors=$( - echo '#include ' | $CC -x c - -E -dM $ccflags | - awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' | - sort -) - -# Pull out the signal names for later. -signals=$( - echo '#include ' | $CC -x c - -E -dM $ccflags | - awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' | - egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' | - sort -) - -# Again, writing regexps to a file. -echo '#include ' | $CC -x c - -E -dM $ccflags | - awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' | - sort >_error.grep -echo '#include ' | $CC -x c - -E -dM $ccflags | - awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' | - egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' | - sort >_signal.grep - -echo '// mkerrors.sh' "$@" -echo '// Code generated by the command above; see README.md. DO NOT EDIT.' -echo -echo "// +build ${GOARCH},${GOOS}" -echo -go tool cgo -godefs -- "$@" _const.go >_error.out -cat _error.out | grep -vf _error.grep | grep -vf _signal.grep -echo -echo '// Errors' -echo 'const (' -cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= syscall.Errno(\1)/' -echo ')' - -echo -echo '// Signals' -echo 'const (' -cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= syscall.Signal(\1)/' -echo ')' - -# Run C program to print error and syscall strings. -( - echo -E " -#include -#include -#include -#include -#include -#include - -#define nelem(x) (sizeof(x)/sizeof((x)[0])) - -enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below - -int errors[] = { -" - for i in $errors - do - echo -E ' '$i, - done - - echo -E " -}; - -int signals[] = { -" - for i in $signals - do - echo -E ' '$i, - done - - # Use -E because on some systems bash builtin interprets \n itself. - echo -E ' -}; - -static int -intcmp(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - -int -main(void) -{ - int i, e; - char buf[1024], *p; - - printf("\n\n// Error table\n"); - printf("var errors = [...]string {\n"); - qsort(errors, nelem(errors), sizeof errors[0], intcmp); - for(i=0; i 0 && errors[i-1] == e) - continue; - strcpy(buf, strerror(e)); - // lowercase first letter: Bad -> bad, but STREAM -> STREAM. - if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) - buf[0] += a - A; - printf("\t%d: \"%s\",\n", e, buf); - } - printf("}\n\n"); - - printf("\n\n// Signal table\n"); - printf("var signals = [...]string {\n"); - qsort(signals, nelem(signals), sizeof signals[0], intcmp); - for(i=0; i 0 && signals[i-1] == e) - continue; - strcpy(buf, strsignal(e)); - // lowercase first letter: Bad -> bad, but STREAM -> STREAM. - if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) - buf[0] += a - A; - // cut trailing : number. - p = strrchr(buf, ":"[0]); - if(p) - *p = '\0'; - printf("\t%d: \"%s\",\n", e, buf); - } - printf("}\n\n"); - - return 0; -} - -' -) >_errors.c - -$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go deleted file mode 100644 index d3ff659..0000000 --- a/vendor/golang.org/x/sys/unix/mkpost.go +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2016 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. - -// +build ignore - -// mkpost processes the output of cgo -godefs to -// modify the generated types. It is used to clean up -// the sys API in an architecture specific manner. -// -// mkpost is run after cgo -godefs; see README.md. -package main - -import ( - "bytes" - "fmt" - "go/format" - "io/ioutil" - "log" - "os" - "regexp" -) - -func main() { - // Get the OS and architecture (using GOARCH_TARGET if it exists) - goos := os.Getenv("GOOS") - goarch := os.Getenv("GOARCH_TARGET") - if goarch == "" { - goarch = os.Getenv("GOARCH") - } - // Check that we are using the new build system if we should be. - if goos == "linux" && goarch != "sparc64" { - if os.Getenv("GOLANG_SYS_BUILD") != "docker" { - os.Stderr.WriteString("In the new build system, mkpost should not be called directly.\n") - os.Stderr.WriteString("See README.md\n") - os.Exit(1) - } - } - - b, err := ioutil.ReadAll(os.Stdin) - if err != nil { - log.Fatal(err) - } - - // If we have empty Ptrace structs, we should delete them. Only s390x emits - // nonempty Ptrace structs. - ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`) - b = ptraceRexexp.ReplaceAll(b, nil) - - // Replace the control_regs union with a blank identifier for now. - controlRegsRegex := regexp.MustCompile(`(Control_regs)\s+\[0\]uint64`) - b = controlRegsRegex.ReplaceAll(b, []byte("_ [0]uint64")) - - // Remove fields that are added by glibc - // Note that this is unstable as the identifers are private. - removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`) - b = removeFieldsRegex.ReplaceAll(b, []byte("_")) - - // We refuse to export private fields on s390x - if goarch == "s390x" && goos == "linux" { - // Remove cgo padding fields - removeFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`) - b = removeFieldsRegex.ReplaceAll(b, []byte("_")) - - // Remove padding, hidden, or unused fields - removeFieldsRegex = regexp.MustCompile(`X_\S+`) - b = removeFieldsRegex.ReplaceAll(b, []byte("_")) - } - - // Remove the first line of warning from cgo - b = b[bytes.IndexByte(b, '\n')+1:] - // Modify the command in the header to include: - // mkpost, our own warning, and a build tag. - replacement := fmt.Sprintf(`$1 | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build %s,%s`, goarch, goos) - cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) - b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) - - // gofmt - b, err = format.Source(b) - if err != nil { - log.Fatal(err) - } - - os.Stdout.Write(b) -} diff --git a/vendor/golang.org/x/sys/unix/mksyscall.pl b/vendor/golang.org/x/sys/unix/mksyscall.pl deleted file mode 100644 index fb929b4..0000000 --- a/vendor/golang.org/x/sys/unix/mksyscall.pl +++ /dev/null @@ -1,328 +0,0 @@ -#!/usr/bin/env perl -# Copyright 2009 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. - -# This program reads a file containing function prototypes -# (like syscall_darwin.go) and generates system call bodies. -# The prototypes are marked by lines beginning with "//sys" -# and read like func declarations if //sys is replaced by func, but: -# * The parameter lists must give a name for each argument. -# This includes return parameters. -# * The parameter lists must give a type for each argument: -# the (x, y, z int) shorthand is not allowed. -# * If the return parameter is an error number, it must be named errno. - -# A line beginning with //sysnb is like //sys, except that the -# goroutine will not be suspended during the execution of the system -# call. This must only be used for system calls which can never -# block, as otherwise the system call could cause all goroutines to -# hang. - -use strict; - -my $cmdline = "mksyscall.pl " . join(' ', @ARGV); -my $errors = 0; -my $_32bit = ""; -my $plan9 = 0; -my $openbsd = 0; -my $netbsd = 0; -my $dragonfly = 0; -my $arm = 0; # 64-bit value should use (even, odd)-pair -my $tags = ""; # build tags - -if($ARGV[0] eq "-b32") { - $_32bit = "big-endian"; - shift; -} elsif($ARGV[0] eq "-l32") { - $_32bit = "little-endian"; - shift; -} -if($ARGV[0] eq "-plan9") { - $plan9 = 1; - shift; -} -if($ARGV[0] eq "-openbsd") { - $openbsd = 1; - shift; -} -if($ARGV[0] eq "-netbsd") { - $netbsd = 1; - shift; -} -if($ARGV[0] eq "-dragonfly") { - $dragonfly = 1; - shift; -} -if($ARGV[0] eq "-arm") { - $arm = 1; - shift; -} -if($ARGV[0] eq "-tags") { - shift; - $tags = $ARGV[0]; - shift; -} - -if($ARGV[0] =~ /^-/) { - print STDERR "usage: mksyscall.pl [-b32 | -l32] [-tags x,y] [file ...]\n"; - exit 1; -} - -# Check that we are using the new build system if we should -if($ENV{'GOOS'} eq "linux" && $ENV{'GOARCH'} ne "sparc64") { - if($ENV{'GOLANG_SYS_BUILD'} ne "docker") { - print STDERR "In the new build system, mksyscall should not be called directly.\n"; - print STDERR "See README.md\n"; - exit 1; - } -} - - -sub parseparamlist($) { - my ($list) = @_; - $list =~ s/^\s*//; - $list =~ s/\s*$//; - if($list eq "") { - return (); - } - return split(/\s*,\s*/, $list); -} - -sub parseparam($) { - my ($p) = @_; - if($p !~ /^(\S*) (\S*)$/) { - print STDERR "$ARGV:$.: malformed parameter: $p\n"; - $errors = 1; - return ("xx", "int"); - } - return ($1, $2); -} - -my $text = ""; -while(<>) { - chomp; - s/\s+/ /g; - s/^\s+//; - s/\s+$//; - my $nonblock = /^\/\/sysnb /; - next if !/^\/\/sys / && !$nonblock; - - # Line must be of the form - # func Open(path string, mode int, perm int) (fd int, errno error) - # Split into name, in params, out params. - if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$/) { - print STDERR "$ARGV:$.: malformed //sys declaration\n"; - $errors = 1; - next; - } - my ($func, $in, $out, $sysname) = ($2, $3, $4, $5); - - # Split argument lists on comma. - my @in = parseparamlist($in); - my @out = parseparamlist($out); - - # Try in vain to keep people from editing this file. - # The theory is that they jump into the middle of the file - # without reading the header. - $text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"; - - # Go function header. - my $out_decl = @out ? sprintf(" (%s)", join(', ', @out)) : ""; - $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out_decl; - - # Check if err return available - my $errvar = ""; - foreach my $p (@out) { - my ($name, $type) = parseparam($p); - if($type eq "error") { - $errvar = $name; - last; - } - } - - # Prepare arguments to Syscall. - my @args = (); - my $n = 0; - foreach my $p (@in) { - my ($name, $type) = parseparam($p); - if($type =~ /^\*/) { - push @args, "uintptr(unsafe.Pointer($name))"; - } elsif($type eq "string" && $errvar ne "") { - $text .= "\tvar _p$n *byte\n"; - $text .= "\t_p$n, $errvar = BytePtrFromString($name)\n"; - $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type eq "string") { - print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n"; - $text .= "\tvar _p$n *byte\n"; - $text .= "\t_p$n, _ = BytePtrFromString($name)\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type =~ /^\[\](.*)/) { - # Convert slice into pointer, length. - # Have to be careful not to take address of &a[0] if len == 0: - # pass dummy pointer in that case. - # Used to pass nil, but some OSes or simulators reject write(fd, nil, 0). - $text .= "\tvar _p$n unsafe.Pointer\n"; - $text .= "\tif len($name) > 0 {\n\t\t_p$n = unsafe.Pointer(\&${name}[0])\n\t}"; - $text .= " else {\n\t\t_p$n = unsafe.Pointer(&_zero)\n\t}"; - $text .= "\n"; - push @args, "uintptr(_p$n)", "uintptr(len($name))"; - $n++; - } elsif($type eq "int64" && ($openbsd || $netbsd)) { - push @args, "0"; - if($_32bit eq "big-endian") { - push @args, "uintptr($name>>32)", "uintptr($name)"; - } elsif($_32bit eq "little-endian") { - push @args, "uintptr($name)", "uintptr($name>>32)"; - } else { - push @args, "uintptr($name)"; - } - } elsif($type eq "int64" && $dragonfly) { - if ($func !~ /^extp(read|write)/i) { - push @args, "0"; - } - if($_32bit eq "big-endian") { - push @args, "uintptr($name>>32)", "uintptr($name)"; - } elsif($_32bit eq "little-endian") { - push @args, "uintptr($name)", "uintptr($name>>32)"; - } else { - push @args, "uintptr($name)"; - } - } elsif($type eq "int64" && $_32bit ne "") { - if(@args % 2 && $arm) { - # arm abi specifies 64-bit argument uses - # (even, odd) pair - push @args, "0" - } - if($_32bit eq "big-endian") { - push @args, "uintptr($name>>32)", "uintptr($name)"; - } else { - push @args, "uintptr($name)", "uintptr($name>>32)"; - } - } else { - push @args, "uintptr($name)"; - } - } - - # Determine which form to use; pad args with zeros. - my $asm = "Syscall"; - if ($nonblock) { - $asm = "RawSyscall"; - } - if(@args <= 3) { - while(@args < 3) { - push @args, "0"; - } - } elsif(@args <= 6) { - $asm .= "6"; - while(@args < 6) { - push @args, "0"; - } - } elsif(@args <= 9) { - $asm .= "9"; - while(@args < 9) { - push @args, "0"; - } - } else { - print STDERR "$ARGV:$.: too many arguments to system call\n"; - } - - # System call number. - if($sysname eq "") { - $sysname = "SYS_$func"; - $sysname =~ s/([a-z])([A-Z])/${1}_$2/g; # turn FooBar into Foo_Bar - $sysname =~ y/a-z/A-Z/; - } - - # Actual call. - my $args = join(', ', @args); - my $call = "$asm($sysname, $args)"; - - # Assign return values. - my $body = ""; - my @ret = ("_", "_", "_"); - my $do_errno = 0; - for(my $i=0; $i<@out; $i++) { - my $p = $out[$i]; - my ($name, $type) = parseparam($p); - my $reg = ""; - if($name eq "err" && !$plan9) { - $reg = "e1"; - $ret[2] = $reg; - $do_errno = 1; - } elsif($name eq "err" && $plan9) { - $ret[0] = "r0"; - $ret[2] = "e1"; - next; - } else { - $reg = sprintf("r%d", $i); - $ret[$i] = $reg; - } - if($type eq "bool") { - $reg = "$reg != 0"; - } - if($type eq "int64" && $_32bit ne "") { - # 64-bit number in r1:r0 or r0:r1. - if($i+2 > @out) { - print STDERR "$ARGV:$.: not enough registers for int64 return\n"; - } - if($_32bit eq "big-endian") { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1); - } else { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i); - } - $ret[$i] = sprintf("r%d", $i); - $ret[$i+1] = sprintf("r%d", $i+1); - } - if($reg ne "e1" || $plan9) { - $body .= "\t$name = $type($reg)\n"; - } - } - if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") { - $text .= "\t$call\n"; - } else { - $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n"; - } - $text .= $body; - - if ($plan9 && $ret[2] eq "e1") { - $text .= "\tif int32(r0) == -1 {\n"; - $text .= "\t\terr = e1\n"; - $text .= "\t}\n"; - } elsif ($do_errno) { - $text .= "\tif e1 != 0 {\n"; - $text .= "\t\terr = errnoErr(e1)\n"; - $text .= "\t}\n"; - } - $text .= "\treturn\n"; - $text .= "}\n\n"; -} - -chomp $text; -chomp $text; - -if($errors) { - exit 1; -} - -print <) { - chomp; - s/\s+/ /g; - s/^\s+//; - s/\s+$//; - $package = $1 if !$package && /^package (\S+)$/; - my $nonblock = /^\/\/sysnb /; - next if !/^\/\/sys / && !$nonblock; - - # Line must be of the form - # func Open(path string, mode int, perm int) (fd int, err error) - # Split into name, in params, out params. - if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) { - print STDERR "$ARGV:$.: malformed //sys declaration\n"; - $errors = 1; - next; - } - my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6); - - # Split argument lists on comma. - my @in = parseparamlist($in); - my @out = parseparamlist($out); - - # So file name. - if($modname eq "") { - $modname = "libc"; - } - - # System call name. - if($sysname eq "") { - $sysname = "$func"; - } - - # System call pointer variable name. - my $sysvarname = "proc$sysname"; - - my $strconvfunc = "BytePtrFromString"; - my $strconvtype = "*byte"; - - $sysname =~ y/A-Z/a-z/; # All libc functions are lowercase. - - # Runtime import of function to allow cross-platform builds. - $dynimports .= "//go:cgo_import_dynamic libc_${sysname} ${sysname} \"$modname.so\"\n"; - # Link symbol to proc address variable. - $linknames .= "//go:linkname ${sysvarname} libc_${sysname}\n"; - # Library proc address variable. - push @vars, $sysvarname; - - # Go function header. - $out = join(', ', @out); - if($out ne "") { - $out = " ($out)"; - } - if($text ne "") { - $text .= "\n" - } - $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out; - - # Check if err return available - my $errvar = ""; - foreach my $p (@out) { - my ($name, $type) = parseparam($p); - if($type eq "error") { - $errvar = $name; - last; - } - } - - # Prepare arguments to Syscall. - my @args = (); - my $n = 0; - foreach my $p (@in) { - my ($name, $type) = parseparam($p); - if($type =~ /^\*/) { - push @args, "uintptr(unsafe.Pointer($name))"; - } elsif($type eq "string" && $errvar ne "") { - $text .= "\tvar _p$n $strconvtype\n"; - $text .= "\t_p$n, $errvar = $strconvfunc($name)\n"; - $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type eq "string") { - print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n"; - $text .= "\tvar _p$n $strconvtype\n"; - $text .= "\t_p$n, _ = $strconvfunc($name)\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type =~ /^\[\](.*)/) { - # Convert slice into pointer, length. - # Have to be careful not to take address of &a[0] if len == 0: - # pass nil in that case. - $text .= "\tvar _p$n *$1\n"; - $text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))", "uintptr(len($name))"; - $n++; - } elsif($type eq "int64" && $_32bit ne "") { - if($_32bit eq "big-endian") { - push @args, "uintptr($name >> 32)", "uintptr($name)"; - } else { - push @args, "uintptr($name)", "uintptr($name >> 32)"; - } - } elsif($type eq "bool") { - $text .= "\tvar _p$n uint32\n"; - $text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n"; - push @args, "uintptr(_p$n)"; - $n++; - } else { - push @args, "uintptr($name)"; - } - } - my $nargs = @args; - - # Determine which form to use; pad args with zeros. - my $asm = "sysvicall6"; - if ($nonblock) { - $asm = "rawSysvicall6"; - } - if(@args <= 6) { - while(@args < 6) { - push @args, "0"; - } - } else { - print STDERR "$ARGV:$.: too many arguments to system call\n"; - } - - # Actual call. - my $args = join(', ', @args); - my $call = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)"; - - # Assign return values. - my $body = ""; - my $failexpr = ""; - my @ret = ("_", "_", "_"); - my @pout= (); - my $do_errno = 0; - for(my $i=0; $i<@out; $i++) { - my $p = $out[$i]; - my ($name, $type) = parseparam($p); - my $reg = ""; - if($name eq "err") { - $reg = "e1"; - $ret[2] = $reg; - $do_errno = 1; - } else { - $reg = sprintf("r%d", $i); - $ret[$i] = $reg; - } - if($type eq "bool") { - $reg = "$reg != 0"; - } - if($type eq "int64" && $_32bit ne "") { - # 64-bit number in r1:r0 or r0:r1. - if($i+2 > @out) { - print STDERR "$ARGV:$.: not enough registers for int64 return\n"; - } - if($_32bit eq "big-endian") { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1); - } else { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i); - } - $ret[$i] = sprintf("r%d", $i); - $ret[$i+1] = sprintf("r%d", $i+1); - } - if($reg ne "e1") { - $body .= "\t$name = $type($reg)\n"; - } - } - if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") { - $text .= "\t$call\n"; - } else { - $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n"; - } - $text .= $body; - - if ($do_errno) { - $text .= "\tif e1 != 0 {\n"; - $text .= "\t\terr = e1\n"; - $text .= "\t}\n"; - } - $text .= "\treturn\n"; - $text .= "}\n"; -} - -if($errors) { - exit 1; -} - -print < "net.inet", - "net.inet.ipproto" => "net.inet", - "net.inet6.ipv6proto" => "net.inet6", - "net.inet6.ipv6" => "net.inet6.ip6", - "net.inet.icmpv6" => "net.inet6.icmp6", - "net.inet6.divert6" => "net.inet6.divert", - "net.inet6.tcp6" => "net.inet.tcp", - "net.inet6.udp6" => "net.inet.udp", - "mpls" => "net.mpls", - "swpenc" => "vm.swapencrypt" -); - -# Node mappings -my %node_map = ( - "net.inet.ip.ifq" => "net.ifq", - "net.inet.pfsync" => "net.pfsync", - "net.mpls.ifq" => "net.ifq" -); - -my $ctlname; -my %mib = (); -my %sysctl = (); -my $node; - -sub debug() { - print STDERR "$_[0]\n" if $debug; -} - -# Walk the MIB and build a sysctl name to OID mapping. -sub build_sysctl() { - my ($node, $name, $oid) = @_; - my %node = %{$node}; - my @oid = @{$oid}; - - foreach my $key (sort keys %node) { - my @node = @{$node{$key}}; - my $nodename = $name.($name ne '' ? '.' : '').$key; - my @nodeoid = (@oid, $node[0]); - if ($node[1] eq 'CTLTYPE_NODE') { - if (exists $node_map{$nodename}) { - $node = \%mib; - $ctlname = $node_map{$nodename}; - foreach my $part (split /\./, $ctlname) { - $node = \%{@{$$node{$part}}[2]}; - } - } else { - $node = $node[2]; - } - &build_sysctl($node, $nodename, \@nodeoid); - } elsif ($node[1] ne '') { - $sysctl{$nodename} = \@nodeoid; - } - } -} - -foreach my $ctl (@ctls) { - $ctls{$ctl} = $ctl; -} - -# Build MIB -foreach my $header (@headers) { - &debug("Processing $header..."); - open HEADER, "/usr/include/$header" || - print STDERR "Failed to open $header\n"; - while (
) { - if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ || - $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ || - $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) { - if ($1 eq 'CTL_NAMES') { - # Top level. - $node = \%mib; - } else { - # Node. - my $nodename = lc($2); - if ($header =~ /^netinet\//) { - $ctlname = "net.inet.$nodename"; - } elsif ($header =~ /^netinet6\//) { - $ctlname = "net.inet6.$nodename"; - } elsif ($header =~ /^net\//) { - $ctlname = "net.$nodename"; - } else { - $ctlname = "$nodename"; - $ctlname =~ s/^(fs|net|kern)_/$1\./; - } - if (exists $ctl_map{$ctlname}) { - $ctlname = $ctl_map{$ctlname}; - } - if (not exists $ctls{$ctlname}) { - &debug("Ignoring $ctlname..."); - next; - } - - # Walk down from the top of the MIB. - $node = \%mib; - foreach my $part (split /\./, $ctlname) { - if (not exists $$node{$part}) { - &debug("Missing node $part"); - $$node{$part} = [ 0, '', {} ]; - } - $node = \%{@{$$node{$part}}[2]}; - } - } - - # Populate current node with entries. - my $i = -1; - while (defined($_) && $_ !~ /^}/) { - $_ =
; - $i++ if $_ =~ /{.*}/; - next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/; - $$node{$1} = [ $i, $2, {} ]; - } - } - } - close HEADER; -} - -&build_sysctl(\%mib, "", []); - -print <){ - if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){ - my $name = $1; - my $num = $2; - $name =~ y/a-z/A-Z/; - print " SYS_$name = $num;" - } -} - -print <){ - if(/^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$/){ - my $num = $1; - my $proto = $2; - my $name = "SYS_$3"; - $name =~ y/a-z/A-Z/; - - # There are multiple entries for enosys and nosys, so comment them out. - if($name =~ /^SYS_E?NOSYS$/){ - $name = "// $name"; - } - if($name eq 'SYS_SYS_EXIT'){ - $name = 'SYS_EXIT'; - } - - print " $name = $num; // $proto\n"; - } -} - -print <){ - if(/^([0-9]+)\s+\S+\s+STD\s+({ \S+\s+(\w+).*)$/){ - my $num = $1; - my $proto = $2; - my $name = "SYS_$3"; - $name =~ y/a-z/A-Z/; - - # There are multiple entries for enosys and nosys, so comment them out. - if($name =~ /^SYS_E?NOSYS$/){ - $name = "// $name"; - } - if($name eq 'SYS_SYS_EXIT'){ - $name = 'SYS_EXIT'; - } - if($name =~ /^SYS_CAP_+/ || $name =~ /^SYS___CAP_+/){ - next - } - - print " $name = $num; // $proto\n"; - - # We keep Capsicum syscall numbers for FreeBSD - # 9-STABLE here because we are not sure whether they - # are mature and stable. - if($num == 513){ - print " SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }\n"; - print " SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \\\n"; - print " SYS_CAP_ENTER = 516 // { int cap_enter(void); }\n"; - print " SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); }\n"; - } - } -} - -print <){ - if($line =~ /^(.*)\\$/) { - # Handle continuation - $line = $1; - $_ =~ s/^\s+//; - $line .= $_; - } else { - # New line - $line = $_; - } - next if $line =~ /\\$/; - if($line =~ /^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$/) { - my $num = $1; - my $proto = $6; - my $compat = $8; - my $name = "$7_$9"; - - $name = "$7_$11" if $11 ne ''; - $name =~ y/a-z/A-Z/; - - if($compat eq '' || $compat eq '30' || $compat eq '50') { - print " $name = $num; // $proto\n"; - } - } -} - -print <){ - if(/^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$/){ - my $num = $1; - my $proto = $3; - my $name = $4; - $name =~ y/a-z/A-Z/; - - # There are multiple entries for enosys and nosys, so comment them out. - if($name =~ /^SYS_E?NOSYS$/){ - $name = "// $name"; - } - if($name eq 'SYS_SYS_EXIT'){ - $name = 'SYS_EXIT'; - } - - print " $name = $num; // $proto\n"; - } -} - -print < uint64(len(b)) { - return nil, nil, EINVAL - } - return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil -} - -// UnixRights encodes a set of open file descriptors into a socket -// control message for sending to another process. -func UnixRights(fds ...int) []byte { - datalen := len(fds) * 4 - b := make([]byte, CmsgSpace(datalen)) - h := (*Cmsghdr)(unsafe.Pointer(&b[0])) - h.Level = SOL_SOCKET - h.Type = SCM_RIGHTS - h.SetLen(CmsgLen(datalen)) - data := cmsgData(h) - for _, fd := range fds { - *(*int32)(data) = int32(fd) - data = unsafe.Pointer(uintptr(data) + 4) - } - return b -} - -// ParseUnixRights decodes a socket control message that contains an -// integer array of open file descriptors from another process. -func ParseUnixRights(m *SocketControlMessage) ([]int, error) { - if m.Header.Level != SOL_SOCKET { - return nil, EINVAL - } - if m.Header.Type != SCM_RIGHTS { - return nil, EINVAL - } - fds := make([]int, len(m.Data)>>2) - for i, j := 0, 0; i < len(m.Data); i += 4 { - fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) - j++ - } - return fds, nil -} diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go deleted file mode 100644 index 35ed664..0000000 --- a/vendor/golang.org/x/sys/unix/str.go +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2009 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package unix - -func itoa(val int) string { // do it here rather than with fmt to avoid dependency - if val < 0 { - return "-" + uitoa(uint(-val)) - } - return uitoa(uint(val)) -} - -func uitoa(val uint) string { - var buf [32]byte // big enough for int64 - i := len(buf) - 1 - for val >= 10 { - buf[i] = byte(val%10 + '0') - i-- - val /= 10 - } - buf[i] = byte(val + '0') - return string(buf[i:]) -} diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go deleted file mode 100644 index 85e3502..0000000 --- a/vendor/golang.org/x/sys/unix/syscall.go +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2009 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -// Package unix contains an interface to the low-level operating system -// primitives. OS details vary depending on the underlying system, and -// by default, godoc will display OS-specific documentation for the current -// system. If you want godoc to display OS documentation for another -// system, set $GOOS and $GOARCH to the desired system. For example, if -// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS -// to freebsd and $GOARCH to arm. -// The primary use of this package is inside other packages that provide a more -// portable interface to the system, such as "os", "time" and "net". Use -// those packages rather than this one if you can. -// For details of the functions and data types in this package consult -// the manuals for the appropriate operating system. -// These calls return err == nil to indicate success; otherwise -// err represents an operating system error describing the failure and -// holds a value of type syscall.Errno. -package unix // import "golang.org/x/sys/unix" - -// ByteSliceFromString returns a NUL-terminated slice of bytes -// containing the text of s. If s contains a NUL byte at any -// location, it returns (nil, EINVAL). -func ByteSliceFromString(s string) ([]byte, error) { - for i := 0; i < len(s); i++ { - if s[i] == 0 { - return nil, EINVAL - } - } - a := make([]byte, len(s)+1) - copy(a, s) - return a, nil -} - -// BytePtrFromString returns a pointer to a NUL-terminated array of -// bytes containing the text of s. If s contains a NUL byte at any -// location, it returns (nil, EINVAL). -func BytePtrFromString(s string) (*byte, error) { - a, err := ByteSliceFromString(s) - if err != nil { - return nil, err - } - return &a[0], nil -} - -// Single-word zero for use when we need a valid pointer to 0 bytes. -// See mkunix.pl. -var _zero uintptr - -func (ts *Timespec) Unix() (sec int64, nsec int64) { - return int64(ts.Sec), int64(ts.Nsec) -} - -func (tv *Timeval) Unix() (sec int64, nsec int64) { - return int64(tv.Sec), int64(tv.Usec) * 1000 -} - -func (ts *Timespec) Nano() int64 { - return int64(ts.Sec)*1e9 + int64(ts.Nsec) -} - -func (tv *Timeval) Nano() int64 { - return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 -} - -func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go deleted file mode 100644 index ccb29c7..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_bsd.go +++ /dev/null @@ -1,614 +0,0 @@ -// Copyright 2009 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. - -// +build darwin dragonfly freebsd netbsd openbsd - -// BSD system call wrappers shared by *BSD based systems -// including OS X (Darwin) and FreeBSD. Like the other -// syscall_*.go files it is compiled as Go code but also -// used as input to mksyscall which parses the //sys -// lines and generates system call stubs. - -package unix - -import ( - "runtime" - "syscall" - "unsafe" -) - -/* - * Wrapped - */ - -//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -//sysnb setgroups(ngid int, gid *_Gid_t) (err error) - -func Getgroups() (gids []int, err error) { - n, err := getgroups(0, nil) - if err != nil { - return nil, err - } - if n == 0 { - return nil, nil - } - - // Sanity check group count. Max is 16 on BSD. - if n < 0 || n > 1000 { - return nil, EINVAL - } - - a := make([]_Gid_t, n) - n, err = getgroups(n, &a[0]) - if err != nil { - return nil, err - } - gids = make([]int, n) - for i, v := range a[0:n] { - gids[i] = int(v) - } - return -} - -func Setgroups(gids []int) (err error) { - if len(gids) == 0 { - return setgroups(0, nil) - } - - a := make([]_Gid_t, len(gids)) - for i, v := range gids { - a[i] = _Gid_t(v) - } - return setgroups(len(a), &a[0]) -} - -func ReadDirent(fd int, buf []byte) (n int, err error) { - // Final argument is (basep *uintptr) and the syscall doesn't take nil. - // 64 bits should be enough. (32 bits isn't even on 386). Since the - // actual system call is getdirentries64, 64 is a good guess. - // TODO(rsc): Can we use a single global basep for all calls? - var base = (*uintptr)(unsafe.Pointer(new(uint64))) - return Getdirentries(fd, buf, base) -} - -// Wait status is 7 bits at bottom, either 0 (exited), -// 0x7F (stopped), or a signal number that caused an exit. -// The 0x80 bit is whether there was a core dump. -// An extra number (exit code, signal causing a stop) -// is in the high bits. - -type WaitStatus uint32 - -const ( - mask = 0x7F - core = 0x80 - shift = 8 - - exited = 0 - stopped = 0x7F -) - -func (w WaitStatus) Exited() bool { return w&mask == exited } - -func (w WaitStatus) ExitStatus() int { - if w&mask != exited { - return -1 - } - return int(w >> shift) -} - -func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } - -func (w WaitStatus) Signal() syscall.Signal { - sig := syscall.Signal(w & mask) - if sig == stopped || sig == 0 { - return -1 - } - return sig -} - -func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } - -func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } - -func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } - -func (w WaitStatus) StopSignal() syscall.Signal { - if !w.Stopped() { - return -1 - } - return syscall.Signal(w>>shift) & 0xFF -} - -func (w WaitStatus) TrapCause() int { return -1 } - -//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) - -func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { - var status _C_int - wpid, err = wait4(pid, &status, options, rusage) - if wstatus != nil { - *wstatus = WaitStatus(status) - } - return -} - -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys Shutdown(s int, how int) (err error) - -func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Len = SizeofSockaddrInet4 - sa.raw.Family = AF_INET - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -} - -func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Len = SizeofSockaddrInet6 - sa.raw.Family = AF_INET6 - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - sa.raw.Scope_id = sa.ZoneId - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -} - -func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { - name := sa.Name - n := len(name) - if n >= len(sa.raw.Path) || n == 0 { - return nil, 0, EINVAL - } - sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL - sa.raw.Family = AF_UNIX - for i := 0; i < n; i++ { - sa.raw.Path[i] = int8(name[i]) - } - return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -} - -func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Index == 0 { - return nil, 0, EINVAL - } - sa.raw.Len = sa.Len - sa.raw.Family = AF_LINK - sa.raw.Index = sa.Index - sa.raw.Type = sa.Type - sa.raw.Nlen = sa.Nlen - sa.raw.Alen = sa.Alen - sa.raw.Slen = sa.Slen - for i := 0; i < len(sa.raw.Data); i++ { - sa.raw.Data[i] = sa.Data[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil -} - -func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { - switch rsa.Addr.Family { - case AF_LINK: - pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) - sa := new(SockaddrDatalink) - sa.Len = pp.Len - sa.Family = pp.Family - sa.Index = pp.Index - sa.Type = pp.Type - sa.Nlen = pp.Nlen - sa.Alen = pp.Alen - sa.Slen = pp.Slen - for i := 0; i < len(sa.Data); i++ { - sa.Data[i] = pp.Data[i] - } - return sa, nil - - case AF_UNIX: - pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) - if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { - return nil, EINVAL - } - sa := new(SockaddrUnix) - - // Some BSDs include the trailing NUL in the length, whereas - // others do not. Work around this by subtracting the leading - // family and len. The path is then scanned to see if a NUL - // terminator still exists within the length. - n := int(pp.Len) - 2 // subtract leading Family, Len - for i := 0; i < n; i++ { - if pp.Path[i] == 0 { - // found early NUL; assume Len included the NUL - // or was overestimating. - n = i - break - } - } - bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - - case AF_INET: - pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet4) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - - case AF_INET6: - pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet6) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - sa.ZoneId = pp.Scope_id - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - } - return nil, EAFNOSUPPORT -} - -func Accept(fd int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept(fd, &rsa, &len) - if err != nil { - return - } - if runtime.GOOS == "darwin" && len == 0 { - // Accepted socket has no address. - // This is likely due to a bug in xnu kernels, - // where instead of ECONNABORTED error socket - // is accepted, but has no address. - Close(nfd) - return 0, nil, ECONNABORTED - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -func Getsockname(fd int) (sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - if err = getsockname(fd, &rsa, &len); err != nil { - return - } - // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be - // reported upstream. - if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { - rsa.Addr.Family = AF_UNIX - rsa.Addr.Len = SizeofSockaddrUnix - } - return anyToSockaddr(&rsa) -} - -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) - -func GetsockoptByte(fd, level, opt int) (value byte, err error) { - var n byte - vallen := _Socklen(1) - err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) - return n, err -} - -func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { - vallen := _Socklen(4) - err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) - return value, err -} - -func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { - var value IPMreq - vallen := _Socklen(SizeofIPMreq) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { - var value IPv6Mreq - vallen := _Socklen(SizeofIPv6Mreq) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { - var value IPv6MTUInfo - vallen := _Socklen(SizeofIPv6MTUInfo) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { - var value ICMPv6Filter - vallen := _Socklen(SizeofICMPv6Filter) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) - -func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { - var msg Msghdr - var rsa RawSockaddrAny - msg.Name = (*byte)(unsafe.Pointer(&rsa)) - msg.Namelen = uint32(SizeofSockaddrAny) - var iov Iovec - if len(p) > 0 { - iov.Base = (*byte)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy byte - if len(oob) > 0 { - // receive at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Control = (*byte)(unsafe.Pointer(&oob[0])) - msg.SetControllen(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = recvmsg(fd, &msg, flags); err != nil { - return - } - oobn = int(msg.Controllen) - recvflags = int(msg.Flags) - // source address is only specified if the socket is unconnected - if rsa.Addr.Family != AF_UNSPEC { - from, err = anyToSockaddr(&rsa) - } - return -} - -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) - -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } - var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(ptr)) - msg.Namelen = uint32(salen) - var iov Iovec - if len(p) > 0 { - iov.Base = (*byte)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy byte - if len(oob) > 0 { - // send at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Control = (*byte)(unsafe.Pointer(&oob[0])) - msg.SetControllen(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = sendmsg(fd, &msg, flags); err != nil { - return 0, err - } - if len(oob) > 0 && len(p) == 0 { - n = 0 - } - return n, nil -} - -//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) - -func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { - var change, event unsafe.Pointer - if len(changes) > 0 { - change = unsafe.Pointer(&changes[0]) - } - if len(events) > 0 { - event = unsafe.Pointer(&events[0]) - } - return kevent(kq, change, len(changes), event, len(events), timeout) -} - -//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL - -// sysctlmib translates name to mib number and appends any additional args. -func sysctlmib(name string, args ...int) ([]_C_int, error) { - // Translate name to mib number. - mib, err := nametomib(name) - if err != nil { - return nil, err - } - - for _, a := range args { - mib = append(mib, _C_int(a)) - } - - return mib, nil -} - -func Sysctl(name string) (string, error) { - return SysctlArgs(name) -} - -func SysctlArgs(name string, args ...int) (string, error) { - buf, err := SysctlRaw(name, args...) - if err != nil { - return "", err - } - n := len(buf) - - // Throw away terminating NUL. - if n > 0 && buf[n-1] == '\x00' { - n-- - } - return string(buf[0:n]), nil -} - -func SysctlUint32(name string) (uint32, error) { - return SysctlUint32Args(name) -} - -func SysctlUint32Args(name string, args ...int) (uint32, error) { - mib, err := sysctlmib(name, args...) - if err != nil { - return 0, err - } - - n := uintptr(4) - buf := make([]byte, 4) - if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { - return 0, err - } - if n != 4 { - return 0, EIO - } - return *(*uint32)(unsafe.Pointer(&buf[0])), nil -} - -func SysctlUint64(name string, args ...int) (uint64, error) { - mib, err := sysctlmib(name, args...) - if err != nil { - return 0, err - } - - n := uintptr(8) - buf := make([]byte, 8) - if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { - return 0, err - } - if n != 8 { - return 0, EIO - } - return *(*uint64)(unsafe.Pointer(&buf[0])), nil -} - -func SysctlRaw(name string, args ...int) ([]byte, error) { - mib, err := sysctlmib(name, args...) - if err != nil { - return nil, err - } - - // Find size. - n := uintptr(0) - if err := sysctl(mib, nil, &n, nil, 0); err != nil { - return nil, err - } - if n == 0 { - return nil, nil - } - - // Read into buffer of that size. - buf := make([]byte, n) - if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { - return nil, err - } - - // The actual call may return less than the original reported required - // size so ensure we deal with that. - return buf[:n], nil -} - -//sys utimes(path string, timeval *[2]Timeval) (err error) - -func Utimes(path string, tv []Timeval) error { - if tv == nil { - return utimes(path, nil) - } - if len(tv) != 2 { - return EINVAL - } - return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -func UtimesNano(path string, ts []Timespec) error { - if ts == nil { - return utimes(path, nil) - } - // TODO: The BSDs can do utimensat with SYS_UTIMENSAT but it - // isn't supported by darwin so this uses utimes instead - if len(ts) != 2 { - return EINVAL - } - // Not as efficient as it could be because Timespec and - // Timeval have different types in the different OSes - tv := [2]Timeval{ - NsecToTimeval(TimespecToNsec(ts[0])), - NsecToTimeval(TimespecToNsec(ts[1])), - } - return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -//sys futimes(fd int, timeval *[2]Timeval) (err error) - -func Futimes(fd int, tv []Timeval) error { - if tv == nil { - return futimes(fd, nil) - } - if len(tv) != 2 { - return EINVAL - } - return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -//sys fcntl(fd int, cmd int, arg int) (val int, err error) - -// TODO: wrap -// Acct(name nil-string) (err error) -// Gethostuuid(uuid *byte, timeout *Timespec) (err error) -// Madvise(addr *byte, len int, behav int) (err error) -// Mprotect(addr *byte, len int, prot int) (err error) -// Msync(addr *byte, len int, flags int) (err error) -// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) - -var mapper = &mmapper{ - active: make(map[*byte][]byte), - mmap: mmap, - munmap: munmap, -} - -func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { - return mapper.Mmap(fd, offset, length, prot, flags) -} - -func Munmap(b []byte) (err error) { - return mapper.Munmap(b) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go deleted file mode 100644 index 7d91ac0..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ /dev/null @@ -1,493 +0,0 @@ -// Copyright 2009,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. - -// Darwin system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_bsd.go or syscall_unix.go. - -package unix - -import ( - errorspkg "errors" - "syscall" - "unsafe" -) - -const ImplementsGetwd = true - -func Getwd() (string, error) { - buf := make([]byte, 2048) - attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) - if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { - wd := string(attrs[0]) - // Sanity check that it's an absolute path and ends - // in a null byte, which we then strip. - if wd[0] == '/' && wd[len(wd)-1] == 0 { - return wd[:len(wd)-1], nil - } - } - // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the - // slow algorithm. - return "", ENOTSUP -} - -type SockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 - raw RawSockaddrDatalink -} - -// Translate "kern.hostname" to []_C_int{0,1,2,3}. -func nametomib(name string) (mib []_C_int, err error) { - const siz = unsafe.Sizeof(mib[0]) - - // NOTE(rsc): It seems strange to set the buffer to have - // size CTL_MAXNAME+2 but use only CTL_MAXNAME - // as the size. I don't know why the +2 is here, but the - // kernel uses +2 for its own implementation of this function. - // I am scared that if we don't include the +2 here, the kernel - // will silently write 2 words farther than we specify - // and we'll get memory corruption. - var buf [CTL_MAXNAME + 2]_C_int - n := uintptr(CTL_MAXNAME) * siz - - p := (*byte)(unsafe.Pointer(&buf[0])) - bytes, err := ByteSliceFromString(name) - if err != nil { - return nil, err - } - - // Magic sysctl: "setting" 0.3 to a string name - // lets you read back the array of integers form. - if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { - return nil, err - } - return buf[0 : n/siz], nil -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -} - -//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) -func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } -func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } - -const ( - attrBitMapCount = 5 - attrCmnFullpath = 0x08000000 -) - -type attrList struct { - bitmapCount uint16 - _ uint16 - CommonAttr uint32 - VolAttr uint32 - DirAttr uint32 - FileAttr uint32 - Forkattr uint32 -} - -func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { - if len(attrBuf) < 4 { - return nil, errorspkg.New("attrBuf too small") - } - attrList.bitmapCount = attrBitMapCount - - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return nil, err - } - - _, _, e1 := Syscall6( - SYS_GETATTRLIST, - uintptr(unsafe.Pointer(_p0)), - uintptr(unsafe.Pointer(&attrList)), - uintptr(unsafe.Pointer(&attrBuf[0])), - uintptr(len(attrBuf)), - uintptr(options), - 0, - ) - if e1 != 0 { - return nil, e1 - } - size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) - - // dat is the section of attrBuf that contains valid data, - // without the 4 byte length header. All attribute offsets - // are relative to dat. - dat := attrBuf - if int(size) < len(attrBuf) { - dat = dat[:size] - } - dat = dat[4:] // remove length prefix - - for i := uint32(0); int(i) < len(dat); { - header := dat[i:] - if len(header) < 8 { - return attrs, errorspkg.New("truncated attribute header") - } - datOff := *(*int32)(unsafe.Pointer(&header[0])) - attrLen := *(*uint32)(unsafe.Pointer(&header[4])) - if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { - return attrs, errorspkg.New("truncated results; attrBuf too small") - } - end := uint32(datOff) + attrLen - attrs = append(attrs, dat[datOff:end]) - i = end - if r := i % 4; r != 0 { - i += (4 - r) - } - } - return -} - -//sysnb pipe() (r int, w int, err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - p[0], p[1], err = pipe() - return -} - -func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { - var _p0 unsafe.Pointer - var bufsize uintptr - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) - } - r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -/* - * Wrapped - */ - -//sys kill(pid int, signum int, posix int) (err error) - -func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chflags(path string, flags int) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(from int, to int) (err error) -//sys Exchangedata(path1 string, path2 string, options int) (err error) -//sys Exit(code int) -//sys Fchdir(fd int) (err error) -//sys Fchflags(fd int, flags int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 -//sys Getdtablesize() (size int) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) -//sysnb Getgid() (gid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgrp int) -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Getuid() (uid int) -//sysnb Issetugid() (tainted bool) -//sys Kqueue() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Revoke(path string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -//sys Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sys Setlogin(name string) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sys Setprivexec(flag int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tp *Timeval) (err error) -//sysnb Setuid(uid int) (err error) -//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sys Truncate(path string, length int64) (err error) -//sys Umask(newmask int) (oldmask int) -//sys Undelete(path string) (err error) -//sys Unlink(path string) (err error) -//sys Unmount(path string, flags int) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE - -/* - * Unimplemented - */ -// Profil -// Sigaction -// Sigprocmask -// Getlogin -// Sigpending -// Sigaltstack -// Ioctl -// Reboot -// Execve -// Vfork -// Sbrk -// Sstk -// Ovadvise -// Mincore -// Setitimer -// Swapon -// Select -// Sigsuspend -// Readv -// Writev -// Nfssvc -// Getfh -// Quotactl -// Mount -// Csops -// Waitid -// Add_profil -// Kdebug_trace -// Sigreturn -// Mmap -// Mlock -// Munlock -// Atsocket -// Kqueue_from_portset_np -// Kqueue_portset -// Getattrlist -// Setattrlist -// Getdirentriesattr -// Searchfs -// Delete -// Copyfile -// Poll -// Watchevent -// Waitevent -// Modwatch -// Getxattr -// Fgetxattr -// Setxattr -// Fsetxattr -// Removexattr -// Fremovexattr -// Listxattr -// Flistxattr -// Fsctl -// Initgroups -// Posix_spawn -// Nfsclnt -// Fhopen -// Minherit -// Semsys -// Msgsys -// Shmsys -// Semctl -// Semget -// Semop -// Msgctl -// Msgget -// Msgsnd -// Msgrcv -// Shmat -// Shmctl -// Shmdt -// Shmget -// Shm_open -// Shm_unlink -// Sem_open -// Sem_close -// Sem_unlink -// Sem_wait -// Sem_trywait -// Sem_post -// Sem_getvalue -// Sem_init -// Sem_destroy -// Open_extended -// Umask_extended -// Stat_extended -// Lstat_extended -// Fstat_extended -// Chmod_extended -// Fchmod_extended -// Access_extended -// Settid -// Gettid -// Setsgroups -// Getsgroups -// Setwgroups -// Getwgroups -// Mkfifo_extended -// Mkdir_extended -// Identitysvc -// Shared_region_check_np -// Shared_region_map_np -// __pthread_mutex_destroy -// __pthread_mutex_init -// __pthread_mutex_lock -// __pthread_mutex_trylock -// __pthread_mutex_unlock -// __pthread_cond_init -// __pthread_cond_destroy -// __pthread_cond_broadcast -// __pthread_cond_signal -// Setsid_with_pid -// __pthread_cond_timedwait -// Aio_fsync -// Aio_return -// Aio_suspend -// Aio_cancel -// Aio_error -// Aio_read -// Aio_write -// Lio_listio -// __pthread_cond_wait -// Iopolicysys -// Mlockall -// Munlockall -// __pthread_kill -// __pthread_sigmask -// __sigwait -// __disable_threadsignal -// __pthread_markcancel -// __pthread_canceled -// __semwait_signal -// Proc_info -// sendfile -// Stat64_extended -// Lstat64_extended -// Fstat64_extended -// __pthread_chdir -// __pthread_fchdir -// Audit -// Auditon -// Getauid -// Setauid -// Getaudit -// Setaudit -// Getaudit_addr -// Setaudit_addr -// Auditctl -// Bsdthread_create -// Bsdthread_terminate -// Stack_snapshot -// Bsdthread_register -// Workq_open -// Workq_ops -// __mac_execve -// __mac_syscall -// __mac_get_file -// __mac_set_file -// __mac_get_link -// __mac_set_link -// __mac_get_proc -// __mac_set_proc -// __mac_get_fd -// __mac_set_fd -// __mac_get_pid -// __mac_get_lcid -// __mac_get_lctx -// __mac_set_lctx -// Setlcid -// Read_nocancel -// Write_nocancel -// Open_nocancel -// Close_nocancel -// Wait4_nocancel -// Recvmsg_nocancel -// Sendmsg_nocancel -// Recvfrom_nocancel -// Accept_nocancel -// Msync_nocancel -// Fcntl_nocancel -// Select_nocancel -// Fsync_nocancel -// Connect_nocancel -// Sigsuspend_nocancel -// Readv_nocancel -// Writev_nocancel -// Sendto_nocancel -// Pread_nocancel -// Pwrite_nocancel -// Waitid_nocancel -// Poll_nocancel -// Msgsnd_nocancel -// Msgrcv_nocancel -// Sem_wait_nocancel -// Aio_suspend_nocancel -// __sigwait_nocancel -// __semwait_signal_nocancel -// __mac_mount -// __mac_get_mount -// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go deleted file mode 100644 index c172a3d..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2009 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. - -// +build 386,darwin - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int32(nsec / 1e9) - return -} - -//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -func Gettimeofday(tv *Timeval) (err error) { - // The tv passed to gettimeofday must be non-nil - // but is otherwise unused. The answers come back - // in the two registers. - sec, usec, err := gettimeofday(tv) - tv.Sec = int32(sec) - tv.Usec = int32(usec) - return err -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) - -// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -// of darwin/386 the syscall is called sysctl instead of __sysctl. -const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go deleted file mode 100644 index fc1e5a4..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,darwin - -package unix - -import ( - "syscall" - "unsafe" -) - -//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -func Gettimeofday(tv *Timeval) (err error) { - // The tv passed to gettimeofday must be non-nil - // but is otherwise unused. The answers come back - // in the two registers. - sec, usec, err := gettimeofday(tv) - tv.Sec = sec - tv.Usec = usec - return err -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) - -// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -// of darwin/amd64 the syscall is called sysctl instead of __sysctl. -const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go deleted file mode 100644 index d286cf4..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2015 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. - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int32(nsec / 1e9) - return -} - -//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -func Gettimeofday(tv *Timeval) (err error) { - // The tv passed to gettimeofday must be non-nil - // but is otherwise unused. The answers come back - // in the two registers. - sec, usec, err := gettimeofday(tv) - tv.Sec = int32(sec) - tv.Usec = int32(usec) - return err -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go deleted file mode 100644 index c33905c..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2015 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. - -// +build arm64,darwin - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 16384 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -func Gettimeofday(tv *Timeval) (err error) { - // The tv passed to gettimeofday must be non-nil - // but is otherwise unused. The answers come back - // in the two registers. - sec, usec, err := gettimeofday(tv) - tv.Sec = sec - tv.Usec = usec - return err -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic - -// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -// of darwin/arm64 the syscall is called sysctl instead of __sysctl. -const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go deleted file mode 100644 index 7e0210f..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +++ /dev/null @@ -1,425 +0,0 @@ -// Copyright 2009 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. - -// DragonFly BSD system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_bsd.go or syscall_unix.go. - -package unix - -import "unsafe" - -type SockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 - Rcf uint16 - Route [16]uint16 - raw RawSockaddrDatalink -} - -// Translate "kern.hostname" to []_C_int{0,1,2,3}. -func nametomib(name string) (mib []_C_int, err error) { - const siz = unsafe.Sizeof(mib[0]) - - // NOTE(rsc): It seems strange to set the buffer to have - // size CTL_MAXNAME+2 but use only CTL_MAXNAME - // as the size. I don't know why the +2 is here, but the - // kernel uses +2 for its own implementation of this function. - // I am scared that if we don't include the +2 here, the kernel - // will silently write 2 words farther than we specify - // and we'll get memory corruption. - var buf [CTL_MAXNAME + 2]_C_int - n := uintptr(CTL_MAXNAME) * siz - - p := (*byte)(unsafe.Pointer(&buf[0])) - bytes, err := ByteSliceFromString(name) - if err != nil { - return nil, err - } - - // Magic sysctl: "setting" 0.3 to a string name - // lets you read back the array of integers form. - if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { - return nil, err - } - return buf[0 : n/siz], nil -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -} - -func direntReclen(buf []byte) (uint64, bool) { - namlen, ok := direntNamlen(buf) - if !ok { - return 0, false - } - return (16 + namlen + 1 + 7) &^ 7, true -} - -func direntNamlen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -} - -//sysnb pipe() (r int, w int, err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - p[0], p[1], err = pipe() - return -} - -//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) -func Pread(fd int, p []byte, offset int64) (n int, err error) { - return extpread(fd, p, 0, offset) -} - -//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - return extpwrite(fd, p, 0, offset) -} - -func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept4(fd, &rsa, &len, flags) - if err != nil { - return - } - if len > SizeofSockaddrAny { - panic("RawSockaddrAny too small") - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { - var _p0 unsafe.Pointer - var bufsize uintptr - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) - } - r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chflags(path string, flags int) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(from int, to int) (err error) -//sys Exit(code int) -//sys Fchdir(fd int) (err error) -//sys Fchflags(fd int, flags int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, stat *Statfs_t) (err error) -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -//sys Getdtablesize() (size int) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) -//sysnb Getgid() (gid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgrp int) -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Getuid() (uid int) -//sys Issetugid() (tainted bool) -//sys Kill(pid int, signum syscall.Signal) (err error) -//sys Kqueue() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Revoke(path string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -//sysnb Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sys Setlogin(name string) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tp *Timeval) (err error) -//sysnb Setuid(uid int) (err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, stat *Statfs_t) (err error) -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sys Truncate(path string, length int64) (err error) -//sys Umask(newmask int) (oldmask int) -//sys Undelete(path string) (err error) -//sys Unlink(path string) (err error) -//sys Unmount(path string, flags int) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) - -/* - * Unimplemented - * TODO(jsing): Update this list for DragonFly. - */ -// Profil -// Sigaction -// Sigprocmask -// Getlogin -// Sigpending -// Sigaltstack -// Ioctl -// Reboot -// Execve -// Vfork -// Sbrk -// Sstk -// Ovadvise -// Mincore -// Setitimer -// Swapon -// Select -// Sigsuspend -// Readv -// Writev -// Nfssvc -// Getfh -// Quotactl -// Mount -// Csops -// Waitid -// Add_profil -// Kdebug_trace -// Sigreturn -// Mmap -// Mlock -// Munlock -// Atsocket -// Kqueue_from_portset_np -// Kqueue_portset -// Getattrlist -// Setattrlist -// Getdirentriesattr -// Searchfs -// Delete -// Copyfile -// Poll -// Watchevent -// Waitevent -// Modwatch -// Getxattr -// Fgetxattr -// Setxattr -// Fsetxattr -// Removexattr -// Fremovexattr -// Listxattr -// Flistxattr -// Fsctl -// Initgroups -// Posix_spawn -// Nfsclnt -// Fhopen -// Minherit -// Semsys -// Msgsys -// Shmsys -// Semctl -// Semget -// Semop -// Msgctl -// Msgget -// Msgsnd -// Msgrcv -// Shmat -// Shmctl -// Shmdt -// Shmget -// Shm_open -// Shm_unlink -// Sem_open -// Sem_close -// Sem_unlink -// Sem_wait -// Sem_trywait -// Sem_post -// Sem_getvalue -// Sem_init -// Sem_destroy -// Open_extended -// Umask_extended -// Stat_extended -// Lstat_extended -// Fstat_extended -// Chmod_extended -// Fchmod_extended -// Access_extended -// Settid -// Gettid -// Setsgroups -// Getsgroups -// Setwgroups -// Getwgroups -// Mkfifo_extended -// Mkdir_extended -// Identitysvc -// Shared_region_check_np -// Shared_region_map_np -// __pthread_mutex_destroy -// __pthread_mutex_init -// __pthread_mutex_lock -// __pthread_mutex_trylock -// __pthread_mutex_unlock -// __pthread_cond_init -// __pthread_cond_destroy -// __pthread_cond_broadcast -// __pthread_cond_signal -// Setsid_with_pid -// __pthread_cond_timedwait -// Aio_fsync -// Aio_return -// Aio_suspend -// Aio_cancel -// Aio_error -// Aio_read -// Aio_write -// Lio_listio -// __pthread_cond_wait -// Iopolicysys -// Mlockall -// Munlockall -// __pthread_kill -// __pthread_sigmask -// __sigwait -// __disable_threadsignal -// __pthread_markcancel -// __pthread_canceled -// __semwait_signal -// Proc_info -// Stat64_extended -// Lstat64_extended -// Fstat64_extended -// __pthread_chdir -// __pthread_fchdir -// Audit -// Auditon -// Getauid -// Setauid -// Getaudit -// Setaudit -// Getaudit_addr -// Setaudit_addr -// Auditctl -// Bsdthread_create -// Bsdthread_terminate -// Stack_snapshot -// Bsdthread_register -// Workq_open -// Workq_ops -// __mac_execve -// __mac_syscall -// __mac_get_file -// __mac_set_file -// __mac_get_link -// __mac_set_link -// __mac_get_proc -// __mac_set_proc -// __mac_get_fd -// __mac_set_fd -// __mac_get_pid -// __mac_get_lcid -// __mac_get_lctx -// __mac_set_lctx -// Setlcid -// Read_nocancel -// Write_nocancel -// Open_nocancel -// Close_nocancel -// Wait4_nocancel -// Recvmsg_nocancel -// Sendmsg_nocancel -// Recvfrom_nocancel -// Accept_nocancel -// Msync_nocancel -// Fcntl_nocancel -// Select_nocancel -// Fsync_nocancel -// Connect_nocancel -// Sigsuspend_nocancel -// Readv_nocancel -// Writev_nocancel -// Sendto_nocancel -// Pread_nocancel -// Pwrite_nocancel -// Waitid_nocancel -// Poll_nocancel -// Msgsnd_nocancel -// Msgrcv_nocancel -// Sem_wait_nocancel -// Aio_suspend_nocancel -// __sigwait_nocancel -// __semwait_signal_nocancel -// __mac_mount -// __mac_get_mount -// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go deleted file mode 100644 index da7cb79..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,dragonfly - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = nsec % 1e9 / 1e3 - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var writtenOut uint64 = 0 - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) - - written = int(writtenOut) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go deleted file mode 100644 index 077d1f3..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ /dev/null @@ -1,666 +0,0 @@ -// Copyright 2009,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. - -// FreeBSD system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_bsd.go or syscall_unix.go. - -package unix - -import "unsafe" - -type SockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [46]int8 - raw RawSockaddrDatalink -} - -// Translate "kern.hostname" to []_C_int{0,1,2,3}. -func nametomib(name string) (mib []_C_int, err error) { - const siz = unsafe.Sizeof(mib[0]) - - // NOTE(rsc): It seems strange to set the buffer to have - // size CTL_MAXNAME+2 but use only CTL_MAXNAME - // as the size. I don't know why the +2 is here, but the - // kernel uses +2 for its own implementation of this function. - // I am scared that if we don't include the +2 here, the kernel - // will silently write 2 words farther than we specify - // and we'll get memory corruption. - var buf [CTL_MAXNAME + 2]_C_int - n := uintptr(CTL_MAXNAME) * siz - - p := (*byte)(unsafe.Pointer(&buf[0])) - bytes, err := ByteSliceFromString(name) - if err != nil { - return nil, err - } - - // Magic sysctl: "setting" 0.3 to a string name - // lets you read back the array of integers form. - if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { - return nil, err - } - return buf[0 : n/siz], nil -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -} - -//sysnb pipe() (r int, w int, err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - p[0], p[1], err = pipe() - return -} - -func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { - var value IPMreqn - vallen := _Socklen(SizeofIPMreqn) - errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, errno -} - -func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -} - -func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept4(fd, &rsa, &len, flags) - if err != nil { - return - } - if len > SizeofSockaddrAny { - panic("RawSockaddrAny too small") - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { - var _p0 unsafe.Pointer - var bufsize uintptr - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) - } - r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -// Derive extattr namespace and attribute name - -func xattrnamespace(fullattr string) (ns int, attr string, err error) { - s := -1 - for idx, val := range fullattr { - if val == '.' { - s = idx - break - } - } - - if s == -1 { - return -1, "", ENOATTR - } - - namespace := fullattr[0:s] - attr = fullattr[s+1:] - - switch namespace { - case "user": - return EXTATTR_NAMESPACE_USER, attr, nil - case "system": - return EXTATTR_NAMESPACE_SYSTEM, attr, nil - default: - return -1, "", ENOATTR - } -} - -func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { - if len(dest) > idx { - return unsafe.Pointer(&dest[idx]) - } else { - return unsafe.Pointer(_zero) - } -} - -// FreeBSD implements its own syscalls to handle extended attributes - -func Getxattr(file string, attr string, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsize := len(dest) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return -1, err - } - - return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) -} - -func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsize := len(dest) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return -1, err - } - - return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) -} - -func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsize := len(dest) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return -1, err - } - - return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) -} - -// flags are unused on FreeBSD - -func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { - d := unsafe.Pointer(&data[0]) - datasiz := len(data) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) - return -} - -func Setxattr(file string, attr string, data []byte, flags int) (err error) { - d := unsafe.Pointer(&data[0]) - datasiz := len(data) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) - return -} - -func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { - d := unsafe.Pointer(&data[0]) - datasiz := len(data) - - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) - return -} - -func Removexattr(file string, attr string) (err error) { - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - err = ExtattrDeleteFile(file, nsid, a) - return -} - -func Fremovexattr(fd int, attr string) (err error) { - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - err = ExtattrDeleteFd(fd, nsid, a) - return -} - -func Lremovexattr(link string, attr string) (err error) { - nsid, a, err := xattrnamespace(attr) - if err != nil { - return - } - - err = ExtattrDeleteLink(link, nsid, a) - return -} - -func Listxattr(file string, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsiz := len(dest) - - // FreeBSD won't allow you to list xattrs from multiple namespaces - s := 0 - var e error - for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { - stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) - - /* Errors accessing system attrs are ignored so that - * we can implement the Linux-like behavior of omitting errors that - * we don't have read permissions on - * - * Linux will still error if we ask for user attributes on a file that - * we don't have read permissions on, so don't ignore those errors - */ - if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { - e = nil - continue - } else if e != nil { - return s, e - } - - s += stmp - destsiz -= s - if destsiz < 0 { - destsiz = 0 - } - d = initxattrdest(dest, s) - } - - return s, e -} - -func Flistxattr(fd int, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsiz := len(dest) - - s := 0 - var e error - for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { - stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) - if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { - e = nil - continue - } else if e != nil { - return s, e - } - - s += stmp - destsiz -= s - if destsiz < 0 { - destsiz = 0 - } - d = initxattrdest(dest, s) - } - - return s, e -} - -func Llistxattr(link string, dest []byte) (sz int, err error) { - d := initxattrdest(dest, 0) - destsiz := len(dest) - - s := 0 - var e error - for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { - stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) - if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { - e = nil - continue - } else if e != nil { - return s, e - } - - s += stmp - destsiz -= s - if destsiz < 0 { - destsiz = 0 - } - d = initxattrdest(dest, s) - } - - return s, e -} - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chflags(path string, flags int) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(from int, to int) (err error) -//sys Exit(code int) -//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) -//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) -//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) -//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE -//sys Fchdir(fd int) (err error) -//sys Fchflags(fd int, flags int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, stat *Statfs_t) (err error) -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -//sys Getdtablesize() (size int) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) -//sysnb Getgid() (gid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgrp int) -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Getuid() (uid int) -//sys Issetugid() (tainted bool) -//sys Kill(pid int, signum syscall.Signal) (err error) -//sys Kqueue() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Revoke(path string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -//sysnb Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sys Setlogin(name string) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tp *Timeval) (err error) -//sysnb Setuid(uid int) (err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, stat *Statfs_t) (err error) -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sys Truncate(path string, length int64) (err error) -//sys Umask(newmask int) (oldmask int) -//sys Undelete(path string) (err error) -//sys Unlink(path string) (err error) -//sys Unmount(path string, flags int) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) - -/* - * Unimplemented - */ -// Profil -// Sigaction -// Sigprocmask -// Getlogin -// Sigpending -// Sigaltstack -// Ioctl -// Reboot -// Execve -// Vfork -// Sbrk -// Sstk -// Ovadvise -// Mincore -// Setitimer -// Swapon -// Select -// Sigsuspend -// Readv -// Writev -// Nfssvc -// Getfh -// Quotactl -// Mount -// Csops -// Waitid -// Add_profil -// Kdebug_trace -// Sigreturn -// Mmap -// Mlock -// Munlock -// Atsocket -// Kqueue_from_portset_np -// Kqueue_portset -// Getattrlist -// Setattrlist -// Getdirentriesattr -// Searchfs -// Delete -// Copyfile -// Poll -// Watchevent -// Waitevent -// Modwatch -// Getxattr -// Fgetxattr -// Setxattr -// Fsetxattr -// Removexattr -// Fremovexattr -// Listxattr -// Flistxattr -// Fsctl -// Initgroups -// Posix_spawn -// Nfsclnt -// Fhopen -// Minherit -// Semsys -// Msgsys -// Shmsys -// Semctl -// Semget -// Semop -// Msgctl -// Msgget -// Msgsnd -// Msgrcv -// Shmat -// Shmctl -// Shmdt -// Shmget -// Shm_open -// Shm_unlink -// Sem_open -// Sem_close -// Sem_unlink -// Sem_wait -// Sem_trywait -// Sem_post -// Sem_getvalue -// Sem_init -// Sem_destroy -// Open_extended -// Umask_extended -// Stat_extended -// Lstat_extended -// Fstat_extended -// Chmod_extended -// Fchmod_extended -// Access_extended -// Settid -// Gettid -// Setsgroups -// Getsgroups -// Setwgroups -// Getwgroups -// Mkfifo_extended -// Mkdir_extended -// Identitysvc -// Shared_region_check_np -// Shared_region_map_np -// __pthread_mutex_destroy -// __pthread_mutex_init -// __pthread_mutex_lock -// __pthread_mutex_trylock -// __pthread_mutex_unlock -// __pthread_cond_init -// __pthread_cond_destroy -// __pthread_cond_broadcast -// __pthread_cond_signal -// Setsid_with_pid -// __pthread_cond_timedwait -// Aio_fsync -// Aio_return -// Aio_suspend -// Aio_cancel -// Aio_error -// Aio_read -// Aio_write -// Lio_listio -// __pthread_cond_wait -// Iopolicysys -// Mlockall -// Munlockall -// __pthread_kill -// __pthread_sigmask -// __sigwait -// __disable_threadsignal -// __pthread_markcancel -// __pthread_canceled -// __semwait_signal -// Proc_info -// Stat64_extended -// Lstat64_extended -// Fstat64_extended -// __pthread_chdir -// __pthread_fchdir -// Audit -// Auditon -// Getauid -// Setauid -// Getaudit -// Setaudit -// Getaudit_addr -// Setaudit_addr -// Auditctl -// Bsdthread_create -// Bsdthread_terminate -// Stack_snapshot -// Bsdthread_register -// Workq_open -// Workq_ops -// __mac_execve -// __mac_syscall -// __mac_get_file -// __mac_set_file -// __mac_get_link -// __mac_set_link -// __mac_get_proc -// __mac_set_proc -// __mac_get_fd -// __mac_set_fd -// __mac_get_pid -// __mac_get_lcid -// __mac_get_lctx -// __mac_set_lctx -// Setlcid -// Read_nocancel -// Write_nocancel -// Open_nocancel -// Close_nocancel -// Wait4_nocancel -// Recvmsg_nocancel -// Sendmsg_nocancel -// Recvfrom_nocancel -// Accept_nocancel -// Msync_nocancel -// Fcntl_nocancel -// Select_nocancel -// Fsync_nocancel -// Connect_nocancel -// Sigsuspend_nocancel -// Readv_nocancel -// Writev_nocancel -// Sendto_nocancel -// Pread_nocancel -// Pwrite_nocancel -// Waitid_nocancel -// Poll_nocancel -// Msgsnd_nocancel -// Msgrcv_nocancel -// Sem_wait_nocancel -// Aio_suspend_nocancel -// __sigwait_nocancel -// __semwait_signal_nocancel -// __mac_mount -// __mac_get_mount -// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go deleted file mode 100644 index 6a0cd80..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2009 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. - -// +build 386,freebsd - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int32(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var writtenOut uint64 = 0 - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) - - written = int(writtenOut) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go deleted file mode 100644 index e142540..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,freebsd - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = nsec % 1e9 / 1e3 - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var writtenOut uint64 = 0 - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) - - written = int(writtenOut) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go deleted file mode 100644 index 5504cb1..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2012 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. - -// +build arm,freebsd - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = nsec / 1e9 - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var writtenOut uint64 = 0 - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) - - written = int(writtenOut) - - if e1 != 0 { - err = e1 - } - return -} - -func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go deleted file mode 100644 index 77f9c54..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ /dev/null @@ -1,1422 +0,0 @@ -// Copyright 2009 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. - -// Linux system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and -// wrap it in our own nicer implementation. - -package unix - -import ( - "syscall" - "unsafe" -) - -/* - * Wrapped - */ - -func Access(path string, mode uint32) (err error) { - return Faccessat(AT_FDCWD, path, mode, 0) -} - -func Chmod(path string, mode uint32) (err error) { - return Fchmodat(AT_FDCWD, path, mode, 0) -} - -func Chown(path string, uid int, gid int) (err error) { - return Fchownat(AT_FDCWD, path, uid, gid, 0) -} - -func Creat(path string, mode uint32) (fd int, err error) { - return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) -} - -//sys ioctl(fd int, req uint, arg uintptr) (err error) - -// ioctl itself should not be exposed directly, but additional get/set -// functions for specific types are permissible. - -// IoctlSetInt performs an ioctl operation which sets an integer value -// on fd, using the specified request number. -func IoctlSetInt(fd int, req uint, value int) (err error) { - return ioctl(fd, req, uintptr(value)) -} - -// IoctlGetInt performs an ioctl operation which gets an integer value -// from fd, using the specified request number. -func IoctlGetInt(fd int, req uint) (int, error) { - var value int - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) - return value, err -} - -//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) - -func Link(oldpath string, newpath string) (err error) { - return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) -} - -func Mkdir(path string, mode uint32) (err error) { - return Mkdirat(AT_FDCWD, path, mode) -} - -func Mknod(path string, mode uint32, dev int) (err error) { - return Mknodat(AT_FDCWD, path, mode, dev) -} - -func Open(path string, mode int, perm uint32) (fd int, err error) { - return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) -} - -//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) - -func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - return openat(dirfd, path, flags|O_LARGEFILE, mode) -} - -//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) - -func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - if len(fds) == 0 { - return ppoll(nil, 0, timeout, sigmask) - } - return ppoll(&fds[0], len(fds), timeout, sigmask) -} - -//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) - -func Readlink(path string, buf []byte) (n int, err error) { - return Readlinkat(AT_FDCWD, path, buf) -} - -func Rename(oldpath string, newpath string) (err error) { - return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) -} - -func Rmdir(path string) error { - return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) -} - -//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) - -func Symlink(oldpath string, newpath string) (err error) { - return Symlinkat(oldpath, AT_FDCWD, newpath) -} - -func Unlink(path string) error { - return Unlinkat(AT_FDCWD, path, 0) -} - -//sys Unlinkat(dirfd int, path string, flags int) (err error) - -//sys utimes(path string, times *[2]Timeval) (err error) - -func Utimes(path string, tv []Timeval) error { - if tv == nil { - err := utimensat(AT_FDCWD, path, nil, 0) - if err != ENOSYS { - return err - } - return utimes(path, nil) - } - if len(tv) != 2 { - return EINVAL - } - var ts [2]Timespec - ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) - ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) - err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) - if err != ENOSYS { - return err - } - return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) - -func UtimesNano(path string, ts []Timespec) error { - if ts == nil { - err := utimensat(AT_FDCWD, path, nil, 0) - if err != ENOSYS { - return err - } - return utimes(path, nil) - } - if len(ts) != 2 { - return EINVAL - } - err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) - if err != ENOSYS { - return err - } - // If the utimensat syscall isn't available (utimensat was added to Linux - // in 2.6.22, Released, 8 July 2007) then fall back to utimes - var tv [2]Timeval - for i := 0; i < 2; i++ { - tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) - } - return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { - if ts == nil { - return utimensat(dirfd, path, nil, flags) - } - if len(ts) != 2 { - return EINVAL - } - return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -} - -//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) - -func Futimesat(dirfd int, path string, tv []Timeval) error { - pathp, err := BytePtrFromString(path) - if err != nil { - return err - } - if tv == nil { - return futimesat(dirfd, pathp, nil) - } - if len(tv) != 2 { - return EINVAL - } - return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -func Futimes(fd int, tv []Timeval) (err error) { - // Believe it or not, this is the best we can do on Linux - // (and is what glibc does). - return Utimes("/proc/self/fd/"+itoa(fd), tv) -} - -const ImplementsGetwd = true - -//sys Getcwd(buf []byte) (n int, err error) - -func Getwd() (wd string, err error) { - var buf [PathMax]byte - n, err := Getcwd(buf[0:]) - if err != nil { - return "", err - } - // Getcwd returns the number of bytes written to buf, including the NUL. - if n < 1 || n > len(buf) || buf[n-1] != 0 { - return "", EINVAL - } - return string(buf[0 : n-1]), nil -} - -func Getgroups() (gids []int, err error) { - n, err := getgroups(0, nil) - if err != nil { - return nil, err - } - if n == 0 { - return nil, nil - } - - // Sanity check group count. Max is 1<<16 on Linux. - if n < 0 || n > 1<<20 { - return nil, EINVAL - } - - a := make([]_Gid_t, n) - n, err = getgroups(n, &a[0]) - if err != nil { - return nil, err - } - gids = make([]int, n) - for i, v := range a[0:n] { - gids[i] = int(v) - } - return -} - -func Setgroups(gids []int) (err error) { - if len(gids) == 0 { - return setgroups(0, nil) - } - - a := make([]_Gid_t, len(gids)) - for i, v := range gids { - a[i] = _Gid_t(v) - } - return setgroups(len(a), &a[0]) -} - -type WaitStatus uint32 - -// Wait status is 7 bits at bottom, either 0 (exited), -// 0x7F (stopped), or a signal number that caused an exit. -// The 0x80 bit is whether there was a core dump. -// An extra number (exit code, signal causing a stop) -// is in the high bits. At least that's the idea. -// There are various irregularities. For example, the -// "continued" status is 0xFFFF, distinguishing itself -// from stopped via the core dump bit. - -const ( - mask = 0x7F - core = 0x80 - exited = 0x00 - stopped = 0x7F - shift = 8 -) - -func (w WaitStatus) Exited() bool { return w&mask == exited } - -func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } - -func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } - -func (w WaitStatus) Continued() bool { return w == 0xFFFF } - -func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } - -func (w WaitStatus) ExitStatus() int { - if !w.Exited() { - return -1 - } - return int(w>>shift) & 0xFF -} - -func (w WaitStatus) Signal() syscall.Signal { - if !w.Signaled() { - return -1 - } - return syscall.Signal(w & mask) -} - -func (w WaitStatus) StopSignal() syscall.Signal { - if !w.Stopped() { - return -1 - } - return syscall.Signal(w>>shift) & 0xFF -} - -func (w WaitStatus) TrapCause() int { - if w.StopSignal() != SIGTRAP { - return -1 - } - return int(w>>shift) >> 8 -} - -//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) - -func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { - var status _C_int - wpid, err = wait4(pid, &status, options, rusage) - if wstatus != nil { - *wstatus = WaitStatus(status) - } - return -} - -func Mkfifo(path string, mode uint32) (err error) { - return Mknod(path, mode|S_IFIFO, 0) -} - -func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Family = AF_INET - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -} - -func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Family = AF_INET6 - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - sa.raw.Scope_id = sa.ZoneId - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -} - -func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { - name := sa.Name - n := len(name) - if n >= len(sa.raw.Path) { - return nil, 0, EINVAL - } - sa.raw.Family = AF_UNIX - for i := 0; i < n; i++ { - sa.raw.Path[i] = int8(name[i]) - } - // length is family (uint16), name, NUL. - sl := _Socklen(2) - if n > 0 { - sl += _Socklen(n) + 1 - } - if sa.raw.Path[0] == '@' { - sa.raw.Path[0] = 0 - // Don't count trailing NUL for abstract address. - sl-- - } - - return unsafe.Pointer(&sa.raw), sl, nil -} - -type SockaddrLinklayer struct { - Protocol uint16 - Ifindex int - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]byte - raw RawSockaddrLinklayer -} - -func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { - return nil, 0, EINVAL - } - sa.raw.Family = AF_PACKET - sa.raw.Protocol = sa.Protocol - sa.raw.Ifindex = int32(sa.Ifindex) - sa.raw.Hatype = sa.Hatype - sa.raw.Pkttype = sa.Pkttype - sa.raw.Halen = sa.Halen - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil -} - -type SockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 - raw RawSockaddrNetlink -} - -func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { - sa.raw.Family = AF_NETLINK - sa.raw.Pad = sa.Pad - sa.raw.Pid = sa.Pid - sa.raw.Groups = sa.Groups - return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil -} - -type SockaddrHCI struct { - Dev uint16 - Channel uint16 - raw RawSockaddrHCI -} - -func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { - sa.raw.Family = AF_BLUETOOTH - sa.raw.Dev = sa.Dev - sa.raw.Channel = sa.Channel - return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil -} - -// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. -// The RxID and TxID fields are used for transport protocol addressing in -// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with -// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. -// -// The SockaddrCAN struct must be bound to the socket file descriptor -// using Bind before the CAN socket can be used. -// -// // Read one raw CAN frame -// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) -// addr := &SockaddrCAN{Ifindex: index} -// Bind(fd, addr) -// frame := make([]byte, 16) -// Read(fd, frame) -// -// The full SocketCAN documentation can be found in the linux kernel -// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt -type SockaddrCAN struct { - Ifindex int - RxID uint32 - TxID uint32 - raw RawSockaddrCAN -} - -func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { - return nil, 0, EINVAL - } - sa.raw.Family = AF_CAN - sa.raw.Ifindex = int32(sa.Ifindex) - rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) - for i := 0; i < 4; i++ { - sa.raw.Addr[i] = rx[i] - } - tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) - for i := 0; i < 4; i++ { - sa.raw.Addr[i+4] = tx[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil -} - -// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. -// SockaddrALG enables userspace access to the Linux kernel's cryptography -// subsystem. The Type and Name fields specify which type of hash or cipher -// should be used with a given socket. -// -// To create a file descriptor that provides access to a hash or cipher, both -// Bind and Accept must be used. Once the setup process is complete, input -// data can be written to the socket, processed by the kernel, and then read -// back as hash output or ciphertext. -// -// Here is an example of using an AF_ALG socket with SHA1 hashing. -// The initial socket setup process is as follows: -// -// // Open a socket to perform SHA1 hashing. -// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) -// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} -// unix.Bind(fd, addr) -// // Note: unix.Accept does not work at this time; must invoke accept() -// // manually using unix.Syscall. -// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) -// -// Once a file descriptor has been returned from Accept, it may be used to -// perform SHA1 hashing. The descriptor is not safe for concurrent use, but -// may be re-used repeatedly with subsequent Write and Read operations. -// -// When hashing a small byte slice or string, a single Write and Read may -// be used: -// -// // Assume hashfd is already configured using the setup process. -// hash := os.NewFile(hashfd, "sha1") -// // Hash an input string and read the results. Each Write discards -// // previous hash state. Read always reads the current state. -// b := make([]byte, 20) -// for i := 0; i < 2; i++ { -// io.WriteString(hash, "Hello, world.") -// hash.Read(b) -// fmt.Println(hex.EncodeToString(b)) -// } -// // Output: -// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -// -// For hashing larger byte slices, or byte streams such as those read from -// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update -// the hash digest instead of creating a new one for a given chunk and finalizing it. -// -// // Assume hashfd and addr are already configured using the setup process. -// hash := os.NewFile(hashfd, "sha1") -// // Hash the contents of a file. -// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") -// b := make([]byte, 4096) -// for { -// n, err := f.Read(b) -// if err == io.EOF { -// break -// } -// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) -// } -// hash.Read(b) -// fmt.Println(hex.EncodeToString(b)) -// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 -// -// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. -type SockaddrALG struct { - Type string - Name string - Feature uint32 - Mask uint32 - raw RawSockaddrALG -} - -func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { - // Leave room for NUL byte terminator. - if len(sa.Type) > 13 { - return nil, 0, EINVAL - } - if len(sa.Name) > 63 { - return nil, 0, EINVAL - } - - sa.raw.Family = AF_ALG - sa.raw.Feat = sa.Feature - sa.raw.Mask = sa.Mask - - typ, err := ByteSliceFromString(sa.Type) - if err != nil { - return nil, 0, err - } - name, err := ByteSliceFromString(sa.Name) - if err != nil { - return nil, 0, err - } - - copy(sa.raw.Type[:], typ) - copy(sa.raw.Name[:], name) - - return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil -} - -// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. -// SockaddrVM provides access to Linux VM sockets: a mechanism that enables -// bidirectional communication between a hypervisor and its guest virtual -// machines. -type SockaddrVM struct { - // CID and Port specify a context ID and port address for a VM socket. - // Guests have a unique CID, and hosts may have a well-known CID of: - // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. - // - VMADDR_CID_HOST: refers to other processes on the host. - CID uint32 - Port uint32 - raw RawSockaddrVM -} - -func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { - sa.raw.Family = AF_VSOCK - sa.raw.Port = sa.Port - sa.raw.Cid = sa.CID - - return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil -} - -func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { - switch rsa.Addr.Family { - case AF_NETLINK: - pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) - sa := new(SockaddrNetlink) - sa.Family = pp.Family - sa.Pad = pp.Pad - sa.Pid = pp.Pid - sa.Groups = pp.Groups - return sa, nil - - case AF_PACKET: - pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) - sa := new(SockaddrLinklayer) - sa.Protocol = pp.Protocol - sa.Ifindex = int(pp.Ifindex) - sa.Hatype = pp.Hatype - sa.Pkttype = pp.Pkttype - sa.Halen = pp.Halen - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - - case AF_UNIX: - pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) - sa := new(SockaddrUnix) - if pp.Path[0] == 0 { - // "Abstract" Unix domain socket. - // Rewrite leading NUL as @ for textual display. - // (This is the standard convention.) - // Not friendly to overwrite in place, - // but the callers below don't care. - pp.Path[0] = '@' - } - - // Assume path ends at NUL. - // This is not technically the Linux semantics for - // abstract Unix domain sockets--they are supposed - // to be uninterpreted fixed-size binary blobs--but - // everyone uses this convention. - n := 0 - for n < len(pp.Path) && pp.Path[n] != 0 { - n++ - } - bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - - case AF_INET: - pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet4) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - - case AF_INET6: - pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet6) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - sa.ZoneId = pp.Scope_id - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - - case AF_VSOCK: - pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) - sa := &SockaddrVM{ - CID: pp.Cid, - Port: pp.Port, - } - return sa, nil - } - return nil, EAFNOSUPPORT -} - -func Accept(fd int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept(fd, &rsa, &len) - if err != nil { - return - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept4(fd, &rsa, &len, flags) - if err != nil { - return - } - if len > SizeofSockaddrAny { - panic("RawSockaddrAny too small") - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -func Getsockname(fd int) (sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - if err = getsockname(fd, &rsa, &len); err != nil { - return - } - return anyToSockaddr(&rsa) -} - -func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { - vallen := _Socklen(4) - err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) - return value, err -} - -func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { - var value IPMreq - vallen := _Socklen(SizeofIPMreq) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { - var value IPMreqn - vallen := _Socklen(SizeofIPMreqn) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { - var value IPv6Mreq - vallen := _Socklen(SizeofIPv6Mreq) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { - var value IPv6MTUInfo - vallen := _Socklen(SizeofIPv6MTUInfo) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { - var value ICMPv6Filter - vallen := _Socklen(SizeofICMPv6Filter) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { - var value Ucred - vallen := _Socklen(SizeofUcred) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { - var value TCPInfo - vallen := _Socklen(SizeofTCPInfo) - err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) - return &value, err -} - -func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -} - -// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) - -// KeyctlInt calls keyctl commands in which each argument is an int. -// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, -// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, -// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, -// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. -//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL - -// KeyctlBuffer calls keyctl commands in which the third and fourth -// arguments are a buffer and its length, respectively. -// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. -//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL - -// KeyctlString calls keyctl commands which return a string. -// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. -func KeyctlString(cmd int, id int) (string, error) { - // We must loop as the string data may change in between the syscalls. - // We could allocate a large buffer here to reduce the chance that the - // syscall needs to be called twice; however, this is unnecessary as - // the performance loss is negligible. - var buffer []byte - for { - // Try to fill the buffer with data - length, err := KeyctlBuffer(cmd, id, buffer, 0) - if err != nil { - return "", err - } - - // Check if the data was written - if length <= len(buffer) { - // Exclude the null terminator - return string(buffer[:length-1]), nil - } - - // Make a bigger buffer if needed - buffer = make([]byte, length) - } -} - -// Keyctl commands with special signatures. - -// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html -func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { - createInt := 0 - if create { - createInt = 1 - } - return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) -} - -// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the -// key handle permission mask as described in the "keyctl setperm" section of -// http://man7.org/linux/man-pages/man1/keyctl.1.html. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html -func KeyctlSetperm(id int, perm uint32) error { - _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) - return err -} - -//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL - -// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html -func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { - return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) -} - -//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL - -// KeyctlSearch implements the KEYCTL_SEARCH command. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_search.3.html -func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { - return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) -} - -//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL - -// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This -// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice -// of Iovec (each of which represents a buffer) instead of a single buffer. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html -func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { - return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) -} - -//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL - -// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command -// computes a Diffie-Hellman shared secret based on the provide params. The -// secret is written to the provided buffer and the returned size is the number -// of bytes written (returning an error if there is insufficient space in the -// buffer). If a nil buffer is passed in, this function returns the minimum -// buffer length needed to store the appropriate data. Note that this differs -// from KEYCTL_READ's behavior which always returns the requested payload size. -// See the full documentation at: -// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html -func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { - return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) -} - -func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { - var msg Msghdr - var rsa RawSockaddrAny - msg.Name = (*byte)(unsafe.Pointer(&rsa)) - msg.Namelen = uint32(SizeofSockaddrAny) - var iov Iovec - if len(p) > 0 { - iov.Base = (*byte)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy byte - if len(oob) > 0 { - // receive at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Control = (*byte)(unsafe.Pointer(&oob[0])) - msg.SetControllen(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = recvmsg(fd, &msg, flags); err != nil { - return - } - oobn = int(msg.Controllen) - recvflags = int(msg.Flags) - // source address is only specified if the socket is unconnected - if rsa.Addr.Family != AF_UNSPEC { - from, err = anyToSockaddr(&rsa) - } - return -} - -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - var err error - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } - var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(ptr)) - msg.Namelen = uint32(salen) - var iov Iovec - if len(p) > 0 { - iov.Base = (*byte)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy byte - if len(oob) > 0 { - // send at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Control = (*byte)(unsafe.Pointer(&oob[0])) - msg.SetControllen(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = sendmsg(fd, &msg, flags); err != nil { - return 0, err - } - if len(oob) > 0 && len(p) == 0 { - n = 0 - } - return n, nil -} - -// BindToDevice binds the socket associated with fd to device. -func BindToDevice(fd int, device string) (err error) { - return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) -} - -//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) - -func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { - // The peek requests are machine-size oriented, so we wrap it - // to retrieve arbitrary-length data. - - // The ptrace syscall differs from glibc's ptrace. - // Peeks returns the word in *data, not as the return value. - - var buf [sizeofPtr]byte - - // Leading edge. PEEKTEXT/PEEKDATA don't require aligned - // access (PEEKUSER warns that it might), but if we don't - // align our reads, we might straddle an unmapped page - // boundary and not get the bytes leading up to the page - // boundary. - n := 0 - if addr%sizeofPtr != 0 { - err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) - if err != nil { - return 0, err - } - n += copy(out, buf[addr%sizeofPtr:]) - out = out[n:] - } - - // Remainder. - for len(out) > 0 { - // We use an internal buffer to guarantee alignment. - // It's not documented if this is necessary, but we're paranoid. - err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) - if err != nil { - return n, err - } - copied := copy(out, buf[0:]) - n += copied - out = out[copied:] - } - - return n, nil -} - -func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { - return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) -} - -func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { - return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) -} - -func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { - return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) -} - -func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { - // As for ptracePeek, we need to align our accesses to deal - // with the possibility of straddling an invalid page. - - // Leading edge. - n := 0 - if addr%sizeofPtr != 0 { - var buf [sizeofPtr]byte - err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) - if err != nil { - return 0, err - } - n += copy(buf[addr%sizeofPtr:], data) - word := *((*uintptr)(unsafe.Pointer(&buf[0]))) - err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word) - if err != nil { - return 0, err - } - data = data[n:] - } - - // Interior. - for len(data) > sizeofPtr { - word := *((*uintptr)(unsafe.Pointer(&data[0]))) - err = ptrace(pokeReq, pid, addr+uintptr(n), word) - if err != nil { - return n, err - } - n += sizeofPtr - data = data[sizeofPtr:] - } - - // Trailing edge. - if len(data) > 0 { - var buf [sizeofPtr]byte - err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) - if err != nil { - return n, err - } - copy(buf[0:], data) - word := *((*uintptr)(unsafe.Pointer(&buf[0]))) - err = ptrace(pokeReq, pid, addr+uintptr(n), word) - if err != nil { - return n, err - } - n += len(data) - } - - return n, nil -} - -func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { - return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) -} - -func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { - return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) -} - -func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { - return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) -} - -func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { - return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) -} - -func PtraceSetOptions(pid int, options int) (err error) { - return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) -} - -func PtraceGetEventMsg(pid int) (msg uint, err error) { - var data _C_long - err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) - msg = uint(data) - return -} - -func PtraceCont(pid int, signal int) (err error) { - return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) -} - -func PtraceSyscall(pid int, signal int) (err error) { - return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) -} - -func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } - -func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } - -func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } - -//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) - -func Reboot(cmd int) (err error) { - return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") -} - -func ReadDirent(fd int, buf []byte) (n int, err error) { - return Getdents(fd, buf) -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - reclen, ok := direntReclen(buf) - if !ok { - return 0, false - } - return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -} - -//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) - -func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { - // Certain file systems get rather angry and EINVAL if you give - // them an empty string of data, rather than NULL. - if data == "" { - return mount(source, target, fstype, flags, nil) - } - datap, err := BytePtrFromString(data) - if err != nil { - return err - } - return mount(source, target, fstype, flags, datap) -} - -// Sendto -// Recvfrom -// Socketpair - -/* - * Direct access - */ -//sys Acct(path string) (err error) -//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) -//sys Adjtimex(buf *Timex) (state int, err error) -//sys Chdir(path string) (err error) -//sys Chroot(path string) (err error) -//sys ClockGettime(clockid int32, time *Timespec) (err error) -//sys Close(fd int) (err error) -//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -//sys Dup(oldfd int) (fd int, err error) -//sys Dup3(oldfd int, newfd int, flags int) (err error) -//sysnb EpollCreate(size int) (fd int, err error) -//sysnb EpollCreate1(flag int) (fd int, err error) -//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) -//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 -//sys Exit(code int) = SYS_EXIT_GROUP -//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) -//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) -//sys Fchdir(fd int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -//sys fcntl(fd int, cmd int, arg int) (val int, err error) -//sys Fdatasync(fd int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fsync(fd int) (err error) -//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 -//sysnb Getpgid(pid int) (pgid int, err error) - -func Getpgrp() (pid int) { - pid, _ = Getpgid(0) - return -} - -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sys Getrandom(buf []byte, flags int) (n int, err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Gettid() (tid int) -//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) -//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) -//sysnb InotifyInit1(flags int) (fd int, err error) -//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) -//sysnb Kill(pid int, sig syscall.Signal) (err error) -//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG -//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) -//sys Listxattr(path string, dest []byte) (sz int, err error) -//sys Llistxattr(path string, dest []byte) (sz int, err error) -//sys Lremovexattr(path string, attr string) (err error) -//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) -//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT -//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 -//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Removexattr(path string, attr string) (err error) -//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) -//sys Setdomainname(p []byte) (err error) -//sys Sethostname(p []byte) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tv *Timeval) (err error) -//sys Setns(fd int, nstype int) (err error) - -// issue 1435. -// On linux Setuid and Setgid only affects the current thread, not the process. -// This does not match what most callers expect so we must return an error -// here rather than letting the caller think that the call succeeded. - -func Setuid(uid int) (err error) { - return EOPNOTSUPP -} - -func Setgid(uid int) (err error) { - return EOPNOTSUPP -} - -//sys Setpriority(which int, who int, prio int) (err error) -//sys Setxattr(path string, attr string, data []byte, flags int) (err error) -//sys Sync() -//sysnb Sysinfo(info *Sysinfo_t) (err error) -//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) -//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) -//sysnb Times(tms *Tms) (ticks uintptr, err error) -//sysnb Umask(mask int) (oldmask int) -//sysnb Uname(buf *Utsname) (err error) -//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 -//sys Unshare(flags int) (err error) -//sys Ustat(dev int, ubuf *Ustat_t) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys exitThread(code int) (err error) = SYS_EXIT -//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ -//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE - -// mmap varies by architecture; see syscall_linux_*.go. -//sys munmap(addr uintptr, length uintptr) (err error) - -var mapper = &mmapper{ - active: make(map[*byte][]byte), - mmap: mmap, - munmap: munmap, -} - -func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { - return mapper.Mmap(fd, offset, length, prot, flags) -} - -func Munmap(b []byte) (err error) { - return mapper.Munmap(b) -} - -//sys Madvise(b []byte, advice int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Mlock(b []byte) (err error) -//sys Munlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Munlockall() (err error) - -// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, -// using the specified flags. -func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { - n, _, errno := Syscall6( - SYS_VMSPLICE, - uintptr(fd), - uintptr(unsafe.Pointer(&iovs[0])), - uintptr(len(iovs)), - uintptr(flags), - 0, - 0, - ) - if errno != 0 { - return 0, syscall.Errno(errno) - } - - return int(n), nil -} - -/* - * Unimplemented - */ -// AfsSyscall -// Alarm -// ArchPrctl -// Brk -// Capget -// Capset -// ClockGetres -// ClockNanosleep -// ClockSettime -// Clone -// CreateModule -// DeleteModule -// EpollCtlOld -// EpollPwait -// EpollWaitOld -// Execve -// Fgetxattr -// Flistxattr -// Fork -// Fremovexattr -// Fsetxattr -// Futex -// GetKernelSyms -// GetMempolicy -// GetRobustList -// GetThreadArea -// Getitimer -// Getpmsg -// IoCancel -// IoDestroy -// IoGetevents -// IoSetup -// IoSubmit -// IoprioGet -// IoprioSet -// KexecLoad -// LookupDcookie -// Mbind -// MigratePages -// Mincore -// ModifyLdt -// Mount -// MovePages -// Mprotect -// MqGetsetattr -// MqNotify -// MqOpen -// MqTimedreceive -// MqTimedsend -// MqUnlink -// Mremap -// Msgctl -// Msgget -// Msgrcv -// Msgsnd -// Msync -// Newfstatat -// Nfsservctl -// Personality -// Pselect6 -// Ptrace -// Putpmsg -// QueryModule -// Quotactl -// Readahead -// Readv -// RemapFilePages -// RestartSyscall -// RtSigaction -// RtSigpending -// RtSigprocmask -// RtSigqueueinfo -// RtSigreturn -// RtSigsuspend -// RtSigtimedwait -// SchedGetPriorityMax -// SchedGetPriorityMin -// SchedGetaffinity -// SchedGetparam -// SchedGetscheduler -// SchedRrGetInterval -// SchedSetaffinity -// SchedSetparam -// SchedYield -// Security -// Semctl -// Semget -// Semop -// Semtimedop -// SetMempolicy -// SetRobustList -// SetThreadArea -// SetTidAddress -// Shmat -// Shmctl -// Shmdt -// Shmget -// Sigaltstack -// Signalfd -// Swapoff -// Swapon -// Sysfs -// TimerCreate -// TimerDelete -// TimerGetoverrun -// TimerGettime -// TimerSettime -// Timerfd -// Tkill (obsolete) -// Tuxcall -// Umount2 -// Uselib -// Utimensat -// Vfork -// Vhangup -// Vserver -// Waitid -// _Sysctl diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go deleted file mode 100644 index 2b881b9..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go +++ /dev/null @@ -1,399 +0,0 @@ -// Copyright 2009 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. - -// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) -// so that go vet can check that they are correct. - -// +build 386,linux - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = int32(nsec / 1e9) - tv.Usec = int32(nsec % 1e9 / 1e3) - return -} - -//sysnb pipe(p *[2]_C_int) (err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -// 64-bit file system and 32-bit uid calls -// (386 default is 32-bit file system and 16-bit uid). -//sys Dup2(oldfd int, newfd int) (err error) -//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 -//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -//sysnb Getegid() (egid int) = SYS_GETEGID32 -//sysnb Geteuid() (euid int) = SYS_GETEUID32 -//sysnb Getgid() (gid int) = SYS_GETGID32 -//sysnb Getuid() (uid int) = SYS_GETUID32 -//sysnb InotifyInit() (fd int, err error) -//sys Ioperm(from int, num int, on int) (err error) -//sys Iopl(level int) (err error) -//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT - -//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Pause() (err error) - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - page := uintptr(offset / 4096) - if offset != int64(page)*4096 { - return 0, EINVAL - } - return mmap2(addr, length, prot, flags, fd, page) -} - -type rlimit32 struct { - Cur uint32 - Max uint32 -} - -//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT - -const rlimInf32 = ^uint32(0) -const rlimInf64 = ^uint64(0) - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, nil, rlim) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - err = getrlimit(resource, &rl) - if err != nil { - return - } - - if rl.Cur == rlimInf32 { - rlim.Cur = rlimInf64 - } else { - rlim.Cur = uint64(rl.Cur) - } - - if rl.Max == rlimInf32 { - rlim.Max = rlimInf64 - } else { - rlim.Max = uint64(rl.Max) - } - return -} - -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - -// Underlying system call writes to newoffset via pointer. -// Implemented in assembly to avoid allocation. -func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - newoffset, errno := seek(fd, offset, whence) - if errno != 0 { - return 0, errno - } - return newoffset, nil -} - -// Vsyscalls on amd64. -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Time(t *Time_t) (tt Time_t, err error) - -//sys Utime(path string, buf *Utimbuf) (err error) - -// On x86 Linux, all the socket calls go through an extra indirection, -// I think because the 5-register system call interface can't handle -// the 6-argument calls like sendto and recvfrom. Instead the -// arguments to the underlying system call are the number below -// and a pointer to an array of uintptr. We hide the pointer in the -// socketcall assembly to avoid allocation on every system call. - -const ( - // see linux/net.h - _SOCKET = 1 - _BIND = 2 - _CONNECT = 3 - _LISTEN = 4 - _ACCEPT = 5 - _GETSOCKNAME = 6 - _GETPEERNAME = 7 - _SOCKETPAIR = 8 - _SEND = 9 - _RECV = 10 - _SENDTO = 11 - _RECVFROM = 12 - _SHUTDOWN = 13 - _SETSOCKOPT = 14 - _GETSOCKOPT = 15 - _SENDMSG = 16 - _RECVMSG = 17 - _ACCEPT4 = 18 - _RECVMMSG = 19 - _SENDMMSG = 20 -) - -func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) -func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - if e != 0 { - err = e - } - return -} - -func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { - _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) - if e != 0 { - err = e - } - return -} - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func socket(domain int, typ int, proto int) (fd int, err error) { - fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e != 0 { - err = e - } - return -} - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) - if e != 0 { - err = e - } - return -} - -func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var base uintptr - if len(p) > 0 { - base = uintptr(unsafe.Pointer(&p[0])) - } - n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - if e != 0 { - err = e - } - return -} - -func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var base uintptr - if len(p) > 0 { - base = uintptr(unsafe.Pointer(&p[0])) - } - _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e != 0 { - err = e - } - return -} - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func Listen(s int, n int) (err error) { - _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func Shutdown(s, how int) (err error) { - _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) - if e != 0 { - err = e - } - return -} - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = e - } - return -} - -func Statfs(path string, buf *Statfs_t) (err error) { - pathp, err := BytePtrFromString(path) - if err != nil { - return err - } - _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = e - } - return -} - -func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go deleted file mode 100644 index 9516a3f..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,linux - -package unix - -//sys Dup2(oldfd int, newfd int) (err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Getuid() (uid int) -//sysnb InotifyInit() (fd int, err error) -//sys Ioperm(from int, num int, on int) (err error) -//sys Iopl(level int) (err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Listen(s int, n int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) - -func Gettimeofday(tv *Timeval) (err error) { - errno := gettimeofday(tv) - if errno != 0 { - return errno - } - return nil -} - -func Getpagesize() int { return 4096 } - -func Time(t *Time_t) (tt Time_t, err error) { - var tv Timeval - errno := gettimeofday(&tv) - if errno != 0 { - return 0, errno - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -//sys Utime(path string, buf *Utimbuf) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = nsec % 1e9 / 1e3 - return -} - -//sysnb pipe(p *[2]_C_int) (err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func (r *PtraceRegs) PC() uint64 { return r.Rip } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go deleted file mode 100644 index 21a4946..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2016 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. - -// +build amd64,linux -// +build !gccgo - -package unix - -import "syscall" - -//go:noescape -func gettimeofday(tv *Timeval) (err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go deleted file mode 100644 index 71d8702..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright 2009 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. - -// +build arm,linux - -package unix - -import ( - "syscall" - "unsafe" -) - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = int32(nsec / 1e9) - tv.Usec = int32(nsec % 1e9 / 1e3) - return -} - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -// Underlying system call writes to newoffset via pointer. -// Implemented in assembly to avoid allocation. -func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - newoffset, errno := seek(fd, offset, whence) - if errno != 0 { - return 0, errno - } - return newoffset, nil -} - -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) - -// 64-bit file system and 32-bit uid calls -// (16-bit uid calls are not always supported in newer kernels) -//sys Dup2(oldfd int, newfd int) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -//sysnb Getegid() (egid int) = SYS_GETEGID32 -//sysnb Geteuid() (euid int) = SYS_GETEUID32 -//sysnb Getgid() (gid int) = SYS_GETGID32 -//sysnb Getuid() (uid int) = SYS_GETUID32 -//sysnb InotifyInit() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -//sys Listen(s int, n int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 - -// Vsyscalls on amd64. -//sysnb Gettimeofday(tv *Timeval) (err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Pause() (err error) - -func Time(t *Time_t) (Time_t, error) { - var tv Timeval - err := Gettimeofday(&tv) - if err != nil { - return 0, err - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -func Utime(path string, buf *Utimbuf) error { - tv := []Timeval{ - {Sec: buf.Actime}, - {Sec: buf.Modtime}, - } - return Utimes(path, tv) -} - -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = e - } - return -} - -func Statfs(path string, buf *Statfs_t) (err error) { - pathp, err := BytePtrFromString(path) - if err != nil { - return err - } - _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = e - } - return -} - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - page := uintptr(offset / 4096) - if offset != int64(page)*4096 { - return 0, EINVAL - } - return mmap2(addr, length, prot, flags, fd, page) -} - -type rlimit32 struct { - Cur uint32 - Max uint32 -} - -//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT - -const rlimInf32 = ^uint32(0) -const rlimInf64 = ^uint64(0) - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, nil, rlim) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - err = getrlimit(resource, &rl) - if err != nil { - return - } - - if rl.Cur == rlimInf32 { - rlim.Cur = rlimInf64 - } else { - rlim.Cur = uint64(rl.Cur) - } - - if rl.Max == rlimInf32 { - rlim.Max = rlimInf64 - } else { - rlim.Max = uint64(rl.Max) - } - return -} - -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - -func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go deleted file mode 100644 index 4a13639..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright 2015 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. - -// +build arm64,linux - -package unix - -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Getuid() (uid int) -//sys Listen(s int, n int) (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) - -func Stat(path string, stat *Stat_t) (err error) { - return Fstatat(AT_FDCWD, path, stat, 0) -} - -func Lchown(path string, uid int, gid int) (err error) { - return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) -} - -func Lstat(path string, stat *Stat_t) (err error) { - return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) -} - -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) - -func Getpagesize() int { return 65536 } - -//sysnb Gettimeofday(tv *Timeval) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = nsec % 1e9 / 1e3 - return -} - -func Time(t *Time_t) (Time_t, error) { - var tv Timeval - err := Gettimeofday(&tv) - if err != nil { - return 0, err - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -func Utime(path string, buf *Utimbuf) error { - tv := []Timeval{ - {Sec: buf.Actime}, - {Sec: buf.Modtime}, - } - return Utimes(path, tv) -} - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func (r *PtraceRegs) PC() uint64 { return r.Pc } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -func InotifyInit() (fd int, err error) { - return InotifyInit1(0) -} - -func Dup2(oldfd int, newfd int) (err error) { - return Dup3(oldfd, newfd, 0) -} - -func Pause() (err error) { - _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove -// these when the deprecated syscalls that the syscall package relies on -// are removed. -const ( - SYS_GETPGRP = 1060 - SYS_UTIMES = 1037 - SYS_FUTIMESAT = 1066 - SYS_PAUSE = 1061 - SYS_USTAT = 1070 - SYS_UTIME = 1063 - SYS_LCHOWN = 1032 - SYS_TIME = 1062 - SYS_EPOLL_CREATE = 1042 - SYS_EPOLL_WAIT = 1069 -) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - var ts *Timespec - if timeout >= 0 { - ts = new(Timespec) - *ts = NsecToTimespec(int64(timeout) * 1e6) - } - if len(fds) == 0 { - return ppoll(nil, 0, ts, nil) - } - return ppoll(&fds[0], len(fds), ts, nil) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go deleted file mode 100644 index 73318e5..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2015 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. - -// +build linux -// +build mips64 mips64le - -package unix - -//sys Dup2(oldfd int, newfd int) (err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Getuid() (uid int) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Listen(s int, n int) (err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) - -func Getpagesize() int { return 65536 } - -//sysnb Gettimeofday(tv *Timeval) (err error) - -func Time(t *Time_t) (tt Time_t, err error) { - var tv Timeval - err = Gettimeofday(&tv) - if err != nil { - return 0, err - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -//sys Utime(path string, buf *Utimbuf) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = nsec % 1e9 / 1e3 - return -} - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func Ioperm(from int, num int, on int) (err error) { - return ENOSYS -} - -func Iopl(level int) (err error) { - return ENOSYS -} - -type stat_t struct { - Dev uint32 - Pad0 [3]int32 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint32 - Pad1 [3]uint32 - Size int64 - Atime uint32 - Atime_nsec uint32 - Mtime uint32 - Mtime_nsec uint32 - Ctime uint32 - Ctime_nsec uint32 - Blksize uint32 - Pad2 uint32 - Blocks int64 -} - -//sys fstat(fd int, st *stat_t) (err error) -//sys lstat(path string, st *stat_t) (err error) -//sys stat(path string, st *stat_t) (err error) - -func Fstat(fd int, s *Stat_t) (err error) { - st := &stat_t{} - err = fstat(fd, st) - fillStat_t(s, st) - return -} - -func Lstat(path string, s *Stat_t) (err error) { - st := &stat_t{} - err = lstat(path, st) - fillStat_t(s, st) - return -} - -func Stat(path string, s *Stat_t) (err error) { - st := &stat_t{} - err = stat(path, st) - fillStat_t(s, st) - return -} - -func fillStat_t(s *Stat_t, st *stat_t) { - s.Dev = st.Dev - s.Ino = st.Ino - s.Mode = st.Mode - s.Nlink = st.Nlink - s.Uid = st.Uid - s.Gid = st.Gid - s.Rdev = st.Rdev - s.Size = st.Size - s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} - s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} - s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} - s.Blksize = st.Blksize - s.Blocks = st.Blocks -} - -func (r *PtraceRegs) PC() uint64 { return r.Epc } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go deleted file mode 100644 index b83d93f..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2016 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. - -// +build linux -// +build mips mipsle - -package unix - -import ( - "syscall" - "unsafe" -) - -func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) - -//sys Dup2(oldfd int, newfd int) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getuid() (uid int) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Listen(s int, n int) (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) - -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) - -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) - -//sysnb InotifyInit() (fd int, err error) -//sys Ioperm(from int, num int, on int) (err error) -//sys Iopl(level int) (err error) - -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Time(t *Time_t) (tt Time_t, err error) - -//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 - -//sys Utime(path string, buf *Utimbuf) (err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Pause() (err error) - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = errnoErr(e) - } - return -} - -func Statfs(path string, buf *Statfs_t) (err error) { - p, err := BytePtrFromString(path) - if err != nil { - return err - } - _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) - if e != 0 { - err = errnoErr(e) - } - return -} - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) - if e != 0 { - err = errnoErr(e) - } - return -} - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int32(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = int32(nsec / 1e9) - tv.Usec = int32(nsec % 1e9 / 1e3) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - page := uintptr(offset / 4096) - if offset != int64(page)*4096 { - return 0, EINVAL - } - return mmap2(addr, length, prot, flags, fd, page) -} - -const rlimInf32 = ^uint32(0) -const rlimInf64 = ^uint64(0) - -type rlimit32 struct { - Cur uint32 - Max uint32 -} - -//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, nil, rlim) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - err = getrlimit(resource, &rl) - if err != nil { - return - } - - if rl.Cur == rlimInf32 { - rlim.Cur = rlimInf64 - } else { - rlim.Cur = uint64(rl.Cur) - } - - if rl.Max == rlimInf32 { - rlim.Max = rlimInf64 - } else { - rlim.Max = uint64(rl.Max) - } - return -} - -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - -func (r *PtraceRegs) PC() uint64 { return r.Epc } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} - -func Getpagesize() int { return 4096 } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go deleted file mode 100644 index 60770f6..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2009 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. - -// +build linux -// +build ppc64 ppc64le - -package unix - -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Dup2(oldfd int, newfd int) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT -//sysnb Getuid() (uid int) -//sysnb InotifyInit() (fd int, err error) -//sys Ioperm(from int, num int, on int) (err error) -//sys Iopl(level int) (err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Listen(s int, n int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2 -//sys Truncate(path string, length int64) (err error) -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) - -func Getpagesize() int { return 65536 } - -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Time(t *Time_t) (tt Time_t, err error) - -//sys Utime(path string, buf *Utimbuf) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = nsec % 1e9 / 1e3 - return -} - -func (r *PtraceRegs) PC() uint64 { return r.Nip } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -//sysnb pipe(p *[2]_C_int) (err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go deleted file mode 100644 index 1708a4b..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +++ /dev/null @@ -1,328 +0,0 @@ -// Copyright 2016 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. - -// +build s390x,linux - -package unix - -import ( - "unsafe" -) - -//sys Dup2(oldfd int, newfd int) (err error) -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Getuid() (uid int) -//sysnb InotifyInit() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) - -func Getpagesize() int { return 4096 } - -//sysnb Gettimeofday(tv *Timeval) (err error) - -func Time(t *Time_t) (tt Time_t, err error) { - var tv Timeval - err = Gettimeofday(&tv) - if err != nil { - return 0, err - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -//sys Utime(path string, buf *Utimbuf) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = nsec % 1e9 / 1e3 - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -func Ioperm(from int, num int, on int) (err error) { - return ENOSYS -} - -func Iopl(level int) (err error) { - return ENOSYS -} - -func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. -// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} - r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// On s390x Linux, all the socket calls go through an extra indirection. -// The arguments to the underlying system call (SYS_SOCKETCALL) are the -// number below and a pointer to an array of uintptr. -const ( - // see linux/net.h - netSocket = 1 - netBind = 2 - netConnect = 3 - netListen = 4 - netAccept = 5 - netGetSockName = 6 - netGetPeerName = 7 - netSocketPair = 8 - netSend = 9 - netRecv = 10 - netSendTo = 11 - netRecvFrom = 12 - netShutdown = 13 - netSetSockOpt = 14 - netGetSockOpt = 15 - netSendMsg = 16 - netRecvMsg = 17 - netAccept4 = 18 - netRecvMMsg = 19 - netSendMMsg = 20 -) - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { - args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} - fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(fd), nil -} - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { - args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} - fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(fd), nil -} - -func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { - args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} - _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { - args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} - _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func socketpair(domain int, typ int, flags int, fd *[2]int32) error { - args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} - _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { - args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} - _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { - args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} - _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func socket(domain int, typ int, proto int) (int, error) { - args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} - fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(fd), nil -} - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { - args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} - _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { - args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} - _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { - var base uintptr - if len(p) > 0 { - base = uintptr(unsafe.Pointer(&p[0])) - } - args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} - n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(n), nil -} - -func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { - var base uintptr - if len(p) > 0 { - base = uintptr(unsafe.Pointer(&p[0])) - } - args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} - _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func recvmsg(s int, msg *Msghdr, flags int) (int, error) { - args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} - n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(n), nil -} - -func sendmsg(s int, msg *Msghdr, flags int) (int, error) { - args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} - n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return 0, err - } - return int(n), nil -} - -func Listen(s int, n int) error { - args := [2]uintptr{uintptr(s), uintptr(n)} - _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -func Shutdown(s, how int) error { - args := [2]uintptr{uintptr(s), uintptr(how)} - _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) - if err != 0 { - return err - } - return nil -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go deleted file mode 100644 index 20b7454..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2009 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. - -// +build sparc64,linux - -package unix - -import ( - "sync/atomic" - "syscall" -) - -//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -//sys Dup2(oldfd int, newfd int) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, buf *Statfs_t) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (euid int) -//sysnb Getgid() (gid int) -//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Getuid() (uid int) -//sysnb InotifyInit() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Listen(s int, n int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -//sys Setfsgid(gid int) (err error) -//sys Setfsuid(uid int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sys Shutdown(fd int, how int) (err error) -//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, buf *Statfs_t) (err error) -//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -//sys Truncate(path string, length int64) (err error) -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -//sysnb setgroups(n int, list *_Gid_t) (err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -//sysnb socket(domain int, typ int, proto int) (fd int, err error) -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) - -func sysconf(name int) (n int64, err syscall.Errno) - -// pageSize caches the value of Getpagesize, since it can't change -// once the system is booted. -var pageSize int64 // accessed atomically - -func Getpagesize() int { - n := atomic.LoadInt64(&pageSize) - if n == 0 { - n, _ = sysconf(_SC_PAGESIZE) - atomic.StoreInt64(&pageSize, n) - } - return int(n) -} - -func Ioperm(from int, num int, on int) (err error) { - return ENOSYS -} - -func Iopl(level int) (err error) { - return ENOSYS -} - -//sysnb Gettimeofday(tv *Timeval) (err error) - -func Time(t *Time_t) (tt Time_t, err error) { - var tv Timeval - err = Gettimeofday(&tv) - if err != nil { - return 0, err - } - if t != nil { - *t = Time_t(tv.Sec) - } - return Time_t(tv.Sec), nil -} - -//sys Utime(path string, buf *Utimbuf) (err error) - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Sec = nsec / 1e9 - tv.Usec = int32(nsec % 1e9 / 1e3) - return -} - -func (r *PtraceRegs) PC() uint64 { return r.Tpc } - -func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) -} - -//sysnb pipe(p *[2]_C_int) (err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) - -func Poll(fds []PollFd, timeout int) (n int, err error) { - if len(fds) == 0 { - return poll(nil, 0, timeout) - } - return poll(&fds[0], len(fds), timeout) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go deleted file mode 100644 index 01f6a48..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright 2009,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. - -// NetBSD system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_bsd.go or syscall_unix.go. - -package unix - -import ( - "syscall" - "unsafe" -) - -type SockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 - raw RawSockaddrDatalink -} - -func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) - -func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { - var olen uintptr - - // Get a list of all sysctl nodes below the given MIB by performing - // a sysctl for the given MIB with CTL_QUERY appended. - mib = append(mib, CTL_QUERY) - qnode := Sysctlnode{Flags: SYSCTL_VERS_1} - qp := (*byte)(unsafe.Pointer(&qnode)) - sz := unsafe.Sizeof(qnode) - if err = sysctl(mib, nil, &olen, qp, sz); err != nil { - return nil, err - } - - // Now that we know the size, get the actual nodes. - nodes = make([]Sysctlnode, olen/sz) - np := (*byte)(unsafe.Pointer(&nodes[0])) - if err = sysctl(mib, np, &olen, qp, sz); err != nil { - return nil, err - } - - return nodes, nil -} - -func nametomib(name string) (mib []_C_int, err error) { - - // Split name into components. - var parts []string - last := 0 - for i := 0; i < len(name); i++ { - if name[i] == '.' { - parts = append(parts, name[last:i]) - last = i + 1 - } - } - parts = append(parts, name[last:]) - - // Discover the nodes and construct the MIB OID. - for partno, part := range parts { - nodes, err := sysctlNodes(mib) - if err != nil { - return nil, err - } - for _, node := range nodes { - n := make([]byte, 0) - for i := range node.Name { - if node.Name[i] != 0 { - n = append(n, byte(node.Name[i])) - } - } - if string(n) == part { - mib = append(mib, _C_int(node.Num)) - break - } - } - if len(mib) != partno+1 { - return nil, EINVAL - } - } - - return mib, nil -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -} - -//sysnb pipe() (fd1 int, fd2 int, err error) -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - p[0], p[1], err = pipe() - return -} - -//sys getdents(fd int, buf []byte) (n int, err error) -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - return getdents(fd, buf) -} - -// TODO -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - return -1, ENOSYS -} - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chflags(path string, flags int) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(from int, to int) (err error) -//sys Exit(code int) -//sys Fchdir(fd int) (err error) -//sys Fchflags(fd int, flags int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) -//sysnb Getgid() (gid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgrp int) -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Getuid() (uid int) -//sys Issetugid() (tainted bool) -//sys Kill(pid int, signum syscall.Signal) (err error) -//sys Kqueue() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Revoke(path string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -//sysnb Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tp *Timeval) (err error) -//sysnb Setuid(uid int) (err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sys Truncate(path string, length int64) (err error) -//sys Umask(newmask int) (oldmask int) -//sys Unlink(path string) (err error) -//sys Unmount(path string, flags int) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE - -/* - * Unimplemented - */ -// ____semctl13 -// __clone -// __fhopen40 -// __fhstat40 -// __fhstatvfs140 -// __fstat30 -// __getcwd -// __getfh30 -// __getlogin -// __lstat30 -// __mount50 -// __msgctl13 -// __msync13 -// __ntp_gettime30 -// __posix_chown -// __posix_fadvise50 -// __posix_fchown -// __posix_lchown -// __posix_rename -// __setlogin -// __shmctl13 -// __sigaction_sigtramp -// __sigaltstack14 -// __sigpending14 -// __sigprocmask14 -// __sigsuspend14 -// __sigtimedwait -// __stat30 -// __syscall -// __vfork14 -// _ksem_close -// _ksem_destroy -// _ksem_getvalue -// _ksem_init -// _ksem_open -// _ksem_post -// _ksem_trywait -// _ksem_unlink -// _ksem_wait -// _lwp_continue -// _lwp_create -// _lwp_ctl -// _lwp_detach -// _lwp_exit -// _lwp_getname -// _lwp_getprivate -// _lwp_kill -// _lwp_park -// _lwp_self -// _lwp_setname -// _lwp_setprivate -// _lwp_suspend -// _lwp_unpark -// _lwp_unpark_all -// _lwp_wait -// _lwp_wakeup -// _pset_bind -// _sched_getaffinity -// _sched_getparam -// _sched_setaffinity -// _sched_setparam -// acct -// aio_cancel -// aio_error -// aio_fsync -// aio_read -// aio_return -// aio_suspend -// aio_write -// break -// clock_getres -// clock_gettime -// clock_settime -// compat_09_ogetdomainname -// compat_09_osetdomainname -// compat_09_ouname -// compat_10_omsgsys -// compat_10_osemsys -// compat_10_oshmsys -// compat_12_fstat12 -// compat_12_getdirentries -// compat_12_lstat12 -// compat_12_msync -// compat_12_oreboot -// compat_12_oswapon -// compat_12_stat12 -// compat_13_sigaction13 -// compat_13_sigaltstack13 -// compat_13_sigpending13 -// compat_13_sigprocmask13 -// compat_13_sigreturn13 -// compat_13_sigsuspend13 -// compat_14___semctl -// compat_14_msgctl -// compat_14_shmctl -// compat_16___sigaction14 -// compat_16___sigreturn14 -// compat_20_fhstatfs -// compat_20_fstatfs -// compat_20_getfsstat -// compat_20_statfs -// compat_30___fhstat30 -// compat_30___fstat13 -// compat_30___lstat13 -// compat_30___stat13 -// compat_30_fhopen -// compat_30_fhstat -// compat_30_fhstatvfs1 -// compat_30_getdents -// compat_30_getfh -// compat_30_ntp_gettime -// compat_30_socket -// compat_40_mount -// compat_43_fstat43 -// compat_43_lstat43 -// compat_43_oaccept -// compat_43_ocreat -// compat_43_oftruncate -// compat_43_ogetdirentries -// compat_43_ogetdtablesize -// compat_43_ogethostid -// compat_43_ogethostname -// compat_43_ogetkerninfo -// compat_43_ogetpagesize -// compat_43_ogetpeername -// compat_43_ogetrlimit -// compat_43_ogetsockname -// compat_43_okillpg -// compat_43_olseek -// compat_43_ommap -// compat_43_oquota -// compat_43_orecv -// compat_43_orecvfrom -// compat_43_orecvmsg -// compat_43_osend -// compat_43_osendmsg -// compat_43_osethostid -// compat_43_osethostname -// compat_43_osetrlimit -// compat_43_osigblock -// compat_43_osigsetmask -// compat_43_osigstack -// compat_43_osigvec -// compat_43_otruncate -// compat_43_owait -// compat_43_stat43 -// execve -// extattr_delete_fd -// extattr_delete_file -// extattr_delete_link -// extattr_get_fd -// extattr_get_file -// extattr_get_link -// extattr_list_fd -// extattr_list_file -// extattr_list_link -// extattr_set_fd -// extattr_set_file -// extattr_set_link -// extattrctl -// fchroot -// fdatasync -// fgetxattr -// fktrace -// flistxattr -// fork -// fremovexattr -// fsetxattr -// fstatvfs1 -// fsync_range -// getcontext -// getitimer -// getvfsstat -// getxattr -// ioctl -// ktrace -// lchflags -// lchmod -// lfs_bmapv -// lfs_markv -// lfs_segclean -// lfs_segwait -// lgetxattr -// lio_listio -// listxattr -// llistxattr -// lremovexattr -// lseek -// lsetxattr -// lutimes -// madvise -// mincore -// minherit -// modctl -// mq_close -// mq_getattr -// mq_notify -// mq_open -// mq_receive -// mq_send -// mq_setattr -// mq_timedreceive -// mq_timedsend -// mq_unlink -// mremap -// msgget -// msgrcv -// msgsnd -// nfssvc -// ntp_adjtime -// pmc_control -// pmc_get_info -// poll -// pollts -// preadv -// profil -// pselect -// pset_assign -// pset_create -// pset_destroy -// ptrace -// pwritev -// quotactl -// rasctl -// readv -// reboot -// removexattr -// sa_enable -// sa_preempt -// sa_register -// sa_setconcurrency -// sa_stacks -// sa_yield -// sbrk -// sched_yield -// semconfig -// semget -// semop -// setcontext -// setitimer -// setxattr -// shmat -// shmdt -// shmget -// sstk -// statvfs1 -// swapctl -// sysarch -// syscall -// timer_create -// timer_delete -// timer_getoverrun -// timer_gettime -// timer_settime -// undelete -// utrace -// uuidgen -// vadvise -// vfork -// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go deleted file mode 100644 index afaca09..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2009 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. - -// +build 386,netbsd - -package unix - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int64(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = uint32(mode) - k.Flags = uint32(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go deleted file mode 100644 index a6ff04c..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,netbsd - -package unix - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int64(nsec / 1e9) - ts.Nsec = int64(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = uint32(mode) - k.Flags = uint32(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go deleted file mode 100644 index 68a6969..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2013 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. - -// +build arm,netbsd - -package unix - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int64(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = uint32(mode) - k.Flags = uint32(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go deleted file mode 100644 index 530792e..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 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. - -// +build dragonfly freebsd netbsd openbsd - -package unix - -const ImplementsGetwd = false - -func Getwd() (string, error) { return "", ENOTSUP } diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go deleted file mode 100644 index c0d2b6c..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright 2009,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. - -// OpenBSD system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_bsd.go or syscall_unix.go. - -package unix - -import ( - "syscall" - "unsafe" -) - -type SockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [24]int8 - raw RawSockaddrDatalink -} - -func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) - -func nametomib(name string) (mib []_C_int, err error) { - - // Perform lookup via a binary search - left := 0 - right := len(sysctlMib) - 1 - for { - idx := left + (right-left)/2 - switch { - case name == sysctlMib[idx].ctlname: - return sysctlMib[idx].ctloid, nil - case name > sysctlMib[idx].ctlname: - left = idx + 1 - default: - right = idx - 1 - } - if left > right { - break - } - } - return nil, EINVAL -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -} - -//sysnb pipe(p *[2]_C_int) (err error) -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return -} - -//sys getdents(fd int, buf []byte) (n int, err error) -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - return getdents(fd, buf) -} - -// TODO -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - return -1, ENOSYS -} - -func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { - var _p0 unsafe.Pointer - var bufsize uintptr - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) - } - r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chflags(path string, flags int) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(from int, to int) (err error) -//sys Exit(code int) -//sys Fchdir(fd int) (err error) -//sys Fchflags(fd int, flags int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Flock(fd int, how int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatfs(fd int, stat *Statfs_t) (err error) -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) -//sysnb Getgid() (gid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgrp int) -//sysnb Getpid() (pid int) -//sysnb Getppid() (ppid int) -//sys Getpriority(which int, who int) (prio int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Getsid(pid int) (sid int, err error) -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Getuid() (uid int) -//sys Issetugid() (tainted bool) -//sys Kill(pid int, signum syscall.Signal) (err error) -//sys Kqueue() (fd int, err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Revoke(path string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -//sysnb Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sys Setlogin(name string) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -//sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Settimeofday(tp *Timeval) (err error) -//sysnb Setuid(uid int) (err error) -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statfs(path string, stat *Statfs_t) (err error) -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sys Truncate(path string, length int64) (err error) -//sys Umask(newmask int) (oldmask int) -//sys Unlink(path string) (err error) -//sys Unmount(path string, flags int) (err error) -//sys write(fd int, p []byte) (n int, err error) -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE - -/* - * Unimplemented - */ -// __getcwd -// __semctl -// __syscall -// __sysctl -// adjfreq -// break -// clock_getres -// clock_gettime -// clock_settime -// closefrom -// execve -// faccessat -// fchmodat -// fchownat -// fcntl -// fhopen -// fhstat -// fhstatfs -// fork -// fstatat -// futimens -// getfh -// getgid -// getitimer -// getlogin -// getresgid -// getresuid -// getrtable -// getthrid -// ioctl -// ktrace -// lfs_bmapv -// lfs_markv -// lfs_segclean -// lfs_segwait -// linkat -// mincore -// minherit -// mkdirat -// mkfifoat -// mknodat -// mount -// mquery -// msgctl -// msgget -// msgrcv -// msgsnd -// nfssvc -// nnpfspioctl -// openat -// poll -// preadv -// profil -// pwritev -// quotactl -// readlinkat -// readv -// reboot -// renameat -// rfork -// sched_yield -// semget -// semop -// setgroups -// setitimer -// setrtable -// setsockopt -// shmat -// shmctl -// shmdt -// shmget -// sigaction -// sigaltstack -// sigpending -// sigprocmask -// sigreturn -// sigsuspend -// symlinkat -// sysarch -// syscall -// threxit -// thrsigdivert -// thrsleep -// thrwakeup -// unlinkat -// utimensat -// vfork -// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go deleted file mode 100644 index a66ddc5..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2009 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. - -// +build 386,openbsd - -package unix - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = int64(nsec / 1e9) - ts.Nsec = int32(nsec % 1e9) - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = int32(nsec % 1e9 / 1e3) - tv.Sec = int64(nsec / 1e9) - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint32(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint32(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go deleted file mode 100644 index 0776c1f..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,openbsd - -package unix - -func Getpagesize() int { return 4096 } - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = nsec % 1e9 / 1e3 - tv.Sec = nsec / 1e9 - return -} - -func SetKevent(k *Kevent_t, fd, mode, flags int) { - k.Ident = uint64(fd) - k.Filter = int16(mode) - k.Flags = uint16(flags) -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go deleted file mode 100644 index 4b8ddab..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ /dev/null @@ -1,715 +0,0 @@ -// Copyright 2009 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. - -// Solaris system calls. -// This file is compiled as ordinary Go code, -// but it is also input to mksyscall, -// which parses the //sys lines and generates system call stubs. -// Note that sometimes we use a lowercase //sys name and wrap -// it in our own nicer implementation, either here or in -// syscall_solaris.go or syscall_unix.go. - -package unix - -import ( - "sync/atomic" - "syscall" - "unsafe" -) - -// Implemented in runtime/syscall_solaris.go. -type syscallFunc uintptr - -func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) - -type SockaddrDatalink struct { - Family uint16 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [244]int8 - raw RawSockaddrDatalink -} - -func clen(n []byte) int { - for i := 0; i < len(n); i++ { - if n[i] == 0 { - return i - } - } - return len(n) -} - -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -} - -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -} - -func direntNamlen(buf []byte) (uint64, bool) { - reclen, ok := direntReclen(buf) - if !ok { - return 0, false - } - return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -} - -//sysnb pipe(p *[2]_C_int) (n int, err error) - -func Pipe(p []int) (err error) { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - n, err := pipe(&pp) - if n != 0 { - return err - } - p[0] = int(pp[0]) - p[1] = int(pp[1]) - return nil -} - -func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Family = AF_INET - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -} - -func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { - if sa.Port < 0 || sa.Port > 0xFFFF { - return nil, 0, EINVAL - } - sa.raw.Family = AF_INET6 - p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) - p[0] = byte(sa.Port >> 8) - p[1] = byte(sa.Port) - sa.raw.Scope_id = sa.ZoneId - for i := 0; i < len(sa.Addr); i++ { - sa.raw.Addr[i] = sa.Addr[i] - } - return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -} - -func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { - name := sa.Name - n := len(name) - if n >= len(sa.raw.Path) { - return nil, 0, EINVAL - } - sa.raw.Family = AF_UNIX - for i := 0; i < n; i++ { - sa.raw.Path[i] = int8(name[i]) - } - // length is family (uint16), name, NUL. - sl := _Socklen(2) - if n > 0 { - sl += _Socklen(n) + 1 - } - if sa.raw.Path[0] == '@' { - sa.raw.Path[0] = 0 - // Don't count trailing NUL for abstract address. - sl-- - } - - return unsafe.Pointer(&sa.raw), sl, nil -} - -//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname - -func Getsockname(fd int) (sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - if err = getsockname(fd, &rsa, &len); err != nil { - return - } - return anyToSockaddr(&rsa) -} - -const ImplementsGetwd = true - -//sys Getcwd(buf []byte) (n int, err error) - -func Getwd() (wd string, err error) { - var buf [PathMax]byte - // Getcwd will return an error if it failed for any reason. - _, err = Getcwd(buf[0:]) - if err != nil { - return "", err - } - n := clen(buf[:]) - if n < 1 { - return "", EINVAL - } - return string(buf[:n]), nil -} - -/* - * Wrapped - */ - -//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -//sysnb setgroups(ngid int, gid *_Gid_t) (err error) - -func Getgroups() (gids []int, err error) { - n, err := getgroups(0, nil) - // Check for error and sanity check group count. Newer versions of - // Solaris allow up to 1024 (NGROUPS_MAX). - if n < 0 || n > 1024 { - if err != nil { - return nil, err - } - return nil, EINVAL - } else if n == 0 { - return nil, nil - } - - a := make([]_Gid_t, n) - n, err = getgroups(n, &a[0]) - if n == -1 { - return nil, err - } - gids = make([]int, n) - for i, v := range a[0:n] { - gids[i] = int(v) - } - return -} - -func Setgroups(gids []int) (err error) { - if len(gids) == 0 { - return setgroups(0, nil) - } - - a := make([]_Gid_t, len(gids)) - for i, v := range gids { - a[i] = _Gid_t(v) - } - return setgroups(len(a), &a[0]) -} - -func ReadDirent(fd int, buf []byte) (n int, err error) { - // Final argument is (basep *uintptr) and the syscall doesn't take nil. - // TODO(rsc): Can we use a single global basep for all calls? - return Getdents(fd, buf, new(uintptr)) -} - -// Wait status is 7 bits at bottom, either 0 (exited), -// 0x7F (stopped), or a signal number that caused an exit. -// The 0x80 bit is whether there was a core dump. -// An extra number (exit code, signal causing a stop) -// is in the high bits. - -type WaitStatus uint32 - -const ( - mask = 0x7F - core = 0x80 - shift = 8 - - exited = 0 - stopped = 0x7F -) - -func (w WaitStatus) Exited() bool { return w&mask == exited } - -func (w WaitStatus) ExitStatus() int { - if w&mask != exited { - return -1 - } - return int(w >> shift) -} - -func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } - -func (w WaitStatus) Signal() syscall.Signal { - sig := syscall.Signal(w & mask) - if sig == stopped || sig == 0 { - return -1 - } - return sig -} - -func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } - -func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } - -func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } - -func (w WaitStatus) StopSignal() syscall.Signal { - if !w.Stopped() { - return -1 - } - return syscall.Signal(w>>shift) & 0xFF -} - -func (w WaitStatus) TrapCause() int { return -1 } - -//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) - -func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { - var status _C_int - rpid, err := wait4(int32(pid), &status, options, rusage) - wpid := int(rpid) - if wpid == -1 { - return wpid, err - } - if wstatus != nil { - *wstatus = WaitStatus(status) - } - return wpid, nil -} - -//sys gethostname(buf []byte) (n int, err error) - -func Gethostname() (name string, err error) { - var buf [MaxHostNameLen]byte - n, err := gethostname(buf[:]) - if n != 0 { - return "", err - } - n = clen(buf[:]) - if n < 1 { - return "", EFAULT - } - return string(buf[:n]), nil -} - -//sys utimes(path string, times *[2]Timeval) (err error) - -func Utimes(path string, tv []Timeval) (err error) { - if tv == nil { - return utimes(path, nil) - } - if len(tv) != 2 { - return EINVAL - } - return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) - -func UtimesNano(path string, ts []Timespec) error { - if ts == nil { - return utimensat(AT_FDCWD, path, nil, 0) - } - if len(ts) != 2 { - return EINVAL - } - return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -} - -func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { - if ts == nil { - return utimensat(dirfd, path, nil, flags) - } - if len(ts) != 2 { - return EINVAL - } - return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -} - -//sys fcntl(fd int, cmd int, arg int) (val int, err error) - -// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) - if e1 != 0 { - return e1 - } - return nil -} - -//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) - -func Futimesat(dirfd int, path string, tv []Timeval) error { - pathp, err := BytePtrFromString(path) - if err != nil { - return err - } - if tv == nil { - return futimesat(dirfd, pathp, nil) - } - if len(tv) != 2 { - return EINVAL - } - return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -// Solaris doesn't have an futimes function because it allows NULL to be -// specified as the path for futimesat. However, Go doesn't like -// NULL-style string interfaces, so this simple wrapper is provided. -func Futimes(fd int, tv []Timeval) error { - if tv == nil { - return futimesat(fd, nil, nil) - } - if len(tv) != 2 { - return EINVAL - } - return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -} - -func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { - switch rsa.Addr.Family { - case AF_UNIX: - pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) - sa := new(SockaddrUnix) - // Assume path ends at NUL. - // This is not technically the Solaris semantics for - // abstract Unix domain sockets -- they are supposed - // to be uninterpreted fixed-size binary blobs -- but - // everyone uses this convention. - n := 0 - for n < len(pp.Path) && pp.Path[n] != 0 { - n++ - } - bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - - case AF_INET: - pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet4) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - - case AF_INET6: - pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) - sa := new(SockaddrInet6) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - sa.ZoneId = pp.Scope_id - for i := 0; i < len(sa.Addr); i++ { - sa.Addr[i] = pp.Addr[i] - } - return sa, nil - } - return nil, EAFNOSUPPORT -} - -//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept - -func Accept(fd int) (nfd int, sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - nfd, err = accept(fd, &rsa, &len) - if nfd == -1 { - return - } - sa, err = anyToSockaddr(&rsa) - if err != nil { - Close(nfd) - nfd = 0 - } - return -} - -//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg - -func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { - var msg Msghdr - var rsa RawSockaddrAny - msg.Name = (*byte)(unsafe.Pointer(&rsa)) - msg.Namelen = uint32(SizeofSockaddrAny) - var iov Iovec - if len(p) > 0 { - iov.Base = (*int8)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy int8 - if len(oob) > 0 { - // receive at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Accrightslen = int32(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = recvmsg(fd, &msg, flags); n == -1 { - return - } - oobn = int(msg.Accrightslen) - // source address is only specified if the socket is unconnected - if rsa.Addr.Family != AF_UNSPEC { - from, err = anyToSockaddr(&rsa) - } - return -} - -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } - var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(ptr)) - msg.Namelen = uint32(salen) - var iov Iovec - if len(p) > 0 { - iov.Base = (*int8)(unsafe.Pointer(&p[0])) - iov.SetLen(len(p)) - } - var dummy int8 - if len(oob) > 0 { - // send at least one normal byte - if len(p) == 0 { - iov.Base = &dummy - iov.SetLen(1) - } - msg.Accrightslen = int32(len(oob)) - } - msg.Iov = &iov - msg.Iovlen = 1 - if n, err = sendmsg(fd, &msg, flags); err != nil { - return 0, err - } - if len(oob) > 0 && len(p) == 0 { - n = 0 - } - return n, nil -} - -//sys acct(path *byte) (err error) - -func Acct(path string) (err error) { - if len(path) == 0 { - // Assume caller wants to disable accounting. - return acct(nil) - } - - pathp, err := BytePtrFromString(path) - if err != nil { - return err - } - return acct(pathp) -} - -/* - * Expose the ioctl function - */ - -//sys ioctl(fd int, req uint, arg uintptr) (err error) - -func IoctlSetInt(fd int, req uint, value int) (err error) { - return ioctl(fd, req, uintptr(value)) -} - -func IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) { - return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -} - -func IoctlSetTermios(fd int, req uint, value *Termios) (err error) { - return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -} - -func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { - return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -} - -func IoctlGetInt(fd int, req uint) (int, error) { - var value int - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) - return value, err -} - -func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { - var value Winsize - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) - return &value, err -} - -func IoctlGetTermios(fd int, req uint) (*Termios, error) { - var value Termios - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) - return &value, err -} - -func IoctlGetTermio(fd int, req uint) (*Termio, error) { - var value Termio - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) - return &value, err -} - -/* - * Exposed directly - */ -//sys Access(path string, mode uint32) (err error) -//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -//sys Chdir(path string) (err error) -//sys Chmod(path string, mode uint32) (err error) -//sys Chown(path string, uid int, gid int) (err error) -//sys Chroot(path string) (err error) -//sys Close(fd int) (err error) -//sys Creat(path string, mode uint32) (fd int, err error) -//sys Dup(fd int) (nfd int, err error) -//sys Dup2(oldfd int, newfd int) (err error) -//sys Exit(code int) -//sys Fchdir(fd int) (err error) -//sys Fchmod(fd int, mode uint32) (err error) -//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -//sys Fchown(fd int, uid int, gid int) (err error) -//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -//sys Fdatasync(fd int) (err error) -//sys Fpathconf(fd int, name int) (val int, err error) -//sys Fstat(fd int, stat *Stat_t) (err error) -//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) -//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) -//sysnb Getgid() (gid int) -//sysnb Getpid() (pid int) -//sysnb Getpgid(pid int) (pgid int, err error) -//sysnb Getpgrp() (pgid int, err error) -//sys Geteuid() (euid int) -//sys Getegid() (egid int) -//sys Getppid() (ppid int) -//sys Getpriority(which int, who int) (n int, err error) -//sysnb Getrlimit(which int, lim *Rlimit) (err error) -//sysnb Getrusage(who int, rusage *Rusage) (err error) -//sysnb Gettimeofday(tv *Timeval) (err error) -//sysnb Getuid() (uid int) -//sys Kill(pid int, signum syscall.Signal) (err error) -//sys Lchown(path string, uid int, gid int) (err error) -//sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten -//sys Lstat(path string, stat *Stat_t) (err error) -//sys Madvise(b []byte, advice int) (err error) -//sys Mkdir(path string, mode uint32) (err error) -//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -//sys Mkfifo(path string, mode uint32) (err error) -//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) -//sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) -//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -//sys Open(path string, mode int, perm uint32) (fd int, err error) -//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) -//sys Pathconf(path string, name int) (val int, err error) -//sys Pause() (err error) -//sys Pread(fd int, p []byte, offset int64) (n int, err error) -//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys read(fd int, p []byte) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) -//sys Rename(from string, to string) (err error) -//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -//sys Rmdir(path string) (err error) -//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek -//sysnb Setegid(egid int) (err error) -//sysnb Seteuid(euid int) (err error) -//sysnb Setgid(gid int) (err error) -//sys Sethostname(p []byte) (err error) -//sysnb Setpgid(pid int, pgid int) (err error) -//sys Setpriority(which int, who int, prio int) (err error) -//sysnb Setregid(rgid int, egid int) (err error) -//sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) -//sysnb Setsid() (pid int, err error) -//sysnb Setuid(uid int) (err error) -//sys Shutdown(s int, how int) (err error) = libsocket.shutdown -//sys Stat(path string, stat *Stat_t) (err error) -//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) -//sys Symlink(path string, link string) (err error) -//sys Sync() (err error) -//sysnb Times(tms *Tms) (ticks uintptr, err error) -//sys Truncate(path string, length int64) (err error) -//sys Fsync(fd int) (err error) -//sys Ftruncate(fd int, length int64) (err error) -//sys Umask(mask int) (oldmask int) -//sysnb Uname(buf *Utsname) (err error) -//sys Unmount(target string, flags int) (err error) = libc.umount -//sys Unlink(path string) (err error) -//sys Unlinkat(dirfd int, path string, flags int) (err error) -//sys Ustat(dev int, ubuf *Ustat_t) (err error) -//sys Utime(path string, buf *Utimbuf) (err error) -//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind -//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect -//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -//sys munmap(addr uintptr, length uintptr) (err error) -//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto -//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket -//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair -//sys write(fd int, p []byte) (n int, err error) -//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt -//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername -//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt -//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -var mapper = &mmapper{ - active: make(map[*byte][]byte), - mmap: mmap, - munmap: munmap, -} - -func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { - return mapper.Mmap(fd, offset, length, prot, flags) -} - -func Munmap(b []byte) (err error) { - return mapper.Munmap(b) -} - -//sys sysconf(name int) (n int64, err error) - -// pageSize caches the value of Getpagesize, since it can't change -// once the system is booted. -var pageSize int64 // accessed atomically - -func Getpagesize() int { - n := atomic.LoadInt64(&pageSize) - if n == 0 { - n, _ = sysconf(_SC_PAGESIZE) - atomic.StoreInt64(&pageSize, n) - } - return int(n) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go deleted file mode 100644 index 5aff62c..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2009 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. - -// +build amd64,solaris - -package unix - -func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } - -func NsecToTimespec(nsec int64) (ts Timespec) { - ts.Sec = nsec / 1e9 - ts.Nsec = nsec % 1e9 - return -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - nsec += 999 // round up to microsecond - tv.Usec = nsec % 1e9 / 1e3 - tv.Sec = int64(nsec / 1e9) - return -} - -func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) -} - -func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) -} - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - // TODO(aram): implement this, see issue 5847. - panic("unimplemented") -} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go deleted file mode 100644 index 3ed8a91..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_unix.go +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright 2009 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package unix - -import ( - "runtime" - "sync" - "syscall" - "unsafe" -) - -var ( - Stdin = 0 - Stdout = 1 - Stderr = 2 -) - -const ( - darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8 - dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8 - netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4 - solaris64Bit = runtime.GOOS == "solaris" && sizeofPtr == 8 -) - -// Do the interface allocations only once for common -// Errno values. -var ( - errEAGAIN error = syscall.EAGAIN - errEINVAL error = syscall.EINVAL - errENOENT error = syscall.ENOENT -) - -// errnoErr returns common boxed Errno values, to prevent -// allocations at runtime. -func errnoErr(e syscall.Errno) error { - switch e { - case 0: - return nil - case EAGAIN: - return errEAGAIN - case EINVAL: - return errEINVAL - case ENOENT: - return errENOENT - } - return e -} - -// Mmap manager, for use by operating system-specific implementations. - -type mmapper struct { - sync.Mutex - active map[*byte][]byte // active mappings; key is last byte in mapping - mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) - munmap func(addr uintptr, length uintptr) error -} - -func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { - if length <= 0 { - return nil, EINVAL - } - - // Map the requested memory. - addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) - if errno != nil { - return nil, errno - } - - // Slice memory layout - var sl = struct { - addr uintptr - len int - cap int - }{addr, length, length} - - // Use unsafe to turn sl into a []byte. - b := *(*[]byte)(unsafe.Pointer(&sl)) - - // Register mapping in m and return it. - p := &b[cap(b)-1] - m.Lock() - defer m.Unlock() - m.active[p] = b - return b, nil -} - -func (m *mmapper) Munmap(data []byte) (err error) { - if len(data) == 0 || len(data) != cap(data) { - return EINVAL - } - - // Find the base of the mapping. - p := &data[cap(data)-1] - m.Lock() - defer m.Unlock() - b := m.active[p] - if b == nil || &b[0] != &data[0] { - return EINVAL - } - - // Unmap the memory and update m. - if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { - return errno - } - delete(m.active, p) - return nil -} - -func Read(fd int, p []byte) (n int, err error) { - n, err = read(fd, p) - if raceenabled { - if n > 0 { - raceWriteRange(unsafe.Pointer(&p[0]), n) - } - if err == nil { - raceAcquire(unsafe.Pointer(&ioSync)) - } - } - return -} - -func Write(fd int, p []byte) (n int, err error) { - if raceenabled { - raceReleaseMerge(unsafe.Pointer(&ioSync)) - } - n, err = write(fd, p) - if raceenabled && n > 0 { - raceReadRange(unsafe.Pointer(&p[0]), n) - } - return -} - -// For testing: clients can set this flag to force -// creation of IPv6 sockets to return EAFNOSUPPORT. -var SocketDisableIPv6 bool - -type Sockaddr interface { - sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs -} - -type SockaddrInet4 struct { - Port int - Addr [4]byte - raw RawSockaddrInet4 -} - -type SockaddrInet6 struct { - Port int - ZoneId uint32 - Addr [16]byte - raw RawSockaddrInet6 -} - -type SockaddrUnix struct { - Name string - raw RawSockaddrUnix -} - -func Bind(fd int, sa Sockaddr) (err error) { - ptr, n, err := sa.sockaddr() - if err != nil { - return err - } - return bind(fd, ptr, n) -} - -func Connect(fd int, sa Sockaddr) (err error) { - ptr, n, err := sa.sockaddr() - if err != nil { - return err - } - return connect(fd, ptr, n) -} - -func Getpeername(fd int) (sa Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - if err = getpeername(fd, &rsa, &len); err != nil { - return - } - return anyToSockaddr(&rsa) -} - -func GetsockoptInt(fd, level, opt int) (value int, err error) { - var n int32 - vallen := _Socklen(4) - err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) - return int(n), err -} - -func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { - var rsa RawSockaddrAny - var len _Socklen = SizeofSockaddrAny - if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { - return - } - if rsa.Addr.Family != AF_UNSPEC { - from, err = anyToSockaddr(&rsa) - } - return -} - -func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { - ptr, n, err := to.sockaddr() - if err != nil { - return err - } - return sendto(fd, p, flags, ptr, n) -} - -func SetsockoptByte(fd, level, opt int, value byte) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) -} - -func SetsockoptInt(fd, level, opt int, value int) (err error) { - var n = int32(value) - return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) -} - -func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) -} - -func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) -} - -func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) -} - -func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { - return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) -} - -func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) -} - -func SetsockoptString(fd, level, opt int, s string) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) -} - -func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) -} - -func Socket(domain, typ, proto int) (fd int, err error) { - if domain == AF_INET6 && SocketDisableIPv6 { - return -1, EAFNOSUPPORT - } - fd, err = socket(domain, typ, proto) - return -} - -func Socketpair(domain, typ, proto int) (fd [2]int, err error) { - var fdx [2]int32 - err = socketpair(domain, typ, proto, &fdx) - if err == nil { - fd[0] = int(fdx[0]) - fd[1] = int(fdx[1]) - } - return -} - -func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - if raceenabled { - raceReleaseMerge(unsafe.Pointer(&ioSync)) - } - return sendfile(outfd, infd, offset, count) -} - -var ioSync int64 - -func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } - -func SetNonblock(fd int, nonblocking bool) (err error) { - flag, err := fcntl(fd, F_GETFL, 0) - if err != nil { - return err - } - if nonblocking { - flag |= O_NONBLOCK - } else { - flag &= ^O_NONBLOCK - } - _, err = fcntl(fd, F_SETFL, flag) - return err -} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go deleted file mode 100644 index 4cb8e8e..0000000 --- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2016 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. - -// +build darwin dragonfly freebsd linux netbsd openbsd solaris -// +build !gccgo - -package unix - -import "syscall" - -func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go deleted file mode 100644 index a350817..0000000 --- a/vendor/golang.org/x/sys/unix/types_darwin.go +++ /dev/null @@ -1,250 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define __DARWIN_UNIX03 0 -#define KERNEL -#define _DARWIN_USE_64_BIT_INODE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -type Timeval32 C.struct_timeval32 - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -type Stat_t C.struct_stat64 - -type Statfs_t C.struct_statfs64 - -type Flock_t C.struct_flock - -type Fstore_t C.struct_fstore - -type Radvisory_t C.struct_radvisory - -type Fbootstraptransfer_t C.struct_fbootstraptransfer - -type Log2phys_t C.struct_log2phys - -type Fsid C.struct_fsid - -type Dirent C.struct_dirent - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet4Pktinfo C.struct_in_pktinfo - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Ptrace requests - -const ( - PTRACE_TRACEME = C.PT_TRACE_ME - PTRACE_CONT = C.PT_CONTINUE - PTRACE_KILL = C.PT_KILL -) - -// Events (kqueue, kevent) - -type Kevent_t C.struct_kevent - -// Select - -type FdSet C.fd_set - -// Routing and interface messages - -const ( - SizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfData = C.sizeof_struct_if_data - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr - SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type IfMsghdr C.struct_if_msghdr - -type IfData C.struct_if_data - -type IfaMsghdr C.struct_ifa_msghdr - -type IfmaMsghdr C.struct_ifma_msghdr - -type IfmaMsghdr2 C.struct_ifma_msghdr2 - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfHdr C.struct_bpf_hdr - -// Terminal handling - -type Termios C.struct_termios - -// fchmodat-like syscalls. - -const ( - AT_FDCWD = C.AT_FDCWD - AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -) diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go deleted file mode 100644 index a818704..0000000 --- a/vendor/golang.org/x/sys/unix/types_dragonfly.go +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define KERNEL -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -const ( // Directory mode bits - S_IFMT = C.S_IFMT - S_IFIFO = C.S_IFIFO - S_IFCHR = C.S_IFCHR - S_IFDIR = C.S_IFDIR - S_IFBLK = C.S_IFBLK - S_IFREG = C.S_IFREG - S_IFLNK = C.S_IFLNK - S_IFSOCK = C.S_IFSOCK - S_ISUID = C.S_ISUID - S_ISGID = C.S_ISGID - S_ISVTX = C.S_ISVTX - S_IRUSR = C.S_IRUSR - S_IWUSR = C.S_IWUSR - S_IXUSR = C.S_IXUSR -) - -type Stat_t C.struct_stat - -type Statfs_t C.struct_statfs - -type Flock_t C.struct_flock - -type Dirent C.struct_dirent - -type Fsid C.struct_fsid - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Ptrace requests - -const ( - PTRACE_TRACEME = C.PT_TRACE_ME - PTRACE_CONT = C.PT_CONTINUE - PTRACE_KILL = C.PT_KILL -) - -// Events (kqueue, kevent) - -type Kevent_t C.struct_kevent - -// Select - -type FdSet C.fd_set - -// Routing and interface messages - -const ( - SizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfData = C.sizeof_struct_if_data - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr - SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type IfMsghdr C.struct_if_msghdr - -type IfData C.struct_if_data - -type IfaMsghdr C.struct_ifa_msghdr - -type IfmaMsghdr C.struct_ifma_msghdr - -type IfAnnounceMsghdr C.struct_if_announcemsghdr - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfHdr C.struct_bpf_hdr - -// Terminal handling - -type Termios C.struct_termios diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go deleted file mode 100644 index 972e69a..0000000 --- a/vendor/golang.org/x/sys/unix/types_freebsd.go +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define KERNEL -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -// This structure is a duplicate of stat on FreeBSD 8-STABLE. -// See /usr/include/sys/stat.h. -struct stat8 { -#undef st_atimespec st_atim -#undef st_mtimespec st_mtim -#undef st_ctimespec st_ctim -#undef st_birthtimespec st_birthtim - __dev_t st_dev; - ino_t st_ino; - mode_t st_mode; - nlink_t st_nlink; - uid_t st_uid; - gid_t st_gid; - __dev_t st_rdev; -#if __BSD_VISIBLE - struct timespec st_atimespec; - struct timespec st_mtimespec; - struct timespec st_ctimespec; -#else - time_t st_atime; - long __st_atimensec; - time_t st_mtime; - long __st_mtimensec; - time_t st_ctime; - long __st_ctimensec; -#endif - off_t st_size; - blkcnt_t st_blocks; - blksize_t st_blksize; - fflags_t st_flags; - __uint32_t st_gen; - __int32_t st_lspare; -#if __BSD_VISIBLE - struct timespec st_birthtimespec; - unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); - unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); -#else - time_t st_birthtime; - long st_birthtimensec; - unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); - unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); -#endif -}; - -// This structure is a duplicate of if_data on FreeBSD 8-STABLE. -// See /usr/include/net/if.h. -struct if_data8 { - u_char ifi_type; - u_char ifi_physical; - u_char ifi_addrlen; - u_char ifi_hdrlen; - u_char ifi_link_state; - u_char ifi_spare_char1; - u_char ifi_spare_char2; - u_char ifi_datalen; - u_long ifi_mtu; - u_long ifi_metric; - u_long ifi_baudrate; - u_long ifi_ipackets; - u_long ifi_ierrors; - u_long ifi_opackets; - u_long ifi_oerrors; - u_long ifi_collisions; - u_long ifi_ibytes; - u_long ifi_obytes; - u_long ifi_imcasts; - u_long ifi_omcasts; - u_long ifi_iqdrops; - u_long ifi_noproto; - u_long ifi_hwassist; - time_t ifi_epoch; - struct timeval ifi_lastchange; -}; - -// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. -// See /usr/include/net/if.h. -struct if_msghdr8 { - u_short ifm_msglen; - u_char ifm_version; - u_char ifm_type; - int ifm_addrs; - int ifm_flags; - u_short ifm_index; - struct if_data8 ifm_data; -}; -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -const ( // Directory mode bits - S_IFMT = C.S_IFMT - S_IFIFO = C.S_IFIFO - S_IFCHR = C.S_IFCHR - S_IFDIR = C.S_IFDIR - S_IFBLK = C.S_IFBLK - S_IFREG = C.S_IFREG - S_IFLNK = C.S_IFLNK - S_IFSOCK = C.S_IFSOCK - S_ISUID = C.S_ISUID - S_ISGID = C.S_ISGID - S_ISVTX = C.S_ISVTX - S_IRUSR = C.S_IRUSR - S_IWUSR = C.S_IWUSR - S_IXUSR = C.S_IXUSR -) - -type Stat_t C.struct_stat8 - -type Statfs_t C.struct_statfs - -type Flock_t C.struct_flock - -type Dirent C.struct_dirent - -type Fsid C.struct_fsid - -// Advice to Fadvise - -const ( - FADV_NORMAL = C.POSIX_FADV_NORMAL - FADV_RANDOM = C.POSIX_FADV_RANDOM - FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL - FADV_WILLNEED = C.POSIX_FADV_WILLNEED - FADV_DONTNEED = C.POSIX_FADV_DONTNEED - FADV_NOREUSE = C.POSIX_FADV_NOREUSE -) - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPMreqn C.struct_ip_mreqn - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPMreqn = C.sizeof_struct_ip_mreqn - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Ptrace requests - -const ( - PTRACE_TRACEME = C.PT_TRACE_ME - PTRACE_CONT = C.PT_CONTINUE - PTRACE_KILL = C.PT_KILL -) - -// Events (kqueue, kevent) - -type Kevent_t C.struct_kevent - -// Select - -type FdSet C.fd_set - -// Routing and interface messages - -const ( - sizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 - sizeofIfData = C.sizeof_struct_if_data - SizeofIfData = C.sizeof_struct_if_data8 - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr - SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type ifMsghdr C.struct_if_msghdr - -type IfMsghdr C.struct_if_msghdr8 - -type ifData C.struct_if_data - -type IfData C.struct_if_data8 - -type IfaMsghdr C.struct_ifa_msghdr - -type IfmaMsghdr C.struct_ifma_msghdr - -type IfAnnounceMsghdr C.struct_if_announcemsghdr - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr - SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfZbuf C.struct_bpf_zbuf - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfHdr C.struct_bpf_hdr - -type BpfZbufHeader C.struct_bpf_zbuf_header - -// Terminal handling - -type Termios C.struct_termios diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go deleted file mode 100644 index 7cfdb9c..0000000 --- a/vendor/golang.org/x/sys/unix/types_netbsd.go +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define KERNEL -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -type Stat_t C.struct_stat - -type Statfs_t C.struct_statfs - -type Flock_t C.struct_flock - -type Dirent C.struct_dirent - -type Fsid C.fsid_t - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Ptrace requests - -const ( - PTRACE_TRACEME = C.PT_TRACE_ME - PTRACE_CONT = C.PT_CONTINUE - PTRACE_KILL = C.PT_KILL -) - -// Events (kqueue, kevent) - -type Kevent_t C.struct_kevent - -// Select - -type FdSet C.fd_set - -// Routing and interface messages - -const ( - SizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfData = C.sizeof_struct_if_data - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type IfMsghdr C.struct_if_msghdr - -type IfData C.struct_if_data - -type IfaMsghdr C.struct_ifa_msghdr - -type IfAnnounceMsghdr C.struct_if_announcemsghdr - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -type Mclpool C.struct_mclpool - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfHdr C.struct_bpf_hdr - -type BpfTimeval C.struct_bpf_timeval - -// Terminal handling - -type Termios C.struct_termios - -// Sysctl - -type Sysctlnode C.struct_sysctlnode diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go deleted file mode 100644 index 6c7c227..0000000 --- a/vendor/golang.org/x/sys/unix/types_openbsd.go +++ /dev/null @@ -1,244 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define KERNEL -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -const ( // Directory mode bits - S_IFMT = C.S_IFMT - S_IFIFO = C.S_IFIFO - S_IFCHR = C.S_IFCHR - S_IFDIR = C.S_IFDIR - S_IFBLK = C.S_IFBLK - S_IFREG = C.S_IFREG - S_IFLNK = C.S_IFLNK - S_IFSOCK = C.S_IFSOCK - S_ISUID = C.S_ISUID - S_ISGID = C.S_ISGID - S_ISVTX = C.S_ISVTX - S_IRUSR = C.S_IRUSR - S_IWUSR = C.S_IWUSR - S_IXUSR = C.S_IXUSR -) - -type Stat_t C.struct_stat - -type Statfs_t C.struct_statfs - -type Flock_t C.struct_flock - -type Dirent C.struct_dirent - -type Fsid C.fsid_t - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Ptrace requests - -const ( - PTRACE_TRACEME = C.PT_TRACE_ME - PTRACE_CONT = C.PT_CONTINUE - PTRACE_KILL = C.PT_KILL -) - -// Events (kqueue, kevent) - -type Kevent_t C.struct_kevent - -// Select - -type FdSet C.fd_set - -// Routing and interface messages - -const ( - SizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfData = C.sizeof_struct_if_data - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type IfMsghdr C.struct_if_msghdr - -type IfData C.struct_if_data - -type IfaMsghdr C.struct_ifa_msghdr - -type IfAnnounceMsghdr C.struct_if_announcemsghdr - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -type Mclpool C.struct_mclpool - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfHdr C.struct_bpf_hdr - -type BpfTimeval C.struct_bpf_timeval - -// Terminal handling - -type Termios C.struct_termios diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go deleted file mode 100644 index 393c7f0..0000000 --- a/vendor/golang.org/x/sys/unix/types_solaris.go +++ /dev/null @@ -1,269 +0,0 @@ -// Copyright 2009 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. - -// +build ignore - -/* -Input to cgo -godefs. See README.md -*/ - -// +godefs map struct_in_addr [4]byte /* in_addr */ -// +godefs map struct_in6_addr [16]byte /* in6_addr */ - -package unix - -/* -#define KERNEL -// These defines ensure that builds done on newer versions of Solaris are -// backwards-compatible with older versions of Solaris and -// OpenSolaris-based derivatives. -#define __USE_SUNOS_SOCKETS__ // msghdr -#define __USE_LEGACY_PROTOTYPES__ // iovec -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -union sockaddr_all { - struct sockaddr s1; // this one gets used for fields - struct sockaddr_in s2; // these pad it out - struct sockaddr_in6 s3; - struct sockaddr_un s4; - struct sockaddr_dl s5; -}; - -struct sockaddr_any { - struct sockaddr addr; - char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong - PathMax = C.PATH_MAX - MaxHostNameLen = C.MAXHOSTNAMELEN -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -// Time - -type Timespec C.struct_timespec - -type Timeval C.struct_timeval - -type Timeval32 C.struct_timeval32 - -type Tms C.struct_tms - -type Utimbuf C.struct_utimbuf - -// Processes - -type Rusage C.struct_rusage - -type Rlimit C.struct_rlimit - -type _Gid_t C.gid_t - -// Files - -const ( // Directory mode bits - S_IFMT = C.S_IFMT - S_IFIFO = C.S_IFIFO - S_IFCHR = C.S_IFCHR - S_IFDIR = C.S_IFDIR - S_IFBLK = C.S_IFBLK - S_IFREG = C.S_IFREG - S_IFLNK = C.S_IFLNK - S_IFSOCK = C.S_IFSOCK - S_ISUID = C.S_ISUID - S_ISGID = C.S_ISGID - S_ISVTX = C.S_ISVTX - S_IRUSR = C.S_IRUSR - S_IWUSR = C.S_IWUSR - S_IXUSR = C.S_IXUSR -) - -type Stat_t C.struct_stat - -type Flock_t C.struct_flock - -type Dirent C.struct_dirent - -// Filesystems - -type _Fsblkcnt_t C.fsblkcnt_t - -type Statvfs_t C.struct_statvfs - -// Sockets - -type RawSockaddrInet4 C.struct_sockaddr_in - -type RawSockaddrInet6 C.struct_sockaddr_in6 - -type RawSockaddrUnix C.struct_sockaddr_un - -type RawSockaddrDatalink C.struct_sockaddr_dl - -type RawSockaddr C.struct_sockaddr - -type RawSockaddrAny C.struct_sockaddr_any - -type _Socklen C.socklen_t - -type Linger C.struct_linger - -type Iovec C.struct_iovec - -type IPMreq C.struct_ip_mreq - -type IPv6Mreq C.struct_ipv6_mreq - -type Msghdr C.struct_msghdr - -type Cmsghdr C.struct_cmsghdr - -type Inet6Pktinfo C.struct_in6_pktinfo - -type IPv6MTUInfo C.struct_ip6_mtuinfo - -type ICMPv6Filter C.struct_icmp6_filter - -const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -) - -// Select - -type FdSet C.fd_set - -// Misc - -type Utsname C.struct_utsname - -type Ustat_t C.struct_ustat - -const ( - AT_FDCWD = C.AT_FDCWD - AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW - AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW - AT_REMOVEDIR = C.AT_REMOVEDIR - AT_EACCESS = C.AT_EACCESS -) - -// Routing and interface messages - -const ( - SizeofIfMsghdr = C.sizeof_struct_if_msghdr - SizeofIfData = C.sizeof_struct_if_data - SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr - SizeofRtMsghdr = C.sizeof_struct_rt_msghdr - SizeofRtMetrics = C.sizeof_struct_rt_metrics -) - -type IfMsghdr C.struct_if_msghdr - -type IfData C.struct_if_data - -type IfaMsghdr C.struct_ifa_msghdr - -type RtMsghdr C.struct_rt_msghdr - -type RtMetrics C.struct_rt_metrics - -// Berkeley packet filter - -const ( - SizeofBpfVersion = C.sizeof_struct_bpf_version - SizeofBpfStat = C.sizeof_struct_bpf_stat - SizeofBpfProgram = C.sizeof_struct_bpf_program - SizeofBpfInsn = C.sizeof_struct_bpf_insn - SizeofBpfHdr = C.sizeof_struct_bpf_hdr -) - -type BpfVersion C.struct_bpf_version - -type BpfStat C.struct_bpf_stat - -type BpfProgram C.struct_bpf_program - -type BpfInsn C.struct_bpf_insn - -type BpfTimeval C.struct_bpf_timeval - -type BpfHdr C.struct_bpf_hdr - -// sysconf information - -const _SC_PAGESIZE = C._SC_PAGESIZE - -// Terminal handling - -type Termios C.struct_termios - -type Termio C.struct_termio - -type Winsize C.struct_winsize diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go deleted file mode 100644 index 8e63888..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go +++ /dev/null @@ -1,1576 +0,0 @@ -// mkerrors.sh -m32 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build 386,darwin - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m32 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x28 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4008426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80084267 - BIOCSETFNR = 0x8008427e - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8008426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf5 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_ADDFILESIGS = 0x3d - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PKTAP = 0xfe - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x3c - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_ANON = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_SHARED = 0x1 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NOFLSH = 0x80000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_NOIFREF = 0x2000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc01c697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc0086924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc0286938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6981 - SIOCRSLVMULTI = 0xc008693b - SIOCSDRVSPEC = 0x801c697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_ENABLE_ECN = 0x104 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40087458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40087459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x20 - WSTOPPED = 0x8 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADARCH = syscall.Errno(0x56) - EBADEXEC = syscall.Errno(0x55) - EBADF = syscall.Errno(0x9) - EBADMACHO = syscall.Errno(0x58) - EBADMSG = syscall.Errno(0x5e) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x59) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDEVERR = syscall.Errno(0x53) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x5a) - EILSEQ = syscall.Errno(0x5c) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x6a) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5f) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x60) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x61) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5b) - ENOPOLICY = syscall.Errno(0x67) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x62) - ENOSTR = syscall.Errno(0x63) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x68) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x66) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x69) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x64) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - EPWROFF = syscall.Errno(0x52) - EQFULL = syscall.Errno(0x6a) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHLIBVERS = syscall.Errno(0x57) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x65) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "resource busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "device power is off", - 83: "device error", - 84: "value too large to be stored in data type", - 85: "bad executable (or shared library)", - 86: "bad CPU type in executable", - 87: "shared library version mismatch", - 88: "malformed Mach-o file", - 89: "operation canceled", - 90: "identifier removed", - 91: "no message of desired type", - 92: "illegal byte sequence", - 93: "attribute not found", - 94: "bad message", - 95: "EMULTIHOP (Reserved)", - 96: "no message available on STREAM", - 97: "ENOLINK (Reserved)", - 98: "no STREAM resources", - 99: "not a STREAM", - 100: "protocol error", - 101: "STREAM ioctl timeout", - 102: "operation not supported on socket", - 103: "policy not found", - 104: "state not recoverable", - 105: "previous owner died", - 106: "interface output queue is full", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go deleted file mode 100644 index 9594f93..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ /dev/null @@ -1,1576 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build amd64,darwin - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x28 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x8010427e - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf5 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_ADDFILESIGS = 0x3d - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PKTAP = 0xfe - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x3c - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_ANON = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_SHARED = 0x1 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NOFLSH = 0x80000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_NOIFREF = 0x2000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc028697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc00c6924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc02c6938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106981 - SIOCRSLVMULTI = 0xc010693b - SIOCSDRVSPEC = 0x8028697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_ENABLE_ECN = 0x104 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x40487413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x80487414 - TIOCSETAF = 0x80487416 - TIOCSETAW = 0x80487415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x40 - WSTOPPED = 0x8 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADARCH = syscall.Errno(0x56) - EBADEXEC = syscall.Errno(0x55) - EBADF = syscall.Errno(0x9) - EBADMACHO = syscall.Errno(0x58) - EBADMSG = syscall.Errno(0x5e) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x59) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDEVERR = syscall.Errno(0x53) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x5a) - EILSEQ = syscall.Errno(0x5c) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x6a) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5f) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x60) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x61) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5b) - ENOPOLICY = syscall.Errno(0x67) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x62) - ENOSTR = syscall.Errno(0x63) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x68) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x66) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x69) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x64) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - EPWROFF = syscall.Errno(0x52) - EQFULL = syscall.Errno(0x6a) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHLIBVERS = syscall.Errno(0x57) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x65) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "resource busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "device power is off", - 83: "device error", - 84: "value too large to be stored in data type", - 85: "bad executable (or shared library)", - 86: "bad CPU type in executable", - 87: "shared library version mismatch", - 88: "malformed Mach-o file", - 89: "operation canceled", - 90: "identifier removed", - 91: "no message of desired type", - 92: "illegal byte sequence", - 93: "attribute not found", - 94: "bad message", - 95: "EMULTIHOP (Reserved)", - 96: "no message available on STREAM", - 97: "ENOLINK (Reserved)", - 98: "no STREAM resources", - 99: "not a STREAM", - 100: "protocol error", - 101: "STREAM ioctl timeout", - 102: "operation not supported on socket", - 103: "policy not found", - 104: "state not recoverable", - 105: "previous owner died", - 106: "interface output queue is full", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go deleted file mode 100644 index a410e88..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go +++ /dev/null @@ -1,1293 +0,0 @@ -// mkerrors.sh -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- _const.go - -// +build arm,darwin - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x28 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AX25 = 0x3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_C_HDLC = 0x68 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_FDDI = 0xa - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_NULL = 0x0 - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_SERIAL = 0x32 - DLT_PRONET = 0x4 - DLT_RAW = 0xc - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_ADDFILESIGS = 0x3d - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_ANON = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_SHARED = 0x1 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NOFLSH = 0x80000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc028697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc00c6924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc02c6938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106981 - SIOCRSLVMULTI = 0xc010693b - SIOCSDRVSPEC = 0x8028697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_ENABLE_ECN = 0x104 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x40487413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x80487414 - TIOCSETAF = 0x80487416 - TIOCSETAW = 0x80487415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x40 - WSTOPPED = 0x8 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADARCH = syscall.Errno(0x56) - EBADEXEC = syscall.Errno(0x55) - EBADF = syscall.Errno(0x9) - EBADMACHO = syscall.Errno(0x58) - EBADMSG = syscall.Errno(0x5e) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x59) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDEVERR = syscall.Errno(0x53) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x5a) - EILSEQ = syscall.Errno(0x5c) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x6a) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5f) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x60) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x61) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5b) - ENOPOLICY = syscall.Errno(0x67) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x62) - ENOSTR = syscall.Errno(0x63) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x68) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x66) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x69) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x64) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - EPWROFF = syscall.Errno(0x52) - EQFULL = syscall.Errno(0x6a) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHLIBVERS = syscall.Errno(0x57) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x65) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go deleted file mode 100644 index 3189c6b..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ /dev/null @@ -1,1576 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build arm64,darwin - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x28 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x8010427e - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf5 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_ADDFILESIGS = 0x3d - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PKTAP = 0xfe - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x3c - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_ANON = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_SHARED = 0x1 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NOFLSH = 0x80000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_NOIFREF = 0x2000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc028697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc00c6924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc02c6938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106981 - SIOCRSLVMULTI = 0xc010693b - SIOCSDRVSPEC = 0x8028697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_ENABLE_ECN = 0x104 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x40487413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x80487414 - TIOCSETAF = 0x80487416 - TIOCSETAW = 0x80487415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x40 - WSTOPPED = 0x8 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADARCH = syscall.Errno(0x56) - EBADEXEC = syscall.Errno(0x55) - EBADF = syscall.Errno(0x9) - EBADMACHO = syscall.Errno(0x58) - EBADMSG = syscall.Errno(0x5e) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x59) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDEVERR = syscall.Errno(0x53) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x5a) - EILSEQ = syscall.Errno(0x5c) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x6a) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5f) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x60) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x61) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5b) - ENOPOLICY = syscall.Errno(0x67) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x62) - ENOSTR = syscall.Errno(0x63) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x68) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x66) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x69) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x64) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - EPWROFF = syscall.Errno(0x52) - EQFULL = syscall.Errno(0x6a) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHLIBVERS = syscall.Errno(0x57) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x65) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "resource busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "device power is off", - 83: "device error", - 84: "value too large to be stored in data type", - 85: "bad executable (or shared library)", - 86: "bad CPU type in executable", - 87: "shared library version mismatch", - 88: "malformed Mach-o file", - 89: "operation canceled", - 90: "identifier removed", - 91: "no message of desired type", - 92: "illegal byte sequence", - 93: "attribute not found", - 94: "bad message", - 95: "EMULTIHOP (Reserved)", - 96: "no message available on STREAM", - 97: "ENOLINK (Reserved)", - 98: "no STREAM resources", - 99: "not a STREAM", - 100: "protocol error", - 101: "STREAM ioctl timeout", - 102: "operation not supported on socket", - 103: "policy not found", - 104: "state not recoverable", - 105: "previous owner died", - 106: "interface output queue is full", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go deleted file mode 100644 index 8f40598..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +++ /dev/null @@ -1,1568 +0,0 @@ -// mkerrors.sh -m64 -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,dragonfly - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x21 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x23 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x24 - AF_MPLS = 0x22 - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ALTWERASE = 0x200 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0104279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8010427b - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x8 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DEFAULTBUFSIZE = 0x1000 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MAX_CLONES = 0x80 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x4 - CLOCK_MONOTONIC_FAST = 0xc - CLOCK_MONOTONIC_PRECISE = 0xb - CLOCK_PROCESS_CPUTIME_ID = 0xf - CLOCK_PROF = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_FAST = 0xa - CLOCK_REALTIME_PRECISE = 0x9 - CLOCK_SECOND = 0xd - CLOCK_THREAD_CPUTIME_ID = 0xe - CLOCK_UPTIME = 0x5 - CLOCK_UPTIME_FAST = 0x8 - CLOCK_UPTIME_PRECISE = 0x7 - CLOCK_VIRTUAL = 0x1 - CREAD = 0x800 - CRTSCTS = 0x30000 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DOCSIS = 0x8f - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_REDBACK_SMARTEDGE = 0x20 - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DBF = 0xf - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_EXCEPT = -0x8 - EVFILT_FS = -0xa - EVFILT_MARKER = 0xf - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xa - EVFILT_TIMER = -0x7 - EVFILT_USER = -0x9 - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_NODATA = 0x1000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTEXIT_LWP = 0x10000 - EXTEXIT_PROC = 0x0 - EXTEXIT_SETINT = 0x1 - EXTEXIT_SIMPLE = 0x0 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETOWN = 0x5 - F_OK = 0x0 - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x118e72 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NPOLLING = 0x100000 - IFF_OACTIVE = 0x400 - IFF_OACTIVE_COMPAT = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_POLLING = 0x10000 - IFF_POLLING_COMPAT = 0x10000 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xf3 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SKIP = 0x39 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UNKNOWN = 0x102 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MINHLIM = 0x28 - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PKTOPTIONS = 0x34 - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_RESETLOG = 0x37 - IP_FW_X = 0x31 - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CONTROL_END = 0xb - MADV_CONTROL_START = 0xa - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_INVAL = 0xa - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SETMAP = 0xb - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_NOCORE = 0x20000 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_SIZEALIGN = 0x40000 - MAP_STACK = 0x400 - MAP_TRYFIXED = 0x10000 - MAP_VPAGETABLE = 0x2000 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x1000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FBLOCKING = 0x10000 - MSG_FMASK = 0xffff0000 - MSG_FNONBLOCKING = 0x20000 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_SYNC = 0x800 - MSG_TRUNC = 0x10 - MSG_UNUSED09 = 0x200 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_MAXID = 0x4 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_OOB = 0x2 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - OXTABS = 0x4 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x20000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x8000000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FAPPEND = 0x100000 - O_FASYNCWRITE = 0x800000 - O_FBLOCKING = 0x40000 - O_FMASK = 0xfc0000 - O_FNONBLOCKING = 0x80000 - O_FOFFSET = 0x200000 - O_FSYNC = 0x80 - O_FSYNCWRITE = 0x400000 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0xb - RTAX_MPLS1 = 0x8 - RTAX_MPLS2 = 0x9 - RTAX_MPLS3 = 0xa - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_MPLS1 = 0x100 - RTA_MPLS2 = 0x200 - RTA_MPLS3 = 0x400 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MPLSOPS = 0x1000000 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x6 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_IWCAPSEGS = 0x400 - RTV_IWMAXSEGS = 0x200 - RTV_MSL = 0x100 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8040720a - SIOCAIFADDR = 0x8040691a - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8040720b - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc028697b - SIOCGETSGCNT = 0xc0207210 - SIOCGETVIFCNT = 0xc028720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0106924 - SIOCGIFDATA = 0xc0206926 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc028698a - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMEDIA = 0xc0306938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPOLLCPU = 0xc020697e - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGIFTSOLEN = 0xc0206980 - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106978 - SIOCSDRVSPEC = 0x8028697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFPOLLCPU = 0x8020697d - SIOCSIFTSOLEN = 0x8020697f - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BROADCAST = 0x20 - SO_CPUHINT = 0x1030 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NOSIGPIPE = 0x800 - SO_OOBINLINE = 0x100 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDSPACE = 0x100a - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - TCIFLUSH = 0x1 - TCIOFF = 0x3 - TCIOFLUSH = 0x3 - TCION = 0x4 - TCOFLUSH = 0x2 - TCOOFF = 0x1 - TCOON = 0x2 - TCP_FASTKEEP = 0x80 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x20 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0x100 - TCP_MIN_WINSHIFT = 0x5 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_SIGNATURE_ENABLE = 0x10 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGSID = 0x40047463 - TIOCGSIZE = 0x40087468 - TIOCGWINSZ = 0x40087468 - TIOCISPTMASTER = 0x20007455 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSSIZE = 0x80087467 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VCHECKPT = 0x13 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VM_BCACHE_SIZE_MAX = 0x0 - VM_SWZONE_SIZE_MAX = 0x4000000000 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EASYNC = syscall.Errno(0x63) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x59) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x55) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDOOFUS = syscall.Errno(0x58) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x56) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x63) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5a) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x57) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5b) - ENOMEDIUM = syscall.Errno(0x5d) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x5c) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUNUSED94 = syscall.Errno(0x5e) - EUNUSED95 = syscall.Errno(0x5f) - EUNUSED96 = syscall.Errno(0x60) - EUNUSED97 = syscall.Errno(0x61) - EUNUSED98 = syscall.Errno(0x62) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCKPT = syscall.Signal(0x21) - SIGCKPTEXIT = syscall.Signal(0x22) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "operation canceled", - 86: "illegal byte sequence", - 87: "attribute not found", - 88: "programming error", - 89: "bad message", - 90: "multihop attempted", - 91: "link has been severed", - 92: "protocol error", - 93: "no medium found", - 94: "unknown error: 94", - 95: "unknown error: 95", - 96: "unknown error: 96", - 97: "unknown error: 97", - 98: "unknown error: 98", - 99: "unknown error: 99", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "thread Scheduler", - 33: "checkPoint", - 34: "checkPointExit", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go deleted file mode 100644 index 7b95751..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +++ /dev/null @@ -1,1743 +0,0 @@ -// mkerrors.sh -m32 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build 386,freebsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m32 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x23 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x24 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_INET6_SDP = 0x2a - AF_INET_SDP = 0x28 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SCLUSTER = 0x22 - AF_SIP = 0x18 - AF_SLOW = 0x21 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VENDOR00 = 0x27 - AF_VENDOR01 = 0x29 - AF_VENDOR02 = 0x2b - AF_VENDOR03 = 0x2d - AF_VENDOR04 = 0x2f - AF_VENDOR05 = 0x31 - AF_VENDOR06 = 0x33 - AF_VENDOR07 = 0x35 - AF_VENDOR08 = 0x37 - AF_VENDOR09 = 0x39 - AF_VENDOR10 = 0x3b - AF_VENDOR11 = 0x3d - AF_VENDOR12 = 0x3f - AF_VENDOR13 = 0x41 - AF_VENDOR14 = 0x43 - AF_VENDOR15 = 0x45 - AF_VENDOR16 = 0x47 - AF_VENDOR17 = 0x49 - AF_VENDOR18 = 0x4b - AF_VENDOR19 = 0x4d - AF_VENDOR20 = 0x4f - AF_VENDOR21 = 0x51 - AF_VENDOR22 = 0x53 - AF_VENDOR23 = 0x55 - AF_VENDOR24 = 0x57 - AF_VENDOR25 = 0x59 - AF_VENDOR26 = 0x5b - AF_VENDOR27 = 0x5d - AF_VENDOR28 = 0x5f - AF_VENDOR29 = 0x61 - AF_VENDOR30 = 0x63 - AF_VENDOR31 = 0x65 - AF_VENDOR32 = 0x67 - AF_VENDOR33 = 0x69 - AF_VENDOR34 = 0x6b - AF_VENDOR35 = 0x6d - AF_VENDOR36 = 0x6f - AF_VENDOR37 = 0x71 - AF_VENDOR38 = 0x73 - AF_VENDOR39 = 0x75 - AF_VENDOR40 = 0x77 - AF_VENDOR41 = 0x79 - AF_VENDOR42 = 0x7b - AF_VENDOR43 = 0x7d - AF_VENDOR44 = 0x7f - AF_VENDOR45 = 0x81 - AF_VENDOR46 = 0x83 - AF_VENDOR47 = 0x85 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427c - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRECTION = 0x40044276 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4004427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4008426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x400c4280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80084267 - BIOCSETFNR = 0x80084282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8008427b - BIOCSETZBUF = 0x800c4281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8008426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_BUFMODE_BUFFER = 0x1 - BPF_BUFMODE_ZBUF = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_T_BINTIME = 0x2 - BPF_T_BINTIME_FAST = 0x102 - BPF_T_BINTIME_MONOTONIC = 0x202 - BPF_T_BINTIME_MONOTONIC_FAST = 0x302 - BPF_T_FAST = 0x100 - BPF_T_FLAG_MASK = 0x300 - BPF_T_FORMAT_MASK = 0x3 - BPF_T_MICROTIME = 0x0 - BPF_T_MICROTIME_FAST = 0x100 - BPF_T_MICROTIME_MONOTONIC = 0x200 - BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 - BPF_T_MONOTONIC = 0x200 - BPF_T_MONOTONIC_FAST = 0x300 - BPF_T_NANOTIME = 0x1 - BPF_T_NANOTIME_FAST = 0x101 - BPF_T_NANOTIME_MONOTONIC = 0x201 - BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 - BPF_T_NONE = 0x3 - BPF_T_NORMAL = 0x0 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x4 - CLOCK_MONOTONIC_FAST = 0xc - CLOCK_MONOTONIC_PRECISE = 0xb - CLOCK_PROCESS_CPUTIME_ID = 0xf - CLOCK_PROF = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_FAST = 0xa - CLOCK_REALTIME_PRECISE = 0x9 - CLOCK_SECOND = 0xd - CLOCK_THREAD_CPUTIME_ID = 0xe - CLOCK_UPTIME = 0x5 - CLOCK_UPTIME_FAST = 0x8 - CLOCK_UPTIME_PRECISE = 0x7 - CLOCK_VIRTUAL = 0x1 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0x18 - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf6 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x79 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_LIO = -0xa - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xb - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xb - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DROP = 0x1000 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTATTR_NAMESPACE_EMPTY = 0x0 - EXTATTR_NAMESPACE_SYSTEM = 0x2 - EXTATTR_NAMESPACE_USER = 0x1 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_CANCEL = 0x5 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xb - F_GETOWN = 0x5 - F_OGETLK = 0x7 - F_OK = 0x0 - F_OSETLK = 0x8 - F_OSETLKW = 0x9 - F_RDAHEAD = 0x10 - F_RDLCK = 0x1 - F_READAHEAD = 0xf - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0xc - F_SETLKW = 0xd - F_SETLK_REMOTE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_UNLCKSYS = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x218f72 - IFF_CANTCONFIG = 0x10000 - IFF_DEBUG = 0x4 - IFF_DRV_OACTIVE = 0x400 - IFF_DRV_RUNNING = 0x40 - IFF_DYING = 0x200000 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RENAMING = 0x400000 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_IPXIP = 0xf9 - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf6 - IFT_PFSYNC = 0xf7 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_MASK = 0xfffffffe - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0x102 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HIP = 0x8b - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MH = 0x87 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OLD_DIVERT = 0xfe - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_RESERVED_253 = 0xfd - IPPROTO_RESERVED_254 = 0xfe - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEND = 0x103 - IPPROTO_SEP = 0x21 - IPPROTO_SHIM6 = 0x8c - IPPROTO_SKIP = 0x39 - IPPROTO_SPACER = 0x7fff - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDANY = 0x40 - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BINDANY = 0x18 - IP_BLOCK_SOURCE = 0x48 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x43 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET3 = 0x31 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW3 = 0x30 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_NAT_CFG = 0x38 - IP_FW_NAT_DEL = 0x39 - IP_FW_NAT_GET_CONFIG = 0x3a - IP_FW_NAT_GET_LOG = 0x3b - IP_FW_RESETLOG = 0x37 - IP_FW_TABLE_ADD = 0x28 - IP_FW_TABLE_DEL = 0x29 - IP_FW_TABLE_FLUSH = 0x2a - IP_FW_TABLE_GETSIZE = 0x2b - IP_FW_TABLE_LIST = 0x2c - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MAX_SOURCE_FILTER = 0x400 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_ONESBCAST = 0x17 - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x44 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_SENDSRCADDR = 0x7 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_PROTECT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_ALIGNED_SUPER = 0x1000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_EXCL = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_NOCORE = 0x20000 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PREFAULT_READ = 0x40000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESERVED0100 = 0x100 - MAP_SHARED = 0x1 - MAP_STACK = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x40000 - MSG_COMPAT = 0x8000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_NBIO = 0x4000 - MSG_NOSIGNAL = 0x20000 - MSG_NOTIFICATION = 0x2000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 - NET_RT_MAXID = 0x6 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x100000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x20000 - O_EXCL = 0x800 - O_EXEC = 0x40000 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_TTY_INIT = 0x80000 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x1004d808 - RTF_GATEWAY = 0x2 - RTF_GWFLAG_COMPAT = 0x80000000 - RTF_HOST = 0x4 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_RNH_LOCKED = 0x40000000 - RTF_STATIC = 0x800 - RTF_STICKY = 0x10000000 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RTV_WEIGHT = 0x100 - RT_ALL_FIBS = -0x1 - RT_CACHING_CONTEXT = 0x1 - RT_DEFAULT_FIB = 0x0 - RT_NORTREF = 0x2 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_BINTIME = 0x4 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80246987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80246989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc01c697b - SIOCGETSGCNT = 0xc0147210 - SIOCGETVIFCNT = 0xc014720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0086924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc024698a - SIOCGIFGROUP = 0xc0246988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0286938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCSDRVSPEC = 0x801c697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDESCR = 0x80206929 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFIB = 0x8020695d - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206927 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFRVNET = 0xc020695b - SIOCSIFVNET = 0xc020695a - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BINTIME = 0x2000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1009 - SO_LINGER = 0x80 - SO_LISTENINCQLEN = 0x1013 - SO_LISTENQLEN = 0x1012 - SO_LISTENQLIMIT = 0x1011 - SO_NOSIGPIPE = 0x800 - SO_NO_DDP = 0x8000 - SO_NO_OFFLOAD = 0x4000 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1010 - SO_PROTOCOL = 0x1016 - SO_PROTOTYPE = 0x1016 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SETFIB = 0x1014 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_USER_COOKIE = 0x1015 - SO_VENDOR = 0x80000000 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CA_NAME_MAX = 0x10 - TCP_CONGESTION = 0x40 - TCP_INFO = 0x20 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x80 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_VENDOR = 0x80000000 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGPTN = 0x4004740f - TIOCGSID = 0x40047463 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DCD = 0x40 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMASTER = 0x2000741c - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40087459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WEXITED = 0x10 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WNOWAIT = 0x8 - WSTOPPED = 0x2 - WTRAPPED = 0x20 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x59) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x55) - ECAPMODE = syscall.Errno(0x5e) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDOOFUS = syscall.Errno(0x58) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x56) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5a) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x57) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCAPABLE = syscall.Errno(0x5d) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x5f) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x60) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x5c) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGLIBRT = syscall.Signal(0x21) - SIGLWP = syscall.Signal(0x20) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "operation canceled", - 86: "illegal byte sequence", - 87: "attribute not found", - 88: "programming error", - 89: "bad message", - 90: "multihop attempted", - 91: "link has been severed", - 92: "protocol error", - 93: "capabilities insufficient", - 94: "not permitted in capability mode", - 95: "state not recoverable", - 96: "previous owner died", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "unknown signal", - 33: "unknown signal", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go deleted file mode 100644 index e48e779..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +++ /dev/null @@ -1,1748 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build amd64,freebsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x23 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x24 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_INET6_SDP = 0x2a - AF_INET_SDP = 0x28 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SCLUSTER = 0x22 - AF_SIP = 0x18 - AF_SLOW = 0x21 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VENDOR00 = 0x27 - AF_VENDOR01 = 0x29 - AF_VENDOR02 = 0x2b - AF_VENDOR03 = 0x2d - AF_VENDOR04 = 0x2f - AF_VENDOR05 = 0x31 - AF_VENDOR06 = 0x33 - AF_VENDOR07 = 0x35 - AF_VENDOR08 = 0x37 - AF_VENDOR09 = 0x39 - AF_VENDOR10 = 0x3b - AF_VENDOR11 = 0x3d - AF_VENDOR12 = 0x3f - AF_VENDOR13 = 0x41 - AF_VENDOR14 = 0x43 - AF_VENDOR15 = 0x45 - AF_VENDOR16 = 0x47 - AF_VENDOR17 = 0x49 - AF_VENDOR18 = 0x4b - AF_VENDOR19 = 0x4d - AF_VENDOR20 = 0x4f - AF_VENDOR21 = 0x51 - AF_VENDOR22 = 0x53 - AF_VENDOR23 = 0x55 - AF_VENDOR24 = 0x57 - AF_VENDOR25 = 0x59 - AF_VENDOR26 = 0x5b - AF_VENDOR27 = 0x5d - AF_VENDOR28 = 0x5f - AF_VENDOR29 = 0x61 - AF_VENDOR30 = 0x63 - AF_VENDOR31 = 0x65 - AF_VENDOR32 = 0x67 - AF_VENDOR33 = 0x69 - AF_VENDOR34 = 0x6b - AF_VENDOR35 = 0x6d - AF_VENDOR36 = 0x6f - AF_VENDOR37 = 0x71 - AF_VENDOR38 = 0x73 - AF_VENDOR39 = 0x75 - AF_VENDOR40 = 0x77 - AF_VENDOR41 = 0x79 - AF_VENDOR42 = 0x7b - AF_VENDOR43 = 0x7d - AF_VENDOR44 = 0x7f - AF_VENDOR45 = 0x81 - AF_VENDOR46 = 0x83 - AF_VENDOR47 = 0x85 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427c - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRECTION = 0x40044276 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0104279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4008427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x40184280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x80104282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8010427b - BIOCSETZBUF = 0x80184281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x8 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_BUFMODE_BUFFER = 0x1 - BPF_BUFMODE_ZBUF = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_T_BINTIME = 0x2 - BPF_T_BINTIME_FAST = 0x102 - BPF_T_BINTIME_MONOTONIC = 0x202 - BPF_T_BINTIME_MONOTONIC_FAST = 0x302 - BPF_T_FAST = 0x100 - BPF_T_FLAG_MASK = 0x300 - BPF_T_FORMAT_MASK = 0x3 - BPF_T_MICROTIME = 0x0 - BPF_T_MICROTIME_FAST = 0x100 - BPF_T_MICROTIME_MONOTONIC = 0x200 - BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 - BPF_T_MONOTONIC = 0x200 - BPF_T_MONOTONIC_FAST = 0x300 - BPF_T_NANOTIME = 0x1 - BPF_T_NANOTIME_FAST = 0x101 - BPF_T_NANOTIME_MONOTONIC = 0x201 - BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 - BPF_T_NONE = 0x3 - BPF_T_NORMAL = 0x0 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x4 - CLOCK_MONOTONIC_FAST = 0xc - CLOCK_MONOTONIC_PRECISE = 0xb - CLOCK_PROCESS_CPUTIME_ID = 0xf - CLOCK_PROF = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_FAST = 0xa - CLOCK_REALTIME_PRECISE = 0x9 - CLOCK_SECOND = 0xd - CLOCK_THREAD_CPUTIME_ID = 0xe - CLOCK_UPTIME = 0x5 - CLOCK_UPTIME_FAST = 0x8 - CLOCK_UPTIME_PRECISE = 0x7 - CLOCK_VIRTUAL = 0x1 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0x18 - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf6 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x79 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_LIO = -0xa - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xb - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xb - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DROP = 0x1000 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTATTR_NAMESPACE_EMPTY = 0x0 - EXTATTR_NAMESPACE_SYSTEM = 0x2 - EXTATTR_NAMESPACE_USER = 0x1 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_CANCEL = 0x5 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xb - F_GETOWN = 0x5 - F_OGETLK = 0x7 - F_OK = 0x0 - F_OSETLK = 0x8 - F_OSETLKW = 0x9 - F_RDAHEAD = 0x10 - F_RDLCK = 0x1 - F_READAHEAD = 0xf - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0xc - F_SETLKW = 0xd - F_SETLK_REMOTE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_UNLCKSYS = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x218f72 - IFF_CANTCONFIG = 0x10000 - IFF_DEBUG = 0x4 - IFF_DRV_OACTIVE = 0x400 - IFF_DRV_RUNNING = 0x40 - IFF_DYING = 0x200000 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RENAMING = 0x400000 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_IPXIP = 0xf9 - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf6 - IFT_PFSYNC = 0xf7 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_MASK = 0xfffffffe - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0x102 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HIP = 0x8b - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MH = 0x87 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OLD_DIVERT = 0xfe - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_RESERVED_253 = 0xfd - IPPROTO_RESERVED_254 = 0xfe - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEND = 0x103 - IPPROTO_SEP = 0x21 - IPPROTO_SHIM6 = 0x8c - IPPROTO_SKIP = 0x39 - IPPROTO_SPACER = 0x7fff - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDANY = 0x40 - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BINDANY = 0x18 - IP_BLOCK_SOURCE = 0x48 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x43 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET3 = 0x31 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW3 = 0x30 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_NAT_CFG = 0x38 - IP_FW_NAT_DEL = 0x39 - IP_FW_NAT_GET_CONFIG = 0x3a - IP_FW_NAT_GET_LOG = 0x3b - IP_FW_RESETLOG = 0x37 - IP_FW_TABLE_ADD = 0x28 - IP_FW_TABLE_DEL = 0x29 - IP_FW_TABLE_FLUSH = 0x2a - IP_FW_TABLE_GETSIZE = 0x2b - IP_FW_TABLE_LIST = 0x2c - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MAX_SOURCE_FILTER = 0x400 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_ONESBCAST = 0x17 - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x44 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_SENDSRCADDR = 0x7 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_PROTECT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_32BIT = 0x80000 - MAP_ALIGNED_SUPER = 0x1000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_EXCL = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_NOCORE = 0x20000 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PREFAULT_READ = 0x40000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESERVED0100 = 0x100 - MAP_SHARED = 0x1 - MAP_STACK = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x40000 - MSG_COMPAT = 0x8000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_NBIO = 0x4000 - MSG_NOSIGNAL = 0x20000 - MSG_NOTIFICATION = 0x2000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 - NET_RT_MAXID = 0x6 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_MSECONDS = 0x2 - NOTE_NSECONDS = 0x8 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x4 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x100000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x20000 - O_EXCL = 0x800 - O_EXEC = 0x40000 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_TTY_INIT = 0x80000 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x1004d808 - RTF_GATEWAY = 0x2 - RTF_GWFLAG_COMPAT = 0x80000000 - RTF_HOST = 0x4 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_RNH_LOCKED = 0x40000000 - RTF_STATIC = 0x800 - RTF_STICKY = 0x10000000 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RTV_WEIGHT = 0x100 - RT_ALL_FIBS = -0x1 - RT_CACHING_CONTEXT = 0x1 - RT_DEFAULT_FIB = 0x0 - RT_NORTREF = 0x2 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_BINTIME = 0x4 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8040720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80286987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8040720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80286989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc028697b - SIOCGETSGCNT = 0xc0207210 - SIOCGETVIFCNT = 0xc028720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0106924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc028698a - SIOCGIFGROUP = 0xc0286988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0306938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106978 - SIOCSDRVSPEC = 0x8028697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDESCR = 0x80206929 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFIB = 0x8020695d - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206927 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFRVNET = 0xc020695b - SIOCSIFVNET = 0xc020695a - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BINTIME = 0x2000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1009 - SO_LINGER = 0x80 - SO_LISTENINCQLEN = 0x1013 - SO_LISTENQLEN = 0x1012 - SO_LISTENQLIMIT = 0x1011 - SO_NOSIGPIPE = 0x800 - SO_NO_DDP = 0x8000 - SO_NO_OFFLOAD = 0x4000 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1010 - SO_PROTOCOL = 0x1016 - SO_PROTOTYPE = 0x1016 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SETFIB = 0x1014 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_USER_COOKIE = 0x1015 - SO_VENDOR = 0x80000000 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CA_NAME_MAX = 0x10 - TCP_CONGESTION = 0x40 - TCP_INFO = 0x20 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x80 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_VENDOR = 0x80000000 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGPTN = 0x4004740f - TIOCGSID = 0x40047463 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DCD = 0x40 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMASTER = 0x2000741c - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WEXITED = 0x10 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WNOWAIT = 0x8 - WSTOPPED = 0x2 - WTRAPPED = 0x20 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x59) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x55) - ECAPMODE = syscall.Errno(0x5e) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDOOFUS = syscall.Errno(0x58) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x56) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5a) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x57) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCAPABLE = syscall.Errno(0x5d) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x5f) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x60) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x5c) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGLIBRT = syscall.Signal(0x21) - SIGLWP = syscall.Signal(0x20) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "operation canceled", - 86: "illegal byte sequence", - 87: "attribute not found", - 88: "programming error", - 89: "bad message", - 90: "multihop attempted", - 91: "link has been severed", - 92: "protocol error", - 93: "capabilities insufficient", - 94: "not permitted in capability mode", - 95: "state not recoverable", - 96: "previous owner died", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "unknown signal", - 33: "unknown signal", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go deleted file mode 100644 index 2afbe2d..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +++ /dev/null @@ -1,1729 +0,0 @@ -// mkerrors.sh -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build arm,freebsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x23 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x24 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_INET6_SDP = 0x2a - AF_INET_SDP = 0x28 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SCLUSTER = 0x22 - AF_SIP = 0x18 - AF_SLOW = 0x21 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VENDOR00 = 0x27 - AF_VENDOR01 = 0x29 - AF_VENDOR02 = 0x2b - AF_VENDOR03 = 0x2d - AF_VENDOR04 = 0x2f - AF_VENDOR05 = 0x31 - AF_VENDOR06 = 0x33 - AF_VENDOR07 = 0x35 - AF_VENDOR08 = 0x37 - AF_VENDOR09 = 0x39 - AF_VENDOR10 = 0x3b - AF_VENDOR11 = 0x3d - AF_VENDOR12 = 0x3f - AF_VENDOR13 = 0x41 - AF_VENDOR14 = 0x43 - AF_VENDOR15 = 0x45 - AF_VENDOR16 = 0x47 - AF_VENDOR17 = 0x49 - AF_VENDOR18 = 0x4b - AF_VENDOR19 = 0x4d - AF_VENDOR20 = 0x4f - AF_VENDOR21 = 0x51 - AF_VENDOR22 = 0x53 - AF_VENDOR23 = 0x55 - AF_VENDOR24 = 0x57 - AF_VENDOR25 = 0x59 - AF_VENDOR26 = 0x5b - AF_VENDOR27 = 0x5d - AF_VENDOR28 = 0x5f - AF_VENDOR29 = 0x61 - AF_VENDOR30 = 0x63 - AF_VENDOR31 = 0x65 - AF_VENDOR32 = 0x67 - AF_VENDOR33 = 0x69 - AF_VENDOR34 = 0x6b - AF_VENDOR35 = 0x6d - AF_VENDOR36 = 0x6f - AF_VENDOR37 = 0x71 - AF_VENDOR38 = 0x73 - AF_VENDOR39 = 0x75 - AF_VENDOR40 = 0x77 - AF_VENDOR41 = 0x79 - AF_VENDOR42 = 0x7b - AF_VENDOR43 = 0x7d - AF_VENDOR44 = 0x7f - AF_VENDOR45 = 0x81 - AF_VENDOR46 = 0x83 - AF_VENDOR47 = 0x85 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427c - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRECTION = 0x40044276 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4004427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4008426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x400c4280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80084267 - BIOCSETFNR = 0x80084282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8008427b - BIOCSETZBUF = 0x800c4281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8008426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_BUFMODE_BUFFER = 0x1 - BPF_BUFMODE_ZBUF = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_T_BINTIME = 0x2 - BPF_T_BINTIME_FAST = 0x102 - BPF_T_BINTIME_MONOTONIC = 0x202 - BPF_T_BINTIME_MONOTONIC_FAST = 0x302 - BPF_T_FAST = 0x100 - BPF_T_FLAG_MASK = 0x300 - BPF_T_FORMAT_MASK = 0x3 - BPF_T_MICROTIME = 0x0 - BPF_T_MICROTIME_FAST = 0x100 - BPF_T_MICROTIME_MONOTONIC = 0x200 - BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 - BPF_T_MONOTONIC = 0x200 - BPF_T_MONOTONIC_FAST = 0x300 - BPF_T_NANOTIME = 0x1 - BPF_T_NANOTIME_FAST = 0x101 - BPF_T_NANOTIME_MONOTONIC = 0x201 - BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 - BPF_T_NONE = 0x3 - BPF_T_NORMAL = 0x0 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0x18 - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf6 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x79 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_LIO = -0xa - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xb - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xb - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DROP = 0x1000 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTATTR_NAMESPACE_EMPTY = 0x0 - EXTATTR_NAMESPACE_SYSTEM = 0x2 - EXTATTR_NAMESPACE_USER = 0x1 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_CANCEL = 0x5 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xb - F_GETOWN = 0x5 - F_OGETLK = 0x7 - F_OK = 0x0 - F_OSETLK = 0x8 - F_OSETLKW = 0x9 - F_RDAHEAD = 0x10 - F_RDLCK = 0x1 - F_READAHEAD = 0xf - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0xc - F_SETLKW = 0xd - F_SETLK_REMOTE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_UNLCKSYS = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x218f72 - IFF_CANTCONFIG = 0x10000 - IFF_DEBUG = 0x4 - IFF_DRV_OACTIVE = 0x400 - IFF_DRV_RUNNING = 0x40 - IFF_DYING = 0x200000 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RENAMING = 0x400000 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_IPXIP = 0xf9 - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf6 - IFT_PFSYNC = 0xf7 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_MASK = 0xfffffffe - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0x102 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HIP = 0x8b - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MH = 0x87 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OLD_DIVERT = 0xfe - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_RESERVED_253 = 0xfd - IPPROTO_RESERVED_254 = 0xfe - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEND = 0x103 - IPPROTO_SEP = 0x21 - IPPROTO_SHIM6 = 0x8c - IPPROTO_SKIP = 0x39 - IPPROTO_SPACER = 0x7fff - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDANY = 0x40 - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BINDANY = 0x18 - IP_BLOCK_SOURCE = 0x48 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x43 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET3 = 0x31 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW3 = 0x30 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_NAT_CFG = 0x38 - IP_FW_NAT_DEL = 0x39 - IP_FW_NAT_GET_CONFIG = 0x3a - IP_FW_NAT_GET_LOG = 0x3b - IP_FW_RESETLOG = 0x37 - IP_FW_TABLE_ADD = 0x28 - IP_FW_TABLE_DEL = 0x29 - IP_FW_TABLE_FLUSH = 0x2a - IP_FW_TABLE_GETSIZE = 0x2b - IP_FW_TABLE_LIST = 0x2c - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MAX_SOURCE_FILTER = 0x400 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_ONESBCAST = 0x17 - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x44 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_SENDSRCADDR = 0x7 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_PROTECT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_ALIGNED_SUPER = 0x1000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_EXCL = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_NOCORE = 0x20000 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PREFAULT_READ = 0x40000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESERVED0100 = 0x100 - MAP_SHARED = 0x1 - MAP_STACK = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x40000 - MSG_COMPAT = 0x8000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_NBIO = 0x4000 - MSG_NOSIGNAL = 0x20000 - MSG_NOTIFICATION = 0x2000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 - NET_RT_MAXID = 0x6 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x100000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x20000 - O_EXCL = 0x800 - O_EXEC = 0x40000 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_TTY_INIT = 0x80000 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x1004d808 - RTF_GATEWAY = 0x2 - RTF_GWFLAG_COMPAT = 0x80000000 - RTF_HOST = 0x4 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_RNH_LOCKED = 0x40000000 - RTF_STATIC = 0x800 - RTF_STICKY = 0x10000000 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RTV_WEIGHT = 0x100 - RT_ALL_FIBS = -0x1 - RT_CACHING_CONTEXT = 0x1 - RT_DEFAULT_FIB = 0x0 - RT_NORTREF = 0x2 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_BINTIME = 0x4 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80246987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80246989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc01c697b - SIOCGETSGCNT = 0xc0147210 - SIOCGETVIFCNT = 0xc014720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0086924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc024698a - SIOCGIFGROUP = 0xc0246988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0286938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCSDRVSPEC = 0x801c697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDESCR = 0x80206929 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFIB = 0x8020695d - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206927 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFRVNET = 0xc020695b - SIOCSIFVNET = 0xc020695a - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BINTIME = 0x2000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1009 - SO_LINGER = 0x80 - SO_LISTENINCQLEN = 0x1013 - SO_LISTENQLEN = 0x1012 - SO_LISTENQLIMIT = 0x1011 - SO_NOSIGPIPE = 0x800 - SO_NO_DDP = 0x8000 - SO_NO_OFFLOAD = 0x4000 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1010 - SO_PROTOCOL = 0x1016 - SO_PROTOTYPE = 0x1016 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SETFIB = 0x1014 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_USER_COOKIE = 0x1015 - SO_VENDOR = 0x80000000 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CA_NAME_MAX = 0x10 - TCP_CONGESTION = 0x40 - TCP_INFO = 0x20 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x80 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_VENDOR = 0x80000000 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGPTN = 0x4004740f - TIOCGSID = 0x40047463 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DCD = 0x40 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMASTER = 0x2000741c - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40087459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WEXITED = 0x10 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WNOWAIT = 0x8 - WSTOPPED = 0x2 - WTRAPPED = 0x20 - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x59) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x55) - ECAPMODE = syscall.Errno(0x5e) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDOOFUS = syscall.Errno(0x58) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x56) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5a) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x57) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCAPABLE = syscall.Errno(0x5d) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTRECOVERABLE = syscall.Errno(0x5f) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EOWNERDEAD = syscall.Errno(0x60) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x5c) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGLIBRT = syscall.Signal(0x21) - SIGLWP = syscall.Signal(0x20) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "operation timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "operation canceled", - 86: "illegal byte sequence", - 87: "attribute not found", - 88: "programming error", - 89: "bad message", - 90: "multihop attempted", - 91: "link has been severed", - 92: "protocol error", - 93: "capabilities insufficient", - 94: "not permitted in capability mode", - 95: "state not recoverable", - 96: "previous owner died", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "suspended (signal)", - 18: "suspended", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "unknown signal", - 33: "unknown signal", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go deleted file mode 100644 index e8d945e..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ /dev/null @@ -1,2140 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build 386,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x80041270 - BLKBSZSET = 0x40041271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80041272 - BLKPBSZGET = 0x127b - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x1000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0xc - F_GETLK64 = 0xc - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0xd - F_SETLK64 = 0xd - F_SETLKW = 0xe - F_SETLKW64 = 0xe - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_32BIT = 0x40 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x2000 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x4000 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x4000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x8000 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = 0xffffffff - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETFPXREGS = 0x12 - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETFPXREGS = 0x13 - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SINGLEBLOCK = 0x21 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_SYSEMU = 0x1f - PTRACE_SYSEMU_SINGLESTEP = 0x20 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x10 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x11 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x12 - SO_RCVTIMEO = 0x14 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x13 - SO_SNDTIMEO = 0x15 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x540b - TCGETA = 0x5405 - TCGETS = 0x5401 - TCGETS2 = 0x802c542a - TCGETX = 0x5432 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x5409 - TCSBRKP = 0x5425 - TCSETA = 0x5406 - TCSETAF = 0x5408 - TCSETAW = 0x5407 - TCSETS = 0x5402 - TCSETS2 = 0x402c542b - TCSETSF = 0x5404 - TCSETSF2 = 0x402c542d - TCSETSW = 0x5403 - TCSETSW2 = 0x402c542c - TCSETX = 0x5433 - TCSETXF = 0x5434 - TCSETXW = 0x5435 - TCXONC = 0x540a - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x80045432 - TIOCGETD = 0x5424 - TIOCGEXCL = 0x80045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x540f - TIOCGPKT = 0x80045438 - TIOCGPTLCK = 0x80045439 - TIOCGPTN = 0x80045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x5413 - TIOCINQ = 0x541b - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x5411 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x5423 - TIOCSIG = 0x40045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x5410 - TIOCSPTLCK = 0x40045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTI = 0x5412 - TIOCSWINSZ = 0x5414 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x400854d5 - TUNDETACHFILTER = 0x400854d6 - TUNGETFEATURES = 0x800454cf - TUNGETFILTER = 0x800854db - TUNGETIFF = 0x800454d2 - TUNGETSNDBUF = 0x800454d3 - TUNGETVNETBE = 0x800454df - TUNGETVNETHDRSZ = 0x800454d7 - TUNGETVNETLE = 0x800454dd - TUNSETDEBUG = 0x400454c9 - TUNSETGROUP = 0x400454ce - TUNSETIFF = 0x400454ca - TUNSETIFINDEX = 0x400454da - TUNSETLINK = 0x400454cd - TUNSETNOCSUM = 0x400454c8 - TUNSETOFFLOAD = 0x400454d0 - TUNSETOWNER = 0x400454cc - TUNSETPERSIST = 0x400454cb - TUNSETQUEUE = 0x400454d9 - TUNSETSNDBUF = 0x400454d4 - TUNSETTXFILTER = 0x400454d1 - TUNSETVNETBE = 0x400454de - TUNSETVNETHDRSZ = 0x400454d8 - TUNSETVNETLE = 0x400454dc - VDISCARD = 0xd - VEOF = 0x4 - VEOL = 0xb - VEOL2 = 0x10 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x6 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x20 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x23) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go deleted file mode 100644 index 97dc039..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ /dev/null @@ -1,2141 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x80081270 - BLKBSZSET = 0x40081271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80081272 - BLKPBSZGET = 0x127b - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x1000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x5 - F_GETLK64 = 0x5 - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_32BIT = 0x40 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x2000 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x4000 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x4000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ARCH_PRCTL = 0x1e - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETFPXREGS = 0x12 - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETFPXREGS = 0x13 - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SINGLEBLOCK = 0x21 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_SYSEMU = 0x1f - PTRACE_SYSEMU_SINGLESTEP = 0x20 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x10 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x11 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x12 - SO_RCVTIMEO = 0x14 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x13 - SO_SNDTIMEO = 0x15 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x540b - TCGETA = 0x5405 - TCGETS = 0x5401 - TCGETS2 = 0x802c542a - TCGETX = 0x5432 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x5409 - TCSBRKP = 0x5425 - TCSETA = 0x5406 - TCSETAF = 0x5408 - TCSETAW = 0x5407 - TCSETS = 0x5402 - TCSETS2 = 0x402c542b - TCSETSF = 0x5404 - TCSETSF2 = 0x402c542d - TCSETSW = 0x5403 - TCSETSW2 = 0x402c542c - TCSETX = 0x5433 - TCSETXF = 0x5434 - TCSETXW = 0x5435 - TCXONC = 0x540a - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x80045432 - TIOCGETD = 0x5424 - TIOCGEXCL = 0x80045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x540f - TIOCGPKT = 0x80045438 - TIOCGPTLCK = 0x80045439 - TIOCGPTN = 0x80045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x5413 - TIOCINQ = 0x541b - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x5411 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x5423 - TIOCSIG = 0x40045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x5410 - TIOCSPTLCK = 0x40045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTI = 0x5412 - TIOCSWINSZ = 0x5414 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x401054d5 - TUNDETACHFILTER = 0x401054d6 - TUNGETFEATURES = 0x800454cf - TUNGETFILTER = 0x801054db - TUNGETIFF = 0x800454d2 - TUNGETSNDBUF = 0x800454d3 - TUNGETVNETBE = 0x800454df - TUNGETVNETHDRSZ = 0x800454d7 - TUNGETVNETLE = 0x800454dd - TUNSETDEBUG = 0x400454c9 - TUNSETGROUP = 0x400454ce - TUNSETIFF = 0x400454ca - TUNSETIFINDEX = 0x400454da - TUNSETLINK = 0x400454cd - TUNSETNOCSUM = 0x400454c8 - TUNSETOFFLOAD = 0x400454d0 - TUNSETOWNER = 0x400454cc - TUNSETPERSIST = 0x400454cb - TUNSETQUEUE = 0x400454d9 - TUNSETSNDBUF = 0x400454d4 - TUNSETTXFILTER = 0x400454d1 - TUNSETVNETBE = 0x400454de - TUNSETVNETHDRSZ = 0x400454d8 - TUNSETVNETLE = 0x400454dc - VDISCARD = 0xd - VEOF = 0x4 - VEOL = 0xb - VEOL2 = 0x10 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x6 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x23) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go deleted file mode 100644 index 52f08f2..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ /dev/null @@ -1,2145 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x80041270 - BLKBSZSET = 0x40041271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80041272 - BLKPBSZGET = 0x127b - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x1000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0xc - F_GETLK64 = 0xc - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0xd - F_SETLK64 = 0xd - F_SETLKW = 0xe - F_SETLKW64 = 0xe - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x2000 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x4000 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x4000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x20000 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x8000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x404000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = 0xffffffff - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETCRUNCHREGS = 0x19 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETHBPREGS = 0x1d - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GETVFPREGS = 0x1b - PTRACE_GETWMMXREGS = 0x12 - PTRACE_GET_THREAD_AREA = 0x16 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETCRUNCHREGS = 0x1a - PTRACE_SETFPREGS = 0xf - PTRACE_SETHBPREGS = 0x1e - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SETVFPREGS = 0x1c - PTRACE_SETWMMXREGS = 0x13 - PTRACE_SET_SYSCALL = 0x17 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - PT_DATA_ADDR = 0x10004 - PT_TEXT_ADDR = 0x10000 - PT_TEXT_END_ADDR = 0x10008 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x10 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x11 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x12 - SO_RCVTIMEO = 0x14 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x13 - SO_SNDTIMEO = 0x15 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x540b - TCGETA = 0x5405 - TCGETS = 0x5401 - TCGETS2 = 0x802c542a - TCGETX = 0x5432 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x5409 - TCSBRKP = 0x5425 - TCSETA = 0x5406 - TCSETAF = 0x5408 - TCSETAW = 0x5407 - TCSETS = 0x5402 - TCSETS2 = 0x402c542b - TCSETSF = 0x5404 - TCSETSF2 = 0x402c542d - TCSETSW = 0x5403 - TCSETSW2 = 0x402c542c - TCSETX = 0x5433 - TCSETXF = 0x5434 - TCSETXW = 0x5435 - TCXONC = 0x540a - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x80045432 - TIOCGETD = 0x5424 - TIOCGEXCL = 0x80045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x540f - TIOCGPKT = 0x80045438 - TIOCGPTLCK = 0x80045439 - TIOCGPTN = 0x80045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x5413 - TIOCINQ = 0x541b - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x5411 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x5423 - TIOCSIG = 0x40045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x5410 - TIOCSPTLCK = 0x40045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTI = 0x5412 - TIOCSWINSZ = 0x5414 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x400854d5 - TUNDETACHFILTER = 0x400854d6 - TUNGETFEATURES = 0x800454cf - TUNGETFILTER = 0x800854db - TUNGETIFF = 0x800454d2 - TUNGETSNDBUF = 0x800454d3 - TUNGETVNETBE = 0x800454df - TUNGETVNETHDRSZ = 0x800454d7 - TUNGETVNETLE = 0x800454dd - TUNSETDEBUG = 0x400454c9 - TUNSETGROUP = 0x400454ce - TUNSETIFF = 0x400454ca - TUNSETIFINDEX = 0x400454da - TUNSETLINK = 0x400454cd - TUNSETNOCSUM = 0x400454c8 - TUNSETOFFLOAD = 0x400454d0 - TUNSETOWNER = 0x400454cc - TUNSETPERSIST = 0x400454cb - TUNSETQUEUE = 0x400454d9 - TUNSETSNDBUF = 0x400454d4 - TUNSETTXFILTER = 0x400454d1 - TUNSETVNETBE = 0x400454de - TUNSETVNETHDRSZ = 0x400454d8 - TUNSETVNETLE = 0x400454dc - VDISCARD = 0xd - VEOF = 0x4 - VEOL = 0xb - VEOL2 = 0x10 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x6 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x20 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x23) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go deleted file mode 100644 index 0cfe25b..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ /dev/null @@ -1,2130 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm64,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x80081270 - BLKBSZSET = 0x40081271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80081272 - BLKPBSZGET = 0x127b - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ESR_MAGIC = 0x45535201 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x1000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x5 - F_GETLK64 = 0x5 - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x2000 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x4000 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x4000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x8000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x404000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x10 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x11 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x12 - SO_RCVTIMEO = 0x14 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x13 - SO_SNDTIMEO = 0x15 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x540b - TCGETA = 0x5405 - TCGETS = 0x5401 - TCGETS2 = 0x802c542a - TCGETX = 0x5432 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x5409 - TCSBRKP = 0x5425 - TCSETA = 0x5406 - TCSETAF = 0x5408 - TCSETAW = 0x5407 - TCSETS = 0x5402 - TCSETS2 = 0x402c542b - TCSETSF = 0x5404 - TCSETSF2 = 0x402c542d - TCSETSW = 0x5403 - TCSETSW2 = 0x402c542c - TCSETX = 0x5433 - TCSETXF = 0x5434 - TCSETXW = 0x5435 - TCXONC = 0x540a - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x80045432 - TIOCGETD = 0x5424 - TIOCGEXCL = 0x80045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x540f - TIOCGPKT = 0x80045438 - TIOCGPTLCK = 0x80045439 - TIOCGPTN = 0x80045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x5413 - TIOCINQ = 0x541b - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x5411 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x5423 - TIOCSIG = 0x40045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x5410 - TIOCSPTLCK = 0x40045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTI = 0x5412 - TIOCSWINSZ = 0x5414 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x401054d5 - TUNDETACHFILTER = 0x401054d6 - TUNGETFEATURES = 0x800454cf - TUNGETFILTER = 0x801054db - TUNGETIFF = 0x800454d2 - TUNGETSNDBUF = 0x800454d3 - TUNGETVNETBE = 0x800454df - TUNGETVNETHDRSZ = 0x800454d7 - TUNGETVNETLE = 0x800454dd - TUNSETDEBUG = 0x400454c9 - TUNSETGROUP = 0x400454ce - TUNSETIFF = 0x400454ca - TUNSETIFINDEX = 0x400454da - TUNSETLINK = 0x400454cd - TUNSETNOCSUM = 0x400454c8 - TUNSETOFFLOAD = 0x400454d0 - TUNSETOWNER = 0x400454cc - TUNSETPERSIST = 0x400454cb - TUNSETQUEUE = 0x400454d9 - TUNSETSNDBUF = 0x400454d4 - TUNSETTXFILTER = 0x400454d1 - TUNSETVNETBE = 0x400454de - TUNSETVNETHDRSZ = 0x400454d8 - TUNSETVNETLE = 0x400454dc - VDISCARD = 0xd - VEOF = 0x4 - VEOL = 0xb - VEOL2 = 0x10 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x6 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x23) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go deleted file mode 100644 index 264a136..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ /dev/null @@ -1,2149 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x40041270 - BLKBSZSET = 0x80041271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40041272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x80 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x2000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x21 - F_GETLK64 = 0x21 - F_GETOWN = 0x17 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x22 - F_SETLK64 = 0x22 - F_SETLKW = 0x23 - F_SETLKW64 = 0x23 - F_SETOWN = 0x18 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x100 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x80 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x800 - MAP_ANONYMOUS = 0x800 - MAP_DENYWRITE = 0x2000 - MAP_EXECUTABLE = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x1000 - MAP_HUGETLB = 0x80000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x8000 - MAP_NONBLOCK = 0x20000 - MAP_NORESERVE = 0x400 - MAP_POPULATE = 0x10000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x800 - MAP_SHARED = 0x1 - MAP_STACK = 0x40000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x1000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x100 - O_DIRECT = 0x8000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x10 - O_EXCL = 0x400 - O_FSYNC = 0x4010 - O_LARGEFILE = 0x2000 - O_NDELAY = 0x80 - O_NOATIME = 0x40000 - O_NOCTTY = 0x800 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x80 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x4010 - O_SYNC = 0x4010 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = 0xffffffff - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_GET_THREAD_AREA_3264 = 0xc4 - PTRACE_GET_WATCH_REGS = 0xd0 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKDATA_3264 = 0xc1 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKTEXT_3264 = 0xc0 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKEDATA_3264 = 0xc3 - PTRACE_POKETEXT = 0x4 - PTRACE_POKETEXT_3264 = 0xc2 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SET_WATCH_REGS = 0xd1 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x6 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x9 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x5 - RLIMIT_NPROC = 0x8 - RLIMIT_RSS = 0x7 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x40047307 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x40047309 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x80047308 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x1 - SOCK_NONBLOCK = 0x80 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x2 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0xffff - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1009 - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x20 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x1029 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0x100 - SO_PASSCRED = 0x11 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x12 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1e - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x1028 - SO_RCVBUF = 0x1002 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x1001 - SO_SNDBUFFORCE = 0x1f - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_STYLE = 0x1008 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x1008 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x5407 - TCGETA = 0x5401 - TCGETS = 0x540d - TCGETS2 = 0x4030542a - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x5410 - TCSBRK = 0x5405 - TCSBRKP = 0x5486 - TCSETA = 0x5402 - TCSETAF = 0x5404 - TCSETAW = 0x5403 - TCSETS = 0x540e - TCSETS2 = 0x8030542b - TCSETSF = 0x5410 - TCSETSF2 = 0x8030542d - TCSETSW = 0x540f - TCSETSW2 = 0x8030542c - TCXONC = 0x5406 - TIOCCBRK = 0x5428 - TIOCCONS = 0x80047478 - TIOCEXCL = 0x740d - TIOCGDEV = 0x40045432 - TIOCGETD = 0x7400 - TIOCGETP = 0x7408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x5492 - TIOCGLCKTRMIOS = 0x548b - TIOCGLTC = 0x7474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x4020542e - TIOCGSERIAL = 0x5484 - TIOCGSID = 0x7416 - TIOCGSOFTCAR = 0x5481 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x467f - TIOCLINUX = 0x5483 - TIOCMBIC = 0x741c - TIOCMBIS = 0x741b - TIOCMGET = 0x741d - TIOCMIWAIT = 0x5491 - TIOCMSET = 0x741a - TIOCM_CAR = 0x100 - TIOCM_CD = 0x100 - TIOCM_CTS = 0x40 - TIOCM_DSR = 0x400 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x200 - TIOCM_RNG = 0x200 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x20 - TIOCM_ST = 0x10 - TIOCNOTTY = 0x5471 - TIOCNXCL = 0x740e - TIOCOUTQ = 0x7472 - TIOCPKT = 0x5470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x5480 - TIOCSERCONFIG = 0x5488 - TIOCSERGETLSR = 0x548e - TIOCSERGETMULTI = 0x548f - TIOCSERGSTRUCT = 0x548d - TIOCSERGWILD = 0x5489 - TIOCSERSETMULTI = 0x5490 - TIOCSERSWILD = 0x548a - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x7401 - TIOCSETN = 0x740a - TIOCSETP = 0x7409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x548c - TIOCSLTC = 0x7475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0xc020542f - TIOCSSERIAL = 0x5485 - TIOCSSOFTCAR = 0x5482 - TIOCSTI = 0x5472 - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x8000 - TUNATTACHFILTER = 0x800854d5 - TUNDETACHFILTER = 0x800854d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x400854db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0xd - VEOF = 0x10 - VEOL = 0x11 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x4 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VSWTCH = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x20 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x7d) - EADDRNOTAVAIL = syscall.Errno(0x7e) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x7c) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x95) - EBADE = syscall.Errno(0x32) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x51) - EBADMSG = syscall.Errno(0x4d) - EBADR = syscall.Errno(0x33) - EBADRQC = syscall.Errno(0x36) - EBADSLT = syscall.Errno(0x37) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x9e) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x25) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x82) - ECONNREFUSED = syscall.Errno(0x92) - ECONNRESET = syscall.Errno(0x83) - EDEADLK = syscall.Errno(0x2d) - EDEADLOCK = syscall.Errno(0x38) - EDESTADDRREQ = syscall.Errno(0x60) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x46d) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x93) - EHOSTUNREACH = syscall.Errno(0x94) - EHWPOISON = syscall.Errno(0xa8) - EIDRM = syscall.Errno(0x24) - EILSEQ = syscall.Errno(0x58) - EINIT = syscall.Errno(0x8d) - EINPROGRESS = syscall.Errno(0x96) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x85) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x8b) - EKEYEXPIRED = syscall.Errno(0xa2) - EKEYREJECTED = syscall.Errno(0xa4) - EKEYREVOKED = syscall.Errno(0xa3) - EL2HLT = syscall.Errno(0x2c) - EL2NSYNC = syscall.Errno(0x26) - EL3HLT = syscall.Errno(0x27) - EL3RST = syscall.Errno(0x28) - ELIBACC = syscall.Errno(0x53) - ELIBBAD = syscall.Errno(0x54) - ELIBEXEC = syscall.Errno(0x57) - ELIBMAX = syscall.Errno(0x56) - ELIBSCN = syscall.Errno(0x55) - ELNRNG = syscall.Errno(0x29) - ELOOP = syscall.Errno(0x5a) - EMEDIUMTYPE = syscall.Errno(0xa0) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x61) - EMULTIHOP = syscall.Errno(0x4a) - ENAMETOOLONG = syscall.Errno(0x4e) - ENAVAIL = syscall.Errno(0x8a) - ENETDOWN = syscall.Errno(0x7f) - ENETRESET = syscall.Errno(0x81) - ENETUNREACH = syscall.Errno(0x80) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x35) - ENOBUFS = syscall.Errno(0x84) - ENOCSI = syscall.Errno(0x2b) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0xa1) - ENOLCK = syscall.Errno(0x2e) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x9f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x23) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x63) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x59) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x86) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x5d) - ENOTNAM = syscall.Errno(0x89) - ENOTRECOVERABLE = syscall.Errno(0xa6) - ENOTSOCK = syscall.Errno(0x5f) - ENOTSUP = syscall.Errno(0x7a) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x50) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x7a) - EOVERFLOW = syscall.Errno(0x4f) - EOWNERDEAD = syscall.Errno(0xa5) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x7b) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x78) - EPROTOTYPE = syscall.Errno(0x62) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x52) - EREMDEV = syscall.Errno(0x8e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x8c) - ERESTART = syscall.Errno(0x5b) - ERFKILL = syscall.Errno(0xa7) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x8f) - ESOCKTNOSUPPORT = syscall.Errno(0x79) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x97) - ESTRPIPE = syscall.Errno(0x5c) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x91) - ETOOMANYREFS = syscall.Errno(0x90) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x87) - EUNATCH = syscall.Errno(0x2a) - EUSERS = syscall.Errno(0x5e) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x34) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x12) - SIGCLD = syscall.Signal(0x12) - SIGCONT = syscall.Signal(0x19) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x16) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x16) - SIGPROF = syscall.Signal(0x1d) - SIGPWR = syscall.Signal(0x13) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x17) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x18) - SIGTTIN = syscall.Signal(0x1a) - SIGTTOU = syscall.Signal(0x1b) - SIGURG = syscall.Signal(0x15) - SIGUSR1 = syscall.Signal(0x10) - SIGUSR2 = syscall.Signal(0x11) - SIGVTALRM = syscall.Signal(0x1c) - SIGWINCH = syscall.Signal(0x14) - SIGXCPU = syscall.Signal(0x1e) - SIGXFSZ = syscall.Signal(0x1f) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "no message of desired type", - 36: "identifier removed", - 37: "channel number out of range", - 38: "level 2 not synchronized", - 39: "level 3 halted", - 40: "level 3 reset", - 41: "link number out of range", - 42: "protocol driver not attached", - 43: "no CSI structure available", - 44: "level 2 halted", - 45: "resource deadlock avoided", - 46: "no locks available", - 50: "invalid exchange", - 51: "invalid request descriptor", - 52: "exchange full", - 53: "no anode", - 54: "invalid request code", - 55: "invalid slot", - 56: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 73: "RFS specific error", - 74: "multihop attempted", - 77: "bad message", - 78: "file name too long", - 79: "value too large for defined data type", - 80: "name not unique on network", - 81: "file descriptor in bad state", - 82: "remote address changed", - 83: "can not access a needed shared library", - 84: "accessing a corrupted shared library", - 85: ".lib section in a.out corrupted", - 86: "attempting to link in too many shared libraries", - 87: "cannot exec a shared library directly", - 88: "invalid or incomplete multibyte or wide character", - 89: "function not implemented", - 90: "too many levels of symbolic links", - 91: "interrupted system call should be restarted", - 92: "streams pipe error", - 93: "directory not empty", - 94: "too many users", - 95: "socket operation on non-socket", - 96: "destination address required", - 97: "message too long", - 98: "protocol wrong type for socket", - 99: "protocol not available", - 120: "protocol not supported", - 121: "socket type not supported", - 122: "operation not supported", - 123: "protocol family not supported", - 124: "address family not supported by protocol", - 125: "address already in use", - 126: "cannot assign requested address", - 127: "network is down", - 128: "network is unreachable", - 129: "network dropped connection on reset", - 130: "software caused connection abort", - 131: "connection reset by peer", - 132: "no buffer space available", - 133: "transport endpoint is already connected", - 134: "transport endpoint is not connected", - 135: "structure needs cleaning", - 137: "not a XENIX named type file", - 138: "no XENIX semaphores available", - 139: "is a named type file", - 140: "remote I/O error", - 141: "unknown error 141", - 142: "unknown error 142", - 143: "cannot send after transport endpoint shutdown", - 144: "too many references: cannot splice", - 145: "connection timed out", - 146: "connection refused", - 147: "host is down", - 148: "no route to host", - 149: "operation already in progress", - 150: "operation now in progress", - 151: "stale file handle", - 158: "operation canceled", - 159: "no medium found", - 160: "wrong medium type", - 161: "required key not available", - 162: "key has expired", - 163: "key has been revoked", - 164: "key was rejected by service", - 165: "owner died", - 166: "state not recoverable", - 167: "operation not possible due to RF-kill", - 168: "memory page has hardware error", - 1133: "disk quota exceeded", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "user defined signal 1", - 17: "user defined signal 2", - 18: "child exited", - 19: "power failure", - 20: "window changed", - 21: "urgent I/O condition", - 22: "I/O possible", - 23: "stopped (signal)", - 24: "stopped", - 25: "continued", - 26: "stopped (tty input)", - 27: "stopped (tty output)", - 28: "virtual timer expired", - 29: "profiling timer expired", - 30: "CPU time limit exceeded", - 31: "file size limit exceeded", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go deleted file mode 100644 index bde3efb..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ /dev/null @@ -1,2149 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x40081270 - BLKBSZSET = 0x80081271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40081272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x80 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x2000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0xe - F_GETLK64 = 0xe - F_GETOWN = 0x17 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETOWN = 0x18 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x100 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x80 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x800 - MAP_ANONYMOUS = 0x800 - MAP_DENYWRITE = 0x2000 - MAP_EXECUTABLE = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x1000 - MAP_HUGETLB = 0x80000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x8000 - MAP_NONBLOCK = 0x20000 - MAP_NORESERVE = 0x400 - MAP_POPULATE = 0x10000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x800 - MAP_SHARED = 0x1 - MAP_STACK = 0x40000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x1000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x100 - O_DIRECT = 0x8000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x10 - O_EXCL = 0x400 - O_FSYNC = 0x4010 - O_LARGEFILE = 0x0 - O_NDELAY = 0x80 - O_NOATIME = 0x40000 - O_NOCTTY = 0x800 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x80 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x4010 - O_SYNC = 0x4010 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_GET_THREAD_AREA_3264 = 0xc4 - PTRACE_GET_WATCH_REGS = 0xd0 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKDATA_3264 = 0xc1 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKTEXT_3264 = 0xc0 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKEDATA_3264 = 0xc3 - PTRACE_POKETEXT = 0x4 - PTRACE_POKETEXT_3264 = 0xc2 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SET_WATCH_REGS = 0xd1 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x6 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x9 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x5 - RLIMIT_NPROC = 0x8 - RLIMIT_RSS = 0x7 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x40047307 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x40047309 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x80047308 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x1 - SOCK_NONBLOCK = 0x80 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x2 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0xffff - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1009 - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x20 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x1029 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0x100 - SO_PASSCRED = 0x11 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x12 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1e - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x1028 - SO_RCVBUF = 0x1002 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x1001 - SO_SNDBUFFORCE = 0x1f - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_STYLE = 0x1008 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x1008 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x5407 - TCGETA = 0x5401 - TCGETS = 0x540d - TCGETS2 = 0x4030542a - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x5410 - TCSBRK = 0x5405 - TCSBRKP = 0x5486 - TCSETA = 0x5402 - TCSETAF = 0x5404 - TCSETAW = 0x5403 - TCSETS = 0x540e - TCSETS2 = 0x8030542b - TCSETSF = 0x5410 - TCSETSF2 = 0x8030542d - TCSETSW = 0x540f - TCSETSW2 = 0x8030542c - TCXONC = 0x5406 - TIOCCBRK = 0x5428 - TIOCCONS = 0x80047478 - TIOCEXCL = 0x740d - TIOCGDEV = 0x40045432 - TIOCGETD = 0x7400 - TIOCGETP = 0x7408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x5492 - TIOCGLCKTRMIOS = 0x548b - TIOCGLTC = 0x7474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x4020542e - TIOCGSERIAL = 0x5484 - TIOCGSID = 0x7416 - TIOCGSOFTCAR = 0x5481 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x467f - TIOCLINUX = 0x5483 - TIOCMBIC = 0x741c - TIOCMBIS = 0x741b - TIOCMGET = 0x741d - TIOCMIWAIT = 0x5491 - TIOCMSET = 0x741a - TIOCM_CAR = 0x100 - TIOCM_CD = 0x100 - TIOCM_CTS = 0x40 - TIOCM_DSR = 0x400 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x200 - TIOCM_RNG = 0x200 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x20 - TIOCM_ST = 0x10 - TIOCNOTTY = 0x5471 - TIOCNXCL = 0x740e - TIOCOUTQ = 0x7472 - TIOCPKT = 0x5470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x5480 - TIOCSERCONFIG = 0x5488 - TIOCSERGETLSR = 0x548e - TIOCSERGETMULTI = 0x548f - TIOCSERGSTRUCT = 0x548d - TIOCSERGWILD = 0x5489 - TIOCSERSETMULTI = 0x5490 - TIOCSERSWILD = 0x548a - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x7401 - TIOCSETN = 0x740a - TIOCSETP = 0x7409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x548c - TIOCSLTC = 0x7475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0xc020542f - TIOCSSERIAL = 0x5485 - TIOCSSOFTCAR = 0x5482 - TIOCSTI = 0x5472 - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x8000 - TUNATTACHFILTER = 0x801054d5 - TUNDETACHFILTER = 0x801054d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x401054db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0xd - VEOF = 0x10 - VEOL = 0x11 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x4 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VSWTCH = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x7d) - EADDRNOTAVAIL = syscall.Errno(0x7e) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x7c) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x95) - EBADE = syscall.Errno(0x32) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x51) - EBADMSG = syscall.Errno(0x4d) - EBADR = syscall.Errno(0x33) - EBADRQC = syscall.Errno(0x36) - EBADSLT = syscall.Errno(0x37) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x9e) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x25) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x82) - ECONNREFUSED = syscall.Errno(0x92) - ECONNRESET = syscall.Errno(0x83) - EDEADLK = syscall.Errno(0x2d) - EDEADLOCK = syscall.Errno(0x38) - EDESTADDRREQ = syscall.Errno(0x60) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x46d) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x93) - EHOSTUNREACH = syscall.Errno(0x94) - EHWPOISON = syscall.Errno(0xa8) - EIDRM = syscall.Errno(0x24) - EILSEQ = syscall.Errno(0x58) - EINIT = syscall.Errno(0x8d) - EINPROGRESS = syscall.Errno(0x96) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x85) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x8b) - EKEYEXPIRED = syscall.Errno(0xa2) - EKEYREJECTED = syscall.Errno(0xa4) - EKEYREVOKED = syscall.Errno(0xa3) - EL2HLT = syscall.Errno(0x2c) - EL2NSYNC = syscall.Errno(0x26) - EL3HLT = syscall.Errno(0x27) - EL3RST = syscall.Errno(0x28) - ELIBACC = syscall.Errno(0x53) - ELIBBAD = syscall.Errno(0x54) - ELIBEXEC = syscall.Errno(0x57) - ELIBMAX = syscall.Errno(0x56) - ELIBSCN = syscall.Errno(0x55) - ELNRNG = syscall.Errno(0x29) - ELOOP = syscall.Errno(0x5a) - EMEDIUMTYPE = syscall.Errno(0xa0) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x61) - EMULTIHOP = syscall.Errno(0x4a) - ENAMETOOLONG = syscall.Errno(0x4e) - ENAVAIL = syscall.Errno(0x8a) - ENETDOWN = syscall.Errno(0x7f) - ENETRESET = syscall.Errno(0x81) - ENETUNREACH = syscall.Errno(0x80) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x35) - ENOBUFS = syscall.Errno(0x84) - ENOCSI = syscall.Errno(0x2b) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0xa1) - ENOLCK = syscall.Errno(0x2e) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x9f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x23) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x63) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x59) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x86) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x5d) - ENOTNAM = syscall.Errno(0x89) - ENOTRECOVERABLE = syscall.Errno(0xa6) - ENOTSOCK = syscall.Errno(0x5f) - ENOTSUP = syscall.Errno(0x7a) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x50) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x7a) - EOVERFLOW = syscall.Errno(0x4f) - EOWNERDEAD = syscall.Errno(0xa5) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x7b) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x78) - EPROTOTYPE = syscall.Errno(0x62) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x52) - EREMDEV = syscall.Errno(0x8e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x8c) - ERESTART = syscall.Errno(0x5b) - ERFKILL = syscall.Errno(0xa7) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x8f) - ESOCKTNOSUPPORT = syscall.Errno(0x79) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x97) - ESTRPIPE = syscall.Errno(0x5c) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x91) - ETOOMANYREFS = syscall.Errno(0x90) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x87) - EUNATCH = syscall.Errno(0x2a) - EUSERS = syscall.Errno(0x5e) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x34) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x12) - SIGCLD = syscall.Signal(0x12) - SIGCONT = syscall.Signal(0x19) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x16) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x16) - SIGPROF = syscall.Signal(0x1d) - SIGPWR = syscall.Signal(0x13) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x17) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x18) - SIGTTIN = syscall.Signal(0x1a) - SIGTTOU = syscall.Signal(0x1b) - SIGURG = syscall.Signal(0x15) - SIGUSR1 = syscall.Signal(0x10) - SIGUSR2 = syscall.Signal(0x11) - SIGVTALRM = syscall.Signal(0x1c) - SIGWINCH = syscall.Signal(0x14) - SIGXCPU = syscall.Signal(0x1e) - SIGXFSZ = syscall.Signal(0x1f) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "no message of desired type", - 36: "identifier removed", - 37: "channel number out of range", - 38: "level 2 not synchronized", - 39: "level 3 halted", - 40: "level 3 reset", - 41: "link number out of range", - 42: "protocol driver not attached", - 43: "no CSI structure available", - 44: "level 2 halted", - 45: "resource deadlock avoided", - 46: "no locks available", - 50: "invalid exchange", - 51: "invalid request descriptor", - 52: "exchange full", - 53: "no anode", - 54: "invalid request code", - 55: "invalid slot", - 56: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 73: "RFS specific error", - 74: "multihop attempted", - 77: "bad message", - 78: "file name too long", - 79: "value too large for defined data type", - 80: "name not unique on network", - 81: "file descriptor in bad state", - 82: "remote address changed", - 83: "can not access a needed shared library", - 84: "accessing a corrupted shared library", - 85: ".lib section in a.out corrupted", - 86: "attempting to link in too many shared libraries", - 87: "cannot exec a shared library directly", - 88: "invalid or incomplete multibyte or wide character", - 89: "function not implemented", - 90: "too many levels of symbolic links", - 91: "interrupted system call should be restarted", - 92: "streams pipe error", - 93: "directory not empty", - 94: "too many users", - 95: "socket operation on non-socket", - 96: "destination address required", - 97: "message too long", - 98: "protocol wrong type for socket", - 99: "protocol not available", - 120: "protocol not supported", - 121: "socket type not supported", - 122: "operation not supported", - 123: "protocol family not supported", - 124: "address family not supported by protocol", - 125: "address already in use", - 126: "cannot assign requested address", - 127: "network is down", - 128: "network is unreachable", - 129: "network dropped connection on reset", - 130: "software caused connection abort", - 131: "connection reset by peer", - 132: "no buffer space available", - 133: "transport endpoint is already connected", - 134: "transport endpoint is not connected", - 135: "structure needs cleaning", - 137: "not a XENIX named type file", - 138: "no XENIX semaphores available", - 139: "is a named type file", - 140: "remote I/O error", - 141: "unknown error 141", - 142: "unknown error 142", - 143: "cannot send after transport endpoint shutdown", - 144: "too many references: cannot splice", - 145: "connection timed out", - 146: "connection refused", - 147: "host is down", - 148: "no route to host", - 149: "operation already in progress", - 150: "operation now in progress", - 151: "stale file handle", - 158: "operation canceled", - 159: "no medium found", - 160: "wrong medium type", - 161: "required key not available", - 162: "key has expired", - 163: "key has been revoked", - 164: "key was rejected by service", - 165: "owner died", - 166: "state not recoverable", - 167: "operation not possible due to RF-kill", - 168: "memory page has hardware error", - 1133: "disk quota exceeded", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "user defined signal 1", - 17: "user defined signal 2", - 18: "child exited", - 19: "power failure", - 20: "window changed", - 21: "urgent I/O condition", - 22: "I/O possible", - 23: "stopped (signal)", - 24: "stopped", - 25: "continued", - 26: "stopped (tty input)", - 27: "stopped (tty output)", - 28: "virtual timer expired", - 29: "profiling timer expired", - 30: "CPU time limit exceeded", - 31: "file size limit exceeded", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go deleted file mode 100644 index 167c228..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ /dev/null @@ -1,2149 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64le,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x40081270 - BLKBSZSET = 0x80081271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40081272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x80 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x2000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0xe - F_GETLK64 = 0xe - F_GETOWN = 0x17 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETOWN = 0x18 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x100 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x80 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x800 - MAP_ANONYMOUS = 0x800 - MAP_DENYWRITE = 0x2000 - MAP_EXECUTABLE = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x1000 - MAP_HUGETLB = 0x80000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x8000 - MAP_NONBLOCK = 0x20000 - MAP_NORESERVE = 0x400 - MAP_POPULATE = 0x10000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x800 - MAP_SHARED = 0x1 - MAP_STACK = 0x40000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x1000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x100 - O_DIRECT = 0x8000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x10 - O_EXCL = 0x400 - O_FSYNC = 0x4010 - O_LARGEFILE = 0x0 - O_NDELAY = 0x80 - O_NOATIME = 0x40000 - O_NOCTTY = 0x800 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x80 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x4010 - O_SYNC = 0x4010 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_GET_THREAD_AREA_3264 = 0xc4 - PTRACE_GET_WATCH_REGS = 0xd0 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKDATA_3264 = 0xc1 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKTEXT_3264 = 0xc0 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKEDATA_3264 = 0xc3 - PTRACE_POKETEXT = 0x4 - PTRACE_POKETEXT_3264 = 0xc2 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SET_WATCH_REGS = 0xd1 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x6 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x9 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x5 - RLIMIT_NPROC = 0x8 - RLIMIT_RSS = 0x7 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x40047307 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x40047309 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x80047308 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x1 - SOCK_NONBLOCK = 0x80 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x2 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0xffff - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1009 - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x20 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x1029 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0x100 - SO_PASSCRED = 0x11 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x12 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1e - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x1028 - SO_RCVBUF = 0x1002 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x1001 - SO_SNDBUFFORCE = 0x1f - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_STYLE = 0x1008 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x1008 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x5407 - TCGETA = 0x5401 - TCGETS = 0x540d - TCGETS2 = 0x4030542a - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x5410 - TCSBRK = 0x5405 - TCSBRKP = 0x5486 - TCSETA = 0x5402 - TCSETAF = 0x5404 - TCSETAW = 0x5403 - TCSETS = 0x540e - TCSETS2 = 0x8030542b - TCSETSF = 0x5410 - TCSETSF2 = 0x8030542d - TCSETSW = 0x540f - TCSETSW2 = 0x8030542c - TCXONC = 0x5406 - TIOCCBRK = 0x5428 - TIOCCONS = 0x80047478 - TIOCEXCL = 0x740d - TIOCGDEV = 0x40045432 - TIOCGETD = 0x7400 - TIOCGETP = 0x7408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x5492 - TIOCGLCKTRMIOS = 0x548b - TIOCGLTC = 0x7474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x4020542e - TIOCGSERIAL = 0x5484 - TIOCGSID = 0x7416 - TIOCGSOFTCAR = 0x5481 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x467f - TIOCLINUX = 0x5483 - TIOCMBIC = 0x741c - TIOCMBIS = 0x741b - TIOCMGET = 0x741d - TIOCMIWAIT = 0x5491 - TIOCMSET = 0x741a - TIOCM_CAR = 0x100 - TIOCM_CD = 0x100 - TIOCM_CTS = 0x40 - TIOCM_DSR = 0x400 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x200 - TIOCM_RNG = 0x200 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x20 - TIOCM_ST = 0x10 - TIOCNOTTY = 0x5471 - TIOCNXCL = 0x740e - TIOCOUTQ = 0x7472 - TIOCPKT = 0x5470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x5480 - TIOCSERCONFIG = 0x5488 - TIOCSERGETLSR = 0x548e - TIOCSERGETMULTI = 0x548f - TIOCSERGSTRUCT = 0x548d - TIOCSERGWILD = 0x5489 - TIOCSERSETMULTI = 0x5490 - TIOCSERSWILD = 0x548a - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x7401 - TIOCSETN = 0x740a - TIOCSETP = 0x7409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x548c - TIOCSLTC = 0x7475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0xc020542f - TIOCSSERIAL = 0x5485 - TIOCSSOFTCAR = 0x5482 - TIOCSTI = 0x5472 - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x8000 - TUNATTACHFILTER = 0x801054d5 - TUNDETACHFILTER = 0x801054d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x401054db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0xd - VEOF = 0x10 - VEOL = 0x11 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x4 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VSWTCH = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x7d) - EADDRNOTAVAIL = syscall.Errno(0x7e) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x7c) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x95) - EBADE = syscall.Errno(0x32) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x51) - EBADMSG = syscall.Errno(0x4d) - EBADR = syscall.Errno(0x33) - EBADRQC = syscall.Errno(0x36) - EBADSLT = syscall.Errno(0x37) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x9e) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x25) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x82) - ECONNREFUSED = syscall.Errno(0x92) - ECONNRESET = syscall.Errno(0x83) - EDEADLK = syscall.Errno(0x2d) - EDEADLOCK = syscall.Errno(0x38) - EDESTADDRREQ = syscall.Errno(0x60) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x46d) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x93) - EHOSTUNREACH = syscall.Errno(0x94) - EHWPOISON = syscall.Errno(0xa8) - EIDRM = syscall.Errno(0x24) - EILSEQ = syscall.Errno(0x58) - EINIT = syscall.Errno(0x8d) - EINPROGRESS = syscall.Errno(0x96) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x85) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x8b) - EKEYEXPIRED = syscall.Errno(0xa2) - EKEYREJECTED = syscall.Errno(0xa4) - EKEYREVOKED = syscall.Errno(0xa3) - EL2HLT = syscall.Errno(0x2c) - EL2NSYNC = syscall.Errno(0x26) - EL3HLT = syscall.Errno(0x27) - EL3RST = syscall.Errno(0x28) - ELIBACC = syscall.Errno(0x53) - ELIBBAD = syscall.Errno(0x54) - ELIBEXEC = syscall.Errno(0x57) - ELIBMAX = syscall.Errno(0x56) - ELIBSCN = syscall.Errno(0x55) - ELNRNG = syscall.Errno(0x29) - ELOOP = syscall.Errno(0x5a) - EMEDIUMTYPE = syscall.Errno(0xa0) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x61) - EMULTIHOP = syscall.Errno(0x4a) - ENAMETOOLONG = syscall.Errno(0x4e) - ENAVAIL = syscall.Errno(0x8a) - ENETDOWN = syscall.Errno(0x7f) - ENETRESET = syscall.Errno(0x81) - ENETUNREACH = syscall.Errno(0x80) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x35) - ENOBUFS = syscall.Errno(0x84) - ENOCSI = syscall.Errno(0x2b) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0xa1) - ENOLCK = syscall.Errno(0x2e) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x9f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x23) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x63) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x59) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x86) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x5d) - ENOTNAM = syscall.Errno(0x89) - ENOTRECOVERABLE = syscall.Errno(0xa6) - ENOTSOCK = syscall.Errno(0x5f) - ENOTSUP = syscall.Errno(0x7a) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x50) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x7a) - EOVERFLOW = syscall.Errno(0x4f) - EOWNERDEAD = syscall.Errno(0xa5) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x7b) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x78) - EPROTOTYPE = syscall.Errno(0x62) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x52) - EREMDEV = syscall.Errno(0x8e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x8c) - ERESTART = syscall.Errno(0x5b) - ERFKILL = syscall.Errno(0xa7) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x8f) - ESOCKTNOSUPPORT = syscall.Errno(0x79) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x97) - ESTRPIPE = syscall.Errno(0x5c) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x91) - ETOOMANYREFS = syscall.Errno(0x90) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x87) - EUNATCH = syscall.Errno(0x2a) - EUSERS = syscall.Errno(0x5e) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x34) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x12) - SIGCLD = syscall.Signal(0x12) - SIGCONT = syscall.Signal(0x19) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x16) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x16) - SIGPROF = syscall.Signal(0x1d) - SIGPWR = syscall.Signal(0x13) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x17) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x18) - SIGTTIN = syscall.Signal(0x1a) - SIGTTOU = syscall.Signal(0x1b) - SIGURG = syscall.Signal(0x15) - SIGUSR1 = syscall.Signal(0x10) - SIGUSR2 = syscall.Signal(0x11) - SIGVTALRM = syscall.Signal(0x1c) - SIGWINCH = syscall.Signal(0x14) - SIGXCPU = syscall.Signal(0x1e) - SIGXFSZ = syscall.Signal(0x1f) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "no message of desired type", - 36: "identifier removed", - 37: "channel number out of range", - 38: "level 2 not synchronized", - 39: "level 3 halted", - 40: "level 3 reset", - 41: "link number out of range", - 42: "protocol driver not attached", - 43: "no CSI structure available", - 44: "level 2 halted", - 45: "resource deadlock avoided", - 46: "no locks available", - 50: "invalid exchange", - 51: "invalid request descriptor", - 52: "exchange full", - 53: "no anode", - 54: "invalid request code", - 55: "invalid slot", - 56: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 73: "RFS specific error", - 74: "multihop attempted", - 77: "bad message", - 78: "file name too long", - 79: "value too large for defined data type", - 80: "name not unique on network", - 81: "file descriptor in bad state", - 82: "remote address changed", - 83: "can not access a needed shared library", - 84: "accessing a corrupted shared library", - 85: ".lib section in a.out corrupted", - 86: "attempting to link in too many shared libraries", - 87: "cannot exec a shared library directly", - 88: "invalid or incomplete multibyte or wide character", - 89: "function not implemented", - 90: "too many levels of symbolic links", - 91: "interrupted system call should be restarted", - 92: "streams pipe error", - 93: "directory not empty", - 94: "too many users", - 95: "socket operation on non-socket", - 96: "destination address required", - 97: "message too long", - 98: "protocol wrong type for socket", - 99: "protocol not available", - 120: "protocol not supported", - 121: "socket type not supported", - 122: "operation not supported", - 123: "protocol family not supported", - 124: "address family not supported by protocol", - 125: "address already in use", - 126: "cannot assign requested address", - 127: "network is down", - 128: "network is unreachable", - 129: "network dropped connection on reset", - 130: "software caused connection abort", - 131: "connection reset by peer", - 132: "no buffer space available", - 133: "transport endpoint is already connected", - 134: "transport endpoint is not connected", - 135: "structure needs cleaning", - 137: "not a XENIX named type file", - 138: "no XENIX semaphores available", - 139: "is a named type file", - 140: "remote I/O error", - 141: "unknown error 141", - 142: "unknown error 142", - 143: "cannot send after transport endpoint shutdown", - 144: "too many references: cannot splice", - 145: "connection timed out", - 146: "connection refused", - 147: "host is down", - 148: "no route to host", - 149: "operation already in progress", - 150: "operation now in progress", - 151: "stale file handle", - 158: "operation canceled", - 159: "no medium found", - 160: "wrong medium type", - 161: "required key not available", - 162: "key has expired", - 163: "key has been revoked", - 164: "key was rejected by service", - 165: "owner died", - 166: "state not recoverable", - 167: "operation not possible due to RF-kill", - 168: "memory page has hardware error", - 1133: "disk quota exceeded", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "user defined signal 1", - 17: "user defined signal 2", - 18: "child exited", - 19: "power failure", - 20: "window changed", - 21: "urgent I/O condition", - 22: "I/O possible", - 23: "stopped (signal)", - 24: "stopped", - 25: "continued", - 26: "stopped (tty input)", - 27: "stopped (tty output)", - 28: "virtual timer expired", - 29: "profiling timer expired", - 30: "CPU time limit exceeded", - 31: "file size limit exceeded", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go deleted file mode 100644 index 6c47abf..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ /dev/null @@ -1,2149 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mipsle,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x40041270 - BLKBSZSET = 0x80041271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40041272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x80 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x2000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x21 - F_GETLK64 = 0x21 - F_GETOWN = 0x17 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x22 - F_SETLK64 = 0x22 - F_SETLKW = 0x23 - F_SETLKW64 = 0x23 - F_SETOWN = 0x18 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x100 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x80 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x800 - MAP_ANONYMOUS = 0x800 - MAP_DENYWRITE = 0x2000 - MAP_EXECUTABLE = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x1000 - MAP_HUGETLB = 0x80000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x8000 - MAP_NONBLOCK = 0x20000 - MAP_NORESERVE = 0x400 - MAP_POPULATE = 0x10000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x800 - MAP_SHARED = 0x1 - MAP_STACK = 0x40000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x1000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x100 - O_DIRECT = 0x8000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x10 - O_EXCL = 0x400 - O_FSYNC = 0x4010 - O_LARGEFILE = 0x2000 - O_NDELAY = 0x80 - O_NOATIME = 0x40000 - O_NOCTTY = 0x800 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x80 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x4010 - O_SYNC = 0x4010 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = 0xffffffff - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_THREAD_AREA = 0x19 - PTRACE_GET_THREAD_AREA_3264 = 0xc4 - PTRACE_GET_WATCH_REGS = 0xd0 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKDATA_3264 = 0xc1 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKTEXT_3264 = 0xc0 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKEDATA_3264 = 0xc3 - PTRACE_POKETEXT = 0x4 - PTRACE_POKETEXT_3264 = 0xc2 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SET_THREAD_AREA = 0x1a - PTRACE_SET_WATCH_REGS = 0xd1 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - RLIMIT_AS = 0x6 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x9 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x5 - RLIMIT_NPROC = 0x8 - RLIMIT_RSS = 0x7 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x40047307 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x40047309 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x80047308 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x1 - SOCK_NONBLOCK = 0x80 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x2 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0xffff - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1009 - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x20 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x1029 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0x100 - SO_PASSCRED = 0x11 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x12 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1e - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x1028 - SO_RCVBUF = 0x1002 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x1001 - SO_SNDBUFFORCE = 0x1f - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_STYLE = 0x1008 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x1008 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x5407 - TCGETA = 0x5401 - TCGETS = 0x540d - TCGETS2 = 0x4030542a - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x5410 - TCSBRK = 0x5405 - TCSBRKP = 0x5486 - TCSETA = 0x5402 - TCSETAF = 0x5404 - TCSETAW = 0x5403 - TCSETS = 0x540e - TCSETS2 = 0x8030542b - TCSETSF = 0x5410 - TCSETSF2 = 0x8030542d - TCSETSW = 0x540f - TCSETSW2 = 0x8030542c - TCXONC = 0x5406 - TIOCCBRK = 0x5428 - TIOCCONS = 0x80047478 - TIOCEXCL = 0x740d - TIOCGDEV = 0x40045432 - TIOCGETD = 0x7400 - TIOCGETP = 0x7408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x5492 - TIOCGLCKTRMIOS = 0x548b - TIOCGLTC = 0x7474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x4020542e - TIOCGSERIAL = 0x5484 - TIOCGSID = 0x7416 - TIOCGSOFTCAR = 0x5481 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x467f - TIOCLINUX = 0x5483 - TIOCMBIC = 0x741c - TIOCMBIS = 0x741b - TIOCMGET = 0x741d - TIOCMIWAIT = 0x5491 - TIOCMSET = 0x741a - TIOCM_CAR = 0x100 - TIOCM_CD = 0x100 - TIOCM_CTS = 0x40 - TIOCM_DSR = 0x400 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x200 - TIOCM_RNG = 0x200 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x20 - TIOCM_ST = 0x10 - TIOCNOTTY = 0x5471 - TIOCNXCL = 0x740e - TIOCOUTQ = 0x7472 - TIOCPKT = 0x5470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x5480 - TIOCSERCONFIG = 0x5488 - TIOCSERGETLSR = 0x548e - TIOCSERGETMULTI = 0x548f - TIOCSERGSTRUCT = 0x548d - TIOCSERGWILD = 0x5489 - TIOCSERSETMULTI = 0x5490 - TIOCSERSWILD = 0x548a - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x7401 - TIOCSETN = 0x740a - TIOCSETP = 0x7409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x548c - TIOCSLTC = 0x7475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0xc020542f - TIOCSSERIAL = 0x5485 - TIOCSSOFTCAR = 0x5482 - TIOCSTI = 0x5472 - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x8000 - TUNATTACHFILTER = 0x800854d5 - TUNDETACHFILTER = 0x800854d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x400854db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0xd - VEOF = 0x10 - VEOL = 0x11 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x4 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VSWTCH = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x20 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x7d) - EADDRNOTAVAIL = syscall.Errno(0x7e) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x7c) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x95) - EBADE = syscall.Errno(0x32) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x51) - EBADMSG = syscall.Errno(0x4d) - EBADR = syscall.Errno(0x33) - EBADRQC = syscall.Errno(0x36) - EBADSLT = syscall.Errno(0x37) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x9e) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x25) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x82) - ECONNREFUSED = syscall.Errno(0x92) - ECONNRESET = syscall.Errno(0x83) - EDEADLK = syscall.Errno(0x2d) - EDEADLOCK = syscall.Errno(0x38) - EDESTADDRREQ = syscall.Errno(0x60) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x46d) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x93) - EHOSTUNREACH = syscall.Errno(0x94) - EHWPOISON = syscall.Errno(0xa8) - EIDRM = syscall.Errno(0x24) - EILSEQ = syscall.Errno(0x58) - EINIT = syscall.Errno(0x8d) - EINPROGRESS = syscall.Errno(0x96) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x85) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x8b) - EKEYEXPIRED = syscall.Errno(0xa2) - EKEYREJECTED = syscall.Errno(0xa4) - EKEYREVOKED = syscall.Errno(0xa3) - EL2HLT = syscall.Errno(0x2c) - EL2NSYNC = syscall.Errno(0x26) - EL3HLT = syscall.Errno(0x27) - EL3RST = syscall.Errno(0x28) - ELIBACC = syscall.Errno(0x53) - ELIBBAD = syscall.Errno(0x54) - ELIBEXEC = syscall.Errno(0x57) - ELIBMAX = syscall.Errno(0x56) - ELIBSCN = syscall.Errno(0x55) - ELNRNG = syscall.Errno(0x29) - ELOOP = syscall.Errno(0x5a) - EMEDIUMTYPE = syscall.Errno(0xa0) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x61) - EMULTIHOP = syscall.Errno(0x4a) - ENAMETOOLONG = syscall.Errno(0x4e) - ENAVAIL = syscall.Errno(0x8a) - ENETDOWN = syscall.Errno(0x7f) - ENETRESET = syscall.Errno(0x81) - ENETUNREACH = syscall.Errno(0x80) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x35) - ENOBUFS = syscall.Errno(0x84) - ENOCSI = syscall.Errno(0x2b) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0xa1) - ENOLCK = syscall.Errno(0x2e) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x9f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x23) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x63) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x59) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x86) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x5d) - ENOTNAM = syscall.Errno(0x89) - ENOTRECOVERABLE = syscall.Errno(0xa6) - ENOTSOCK = syscall.Errno(0x5f) - ENOTSUP = syscall.Errno(0x7a) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x50) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x7a) - EOVERFLOW = syscall.Errno(0x4f) - EOWNERDEAD = syscall.Errno(0xa5) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x7b) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x78) - EPROTOTYPE = syscall.Errno(0x62) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x52) - EREMDEV = syscall.Errno(0x8e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x8c) - ERESTART = syscall.Errno(0x5b) - ERFKILL = syscall.Errno(0xa7) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x8f) - ESOCKTNOSUPPORT = syscall.Errno(0x79) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x97) - ESTRPIPE = syscall.Errno(0x5c) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x91) - ETOOMANYREFS = syscall.Errno(0x90) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x87) - EUNATCH = syscall.Errno(0x2a) - EUSERS = syscall.Errno(0x5e) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x34) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x12) - SIGCLD = syscall.Signal(0x12) - SIGCONT = syscall.Signal(0x19) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x16) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x16) - SIGPROF = syscall.Signal(0x1d) - SIGPWR = syscall.Signal(0x13) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x17) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x18) - SIGTTIN = syscall.Signal(0x1a) - SIGTTOU = syscall.Signal(0x1b) - SIGURG = syscall.Signal(0x15) - SIGUSR1 = syscall.Signal(0x10) - SIGUSR2 = syscall.Signal(0x11) - SIGVTALRM = syscall.Signal(0x1c) - SIGWINCH = syscall.Signal(0x14) - SIGXCPU = syscall.Signal(0x1e) - SIGXFSZ = syscall.Signal(0x1f) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "no message of desired type", - 36: "identifier removed", - 37: "channel number out of range", - 38: "level 2 not synchronized", - 39: "level 3 halted", - 40: "level 3 reset", - 41: "link number out of range", - 42: "protocol driver not attached", - 43: "no CSI structure available", - 44: "level 2 halted", - 45: "resource deadlock avoided", - 46: "no locks available", - 50: "invalid exchange", - 51: "invalid request descriptor", - 52: "exchange full", - 53: "no anode", - 54: "invalid request code", - 55: "invalid slot", - 56: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 73: "RFS specific error", - 74: "multihop attempted", - 77: "bad message", - 78: "file name too long", - 79: "value too large for defined data type", - 80: "name not unique on network", - 81: "file descriptor in bad state", - 82: "remote address changed", - 83: "can not access a needed shared library", - 84: "accessing a corrupted shared library", - 85: ".lib section in a.out corrupted", - 86: "attempting to link in too many shared libraries", - 87: "cannot exec a shared library directly", - 88: "invalid or incomplete multibyte or wide character", - 89: "function not implemented", - 90: "too many levels of symbolic links", - 91: "interrupted system call should be restarted", - 92: "streams pipe error", - 93: "directory not empty", - 94: "too many users", - 95: "socket operation on non-socket", - 96: "destination address required", - 97: "message too long", - 98: "protocol wrong type for socket", - 99: "protocol not available", - 120: "protocol not supported", - 121: "socket type not supported", - 122: "operation not supported", - 123: "protocol family not supported", - 124: "address family not supported by protocol", - 125: "address already in use", - 126: "cannot assign requested address", - 127: "network is down", - 128: "network is unreachable", - 129: "network dropped connection on reset", - 130: "software caused connection abort", - 131: "connection reset by peer", - 132: "no buffer space available", - 133: "transport endpoint is already connected", - 134: "transport endpoint is not connected", - 135: "structure needs cleaning", - 137: "not a XENIX named type file", - 138: "no XENIX semaphores available", - 139: "is a named type file", - 140: "remote I/O error", - 141: "unknown error 141", - 142: "unknown error 142", - 143: "cannot send after transport endpoint shutdown", - 144: "too many references: cannot splice", - 145: "connection timed out", - 146: "connection refused", - 147: "host is down", - 148: "no route to host", - 149: "operation already in progress", - 150: "operation now in progress", - 151: "stale file handle", - 158: "operation canceled", - 159: "no medium found", - 160: "wrong medium type", - 161: "required key not available", - 162: "key has expired", - 163: "key has been revoked", - 164: "key was rejected by service", - 165: "owner died", - 166: "state not recoverable", - 167: "operation not possible due to RF-kill", - 168: "memory page has hardware error", - 1133: "disk quota exceeded", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "user defined signal 1", - 17: "user defined signal 2", - 18: "child exited", - 19: "power failure", - 20: "window changed", - 21: "urgent I/O condition", - 22: "I/O possible", - 23: "stopped (signal)", - 24: "stopped", - 25: "continued", - 26: "stopped (tty input)", - 27: "stopped (tty output)", - 28: "virtual timer expired", - 29: "profiling timer expired", - 30: "CPU time limit exceeded", - 31: "file size limit exceeded", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go deleted file mode 100644 index 32eccbd..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ /dev/null @@ -1,2203 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x17 - B110 = 0x3 - B115200 = 0x11 - B1152000 = 0x18 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x19 - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x1a - B230400 = 0x12 - B2400 = 0xb - B2500000 = 0x1b - B300 = 0x7 - B3000000 = 0x1c - B3500000 = 0x1d - B38400 = 0xf - B4000000 = 0x1e - B460800 = 0x13 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x14 - B57600 = 0x10 - B576000 = 0x15 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x16 - B9600 = 0xd - BLKBSZGET = 0x40081270 - BLKBSZSET = 0x80081271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40081272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1f - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x8000 - BSDLY = 0x8000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0xff - CBAUDEX = 0x0 - CFLUSH = 0xf - CIBAUD = 0xff0000 - CLOCAL = 0x8000 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x1000 - CR2 = 0x2000 - CR3 = 0x3000 - CRDLY = 0x3000 - CREAD = 0x800 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIGNAL = 0xff - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x4000 - FFDLY = 0x4000 - FLUSHO = 0x800000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x5 - F_GETLK64 = 0xc - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0xd - F_SETLKW = 0x7 - F_SETLKW64 = 0xe - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x4000 - IBSHIFT = 0x10 - ICANON = 0x100 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x400 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x80 - ISTRIP = 0x20 - IUCLC = 0x1000 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x80 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x40 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x2000 - MCL_FUTURE = 0x4000 - MCL_ONFAULT = 0x8000 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 - NL3 = 0x300 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x300 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80000000 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x4 - ONLCR = 0x2 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x20000 - O_DIRECTORY = 0x4000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x8000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x404000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x1000 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_SAO = 0x10 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETEVRREGS = 0x14 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGS64 = 0x16 - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GETVRREGS = 0x12 - PTRACE_GETVSRREGS = 0x1b - PTRACE_GET_DEBUGREG = 0x19 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETEVRREGS = 0x15 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGS64 = 0x17 - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SETVRREGS = 0x13 - PTRACE_SETVSRREGS = 0x1c - PTRACE_SET_DEBUGREG = 0x1a - PTRACE_SINGLEBLOCK = 0x100 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - PT_CCR = 0x26 - PT_CTR = 0x23 - PT_DAR = 0x29 - PT_DSCR = 0x2c - PT_DSISR = 0x2a - PT_FPR0 = 0x30 - PT_FPSCR = 0x50 - PT_LNK = 0x24 - PT_MSR = 0x21 - PT_NIP = 0x20 - PT_ORIG_R3 = 0x22 - PT_R0 = 0x0 - PT_R1 = 0x1 - PT_R10 = 0xa - PT_R11 = 0xb - PT_R12 = 0xc - PT_R13 = 0xd - PT_R14 = 0xe - PT_R15 = 0xf - PT_R16 = 0x10 - PT_R17 = 0x11 - PT_R18 = 0x12 - PT_R19 = 0x13 - PT_R2 = 0x2 - PT_R20 = 0x14 - PT_R21 = 0x15 - PT_R22 = 0x16 - PT_R23 = 0x17 - PT_R24 = 0x18 - PT_R25 = 0x19 - PT_R26 = 0x1a - PT_R27 = 0x1b - PT_R28 = 0x1c - PT_R29 = 0x1d - PT_R3 = 0x3 - PT_R30 = 0x1e - PT_R31 = 0x1f - PT_R4 = 0x4 - PT_R5 = 0x5 - PT_R6 = 0x6 - PT_R7 = 0x7 - PT_R8 = 0x8 - PT_R9 = 0x9 - PT_REGS_COUNT = 0x2c - PT_RESULT = 0x2b - PT_SOFTE = 0x27 - PT_TRAP = 0x28 - PT_VR0 = 0x52 - PT_VRSAVE = 0x94 - PT_VSCR = 0x93 - PT_VSR0 = 0x96 - PT_VSR31 = 0xd4 - PT_XER = 0x25 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x14 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x15 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x10 - SO_RCVTIMEO = 0x12 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x11 - SO_SNDTIMEO = 0x13 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x400 - TAB2 = 0x800 - TAB3 = 0xc00 - TABDLY = 0xc00 - TCFLSH = 0x2000741f - TCGETA = 0x40147417 - TCGETS = 0x402c7413 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x2000741d - TCSBRKP = 0x5425 - TCSETA = 0x80147418 - TCSETAF = 0x8014741c - TCSETAW = 0x80147419 - TCSETS = 0x802c7414 - TCSETSF = 0x802c7416 - TCSETSW = 0x802c7415 - TCXONC = 0x2000741e - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x40045432 - TIOCGETC = 0x40067412 - TIOCGETD = 0x5424 - TIOCGETP = 0x40067408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGLTC = 0x40067474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x4004667f - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_LOOP = 0x8000 - TIOCM_OUT1 = 0x2000 - TIOCM_OUT2 = 0x4000 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETC = 0x80067411 - TIOCSETD = 0x5423 - TIOCSETN = 0x8006740a - TIOCSETP = 0x80067409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSLTC = 0x80067475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTART = 0x2000746e - TIOCSTI = 0x5412 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x400000 - TUNATTACHFILTER = 0x801054d5 - TUNDETACHFILTER = 0x801054d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x401054db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0x10 - VEOF = 0x4 - VEOL = 0x6 - VEOL2 = 0x8 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x5 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xb - VSTART = 0xd - VSTOP = 0xe - VSUSP = 0xc - VSWTC = 0x9 - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x7 - VWERASE = 0xa - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4000 - XTABS = 0xc00 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x3a) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 58: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go deleted file mode 100644 index eb944e6..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ /dev/null @@ -1,2203 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64le,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x17 - B110 = 0x3 - B115200 = 0x11 - B1152000 = 0x18 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x19 - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x1a - B230400 = 0x12 - B2400 = 0xb - B2500000 = 0x1b - B300 = 0x7 - B3000000 = 0x1c - B3500000 = 0x1d - B38400 = 0xf - B4000000 = 0x1e - B460800 = 0x13 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x14 - B57600 = 0x10 - B576000 = 0x15 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x16 - B9600 = 0xd - BLKBSZGET = 0x40081270 - BLKBSZSET = 0x80081271 - BLKFLSBUF = 0x20001261 - BLKFRAGET = 0x20001265 - BLKFRASET = 0x20001264 - BLKGETSIZE = 0x20001260 - BLKGETSIZE64 = 0x40081272 - BLKPBSZGET = 0x2000127b - BLKRAGET = 0x20001263 - BLKRASET = 0x20001262 - BLKROGET = 0x2000125e - BLKROSET = 0x2000125d - BLKRRPART = 0x2000125f - BLKSECTGET = 0x20001267 - BLKSECTSET = 0x20001266 - BLKSSZGET = 0x20001268 - BOTHER = 0x1f - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x8000 - BSDLY = 0x8000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0xff - CBAUDEX = 0x0 - CFLUSH = 0xf - CIBAUD = 0xff0000 - CLOCAL = 0x8000 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x1000 - CR2 = 0x2000 - CR3 = 0x3000 - CRDLY = 0x3000 - CREAD = 0x800 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIGNAL = 0xff - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x4000 - FFDLY = 0x4000 - FLUSHO = 0x800000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x5 - F_GETLK64 = 0xc - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0xd - F_SETLKW = 0x7 - F_SETLKW64 = 0xe - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x4000 - IBSHIFT = 0x10 - ICANON = 0x100 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x400 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x80 - ISTRIP = 0x20 - IUCLC = 0x1000 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x80 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x40 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x2000 - MCL_FUTURE = 0x4000 - MCL_ONFAULT = 0x8000 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 - NL3 = 0x300 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x300 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80000000 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x4 - ONLCR = 0x2 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x20000 - O_DIRECTORY = 0x4000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x8000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x404000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x1000 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_SAO = 0x10 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETEVRREGS = 0x14 - PTRACE_GETFPREGS = 0xe - PTRACE_GETREGS = 0xc - PTRACE_GETREGS64 = 0x16 - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GETVRREGS = 0x12 - PTRACE_GETVSRREGS = 0x1b - PTRACE_GET_DEBUGREG = 0x19 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETEVRREGS = 0x15 - PTRACE_SETFPREGS = 0xf - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGS64 = 0x17 - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SETVRREGS = 0x13 - PTRACE_SETVSRREGS = 0x1c - PTRACE_SET_DEBUGREG = 0x1a - PTRACE_SINGLEBLOCK = 0x100 - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - PT_CCR = 0x26 - PT_CTR = 0x23 - PT_DAR = 0x29 - PT_DSCR = 0x2c - PT_DSISR = 0x2a - PT_FPR0 = 0x30 - PT_FPSCR = 0x50 - PT_LNK = 0x24 - PT_MSR = 0x21 - PT_NIP = 0x20 - PT_ORIG_R3 = 0x22 - PT_R0 = 0x0 - PT_R1 = 0x1 - PT_R10 = 0xa - PT_R11 = 0xb - PT_R12 = 0xc - PT_R13 = 0xd - PT_R14 = 0xe - PT_R15 = 0xf - PT_R16 = 0x10 - PT_R17 = 0x11 - PT_R18 = 0x12 - PT_R19 = 0x13 - PT_R2 = 0x2 - PT_R20 = 0x14 - PT_R21 = 0x15 - PT_R22 = 0x16 - PT_R23 = 0x17 - PT_R24 = 0x18 - PT_R25 = 0x19 - PT_R26 = 0x1a - PT_R27 = 0x1b - PT_R28 = 0x1c - PT_R29 = 0x1d - PT_R3 = 0x3 - PT_R30 = 0x1e - PT_R31 = 0x1f - PT_R4 = 0x4 - PT_R5 = 0x5 - PT_R6 = 0x6 - PT_R7 = 0x7 - PT_R8 = 0x8 - PT_R9 = 0x9 - PT_REGS_COUNT = 0x2c - PT_RESULT = 0x2b - PT_SOFTE = 0x27 - PT_TRAP = 0x28 - PT_VR0 = 0x52 - PT_VRSAVE = 0x94 - PT_VSCR = 0x93 - PT_VSR0 = 0x96 - PT_VSR31 = 0xd4 - PT_XER = 0x25 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x14 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x15 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x10 - SO_RCVTIMEO = 0x12 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x11 - SO_SNDTIMEO = 0x13 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x400 - TAB2 = 0x800 - TAB3 = 0xc00 - TABDLY = 0xc00 - TCFLSH = 0x2000741f - TCGETA = 0x40147417 - TCGETS = 0x402c7413 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x2000741d - TCSBRKP = 0x5425 - TCSETA = 0x80147418 - TCSETAF = 0x8014741c - TCSETAW = 0x80147419 - TCSETS = 0x802c7414 - TCSETSF = 0x802c7416 - TCSETSW = 0x802c7415 - TCXONC = 0x2000741e - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x40045432 - TIOCGETC = 0x40067412 - TIOCGETD = 0x5424 - TIOCGETP = 0x40067408 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGLTC = 0x40067474 - TIOCGPGRP = 0x40047477 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x4004667f - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_LOOP = 0x8000 - TIOCM_OUT1 = 0x2000 - TIOCM_OUT2 = 0x4000 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETC = 0x80067411 - TIOCSETD = 0x5423 - TIOCSETN = 0x8006740a - TIOCSETP = 0x80067409 - TIOCSIG = 0x80045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSLTC = 0x80067475 - TIOCSPGRP = 0x80047476 - TIOCSPTLCK = 0x80045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTART = 0x2000746e - TIOCSTI = 0x5412 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x400000 - TUNATTACHFILTER = 0x801054d5 - TUNDETACHFILTER = 0x801054d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x401054db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0x10 - VEOF = 0x4 - VEOL = 0x6 - VEOL2 = 0x8 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x5 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xb - VSTART = 0xd - VSTOP = 0xe - VSUSP = 0xc - VSWTC = 0x9 - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x7 - VWERASE = 0xa - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4000 - XTABS = 0xc00 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x3a) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 58: "file locking deadlock error", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go deleted file mode 100644 index 3566349..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ /dev/null @@ -1,2202 +0,0 @@ -// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build s390x,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2b - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_QIPCRTR = 0x2a - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - B0 = 0x0 - B1000000 = 0x1008 - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x1009 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100a - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100b - B230400 = 0x1003 - B2400 = 0xb - B2500000 = 0x100c - B300 = 0x7 - B3000000 = 0x100d - B3500000 = 0x100e - B38400 = 0xf - B4000000 = 0x100f - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x1005 - B57600 = 0x1001 - B576000 = 0x1006 - B600 = 0x8 - B75 = 0x2 - B921600 = 0x1007 - B9600 = 0xd - BLKBSZGET = 0x80081270 - BLKBSZSET = 0x40081271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80081272 - BLKPBSZGET = 0x127b - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RAW_FILTER_MAX = 0x200 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EFD_CLOEXEC = 0x80000 - EFD_NONBLOCK = 0x800 - EFD_SEMAPHORE = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x80000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_NCSI = 0x88f8 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_UNSHARE_RANGE = 0x40 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x1000 - FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 - FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 - FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 - FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 - FS_ENCRYPTION_MODE_INVALID = 0x0 - FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 - FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 - FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 - FS_KEY_DESCRIPTOR_SIZE = 0x8 - FS_KEY_DESC_PREFIX = "fscrypt:" - FS_KEY_DESC_PREFIX_SIZE = 0x8 - FS_MAX_KEY_SIZE = 0x40 - FS_POLICY_FLAGS_PAD_16 = 0x2 - FS_POLICY_FLAGS_PAD_32 = 0x3 - FS_POLICY_FLAGS_PAD_4 = 0x0 - FS_POLICY_FLAGS_PAD_8 = 0x1 - FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x5 - F_GETLK64 = 0x5 - F_GETOWN = 0x9 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x0 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETOWN = 0x8 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x2 - F_WRLCK = 0x1 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x80000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x800 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - KEYCTL_ASSUME_AUTHORITY = 0x10 - KEYCTL_CHOWN = 0x4 - KEYCTL_CLEAR = 0x7 - KEYCTL_DESCRIBE = 0x6 - KEYCTL_DH_COMPUTE = 0x17 - KEYCTL_GET_KEYRING_ID = 0x0 - KEYCTL_GET_PERSISTENT = 0x16 - KEYCTL_GET_SECURITY = 0x11 - KEYCTL_INSTANTIATE = 0xc - KEYCTL_INSTANTIATE_IOV = 0x14 - KEYCTL_INVALIDATE = 0x15 - KEYCTL_JOIN_SESSION_KEYRING = 0x1 - KEYCTL_LINK = 0x8 - KEYCTL_NEGATE = 0xd - KEYCTL_READ = 0xb - KEYCTL_REJECT = 0x13 - KEYCTL_REVOKE = 0x3 - KEYCTL_SEARCH = 0xa - KEYCTL_SESSION_TO_PARENT = 0x12 - KEYCTL_SETPERM = 0x5 - KEYCTL_SET_REQKEY_KEYRING = 0xe - KEYCTL_SET_TIMEOUT = 0xf - KEYCTL_UNLINK = 0x9 - KEYCTL_UPDATE = 0x2 - KEY_REQKEY_DEFL_DEFAULT = 0x0 - KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 - KEY_REQKEY_DEFL_NO_CHANGE = -0x1 - KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 - KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 - KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 - KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 - KEY_REQKEY_DEFL_USER_KEYRING = 0x4 - KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 - KEY_SPEC_GROUP_KEYRING = -0x6 - KEY_SPEC_PROCESS_KEYRING = -0x2 - KEY_SPEC_REQKEY_AUTH_KEY = -0x7 - KEY_SPEC_REQUESTOR_KEYRING = -0x8 - KEY_SPEC_SESSION_KEYRING = -0x3 - KEY_SPEC_THREAD_KEYRING = -0x1 - KEY_SPEC_USER_KEYRING = -0x4 - KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x100 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x2000 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x4000 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MCL_ONFAULT = 0x4 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_BORN = 0x20000000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOREMOTELOCK = 0x8000000 - MS_NOSEC = 0x10000000 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - MS_VERBOSE = 0x8000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x400 - O_ASYNC = 0x2000 - O_CLOEXEC = 0x80000 - O_CREAT = 0x40 - O_DIRECT = 0x4000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x1000 - O_EXCL = 0x80 - O_FSYNC = 0x101000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x800 - O_NOATIME = 0x40000 - O_NOCTTY = 0x100 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x800 - O_PATH = 0x200000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x101000 - O_SYNC = 0x101000 - O_TMPFILE = 0x410000 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_DISABLE_TE = 0x5010 - PTRACE_ENABLE_TE = 0x5009 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETREGS = 0xc - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_LAST_BREAK = 0x5006 - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_OLDSETOPTIONS = 0x15 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKDATA_AREA = 0x5003 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKTEXT_AREA = 0x5002 - PTRACE_PEEKUSR = 0x3 - PTRACE_PEEKUSR_AREA = 0x5000 - PTRACE_PEEK_SYSTEM_CALL = 0x5007 - PTRACE_POKEDATA = 0x5 - PTRACE_POKEDATA_AREA = 0x5005 - PTRACE_POKETEXT = 0x4 - PTRACE_POKETEXT_AREA = 0x5004 - PTRACE_POKEUSR = 0x6 - PTRACE_POKEUSR_AREA = 0x5001 - PTRACE_POKE_SYSTEM_CALL = 0x5008 - PTRACE_PROT = 0x15 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SINGLEBLOCK = 0xc - PTRACE_SINGLESTEP = 0x9 - PTRACE_SYSCALL = 0x18 - PTRACE_TE_ABORT_RAND = 0x5011 - PTRACE_TRACEME = 0x0 - PT_ACR0 = 0x90 - PT_ACR1 = 0x94 - PT_ACR10 = 0xb8 - PT_ACR11 = 0xbc - PT_ACR12 = 0xc0 - PT_ACR13 = 0xc4 - PT_ACR14 = 0xc8 - PT_ACR15 = 0xcc - PT_ACR2 = 0x98 - PT_ACR3 = 0x9c - PT_ACR4 = 0xa0 - PT_ACR5 = 0xa4 - PT_ACR6 = 0xa8 - PT_ACR7 = 0xac - PT_ACR8 = 0xb0 - PT_ACR9 = 0xb4 - PT_CR_10 = 0x168 - PT_CR_11 = 0x170 - PT_CR_9 = 0x160 - PT_ENDREGS = 0x1af - PT_FPC = 0xd8 - PT_FPR0 = 0xe0 - PT_FPR1 = 0xe8 - PT_FPR10 = 0x130 - PT_FPR11 = 0x138 - PT_FPR12 = 0x140 - PT_FPR13 = 0x148 - PT_FPR14 = 0x150 - PT_FPR15 = 0x158 - PT_FPR2 = 0xf0 - PT_FPR3 = 0xf8 - PT_FPR4 = 0x100 - PT_FPR5 = 0x108 - PT_FPR6 = 0x110 - PT_FPR7 = 0x118 - PT_FPR8 = 0x120 - PT_FPR9 = 0x128 - PT_GPR0 = 0x10 - PT_GPR1 = 0x18 - PT_GPR10 = 0x60 - PT_GPR11 = 0x68 - PT_GPR12 = 0x70 - PT_GPR13 = 0x78 - PT_GPR14 = 0x80 - PT_GPR15 = 0x88 - PT_GPR2 = 0x20 - PT_GPR3 = 0x28 - PT_GPR4 = 0x30 - PT_GPR5 = 0x38 - PT_GPR6 = 0x40 - PT_GPR7 = 0x48 - PT_GPR8 = 0x50 - PT_GPR9 = 0x58 - PT_IEEE_IP = 0x1a8 - PT_LASTOFF = 0x1a8 - PT_ORIGGPR2 = 0xd0 - PT_PSWADDR = 0x8 - PT_PSWMASK = 0x0 - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_LOCKS = 0xa - RLIMIT_MEMLOCK = 0x8 - RLIMIT_MSGQUEUE = 0xc - RLIMIT_NICE = 0xd - RLIMIT_NOFILE = 0x7 - RLIMIT_NPROC = 0x6 - RLIMIT_RSS = 0x5 - RLIMIT_RTPRIO = 0xe - RLIMIT_RTTIME = 0xf - RLIMIT_SIGPENDING = 0xb - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x19 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x25 - SCM_TIMESTAMPING_OPT_STATS = 0x36 - SCM_TIMESTAMPNS = 0x23 - SCM_WIFI_STATUS = 0x29 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCGARP = 0x8954 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SOCK_CLOEXEC = 0x80000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x800 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_CAN_BASE = 0x64 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0x1 - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x1e - SO_ATTACH_BPF = 0x32 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x33 - SO_ATTACH_REUSEPORT_EBPF = 0x34 - SO_BINDTODEVICE = 0x19 - SO_BPF_EXTENSIONS = 0x30 - SO_BROADCAST = 0x6 - SO_BSDCOMPAT = 0xe - SO_BUSY_POLL = 0x2e - SO_CNX_ADVICE = 0x35 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x27 - SO_DONTROUTE = 0x5 - SO_ERROR = 0x4 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x31 - SO_KEEPALIVE = 0x9 - SO_LINGER = 0xd - SO_LOCK_FILTER = 0x2c - SO_MARK = 0x24 - SO_MAX_PACING_RATE = 0x2f - SO_NOFCS = 0x2b - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0xa - SO_PASSCRED = 0x10 - SO_PASSSEC = 0x22 - SO_PEEK_OFF = 0x2a - SO_PEERCRED = 0x11 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1f - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x26 - SO_RCVBUF = 0x8 - SO_RCVBUFFORCE = 0x21 - SO_RCVLOWAT = 0x12 - SO_RCVTIMEO = 0x14 - SO_REUSEADDR = 0x2 - SO_REUSEPORT = 0xf - SO_RXQ_OVFL = 0x28 - SO_SECURITY_AUTHENTICATION = 0x16 - SO_SECURITY_ENCRYPTION_NETWORK = 0x18 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 - SO_SELECT_ERR_QUEUE = 0x2d - SO_SNDBUF = 0x7 - SO_SNDBUFFORCE = 0x20 - SO_SNDLOWAT = 0x13 - SO_SNDTIMEO = 0x15 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x25 - SO_TIMESTAMPNS = 0x23 - SO_TYPE = 0x3 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x29 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x540b - TCGETA = 0x5405 - TCGETS = 0x5401 - TCGETS2 = 0x802c542a - TCGETX = 0x5432 - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_REPAIR_WINDOW = 0x1d - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x5409 - TCSBRKP = 0x5425 - TCSETA = 0x5406 - TCSETAF = 0x5408 - TCSETAW = 0x5407 - TCSETS = 0x5402 - TCSETS2 = 0x402c542b - TCSETSF = 0x5404 - TCSETSF2 = 0x402c542d - TCSETSW = 0x5403 - TCSETSW2 = 0x402c542c - TCSETX = 0x5433 - TCSETXF = 0x5434 - TCSETXW = 0x5435 - TCXONC = 0x540a - TIOCCBRK = 0x5428 - TIOCCONS = 0x541d - TIOCEXCL = 0x540c - TIOCGDEV = 0x80045432 - TIOCGETD = 0x5424 - TIOCGEXCL = 0x80045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x540f - TIOCGPKT = 0x80045438 - TIOCGPTLCK = 0x80045439 - TIOCGPTN = 0x80045430 - TIOCGRS485 = 0x542e - TIOCGSERIAL = 0x541e - TIOCGSID = 0x5429 - TIOCGSOFTCAR = 0x5419 - TIOCGWINSZ = 0x5413 - TIOCINQ = 0x541b - TIOCLINUX = 0x541c - TIOCMBIC = 0x5417 - TIOCMBIS = 0x5416 - TIOCMGET = 0x5415 - TIOCMIWAIT = 0x545c - TIOCMSET = 0x5418 - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x5422 - TIOCNXCL = 0x540d - TIOCOUTQ = 0x5411 - TIOCPKT = 0x5420 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x5427 - TIOCSCTTY = 0x540e - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x5423 - TIOCSIG = 0x40045436 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x5410 - TIOCSPTLCK = 0x40045431 - TIOCSRS485 = 0x542f - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x541a - TIOCSTI = 0x5412 - TIOCSWINSZ = 0x5414 - TIOCVHANGUP = 0x5437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x401054d5 - TUNDETACHFILTER = 0x401054d6 - TUNGETFEATURES = 0x800454cf - TUNGETFILTER = 0x801054db - TUNGETIFF = 0x800454d2 - TUNGETSNDBUF = 0x800454d3 - TUNGETVNETBE = 0x800454df - TUNGETVNETHDRSZ = 0x800454d7 - TUNGETVNETLE = 0x800454dd - TUNSETDEBUG = 0x400454c9 - TUNSETGROUP = 0x400454ce - TUNSETIFF = 0x400454ca - TUNSETIFINDEX = 0x400454da - TUNSETLINK = 0x400454cd - TUNSETNOCSUM = 0x400454c8 - TUNSETOFFLOAD = 0x400454d0 - TUNSETOWNER = 0x400454cc - TUNSETPERSIST = 0x400454cb - TUNSETQUEUE = 0x400454d9 - TUNSETSNDBUF = 0x400454d4 - TUNSETTXFILTER = 0x400454d1 - TUNSETVNETBE = 0x400454de - TUNSETVNETHDRSZ = 0x400454d8 - TUNSETVNETLE = 0x400454dc - VDISCARD = 0xd - VEOF = 0x4 - VEOL = 0xb - VEOL2 = 0x10 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x6 - VM_SOCKETS_INVALID_VERSION = 0xffffffff - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x62) - EADDRNOTAVAIL = syscall.Errno(0x63) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x61) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x72) - EBADE = syscall.Errno(0x34) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x4d) - EBADMSG = syscall.Errno(0x4a) - EBADR = syscall.Errno(0x35) - EBADRQC = syscall.Errno(0x38) - EBADSLT = syscall.Errno(0x39) - EBFONT = syscall.Errno(0x3b) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7d) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x2c) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x67) - ECONNREFUSED = syscall.Errno(0x6f) - ECONNRESET = syscall.Errno(0x68) - EDEADLK = syscall.Errno(0x23) - EDEADLOCK = syscall.Errno(0x23) - EDESTADDRREQ = syscall.Errno(0x59) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x49) - EDQUOT = syscall.Errno(0x7a) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x70) - EHOSTUNREACH = syscall.Errno(0x71) - EHWPOISON = syscall.Errno(0x85) - EIDRM = syscall.Errno(0x2b) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x73) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x6a) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x7f) - EKEYREJECTED = syscall.Errno(0x81) - EKEYREVOKED = syscall.Errno(0x80) - EL2HLT = syscall.Errno(0x33) - EL2NSYNC = syscall.Errno(0x2d) - EL3HLT = syscall.Errno(0x2e) - EL3RST = syscall.Errno(0x2f) - ELIBACC = syscall.Errno(0x4f) - ELIBBAD = syscall.Errno(0x50) - ELIBEXEC = syscall.Errno(0x53) - ELIBMAX = syscall.Errno(0x52) - ELIBSCN = syscall.Errno(0x51) - ELNRNG = syscall.Errno(0x30) - ELOOP = syscall.Errno(0x28) - EMEDIUMTYPE = syscall.Errno(0x7c) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x5a) - EMULTIHOP = syscall.Errno(0x48) - ENAMETOOLONG = syscall.Errno(0x24) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x64) - ENETRESET = syscall.Errno(0x66) - ENETUNREACH = syscall.Errno(0x65) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x37) - ENOBUFS = syscall.Errno(0x69) - ENOCSI = syscall.Errno(0x32) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x7e) - ENOLCK = syscall.Errno(0x25) - ENOLINK = syscall.Errno(0x43) - ENOMEDIUM = syscall.Errno(0x7b) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x2a) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x5c) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x26) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x6b) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x27) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x83) - ENOTSOCK = syscall.Errno(0x58) - ENOTSUP = syscall.Errno(0x5f) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x4c) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x5f) - EOVERFLOW = syscall.Errno(0x4b) - EOWNERDEAD = syscall.Errno(0x82) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x60) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x5d) - EPROTOTYPE = syscall.Errno(0x5b) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x4e) - EREMOTE = syscall.Errno(0x42) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x55) - ERFKILL = syscall.Errno(0x84) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x6c) - ESOCKTNOSUPPORT = syscall.Errno(0x5e) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x74) - ESTRPIPE = syscall.Errno(0x56) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x6e) - ETOOMANYREFS = syscall.Errno(0x6d) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x31) - EUSERS = syscall.Errno(0x57) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x36) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0x7) - SIGCHLD = syscall.Signal(0x11) - SIGCLD = syscall.Signal(0x11) - SIGCONT = syscall.Signal(0x12) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x1d) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x1d) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1e) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTKFLT = syscall.Signal(0x10) - SIGSTOP = syscall.Signal(0x13) - SIGSYS = syscall.Signal(0x1f) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x14) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) - SIGURG = syscall.Signal(0x17) - SIGUSR1 = syscall.Signal(0xa) - SIGUSR2 = syscall.Signal(0xc) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 35: "resource deadlock avoided", - 36: "file name too long", - 37: "no locks available", - 38: "function not implemented", - 39: "directory not empty", - 40: "too many levels of symbolic links", - 42: "no message of desired type", - 43: "identifier removed", - 44: "channel number out of range", - 45: "level 2 not synchronized", - 46: "level 3 halted", - 47: "level 3 reset", - 48: "link number out of range", - 49: "protocol driver not attached", - 50: "no CSI structure available", - 51: "level 2 halted", - 52: "invalid exchange", - 53: "invalid request descriptor", - 54: "exchange full", - 55: "no anode", - 56: "invalid request code", - 57: "invalid slot", - 59: "bad font file format", - 60: "device not a stream", - 61: "no data available", - 62: "timer expired", - 63: "out of streams resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "multihop attempted", - 73: "RFS specific error", - 74: "bad message", - 75: "value too large for defined data type", - 76: "name not unique on network", - 77: "file descriptor in bad state", - 78: "remote address changed", - 79: "can not access a needed shared library", - 80: "accessing a corrupted shared library", - 81: ".lib section in a.out corrupted", - 82: "attempting to link in too many shared libraries", - 83: "cannot exec a shared library directly", - 84: "invalid or incomplete multibyte or wide character", - 85: "interrupted system call should be restarted", - 86: "streams pipe error", - 87: "too many users", - 88: "socket operation on non-socket", - 89: "destination address required", - 90: "message too long", - 91: "protocol wrong type for socket", - 92: "protocol not available", - 93: "protocol not supported", - 94: "socket type not supported", - 95: "operation not supported", - 96: "protocol family not supported", - 97: "address family not supported by protocol", - 98: "address already in use", - 99: "cannot assign requested address", - 100: "network is down", - 101: "network is unreachable", - 102: "network dropped connection on reset", - 103: "software caused connection abort", - 104: "connection reset by peer", - 105: "no buffer space available", - 106: "transport endpoint is already connected", - 107: "transport endpoint is not connected", - 108: "cannot send after transport endpoint shutdown", - 109: "too many references: cannot splice", - 110: "connection timed out", - 111: "connection refused", - 112: "host is down", - 113: "no route to host", - 114: "operation already in progress", - 115: "operation now in progress", - 116: "stale file handle", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "disk quota exceeded", - 123: "no medium found", - 124: "wrong medium type", - 125: "operation canceled", - 126: "required key not available", - 127: "key has expired", - 128: "key has been revoked", - 129: "key was rejected by service", - 130: "owner died", - 131: "state not recoverable", - 132: "operation not possible due to RF-kill", - 133: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "stack fault", - 17: "child exited", - 18: "continued", - 19: "stopped (signal)", - 20: "stopped", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "urgent I/O condition", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "I/O possible", - 30: "power failure", - 31: "bad system call", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go deleted file mode 100644 index 95de199..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ /dev/null @@ -1,2142 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build sparc64,linux - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_ALG = 0x26 - AF_APPLETALK = 0x5 - AF_ASH = 0x12 - AF_ATMPVC = 0x8 - AF_ATMSVC = 0x14 - AF_AX25 = 0x3 - AF_BLUETOOTH = 0x1f - AF_BRIDGE = 0x7 - AF_CAIF = 0x25 - AF_CAN = 0x1d - AF_DECnet = 0xc - AF_ECONET = 0x13 - AF_FILE = 0x1 - AF_IB = 0x1b - AF_IEEE802154 = 0x24 - AF_INET = 0x2 - AF_INET6 = 0xa - AF_IPX = 0x4 - AF_IRDA = 0x17 - AF_ISDN = 0x22 - AF_IUCV = 0x20 - AF_KCM = 0x29 - AF_KEY = 0xf - AF_LLC = 0x1a - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_MPLS = 0x1c - AF_NETBEUI = 0xd - AF_NETLINK = 0x10 - AF_NETROM = 0x6 - AF_NFC = 0x27 - AF_PACKET = 0x11 - AF_PHONET = 0x23 - AF_PPPOX = 0x18 - AF_RDS = 0x15 - AF_ROSE = 0xb - AF_ROUTE = 0x10 - AF_RXRPC = 0x21 - AF_SECURITY = 0xe - AF_SNA = 0x16 - AF_TIPC = 0x1e - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VSOCK = 0x28 - AF_WANPIPE = 0x19 - AF_X25 = 0x9 - ALG_OP_DECRYPT = 0x0 - ALG_OP_ENCRYPT = 0x1 - ALG_SET_AEAD_ASSOCLEN = 0x4 - ALG_SET_AEAD_AUTHSIZE = 0x5 - ALG_SET_IV = 0x2 - ALG_SET_KEY = 0x1 - ALG_SET_OP = 0x3 - ARPHRD_6LOWPAN = 0x339 - ARPHRD_ADAPT = 0x108 - ARPHRD_APPLETLK = 0x8 - ARPHRD_ARCNET = 0x7 - ARPHRD_ASH = 0x30d - ARPHRD_ATM = 0x13 - ARPHRD_AX25 = 0x3 - ARPHRD_BIF = 0x307 - ARPHRD_CAIF = 0x336 - ARPHRD_CAN = 0x118 - ARPHRD_CHAOS = 0x5 - ARPHRD_CISCO = 0x201 - ARPHRD_CSLIP = 0x101 - ARPHRD_CSLIP6 = 0x103 - ARPHRD_DDCMP = 0x205 - ARPHRD_DLCI = 0xf - ARPHRD_ECONET = 0x30e - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_EUI64 = 0x1b - ARPHRD_FCAL = 0x311 - ARPHRD_FCFABRIC = 0x313 - ARPHRD_FCPL = 0x312 - ARPHRD_FCPP = 0x310 - ARPHRD_FDDI = 0x306 - ARPHRD_FRAD = 0x302 - ARPHRD_HDLC = 0x201 - ARPHRD_HIPPI = 0x30c - ARPHRD_HWX25 = 0x110 - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IEEE80211 = 0x321 - ARPHRD_IEEE80211_PRISM = 0x322 - ARPHRD_IEEE80211_RADIOTAP = 0x323 - ARPHRD_IEEE802154 = 0x324 - ARPHRD_IEEE802154_MONITOR = 0x325 - ARPHRD_IEEE802_TR = 0x320 - ARPHRD_INFINIBAND = 0x20 - ARPHRD_IP6GRE = 0x337 - ARPHRD_IPDDP = 0x309 - ARPHRD_IPGRE = 0x30a - ARPHRD_IRDA = 0x30f - ARPHRD_LAPB = 0x204 - ARPHRD_LOCALTLK = 0x305 - ARPHRD_LOOPBACK = 0x304 - ARPHRD_METRICOM = 0x17 - ARPHRD_NETLINK = 0x338 - ARPHRD_NETROM = 0x0 - ARPHRD_NONE = 0xfffe - ARPHRD_PHONET = 0x334 - ARPHRD_PHONET_PIPE = 0x335 - ARPHRD_PIMREG = 0x30b - ARPHRD_PPP = 0x200 - ARPHRD_PRONET = 0x4 - ARPHRD_RAWHDLC = 0x206 - ARPHRD_ROSE = 0x10e - ARPHRD_RSRVD = 0x104 - ARPHRD_SIT = 0x308 - ARPHRD_SKIP = 0x303 - ARPHRD_SLIP = 0x100 - ARPHRD_SLIP6 = 0x102 - ARPHRD_TUNNEL = 0x300 - ARPHRD_TUNNEL6 = 0x301 - ARPHRD_VOID = 0xffff - ARPHRD_X25 = 0x10f - ASI_LEON_DFLUSH = 0x11 - ASI_LEON_IFLUSH = 0x10 - ASI_LEON_MMUFLUSH = 0x18 - B0 = 0x0 - B1000000 = 0x100c - B110 = 0x3 - B115200 = 0x1002 - B1152000 = 0x100d - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B1500000 = 0x100e - B153600 = 0x1006 - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B2000000 = 0x100f - B230400 = 0x1003 - B2400 = 0xb - B300 = 0x7 - B307200 = 0x1007 - B38400 = 0xf - B460800 = 0x1004 - B4800 = 0xc - B50 = 0x1 - B500000 = 0x100a - B57600 = 0x1001 - B576000 = 0x100b - B600 = 0x8 - B614400 = 0x1008 - B75 = 0x2 - B76800 = 0x1005 - B921600 = 0x1009 - B9600 = 0xd - BLKBSZGET = 0x80081270 - BLKBSZSET = 0x40081271 - BLKFLSBUF = 0x1261 - BLKFRAGET = 0x1265 - BLKFRASET = 0x1264 - BLKGETSIZE = 0x1260 - BLKGETSIZE64 = 0x80081272 - BLKRAGET = 0x1263 - BLKRASET = 0x1262 - BLKROGET = 0x125e - BLKROSET = 0x125d - BLKRRPART = 0x125f - BLKSECTGET = 0x1267 - BLKSECTSET = 0x1266 - BLKSSZGET = 0x1268 - BOTHER = 0x1000 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LL_OFF = -0x200000 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXINSNS = 0x1000 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MOD = 0x90 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_NET_OFF = -0x100000 - BPF_OR = 0x40 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BPF_XOR = 0xa0 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CAN_BCM = 0x2 - CAN_EFF_FLAG = 0x80000000 - CAN_EFF_ID_BITS = 0x1d - CAN_EFF_MASK = 0x1fffffff - CAN_ERR_FLAG = 0x20000000 - CAN_ERR_MASK = 0x1fffffff - CAN_INV_FILTER = 0x20000000 - CAN_ISOTP = 0x6 - CAN_MAX_DLC = 0x8 - CAN_MAX_DLEN = 0x8 - CAN_MCNET = 0x5 - CAN_MTU = 0x10 - CAN_NPROTO = 0x7 - CAN_RAW = 0x1 - CAN_RTR_FLAG = 0x40000000 - CAN_SFF_ID_BITS = 0xb - CAN_SFF_MASK = 0x7ff - CAN_TP16 = 0x3 - CAN_TP20 = 0x4 - CBAUD = 0x100f - CBAUDEX = 0x1000 - CFLUSH = 0xf - CIBAUD = 0x100f0000 - CLOCAL = 0x800 - CLOCK_BOOTTIME = 0x7 - CLOCK_BOOTTIME_ALARM = 0x9 - CLOCK_DEFAULT = 0x0 - CLOCK_EXT = 0x1 - CLOCK_INT = 0x2 - CLOCK_MONOTONIC = 0x1 - CLOCK_MONOTONIC_COARSE = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_ALARM = 0x8 - CLOCK_REALTIME_COARSE = 0x5 - CLOCK_TAI = 0xb - CLOCK_THREAD_CPUTIME_ID = 0x3 - CLOCK_TXFROMRX = 0x4 - CLOCK_TXINT = 0x3 - CLONE_CHILD_CLEARTID = 0x200000 - CLONE_CHILD_SETTID = 0x1000000 - CLONE_DETACHED = 0x400000 - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_IO = 0x80000000 - CLONE_NEWCGROUP = 0x2000000 - CLONE_NEWIPC = 0x8000000 - CLONE_NEWNET = 0x40000000 - CLONE_NEWNS = 0x20000 - CLONE_NEWPID = 0x20000000 - CLONE_NEWUSER = 0x10000000 - CLONE_NEWUTS = 0x4000000 - CLONE_PARENT = 0x8000 - CLONE_PARENT_SETTID = 0x100000 - CLONE_PTRACE = 0x2000 - CLONE_SETTLS = 0x80000 - CLONE_SIGHAND = 0x800 - CLONE_SYSVSEM = 0x40000 - CLONE_THREAD = 0x10000 - CLONE_UNTRACED = 0x800000 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CMSPAR = 0x40000000 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIGNAL = 0xff - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x0 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EMT_TAGOVF = 0x1 - ENCODING_DEFAULT = 0x0 - ENCODING_FM_MARK = 0x3 - ENCODING_FM_SPACE = 0x4 - ENCODING_MANCHESTER = 0x5 - ENCODING_NRZ = 0x1 - ENCODING_NRZI = 0x2 - EPOLLERR = 0x8 - EPOLLET = 0x80000000 - EPOLLEXCLUSIVE = 0x10000000 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLONESHOT = 0x40000000 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDHUP = 0x2000 - EPOLLRDNORM = 0x40 - EPOLLWAKEUP = 0x20000000 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CLOEXEC = 0x400000 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - ETH_P_1588 = 0x88f7 - ETH_P_8021AD = 0x88a8 - ETH_P_8021AH = 0x88e7 - ETH_P_8021Q = 0x8100 - ETH_P_80221 = 0x8917 - ETH_P_802_2 = 0x4 - ETH_P_802_3 = 0x1 - ETH_P_802_3_MIN = 0x600 - ETH_P_802_EX1 = 0x88b5 - ETH_P_AARP = 0x80f3 - ETH_P_AF_IUCV = 0xfbfb - ETH_P_ALL = 0x3 - ETH_P_AOE = 0x88a2 - ETH_P_ARCNET = 0x1a - ETH_P_ARP = 0x806 - ETH_P_ATALK = 0x809b - ETH_P_ATMFATE = 0x8884 - ETH_P_ATMMPOA = 0x884c - ETH_P_AX25 = 0x2 - ETH_P_BATMAN = 0x4305 - ETH_P_BPQ = 0x8ff - ETH_P_CAIF = 0xf7 - ETH_P_CAN = 0xc - ETH_P_CANFD = 0xd - ETH_P_CONTROL = 0x16 - ETH_P_CUST = 0x6006 - ETH_P_DDCMP = 0x6 - ETH_P_DEC = 0x6000 - ETH_P_DIAG = 0x6005 - ETH_P_DNA_DL = 0x6001 - ETH_P_DNA_RC = 0x6002 - ETH_P_DNA_RT = 0x6003 - ETH_P_DSA = 0x1b - ETH_P_ECONET = 0x18 - ETH_P_EDSA = 0xdada - ETH_P_FCOE = 0x8906 - ETH_P_FIP = 0x8914 - ETH_P_HDLC = 0x19 - ETH_P_HSR = 0x892f - ETH_P_IEEE802154 = 0xf6 - ETH_P_IEEEPUP = 0xa00 - ETH_P_IEEEPUPAT = 0xa01 - ETH_P_IP = 0x800 - ETH_P_IPV6 = 0x86dd - ETH_P_IPX = 0x8137 - ETH_P_IRDA = 0x17 - ETH_P_LAT = 0x6004 - ETH_P_LINK_CTL = 0x886c - ETH_P_LOCALTALK = 0x9 - ETH_P_LOOP = 0x60 - ETH_P_LOOPBACK = 0x9000 - ETH_P_MACSEC = 0x88e5 - ETH_P_MOBITEX = 0x15 - ETH_P_MPLS_MC = 0x8848 - ETH_P_MPLS_UC = 0x8847 - ETH_P_MVRP = 0x88f5 - ETH_P_PAE = 0x888e - ETH_P_PAUSE = 0x8808 - ETH_P_PHONET = 0xf5 - ETH_P_PPPTALK = 0x10 - ETH_P_PPP_DISC = 0x8863 - ETH_P_PPP_MP = 0x8 - ETH_P_PPP_SES = 0x8864 - ETH_P_PRP = 0x88fb - ETH_P_PUP = 0x200 - ETH_P_PUPAT = 0x201 - ETH_P_QINQ1 = 0x9100 - ETH_P_QINQ2 = 0x9200 - ETH_P_QINQ3 = 0x9300 - ETH_P_RARP = 0x8035 - ETH_P_SCA = 0x6007 - ETH_P_SLOW = 0x8809 - ETH_P_SNAP = 0x5 - ETH_P_TDLS = 0x890d - ETH_P_TEB = 0x6558 - ETH_P_TIPC = 0x88ca - ETH_P_TRAILER = 0x1c - ETH_P_TR_802_2 = 0x11 - ETH_P_TSN = 0x22f0 - ETH_P_WAN_PPP = 0x7 - ETH_P_WCCP = 0x883e - ETH_P_X25 = 0x805 - ETH_P_XDSA = 0xf8 - EXTA = 0xe - EXTB = 0xf - EXTPROC = 0x10000 - FALLOC_FL_COLLAPSE_RANGE = 0x8 - FALLOC_FL_INSERT_RANGE = 0x20 - FALLOC_FL_KEEP_SIZE = 0x1 - FALLOC_FL_NO_HIDE_STALE = 0x4 - FALLOC_FL_PUNCH_HOLE = 0x2 - FALLOC_FL_ZERO_RANGE = 0x10 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHO = 0x2000 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x406 - F_EXLCK = 0x4 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLEASE = 0x401 - F_GETLK = 0x7 - F_GETLK64 = 0x7 - F_GETOWN = 0x5 - F_GETOWN_EX = 0x10 - F_GETPIPE_SZ = 0x408 - F_GETSIG = 0xb - F_LOCK = 0x1 - F_NOTIFY = 0x402 - F_OFD_GETLK = 0x24 - F_OFD_SETLK = 0x25 - F_OFD_SETLKW = 0x26 - F_OK = 0x0 - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLEASE = 0x400 - F_SETLK = 0x8 - F_SETLK64 = 0x8 - F_SETLKW = 0x9 - F_SETLKW64 = 0x9 - F_SETOWN = 0x6 - F_SETOWN_EX = 0xf - F_SETPIPE_SZ = 0x407 - F_SETSIG = 0xa - F_SHLCK = 0x8 - F_TEST = 0x3 - F_TLOCK = 0x2 - F_ULOCK = 0x0 - F_UNLCK = 0x3 - F_WRLCK = 0x2 - GRND_NONBLOCK = 0x1 - GRND_RANDOM = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICMPV6_FILTER = 0x1 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFA_F_DADFAILED = 0x8 - IFA_F_DEPRECATED = 0x20 - IFA_F_HOMEADDRESS = 0x10 - IFA_F_MANAGETEMPADDR = 0x100 - IFA_F_MCAUTOJOIN = 0x400 - IFA_F_NODAD = 0x2 - IFA_F_NOPREFIXROUTE = 0x200 - IFA_F_OPTIMISTIC = 0x4 - IFA_F_PERMANENT = 0x80 - IFA_F_SECONDARY = 0x1 - IFA_F_STABLE_PRIVACY = 0x800 - IFA_F_TEMPORARY = 0x1 - IFA_F_TENTATIVE = 0x40 - IFA_MAX = 0x8 - IFF_ALLMULTI = 0x200 - IFF_ATTACH_QUEUE = 0x200 - IFF_AUTOMEDIA = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_DETACH_QUEUE = 0x400 - IFF_DORMANT = 0x20000 - IFF_DYNAMIC = 0x8000 - IFF_ECHO = 0x40000 - IFF_LOOPBACK = 0x8 - IFF_LOWER_UP = 0x10000 - IFF_MASTER = 0x400 - IFF_MULTICAST = 0x1000 - IFF_MULTI_QUEUE = 0x100 - IFF_NOARP = 0x80 - IFF_NOFILTER = 0x1000 - IFF_NOTRAILERS = 0x20 - IFF_NO_PI = 0x1000 - IFF_ONE_QUEUE = 0x2000 - IFF_PERSIST = 0x800 - IFF_POINTOPOINT = 0x10 - IFF_PORTSEL = 0x2000 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SLAVE = 0x800 - IFF_TAP = 0x2 - IFF_TUN = 0x1 - IFF_TUN_EXCL = 0x8000 - IFF_UP = 0x1 - IFF_VNET_HDR = 0x4000 - IFF_VOLATILE = 0x70c5a - IFNAMSIZ = 0x10 - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_ACCESS = 0x1 - IN_ALL_EVENTS = 0xfff - IN_ATTRIB = 0x4 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLOEXEC = 0x400000 - IN_CLOSE = 0x18 - IN_CLOSE_NOWRITE = 0x10 - IN_CLOSE_WRITE = 0x8 - IN_CREATE = 0x100 - IN_DELETE = 0x200 - IN_DELETE_SELF = 0x400 - IN_DONT_FOLLOW = 0x2000000 - IN_EXCL_UNLINK = 0x4000000 - IN_IGNORED = 0x8000 - IN_ISDIR = 0x40000000 - IN_LOOPBACKNET = 0x7f - IN_MASK_ADD = 0x20000000 - IN_MODIFY = 0x2 - IN_MOVE = 0xc0 - IN_MOVED_FROM = 0x40 - IN_MOVED_TO = 0x80 - IN_MOVE_SELF = 0x800 - IN_NONBLOCK = 0x4000 - IN_ONESHOT = 0x80000000 - IN_ONLYDIR = 0x1000000 - IN_OPEN = 0x20 - IN_Q_OVERFLOW = 0x4000 - IN_UNMOUNT = 0x2000 - IPPROTO_AH = 0x33 - IPPROTO_BEETPH = 0x5e - IPPROTO_COMP = 0x6c - IPPROTO_DCCP = 0x21 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPIP = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MH = 0x87 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_NONE = 0x3b - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPV6_2292DSTOPTS = 0x4 - IPV6_2292HOPLIMIT = 0x8 - IPV6_2292HOPOPTS = 0x3 - IPV6_2292PKTINFO = 0x2 - IPV6_2292PKTOPTIONS = 0x6 - IPV6_2292RTHDR = 0x5 - IPV6_ADDRFORM = 0x1 - IPV6_ADD_MEMBERSHIP = 0x14 - IPV6_AUTHHDR = 0xa - IPV6_CHECKSUM = 0x7 - IPV6_DONTFRAG = 0x3e - IPV6_DROP_MEMBERSHIP = 0x15 - IPV6_DSTOPTS = 0x3b - IPV6_HDRINCL = 0x24 - IPV6_HOPLIMIT = 0x34 - IPV6_HOPOPTS = 0x36 - IPV6_IPSEC_POLICY = 0x22 - IPV6_JOIN_ANYCAST = 0x1b - IPV6_JOIN_GROUP = 0x14 - IPV6_LEAVE_ANYCAST = 0x1c - IPV6_LEAVE_GROUP = 0x15 - IPV6_MTU = 0x18 - IPV6_MTU_DISCOVER = 0x17 - IPV6_MULTICAST_HOPS = 0x12 - IPV6_MULTICAST_IF = 0x11 - IPV6_MULTICAST_LOOP = 0x13 - IPV6_NEXTHOP = 0x9 - IPV6_PATHMTU = 0x3d - IPV6_PKTINFO = 0x32 - IPV6_PMTUDISC_DO = 0x2 - IPV6_PMTUDISC_DONT = 0x0 - IPV6_PMTUDISC_INTERFACE = 0x4 - IPV6_PMTUDISC_OMIT = 0x5 - IPV6_PMTUDISC_PROBE = 0x3 - IPV6_PMTUDISC_WANT = 0x1 - IPV6_RECVDSTOPTS = 0x3a - IPV6_RECVERR = 0x19 - IPV6_RECVHOPLIMIT = 0x33 - IPV6_RECVHOPOPTS = 0x35 - IPV6_RECVPATHMTU = 0x3c - IPV6_RECVPKTINFO = 0x31 - IPV6_RECVRTHDR = 0x38 - IPV6_RECVTCLASS = 0x42 - IPV6_ROUTER_ALERT = 0x16 - IPV6_RTHDR = 0x39 - IPV6_RTHDRDSTOPTS = 0x37 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_RXDSTOPTS = 0x3b - IPV6_RXHOPOPTS = 0x36 - IPV6_TCLASS = 0x43 - IPV6_UNICAST_HOPS = 0x10 - IPV6_V6ONLY = 0x1a - IPV6_XFRM_POLICY = 0x23 - IP_ADD_MEMBERSHIP = 0x23 - IP_ADD_SOURCE_MEMBERSHIP = 0x27 - IP_BIND_ADDRESS_NO_PORT = 0x18 - IP_BLOCK_SOURCE = 0x26 - IP_CHECKSUM = 0x17 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0x24 - IP_DROP_SOURCE_MEMBERSHIP = 0x28 - IP_FREEBIND = 0xf - IP_HDRINCL = 0x3 - IP_IPSEC_POLICY = 0x10 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINTTL = 0x15 - IP_MSFILTER = 0x29 - IP_MSS = 0x240 - IP_MTU = 0xe - IP_MTU_DISCOVER = 0xa - IP_MULTICAST_ALL = 0x31 - IP_MULTICAST_IF = 0x20 - IP_MULTICAST_LOOP = 0x22 - IP_MULTICAST_TTL = 0x21 - IP_NODEFRAG = 0x16 - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x4 - IP_ORIGDSTADDR = 0x14 - IP_PASSSEC = 0x12 - IP_PKTINFO = 0x8 - IP_PKTOPTIONS = 0x9 - IP_PMTUDISC = 0xa - IP_PMTUDISC_DO = 0x2 - IP_PMTUDISC_DONT = 0x0 - IP_PMTUDISC_INTERFACE = 0x4 - IP_PMTUDISC_OMIT = 0x5 - IP_PMTUDISC_PROBE = 0x3 - IP_PMTUDISC_WANT = 0x1 - IP_RECVERR = 0xb - IP_RECVOPTS = 0x6 - IP_RECVORIGDSTADDR = 0x14 - IP_RECVRETOPTS = 0x7 - IP_RECVTOS = 0xd - IP_RECVTTL = 0xc - IP_RETOPTS = 0x7 - IP_RF = 0x8000 - IP_ROUTER_ALERT = 0x5 - IP_TOS = 0x1 - IP_TRANSPARENT = 0x13 - IP_TTL = 0x2 - IP_UNBLOCK_SOURCE = 0x25 - IP_UNICAST_IF = 0x32 - IP_XFRM_POLICY = 0x11 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - LINUX_REBOOT_CMD_CAD_OFF = 0x0 - LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef - LINUX_REBOOT_CMD_HALT = 0xcdef0123 - LINUX_REBOOT_CMD_KEXEC = 0x45584543 - LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc - LINUX_REBOOT_CMD_RESTART = 0x1234567 - LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 - LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 - LINUX_REBOOT_MAGIC1 = 0xfee1dead - LINUX_REBOOT_MAGIC2 = 0x28121969 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DODUMP = 0x11 - MADV_DOFORK = 0xb - MADV_DONTDUMP = 0x10 - MADV_DONTFORK = 0xa - MADV_DONTNEED = 0x4 - MADV_FREE = 0x8 - MADV_HUGEPAGE = 0xe - MADV_HWPOISON = 0x64 - MADV_MERGEABLE = 0xc - MADV_NOHUGEPAGE = 0xf - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_REMOVE = 0x9 - MADV_SEQUENTIAL = 0x2 - MADV_UNMERGEABLE = 0xd - MADV_WILLNEED = 0x3 - MAP_ANON = 0x20 - MAP_ANONYMOUS = 0x20 - MAP_DENYWRITE = 0x800 - MAP_EXECUTABLE = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_GROWSDOWN = 0x200 - MAP_HUGETLB = 0x40000 - MAP_HUGE_MASK = 0x3f - MAP_HUGE_SHIFT = 0x1a - MAP_LOCKED = 0x100 - MAP_NONBLOCK = 0x10000 - MAP_NORESERVE = 0x40 - MAP_POPULATE = 0x8000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_STACK = 0x20000 - MAP_TYPE = 0xf - MCL_CURRENT = 0x2000 - MCL_FUTURE = 0x4000 - MCL_ONFAULT = 0x8000 - MNT_DETACH = 0x2 - MNT_EXPIRE = 0x4 - MNT_FORCE = 0x1 - MSG_BATCH = 0x40000 - MSG_CMSG_CLOEXEC = 0x40000000 - MSG_CONFIRM = 0x800 - MSG_CTRUNC = 0x8 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x40 - MSG_EOR = 0x80 - MSG_ERRQUEUE = 0x2000 - MSG_FASTOPEN = 0x20000000 - MSG_FIN = 0x200 - MSG_MORE = 0x8000 - MSG_NOSIGNAL = 0x4000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_PROXY = 0x10 - MSG_RST = 0x1000 - MSG_SYN = 0x400 - MSG_TRUNC = 0x20 - MSG_TRYHARD = 0x4 - MSG_WAITALL = 0x100 - MSG_WAITFORONE = 0x10000 - MS_ACTIVE = 0x40000000 - MS_ASYNC = 0x1 - MS_BIND = 0x1000 - MS_DIRSYNC = 0x80 - MS_INVALIDATE = 0x2 - MS_I_VERSION = 0x800000 - MS_KERNMOUNT = 0x400000 - MS_LAZYTIME = 0x2000000 - MS_MANDLOCK = 0x40 - MS_MGC_MSK = 0xffff0000 - MS_MGC_VAL = 0xc0ed0000 - MS_MOVE = 0x2000 - MS_NOATIME = 0x400 - MS_NODEV = 0x4 - MS_NODIRATIME = 0x800 - MS_NOEXEC = 0x8 - MS_NOSUID = 0x2 - MS_NOUSER = -0x80000000 - MS_POSIXACL = 0x10000 - MS_PRIVATE = 0x40000 - MS_RDONLY = 0x1 - MS_REC = 0x4000 - MS_RELATIME = 0x200000 - MS_REMOUNT = 0x20 - MS_RMT_MASK = 0x2800051 - MS_SHARED = 0x100000 - MS_SILENT = 0x8000 - MS_SLAVE = 0x80000 - MS_STRICTATIME = 0x1000000 - MS_SYNC = 0x4 - MS_SYNCHRONOUS = 0x10 - MS_UNBINDABLE = 0x20000 - NAME_MAX = 0xff - NETLINK_ADD_MEMBERSHIP = 0x1 - NETLINK_AUDIT = 0x9 - NETLINK_BROADCAST_ERROR = 0x4 - NETLINK_CAP_ACK = 0xa - NETLINK_CONNECTOR = 0xb - NETLINK_CRYPTO = 0x15 - NETLINK_DNRTMSG = 0xe - NETLINK_DROP_MEMBERSHIP = 0x2 - NETLINK_ECRYPTFS = 0x13 - NETLINK_FIB_LOOKUP = 0xa - NETLINK_FIREWALL = 0x3 - NETLINK_GENERIC = 0x10 - NETLINK_INET_DIAG = 0x4 - NETLINK_IP6_FW = 0xd - NETLINK_ISCSI = 0x8 - NETLINK_KOBJECT_UEVENT = 0xf - NETLINK_LISTEN_ALL_NSID = 0x8 - NETLINK_LIST_MEMBERSHIPS = 0x9 - NETLINK_NETFILTER = 0xc - NETLINK_NFLOG = 0x5 - NETLINK_NO_ENOBUFS = 0x5 - NETLINK_PKTINFO = 0x3 - NETLINK_RDMA = 0x14 - NETLINK_ROUTE = 0x0 - NETLINK_RX_RING = 0x6 - NETLINK_SCSITRANSPORT = 0x12 - NETLINK_SELINUX = 0x7 - NETLINK_SOCK_DIAG = 0x4 - NETLINK_TX_RING = 0x7 - NETLINK_UNUSED = 0x1 - NETLINK_USERSOCK = 0x2 - NETLINK_XFRM = 0x6 - NL0 = 0x0 - NL1 = 0x100 - NLA_ALIGNTO = 0x4 - NLA_F_NESTED = 0x8000 - NLA_F_NET_BYTEORDER = 0x4000 - NLA_HDRLEN = 0x4 - NLDLY = 0x100 - NLMSG_ALIGNTO = 0x4 - NLMSG_DONE = 0x3 - NLMSG_ERROR = 0x2 - NLMSG_HDRLEN = 0x10 - NLMSG_MIN_TYPE = 0x10 - NLMSG_NOOP = 0x1 - NLMSG_OVERRUN = 0x4 - NLM_F_ACK = 0x4 - NLM_F_APPEND = 0x800 - NLM_F_ATOMIC = 0x400 - NLM_F_CREATE = 0x400 - NLM_F_DUMP = 0x300 - NLM_F_DUMP_FILTERED = 0x20 - NLM_F_DUMP_INTR = 0x10 - NLM_F_ECHO = 0x8 - NLM_F_EXCL = 0x200 - NLM_F_MATCH = 0x200 - NLM_F_MULTI = 0x2 - NLM_F_REPLACE = 0x100 - NLM_F_REQUEST = 0x1 - NLM_F_ROOT = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x400000 - O_CREAT = 0x200 - O_DIRECT = 0x100000 - O_DIRECTORY = 0x10000 - O_DSYNC = 0x2000 - O_EXCL = 0x800 - O_FSYNC = 0x802000 - O_LARGEFILE = 0x0 - O_NDELAY = 0x4004 - O_NOATIME = 0x200000 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x20000 - O_NONBLOCK = 0x4000 - O_PATH = 0x1000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x802000 - O_SYNC = 0x802000 - O_TMPFILE = 0x2010000 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PACKET_ADD_MEMBERSHIP = 0x1 - PACKET_AUXDATA = 0x8 - PACKET_BROADCAST = 0x1 - PACKET_COPY_THRESH = 0x7 - PACKET_DROP_MEMBERSHIP = 0x2 - PACKET_FANOUT = 0x12 - PACKET_FANOUT_CBPF = 0x6 - PACKET_FANOUT_CPU = 0x2 - PACKET_FANOUT_DATA = 0x16 - PACKET_FANOUT_EBPF = 0x7 - PACKET_FANOUT_FLAG_DEFRAG = 0x8000 - PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 - PACKET_FANOUT_HASH = 0x0 - PACKET_FANOUT_LB = 0x1 - PACKET_FANOUT_QM = 0x5 - PACKET_FANOUT_RND = 0x4 - PACKET_FANOUT_ROLLOVER = 0x3 - PACKET_FASTROUTE = 0x6 - PACKET_HDRLEN = 0xb - PACKET_HOST = 0x0 - PACKET_KERNEL = 0x7 - PACKET_LOOPBACK = 0x5 - PACKET_LOSS = 0xe - PACKET_MR_ALLMULTI = 0x2 - PACKET_MR_MULTICAST = 0x0 - PACKET_MR_PROMISC = 0x1 - PACKET_MR_UNICAST = 0x3 - PACKET_MULTICAST = 0x2 - PACKET_ORIGDEV = 0x9 - PACKET_OTHERHOST = 0x3 - PACKET_OUTGOING = 0x4 - PACKET_QDISC_BYPASS = 0x14 - PACKET_RECV_OUTPUT = 0x3 - PACKET_RESERVE = 0xc - PACKET_ROLLOVER_STATS = 0x15 - PACKET_RX_RING = 0x5 - PACKET_STATISTICS = 0x6 - PACKET_TIMESTAMP = 0x11 - PACKET_TX_HAS_OFF = 0x13 - PACKET_TX_RING = 0xd - PACKET_TX_TIMESTAMP = 0x10 - PACKET_USER = 0x6 - PACKET_VERSION = 0xa - PACKET_VNET_HDR = 0xf - PARENB = 0x100 - PARITY_CRC16_PR0 = 0x2 - PARITY_CRC16_PR0_CCITT = 0x4 - PARITY_CRC16_PR1 = 0x3 - PARITY_CRC16_PR1_CCITT = 0x5 - PARITY_CRC32_PR0_CCITT = 0x6 - PARITY_CRC32_PR1_CCITT = 0x7 - PARITY_DEFAULT = 0x0 - PARITY_NONE = 0x1 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_GROWSDOWN = 0x1000000 - PROT_GROWSUP = 0x2000000 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PR_CAPBSET_DROP = 0x18 - PR_CAPBSET_READ = 0x17 - PR_CAP_AMBIENT = 0x2f - PR_CAP_AMBIENT_CLEAR_ALL = 0x4 - PR_CAP_AMBIENT_IS_SET = 0x1 - PR_CAP_AMBIENT_LOWER = 0x3 - PR_CAP_AMBIENT_RAISE = 0x2 - PR_ENDIAN_BIG = 0x0 - PR_ENDIAN_LITTLE = 0x1 - PR_ENDIAN_PPC_LITTLE = 0x2 - PR_FPEMU_NOPRINT = 0x1 - PR_FPEMU_SIGFPE = 0x2 - PR_FP_EXC_ASYNC = 0x2 - PR_FP_EXC_DISABLED = 0x0 - PR_FP_EXC_DIV = 0x10000 - PR_FP_EXC_INV = 0x100000 - PR_FP_EXC_NONRECOV = 0x1 - PR_FP_EXC_OVF = 0x20000 - PR_FP_EXC_PRECISE = 0x3 - PR_FP_EXC_RES = 0x80000 - PR_FP_EXC_SW_ENABLE = 0x80 - PR_FP_EXC_UND = 0x40000 - PR_FP_MODE_FR = 0x1 - PR_FP_MODE_FRE = 0x2 - PR_GET_CHILD_SUBREAPER = 0x25 - PR_GET_DUMPABLE = 0x3 - PR_GET_ENDIAN = 0x13 - PR_GET_FPEMU = 0x9 - PR_GET_FPEXC = 0xb - PR_GET_FP_MODE = 0x2e - PR_GET_KEEPCAPS = 0x7 - PR_GET_NAME = 0x10 - PR_GET_NO_NEW_PRIVS = 0x27 - PR_GET_PDEATHSIG = 0x2 - PR_GET_SECCOMP = 0x15 - PR_GET_SECUREBITS = 0x1b - PR_GET_THP_DISABLE = 0x2a - PR_GET_TID_ADDRESS = 0x28 - PR_GET_TIMERSLACK = 0x1e - PR_GET_TIMING = 0xd - PR_GET_TSC = 0x19 - PR_GET_UNALIGN = 0x5 - PR_MCE_KILL = 0x21 - PR_MCE_KILL_CLEAR = 0x0 - PR_MCE_KILL_DEFAULT = 0x2 - PR_MCE_KILL_EARLY = 0x1 - PR_MCE_KILL_GET = 0x22 - PR_MCE_KILL_LATE = 0x0 - PR_MCE_KILL_SET = 0x1 - PR_MPX_DISABLE_MANAGEMENT = 0x2c - PR_MPX_ENABLE_MANAGEMENT = 0x2b - PR_SET_CHILD_SUBREAPER = 0x24 - PR_SET_DUMPABLE = 0x4 - PR_SET_ENDIAN = 0x14 - PR_SET_FPEMU = 0xa - PR_SET_FPEXC = 0xc - PR_SET_FP_MODE = 0x2d - PR_SET_KEEPCAPS = 0x8 - PR_SET_MM = 0x23 - PR_SET_MM_ARG_END = 0x9 - PR_SET_MM_ARG_START = 0x8 - PR_SET_MM_AUXV = 0xc - PR_SET_MM_BRK = 0x7 - PR_SET_MM_END_CODE = 0x2 - PR_SET_MM_END_DATA = 0x4 - PR_SET_MM_ENV_END = 0xb - PR_SET_MM_ENV_START = 0xa - PR_SET_MM_EXE_FILE = 0xd - PR_SET_MM_MAP = 0xe - PR_SET_MM_MAP_SIZE = 0xf - PR_SET_MM_START_BRK = 0x6 - PR_SET_MM_START_CODE = 0x1 - PR_SET_MM_START_DATA = 0x3 - PR_SET_MM_START_STACK = 0x5 - PR_SET_NAME = 0xf - PR_SET_NO_NEW_PRIVS = 0x26 - PR_SET_PDEATHSIG = 0x1 - PR_SET_PTRACER = 0x59616d61 - PR_SET_PTRACER_ANY = -0x1 - PR_SET_SECCOMP = 0x16 - PR_SET_SECUREBITS = 0x1c - PR_SET_THP_DISABLE = 0x29 - PR_SET_TIMERSLACK = 0x1d - PR_SET_TIMING = 0xe - PR_SET_TSC = 0x1a - PR_SET_UNALIGN = 0x6 - PR_TASK_PERF_EVENTS_DISABLE = 0x1f - PR_TASK_PERF_EVENTS_ENABLE = 0x20 - PR_TIMING_STATISTICAL = 0x0 - PR_TIMING_TIMESTAMP = 0x1 - PR_TSC_ENABLE = 0x1 - PR_TSC_SIGSEGV = 0x2 - PR_UNALIGN_NOPRINT = 0x1 - PR_UNALIGN_SIGBUS = 0x2 - PTRACE_ATTACH = 0x10 - PTRACE_CONT = 0x7 - PTRACE_DETACH = 0x11 - PTRACE_EVENT_CLONE = 0x3 - PTRACE_EVENT_EXEC = 0x4 - PTRACE_EVENT_EXIT = 0x6 - PTRACE_EVENT_FORK = 0x1 - PTRACE_EVENT_SECCOMP = 0x7 - PTRACE_EVENT_STOP = 0x80 - PTRACE_EVENT_VFORK = 0x2 - PTRACE_EVENT_VFORK_DONE = 0x5 - PTRACE_GETEVENTMSG = 0x4201 - PTRACE_GETFPAREGS = 0x14 - PTRACE_GETFPREGS = 0xe - PTRACE_GETFPREGS64 = 0x19 - PTRACE_GETREGS = 0xc - PTRACE_GETREGS64 = 0x16 - PTRACE_GETREGSET = 0x4204 - PTRACE_GETSIGINFO = 0x4202 - PTRACE_GETSIGMASK = 0x420a - PTRACE_INTERRUPT = 0x4207 - PTRACE_KILL = 0x8 - PTRACE_LISTEN = 0x4208 - PTRACE_O_EXITKILL = 0x100000 - PTRACE_O_MASK = 0x3000ff - PTRACE_O_SUSPEND_SECCOMP = 0x200000 - PTRACE_O_TRACECLONE = 0x8 - PTRACE_O_TRACEEXEC = 0x10 - PTRACE_O_TRACEEXIT = 0x40 - PTRACE_O_TRACEFORK = 0x2 - PTRACE_O_TRACESECCOMP = 0x80 - PTRACE_O_TRACESYSGOOD = 0x1 - PTRACE_O_TRACEVFORK = 0x4 - PTRACE_O_TRACEVFORKDONE = 0x20 - PTRACE_PEEKDATA = 0x2 - PTRACE_PEEKSIGINFO = 0x4209 - PTRACE_PEEKSIGINFO_SHARED = 0x1 - PTRACE_PEEKTEXT = 0x1 - PTRACE_PEEKUSR = 0x3 - PTRACE_POKEDATA = 0x5 - PTRACE_POKETEXT = 0x4 - PTRACE_POKEUSR = 0x6 - PTRACE_READDATA = 0x10 - PTRACE_READTEXT = 0x12 - PTRACE_SECCOMP_GET_FILTER = 0x420c - PTRACE_SEIZE = 0x4206 - PTRACE_SETFPAREGS = 0x15 - PTRACE_SETFPREGS = 0xf - PTRACE_SETFPREGS64 = 0x1a - PTRACE_SETOPTIONS = 0x4200 - PTRACE_SETREGS = 0xd - PTRACE_SETREGS64 = 0x17 - PTRACE_SETREGSET = 0x4205 - PTRACE_SETSIGINFO = 0x4203 - PTRACE_SETSIGMASK = 0x420b - PTRACE_SINGLESTEP = 0x9 - PTRACE_SPARC_DETACH = 0xb - PTRACE_SYSCALL = 0x18 - PTRACE_TRACEME = 0x0 - PTRACE_WRITEDATA = 0x11 - PTRACE_WRITETEXT = 0x13 - PT_FP = 0x48 - PT_G0 = 0x10 - PT_G1 = 0x14 - PT_G2 = 0x18 - PT_G3 = 0x1c - PT_G4 = 0x20 - PT_G5 = 0x24 - PT_G6 = 0x28 - PT_G7 = 0x2c - PT_I0 = 0x30 - PT_I1 = 0x34 - PT_I2 = 0x38 - PT_I3 = 0x3c - PT_I4 = 0x40 - PT_I5 = 0x44 - PT_I6 = 0x48 - PT_I7 = 0x4c - PT_NPC = 0x8 - PT_PC = 0x4 - PT_PSR = 0x0 - PT_REGS_MAGIC = 0x57ac6c00 - PT_TNPC = 0x90 - PT_TPC = 0x88 - PT_TSTATE = 0x80 - PT_V9_FP = 0x70 - PT_V9_G0 = 0x0 - PT_V9_G1 = 0x8 - PT_V9_G2 = 0x10 - PT_V9_G3 = 0x18 - PT_V9_G4 = 0x20 - PT_V9_G5 = 0x28 - PT_V9_G6 = 0x30 - PT_V9_G7 = 0x38 - PT_V9_I0 = 0x40 - PT_V9_I1 = 0x48 - PT_V9_I2 = 0x50 - PT_V9_I3 = 0x58 - PT_V9_I4 = 0x60 - PT_V9_I5 = 0x68 - PT_V9_I6 = 0x70 - PT_V9_I7 = 0x78 - PT_V9_MAGIC = 0x9c - PT_V9_TNPC = 0x90 - PT_V9_TPC = 0x88 - PT_V9_TSTATE = 0x80 - PT_V9_Y = 0x98 - PT_WIM = 0x10 - PT_Y = 0xc - RLIMIT_AS = 0x9 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x6 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x1 - RTAX_ADVMSS = 0x8 - RTAX_CC_ALGO = 0x10 - RTAX_CWND = 0x7 - RTAX_FEATURES = 0xc - RTAX_FEATURE_ALLFRAG = 0x8 - RTAX_FEATURE_ECN = 0x1 - RTAX_FEATURE_MASK = 0xf - RTAX_FEATURE_SACK = 0x2 - RTAX_FEATURE_TIMESTAMP = 0x4 - RTAX_HOPLIMIT = 0xa - RTAX_INITCWND = 0xb - RTAX_INITRWND = 0xe - RTAX_LOCK = 0x1 - RTAX_MAX = 0x10 - RTAX_MTU = 0x2 - RTAX_QUICKACK = 0xf - RTAX_REORDERING = 0x9 - RTAX_RTO_MIN = 0xd - RTAX_RTT = 0x4 - RTAX_RTTVAR = 0x5 - RTAX_SSTHRESH = 0x6 - RTAX_UNSPEC = 0x0 - RTAX_WINDOW = 0x3 - RTA_ALIGNTO = 0x4 - RTA_MAX = 0x18 - RTCF_DIRECTSRC = 0x4000000 - RTCF_DOREDIRECT = 0x1000000 - RTCF_LOG = 0x2000000 - RTCF_MASQ = 0x400000 - RTCF_NAT = 0x800000 - RTCF_VALVE = 0x200000 - RTF_ADDRCLASSMASK = 0xf8000000 - RTF_ADDRCONF = 0x40000 - RTF_ALLONLINK = 0x20000 - RTF_BROADCAST = 0x10000000 - RTF_CACHE = 0x1000000 - RTF_DEFAULT = 0x10000 - RTF_DYNAMIC = 0x10 - RTF_FLOW = 0x2000000 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INTERFACE = 0x40000000 - RTF_IRTT = 0x100 - RTF_LINKRT = 0x100000 - RTF_LOCAL = 0x80000000 - RTF_MODIFIED = 0x20 - RTF_MSS = 0x40 - RTF_MTU = 0x40 - RTF_MULTICAST = 0x20000000 - RTF_NAT = 0x8000000 - RTF_NOFORWARD = 0x1000 - RTF_NONEXTHOP = 0x200000 - RTF_NOPMTUDISC = 0x4000 - RTF_POLICY = 0x4000000 - RTF_REINSTATE = 0x8 - RTF_REJECT = 0x200 - RTF_STATIC = 0x400 - RTF_THROW = 0x2000 - RTF_UP = 0x1 - RTF_WINDOW = 0x80 - RTF_XRESOLVE = 0x800 - RTM_BASE = 0x10 - RTM_DELACTION = 0x31 - RTM_DELADDR = 0x15 - RTM_DELADDRLABEL = 0x49 - RTM_DELLINK = 0x11 - RTM_DELMDB = 0x55 - RTM_DELNEIGH = 0x1d - RTM_DELNSID = 0x59 - RTM_DELQDISC = 0x25 - RTM_DELROUTE = 0x19 - RTM_DELRULE = 0x21 - RTM_DELTCLASS = 0x29 - RTM_DELTFILTER = 0x2d - RTM_F_CLONED = 0x200 - RTM_F_EQUALIZE = 0x400 - RTM_F_LOOKUP_TABLE = 0x1000 - RTM_F_NOTIFY = 0x100 - RTM_F_PREFIX = 0x800 - RTM_GETACTION = 0x32 - RTM_GETADDR = 0x16 - RTM_GETADDRLABEL = 0x4a - RTM_GETANYCAST = 0x3e - RTM_GETDCB = 0x4e - RTM_GETLINK = 0x12 - RTM_GETMDB = 0x56 - RTM_GETMULTICAST = 0x3a - RTM_GETNEIGH = 0x1e - RTM_GETNEIGHTBL = 0x42 - RTM_GETNETCONF = 0x52 - RTM_GETNSID = 0x5a - RTM_GETQDISC = 0x26 - RTM_GETROUTE = 0x1a - RTM_GETRULE = 0x22 - RTM_GETSTATS = 0x5e - RTM_GETTCLASS = 0x2a - RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f - RTM_NEWACTION = 0x30 - RTM_NEWADDR = 0x14 - RTM_NEWADDRLABEL = 0x48 - RTM_NEWLINK = 0x10 - RTM_NEWMDB = 0x54 - RTM_NEWNDUSEROPT = 0x44 - RTM_NEWNEIGH = 0x1c - RTM_NEWNEIGHTBL = 0x40 - RTM_NEWNETCONF = 0x50 - RTM_NEWNSID = 0x58 - RTM_NEWPREFIX = 0x34 - RTM_NEWQDISC = 0x24 - RTM_NEWROUTE = 0x18 - RTM_NEWRULE = 0x20 - RTM_NEWSTATS = 0x5c - RTM_NEWTCLASS = 0x28 - RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 - RTM_SETDCB = 0x4f - RTM_SETLINK = 0x13 - RTM_SETNEIGHTBL = 0x43 - RTNH_ALIGNTO = 0x4 - RTNH_COMPARE_MASK = 0x11 - RTNH_F_DEAD = 0x1 - RTNH_F_LINKDOWN = 0x10 - RTNH_F_OFFLOAD = 0x8 - RTNH_F_ONLINK = 0x4 - RTNH_F_PERVASIVE = 0x2 - RTN_MAX = 0xb - RTPROT_BABEL = 0x2a - RTPROT_BIRD = 0xc - RTPROT_BOOT = 0x3 - RTPROT_DHCP = 0x10 - RTPROT_DNROUTED = 0xd - RTPROT_GATED = 0x8 - RTPROT_KERNEL = 0x2 - RTPROT_MROUTED = 0x11 - RTPROT_MRT = 0xa - RTPROT_NTK = 0xf - RTPROT_RA = 0x9 - RTPROT_REDIRECT = 0x1 - RTPROT_STATIC = 0x4 - RTPROT_UNSPEC = 0x0 - RTPROT_XORP = 0xe - RTPROT_ZEBRA = 0xb - RT_CLASS_DEFAULT = 0xfd - RT_CLASS_LOCAL = 0xff - RT_CLASS_MAIN = 0xfe - RT_CLASS_MAX = 0xff - RT_CLASS_UNSPEC = 0x0 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_CREDENTIALS = 0x2 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x1d - SCM_TIMESTAMPING = 0x23 - SCM_TIMESTAMPNS = 0x21 - SCM_WIFI_STATUS = 0x25 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDDLCI = 0x8980 - SIOCADDMULTI = 0x8931 - SIOCADDRT = 0x890b - SIOCATMARK = 0x8905 - SIOCBONDCHANGEACTIVE = 0x8995 - SIOCBONDENSLAVE = 0x8990 - SIOCBONDINFOQUERY = 0x8994 - SIOCBONDRELEASE = 0x8991 - SIOCBONDSETHWADDR = 0x8992 - SIOCBONDSLAVEINFOQUERY = 0x8993 - SIOCBRADDBR = 0x89a0 - SIOCBRADDIF = 0x89a2 - SIOCBRDELBR = 0x89a1 - SIOCBRDELIF = 0x89a3 - SIOCDARP = 0x8953 - SIOCDELDLCI = 0x8981 - SIOCDELMULTI = 0x8932 - SIOCDELRT = 0x890c - SIOCDEVPRIVATE = 0x89f0 - SIOCDIFADDR = 0x8936 - SIOCDRARP = 0x8960 - SIOCETHTOOL = 0x8946 - SIOCGARP = 0x8954 - SIOCGHWTSTAMP = 0x89b1 - SIOCGIFADDR = 0x8915 - SIOCGIFBR = 0x8940 - SIOCGIFBRDADDR = 0x8919 - SIOCGIFCONF = 0x8912 - SIOCGIFCOUNT = 0x8938 - SIOCGIFDSTADDR = 0x8917 - SIOCGIFENCAP = 0x8925 - SIOCGIFFLAGS = 0x8913 - SIOCGIFHWADDR = 0x8927 - SIOCGIFINDEX = 0x8933 - SIOCGIFMAP = 0x8970 - SIOCGIFMEM = 0x891f - SIOCGIFMETRIC = 0x891d - SIOCGIFMTU = 0x8921 - SIOCGIFNAME = 0x8910 - SIOCGIFNETMASK = 0x891b - SIOCGIFPFLAGS = 0x8935 - SIOCGIFSLAVE = 0x8929 - SIOCGIFTXQLEN = 0x8942 - SIOCGIFVLAN = 0x8982 - SIOCGMIIPHY = 0x8947 - SIOCGMIIREG = 0x8948 - SIOCGPGRP = 0x8904 - SIOCGRARP = 0x8961 - SIOCGSTAMP = 0x8906 - SIOCGSTAMPNS = 0x8907 - SIOCINQ = 0x4004667f - SIOCOUTQ = 0x40047473 - SIOCOUTQNSD = 0x894b - SIOCPROTOPRIVATE = 0x89e0 - SIOCRTMSG = 0x890d - SIOCSARP = 0x8955 - SIOCSHWTSTAMP = 0x89b0 - SIOCSIFADDR = 0x8916 - SIOCSIFBR = 0x8941 - SIOCSIFBRDADDR = 0x891a - SIOCSIFDSTADDR = 0x8918 - SIOCSIFENCAP = 0x8926 - SIOCSIFFLAGS = 0x8914 - SIOCSIFHWADDR = 0x8924 - SIOCSIFHWBROADCAST = 0x8937 - SIOCSIFLINK = 0x8911 - SIOCSIFMAP = 0x8971 - SIOCSIFMEM = 0x8920 - SIOCSIFMETRIC = 0x891e - SIOCSIFMTU = 0x8922 - SIOCSIFNAME = 0x8923 - SIOCSIFNETMASK = 0x891c - SIOCSIFPFLAGS = 0x8934 - SIOCSIFSLAVE = 0x8930 - SIOCSIFTXQLEN = 0x8943 - SIOCSIFVLAN = 0x8983 - SIOCSMIIREG = 0x8949 - SIOCSPGRP = 0x8902 - SIOCSRARP = 0x8962 - SIOCWANDEV = 0x894a - SOCK_CLOEXEC = 0x400000 - SOCK_DCCP = 0x6 - SOCK_DGRAM = 0x2 - SOCK_NONBLOCK = 0x4000 - SOCK_PACKET = 0xa - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_AAL = 0x109 - SOL_ALG = 0x117 - SOL_ATM = 0x108 - SOL_CAIF = 0x116 - SOL_DCCP = 0x10d - SOL_DECNET = 0x105 - SOL_ICMPV6 = 0x3a - SOL_IP = 0x0 - SOL_IPV6 = 0x29 - SOL_IRDA = 0x10a - SOL_IUCV = 0x115 - SOL_KCM = 0x119 - SOL_LLC = 0x10c - SOL_NETBEUI = 0x10b - SOL_NETLINK = 0x10e - SOL_NFC = 0x118 - SOL_PACKET = 0x107 - SOL_PNPIPE = 0x113 - SOL_PPPOL2TP = 0x111 - SOL_RAW = 0xff - SOL_RDS = 0x114 - SOL_RXRPC = 0x110 - SOL_SOCKET = 0xffff - SOL_TCP = 0x6 - SOL_TIPC = 0x10f - SOL_X25 = 0x106 - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x8000 - SO_ATTACH_BPF = 0x34 - SO_ATTACH_FILTER = 0x1a - SO_ATTACH_REUSEPORT_CBPF = 0x35 - SO_ATTACH_REUSEPORT_EBPF = 0x36 - SO_BINDTODEVICE = 0xd - SO_BPF_EXTENSIONS = 0x32 - SO_BROADCAST = 0x20 - SO_BSDCOMPAT = 0x400 - SO_BUSY_POLL = 0x30 - SO_CNX_ADVICE = 0x37 - SO_DEBUG = 0x1 - SO_DETACH_BPF = 0x1b - SO_DETACH_FILTER = 0x1b - SO_DOMAIN = 0x1029 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_GET_FILTER = 0x1a - SO_INCOMING_CPU = 0x33 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOCK_FILTER = 0x28 - SO_MARK = 0x22 - SO_MAX_PACING_RATE = 0x31 - SO_NOFCS = 0x27 - SO_NO_CHECK = 0xb - SO_OOBINLINE = 0x100 - SO_PASSCRED = 0x2 - SO_PASSSEC = 0x1f - SO_PEEK_OFF = 0x26 - SO_PEERCRED = 0x40 - SO_PEERNAME = 0x1c - SO_PEERSEC = 0x1e - SO_PRIORITY = 0xc - SO_PROTOCOL = 0x1028 - SO_RCVBUF = 0x1002 - SO_RCVBUFFORCE = 0x100b - SO_RCVLOWAT = 0x800 - SO_RCVTIMEO = 0x2000 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RXQ_OVFL = 0x24 - SO_SECURITY_AUTHENTICATION = 0x5001 - SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 - SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 - SO_SELECT_ERR_QUEUE = 0x29 - SO_SNDBUF = 0x1001 - SO_SNDBUFFORCE = 0x100a - SO_SNDLOWAT = 0x1000 - SO_SNDTIMEO = 0x4000 - SO_TIMESTAMP = 0x1d - SO_TIMESTAMPING = 0x23 - SO_TIMESTAMPNS = 0x21 - SO_TYPE = 0x1008 - SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 - SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 - SO_VM_SOCKETS_BUFFER_SIZE = 0x0 - SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 - SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 - SO_VM_SOCKETS_TRUSTED = 0x5 - SO_WIFI_STATUS = 0x25 - SPLICE_F_GIFT = 0x8 - SPLICE_F_MORE = 0x4 - SPLICE_F_MOVE = 0x1 - SPLICE_F_NONBLOCK = 0x2 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x20005407 - TCGETA = 0x40125401 - TCGETS = 0x40245408 - TCGETS2 = 0x402c540c - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_CC_INFO = 0x1a - TCP_CONGESTION = 0xd - TCP_COOKIE_IN_ALWAYS = 0x1 - TCP_COOKIE_MAX = 0x10 - TCP_COOKIE_MIN = 0x8 - TCP_COOKIE_OUT_NEVER = 0x2 - TCP_COOKIE_PAIR_SIZE = 0x20 - TCP_COOKIE_TRANSACTIONS = 0xf - TCP_CORK = 0x3 - TCP_DEFER_ACCEPT = 0x9 - TCP_FASTOPEN = 0x17 - TCP_INFO = 0xb - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x4 - TCP_KEEPINTVL = 0x5 - TCP_LINGER2 = 0x8 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0xe - TCP_MD5SIG_MAXKEYLEN = 0x50 - TCP_MSS = 0x200 - TCP_MSS_DEFAULT = 0x218 - TCP_MSS_DESIRED = 0x4c4 - TCP_NODELAY = 0x1 - TCP_NOTSENT_LOWAT = 0x19 - TCP_QUEUE_SEQ = 0x15 - TCP_QUICKACK = 0xc - TCP_REPAIR = 0x13 - TCP_REPAIR_OPTIONS = 0x16 - TCP_REPAIR_QUEUE = 0x14 - TCP_SAVED_SYN = 0x1c - TCP_SAVE_SYN = 0x1b - TCP_SYNCNT = 0x7 - TCP_S_DATA_IN = 0x4 - TCP_S_DATA_OUT = 0x8 - TCP_THIN_DUPACK = 0x11 - TCP_THIN_LINEAR_TIMEOUTS = 0x10 - TCP_TIMESTAMP = 0x18 - TCP_USER_TIMEOUT = 0x12 - TCP_WINDOW_CLAMP = 0xa - TCSAFLUSH = 0x2 - TCSBRK = 0x20005405 - TCSBRKP = 0x5425 - TCSETA = 0x80125402 - TCSETAF = 0x80125404 - TCSETAW = 0x80125403 - TCSETS = 0x80245409 - TCSETS2 = 0x802c540d - TCSETSF = 0x8024540b - TCSETSF2 = 0x802c540f - TCSETSW = 0x8024540a - TCSETSW2 = 0x802c540e - TCXONC = 0x20005406 - TIOCCBRK = 0x2000747a - TIOCCONS = 0x20007424 - TIOCEXCL = 0x2000740d - TIOCGDEV = 0x40045432 - TIOCGETD = 0x40047400 - TIOCGEXCL = 0x40045440 - TIOCGICOUNT = 0x545d - TIOCGLCKTRMIOS = 0x5456 - TIOCGPGRP = 0x40047483 - TIOCGPKT = 0x40045438 - TIOCGPTLCK = 0x40045439 - TIOCGPTN = 0x40047486 - TIOCGRS485 = 0x40205441 - TIOCGSERIAL = 0x541e - TIOCGSID = 0x40047485 - TIOCGSOFTCAR = 0x40047464 - TIOCGWINSZ = 0x40087468 - TIOCINQ = 0x4004667f - TIOCLINUX = 0x541c - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMIWAIT = 0x545c - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_LOOP = 0x8000 - TIOCM_OUT1 = 0x2000 - TIOCM_OUT2 = 0x4000 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007484 - TIOCSERCONFIG = 0x5453 - TIOCSERGETLSR = 0x5459 - TIOCSERGETMULTI = 0x545a - TIOCSERGSTRUCT = 0x5458 - TIOCSERGWILD = 0x5454 - TIOCSERSETMULTI = 0x545b - TIOCSERSWILD = 0x5455 - TIOCSER_TEMT = 0x1 - TIOCSETD = 0x80047401 - TIOCSIG = 0x80047488 - TIOCSLCKTRMIOS = 0x5457 - TIOCSPGRP = 0x80047482 - TIOCSPTLCK = 0x80047487 - TIOCSRS485 = 0xc0205442 - TIOCSSERIAL = 0x541f - TIOCSSOFTCAR = 0x80047465 - TIOCSTART = 0x2000746e - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCVHANGUP = 0x20005437 - TOSTOP = 0x100 - TUNATTACHFILTER = 0x801054d5 - TUNDETACHFILTER = 0x801054d6 - TUNGETFEATURES = 0x400454cf - TUNGETFILTER = 0x401054db - TUNGETIFF = 0x400454d2 - TUNGETSNDBUF = 0x400454d3 - TUNGETVNETBE = 0x400454df - TUNGETVNETHDRSZ = 0x400454d7 - TUNGETVNETLE = 0x400454dd - TUNSETDEBUG = 0x800454c9 - TUNSETGROUP = 0x800454ce - TUNSETIFF = 0x800454ca - TUNSETIFINDEX = 0x800454da - TUNSETLINK = 0x800454cd - TUNSETNOCSUM = 0x800454c8 - TUNSETOFFLOAD = 0x800454d0 - TUNSETOWNER = 0x800454cc - TUNSETPERSIST = 0x800454cb - TUNSETQUEUE = 0x800454d9 - TUNSETSNDBUF = 0x800454d4 - TUNSETTXFILTER = 0x800454d1 - TUNSETVNETBE = 0x800454de - TUNSETVNETHDRSZ = 0x800454d8 - TUNSETVNETLE = 0x800454dc - VDISCARD = 0xd - VDSUSP = 0xb - VEOF = 0x4 - VEOL = 0x5 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x4 - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTOP = 0x9 - VSUSP = 0xa - VSWTC = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WALL = 0x40000000 - WCLONE = 0x80000000 - WCONTINUED = 0x8 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOTHREAD = 0x20000000 - WNOWAIT = 0x1000000 - WORDSIZE = 0x40 - WRAP = 0x20000 - WSTOPPED = 0x2 - WUNTRACED = 0x2 - XCASE = 0x4 - XTABS = 0x1800 - __TIOCFLUSH = 0x80047410 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EADV = syscall.Errno(0x53) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x25) - EBADE = syscall.Errno(0x66) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x5d) - EBADMSG = syscall.Errno(0x4c) - EBADR = syscall.Errno(0x67) - EBADRQC = syscall.Errno(0x6a) - EBADSLT = syscall.Errno(0x6b) - EBFONT = syscall.Errno(0x6d) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x7f) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x5e) - ECOMM = syscall.Errno(0x55) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0x4e) - EDEADLOCK = syscall.Errno(0x6c) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDOTDOT = syscall.Errno(0x58) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EHWPOISON = syscall.Errno(0x87) - EIDRM = syscall.Errno(0x4d) - EILSEQ = syscall.Errno(0x7a) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - EISNAM = syscall.Errno(0x78) - EKEYEXPIRED = syscall.Errno(0x81) - EKEYREJECTED = syscall.Errno(0x83) - EKEYREVOKED = syscall.Errno(0x82) - EL2HLT = syscall.Errno(0x65) - EL2NSYNC = syscall.Errno(0x5f) - EL3HLT = syscall.Errno(0x60) - EL3RST = syscall.Errno(0x61) - ELIBACC = syscall.Errno(0x72) - ELIBBAD = syscall.Errno(0x70) - ELIBEXEC = syscall.Errno(0x6e) - ELIBMAX = syscall.Errno(0x7b) - ELIBSCN = syscall.Errno(0x7c) - ELNRNG = syscall.Errno(0x62) - ELOOP = syscall.Errno(0x3e) - EMEDIUMTYPE = syscall.Errno(0x7e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x57) - ENAMETOOLONG = syscall.Errno(0x3f) - ENAVAIL = syscall.Errno(0x77) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x69) - ENOBUFS = syscall.Errno(0x37) - ENOCSI = syscall.Errno(0x64) - ENODATA = syscall.Errno(0x6f) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOKEY = syscall.Errno(0x80) - ENOLCK = syscall.Errno(0x4f) - ENOLINK = syscall.Errno(0x52) - ENOMEDIUM = syscall.Errno(0x7d) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x4b) - ENONET = syscall.Errno(0x50) - ENOPKG = syscall.Errno(0x71) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x4a) - ENOSTR = syscall.Errno(0x48) - ENOSYS = syscall.Errno(0x5a) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTNAM = syscall.Errno(0x76) - ENOTRECOVERABLE = syscall.Errno(0x85) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x2d) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x73) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x5c) - EOWNERDEAD = syscall.Errno(0x84) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROTO = syscall.Errno(0x56) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x59) - EREMOTE = syscall.Errno(0x47) - EREMOTEIO = syscall.Errno(0x79) - ERESTART = syscall.Errno(0x74) - ERFKILL = syscall.Errno(0x86) - EROFS = syscall.Errno(0x1e) - ERREMOTE = syscall.Errno(0x51) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x54) - ESTALE = syscall.Errno(0x46) - ESTRPIPE = syscall.Errno(0x5b) - ETIME = syscall.Errno(0x49) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUCLEAN = syscall.Errno(0x75) - EUNATCH = syscall.Errno(0x63) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x68) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGLOST = syscall.Signal(0x1d) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x17) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x1d) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "no such device or address", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device or resource busy", - 17: "file exists", - 18: "invalid cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "numerical result out of range", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol", - 48: "address already in use", - 49: "cannot assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "transport endpoint is already connected", - 57: "transport endpoint is not connected", - 58: "cannot send after transport endpoint shutdown", - 59: "too many references: cannot splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disk quota exceeded", - 70: "stale file handle", - 71: "object is remote", - 72: "device not a stream", - 73: "timer expired", - 74: "out of streams resources", - 75: "no message of desired type", - 76: "bad message", - 77: "identifier removed", - 78: "resource deadlock avoided", - 79: "no locks available", - 80: "machine is not on the network", - 81: "unknown error 81", - 82: "link has been severed", - 83: "advertise error", - 84: "srmount error", - 85: "communication error on send", - 86: "protocol error", - 87: "multihop attempted", - 88: "RFS specific error", - 89: "remote address changed", - 90: "function not implemented", - 91: "streams pipe error", - 92: "value too large for defined data type", - 93: "file descriptor in bad state", - 94: "channel number out of range", - 95: "level 2 not synchronized", - 96: "level 3 halted", - 97: "level 3 reset", - 98: "link number out of range", - 99: "protocol driver not attached", - 100: "no CSI structure available", - 101: "level 2 halted", - 102: "invalid exchange", - 103: "invalid request descriptor", - 104: "exchange full", - 105: "no anode", - 106: "invalid request code", - 107: "invalid slot", - 108: "file locking deadlock error", - 109: "bad font file format", - 110: "cannot exec a shared library directly", - 111: "no data available", - 112: "accessing a corrupted shared library", - 113: "package not installed", - 114: "can not access a needed shared library", - 115: "name not unique on network", - 116: "interrupted system call should be restarted", - 117: "structure needs cleaning", - 118: "not a XENIX named type file", - 119: "no XENIX semaphores available", - 120: "is a named type file", - 121: "remote I/O error", - 122: "invalid or incomplete multibyte or wide character", - 123: "attempting to link in too many shared libraries", - 124: ".lib section in a.out corrupted", - 125: "no medium found", - 126: "wrong medium type", - 127: "operation canceled", - 128: "required key not available", - 129: "key has expired", - 130: "key has been revoked", - 131: "key was rejected by service", - 132: "owner died", - 133: "state not recoverable", - 134: "operation not possible due to RF-kill", - 135: "memory page has hardware error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "CPU time limit exceeded", - 25: "file size limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window changed", - 29: "resource lost", - 30: "user defined signal 1", - 31: "user defined signal 2", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go deleted file mode 100644 index b4338d5..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +++ /dev/null @@ -1,1712 +0,0 @@ -// mkerrors.sh -m32 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build 386,netbsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m32 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x1c - AF_BLUETOOTH = 0x1f - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x20 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x18 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x23 - AF_MPLS = 0x21 - AF_NATM = 0x1b - AF_NS = 0x6 - AF_OROUTE = 0x11 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x22 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ARPHRD_ARCNET = 0x7 - ARPHRD_ETHER = 0x1 - ARPHRD_FRELAY = 0xf - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_STRIP = 0x17 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427d - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084277 - BIOCGETIF = 0x4090426b - BIOCGFEEDBACK = 0x4004427c - BIOCGHDRCMPLT = 0x40044274 - BIOCGRTIMEOUT = 0x400c427b - BIOCGSEESENT = 0x40044278 - BIOCGSTATS = 0x4080426f - BIOCGSTATSOLD = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044276 - BIOCSETF = 0x80084267 - BIOCSETIF = 0x8090426c - BIOCSFEEDBACK = 0x8004427d - BIOCSHDRCMPLT = 0x80044275 - BIOCSRTIMEOUT = 0x800c427a - BIOCSSEESENT = 0x80044279 - BIOCSTCPF = 0x80084272 - BIOCSUDPF = 0x80084273 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALIGNMENT32 = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DFLTBUFSIZE = 0x100000 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x1000000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLONE_CSIGNAL = 0xff - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_PID = 0x1000 - CLONE_PTRACE = 0x2000 - CLONE_SIGHAND = 0x800 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - CTL_QUERY = -0x2 - DIOCBSFLUSH = 0x20006478 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HDLC = 0x10 - DLT_HHDLC = 0x79 - DLT_HIPPI = 0xf - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0xe - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RAWAF_MASK = 0x2240000 - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xd - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EMUL_LINUX = 0x1 - EMUL_LINUX32 = 0x5 - EMUL_MAXID = 0x6 - EN_SW_CTL_INF = 0x1000 - EN_SW_CTL_PREC = 0x300 - EN_SW_CTL_ROUND = 0xc00 - EN_SW_DATACHAIN = 0x80 - EN_SW_DENORM = 0x2 - EN_SW_INVOP = 0x1 - EN_SW_OVERFLOW = 0x8 - EN_SW_PRECLOSS = 0x20 - EN_SW_UNDERFLOW = 0x10 - EN_SW_ZERODIV = 0x4 - ETHERCAP_JUMBO_MTU = 0x4 - ETHERCAP_VLAN_HWTAGGING = 0x2 - ETHERCAP_VLAN_MTU = 0x1 - ETHERMIN = 0x2e - ETHERMTU = 0x5dc - ETHERMTU_JUMBO = 0x2328 - ETHERTYPE_8023 = 0x4 - ETHERTYPE_AARP = 0x80f3 - ETHERTYPE_ACCTON = 0x8390 - ETHERTYPE_AEONIC = 0x8036 - ETHERTYPE_ALPHA = 0x814a - ETHERTYPE_AMBER = 0x6008 - ETHERTYPE_AMOEBA = 0x8145 - ETHERTYPE_APOLLO = 0x80f7 - ETHERTYPE_APOLLODOMAIN = 0x8019 - ETHERTYPE_APPLETALK = 0x809b - ETHERTYPE_APPLITEK = 0x80c7 - ETHERTYPE_ARGONAUT = 0x803a - ETHERTYPE_ARP = 0x806 - ETHERTYPE_AT = 0x809b - ETHERTYPE_ATALK = 0x809b - ETHERTYPE_ATOMIC = 0x86df - ETHERTYPE_ATT = 0x8069 - ETHERTYPE_ATTSTANFORD = 0x8008 - ETHERTYPE_AUTOPHON = 0x806a - ETHERTYPE_AXIS = 0x8856 - ETHERTYPE_BCLOOP = 0x9003 - ETHERTYPE_BOFL = 0x8102 - ETHERTYPE_CABLETRON = 0x7034 - ETHERTYPE_CHAOS = 0x804 - ETHERTYPE_COMDESIGN = 0x806c - ETHERTYPE_COMPUGRAPHIC = 0x806d - ETHERTYPE_COUNTERPOINT = 0x8062 - ETHERTYPE_CRONUS = 0x8004 - ETHERTYPE_CRONUSVLN = 0x8003 - ETHERTYPE_DCA = 0x1234 - ETHERTYPE_DDE = 0x807b - ETHERTYPE_DEBNI = 0xaaaa - ETHERTYPE_DECAM = 0x8048 - ETHERTYPE_DECCUST = 0x6006 - ETHERTYPE_DECDIAG = 0x6005 - ETHERTYPE_DECDNS = 0x803c - ETHERTYPE_DECDTS = 0x803e - ETHERTYPE_DECEXPER = 0x6000 - ETHERTYPE_DECLAST = 0x8041 - ETHERTYPE_DECLTM = 0x803f - ETHERTYPE_DECMUMPS = 0x6009 - ETHERTYPE_DECNETBIOS = 0x8040 - ETHERTYPE_DELTACON = 0x86de - ETHERTYPE_DIDDLE = 0x4321 - ETHERTYPE_DLOG1 = 0x660 - ETHERTYPE_DLOG2 = 0x661 - ETHERTYPE_DN = 0x6003 - ETHERTYPE_DOGFIGHT = 0x1989 - ETHERTYPE_DSMD = 0x8039 - ETHERTYPE_ECMA = 0x803 - ETHERTYPE_ENCRYPT = 0x803d - ETHERTYPE_ES = 0x805d - ETHERTYPE_EXCELAN = 0x8010 - ETHERTYPE_EXPERDATA = 0x8049 - ETHERTYPE_FLIP = 0x8146 - ETHERTYPE_FLOWCONTROL = 0x8808 - ETHERTYPE_FRARP = 0x808 - ETHERTYPE_GENDYN = 0x8068 - ETHERTYPE_HAYES = 0x8130 - ETHERTYPE_HIPPI_FP = 0x8180 - ETHERTYPE_HITACHI = 0x8820 - ETHERTYPE_HP = 0x8005 - ETHERTYPE_IEEEPUP = 0xa00 - ETHERTYPE_IEEEPUPAT = 0xa01 - ETHERTYPE_IMLBL = 0x4c42 - ETHERTYPE_IMLBLDIAG = 0x424c - ETHERTYPE_IP = 0x800 - ETHERTYPE_IPAS = 0x876c - ETHERTYPE_IPV6 = 0x86dd - ETHERTYPE_IPX = 0x8137 - ETHERTYPE_IPXNEW = 0x8037 - ETHERTYPE_KALPANA = 0x8582 - ETHERTYPE_LANBRIDGE = 0x8038 - ETHERTYPE_LANPROBE = 0x8888 - ETHERTYPE_LAT = 0x6004 - ETHERTYPE_LBACK = 0x9000 - ETHERTYPE_LITTLE = 0x8060 - ETHERTYPE_LOGICRAFT = 0x8148 - ETHERTYPE_LOOPBACK = 0x9000 - ETHERTYPE_MATRA = 0x807a - ETHERTYPE_MAX = 0xffff - ETHERTYPE_MERIT = 0x807c - ETHERTYPE_MICP = 0x873a - ETHERTYPE_MOPDL = 0x6001 - ETHERTYPE_MOPRC = 0x6002 - ETHERTYPE_MOTOROLA = 0x818d - ETHERTYPE_MPLS = 0x8847 - ETHERTYPE_MPLS_MCAST = 0x8848 - ETHERTYPE_MUMPS = 0x813f - ETHERTYPE_NBPCC = 0x3c04 - ETHERTYPE_NBPCLAIM = 0x3c09 - ETHERTYPE_NBPCLREQ = 0x3c05 - ETHERTYPE_NBPCLRSP = 0x3c06 - ETHERTYPE_NBPCREQ = 0x3c02 - ETHERTYPE_NBPCRSP = 0x3c03 - ETHERTYPE_NBPDG = 0x3c07 - ETHERTYPE_NBPDGB = 0x3c08 - ETHERTYPE_NBPDLTE = 0x3c0a - ETHERTYPE_NBPRAR = 0x3c0c - ETHERTYPE_NBPRAS = 0x3c0b - ETHERTYPE_NBPRST = 0x3c0d - ETHERTYPE_NBPSCD = 0x3c01 - ETHERTYPE_NBPVCD = 0x3c00 - ETHERTYPE_NBS = 0x802 - ETHERTYPE_NCD = 0x8149 - ETHERTYPE_NESTAR = 0x8006 - ETHERTYPE_NETBEUI = 0x8191 - ETHERTYPE_NOVELL = 0x8138 - ETHERTYPE_NS = 0x600 - ETHERTYPE_NSAT = 0x601 - ETHERTYPE_NSCOMPAT = 0x807 - ETHERTYPE_NTRAILER = 0x10 - ETHERTYPE_OS9 = 0x7007 - ETHERTYPE_OS9NET = 0x7009 - ETHERTYPE_PACER = 0x80c6 - ETHERTYPE_PAE = 0x888e - ETHERTYPE_PCS = 0x4242 - ETHERTYPE_PLANNING = 0x8044 - ETHERTYPE_PPP = 0x880b - ETHERTYPE_PPPOE = 0x8864 - ETHERTYPE_PPPOEDISC = 0x8863 - ETHERTYPE_PRIMENTS = 0x7031 - ETHERTYPE_PUP = 0x200 - ETHERTYPE_PUPAT = 0x200 - ETHERTYPE_RACAL = 0x7030 - ETHERTYPE_RATIONAL = 0x8150 - ETHERTYPE_RAWFR = 0x6559 - ETHERTYPE_RCL = 0x1995 - ETHERTYPE_RDP = 0x8739 - ETHERTYPE_RETIX = 0x80f2 - ETHERTYPE_REVARP = 0x8035 - ETHERTYPE_SCA = 0x6007 - ETHERTYPE_SECTRA = 0x86db - ETHERTYPE_SECUREDATA = 0x876d - ETHERTYPE_SGITW = 0x817e - ETHERTYPE_SG_BOUNCE = 0x8016 - ETHERTYPE_SG_DIAG = 0x8013 - ETHERTYPE_SG_NETGAMES = 0x8014 - ETHERTYPE_SG_RESV = 0x8015 - ETHERTYPE_SIMNET = 0x5208 - ETHERTYPE_SLOWPROTOCOLS = 0x8809 - ETHERTYPE_SNA = 0x80d5 - ETHERTYPE_SNMP = 0x814c - ETHERTYPE_SONIX = 0xfaf5 - ETHERTYPE_SPIDER = 0x809f - ETHERTYPE_SPRITE = 0x500 - ETHERTYPE_STP = 0x8181 - ETHERTYPE_TALARIS = 0x812b - ETHERTYPE_TALARISMC = 0x852b - ETHERTYPE_TCPCOMP = 0x876b - ETHERTYPE_TCPSM = 0x9002 - ETHERTYPE_TEC = 0x814f - ETHERTYPE_TIGAN = 0x802f - ETHERTYPE_TRAIL = 0x1000 - ETHERTYPE_TRANSETHER = 0x6558 - ETHERTYPE_TYMSHARE = 0x802e - ETHERTYPE_UBBST = 0x7005 - ETHERTYPE_UBDEBUG = 0x900 - ETHERTYPE_UBDIAGLOOP = 0x7002 - ETHERTYPE_UBDL = 0x7000 - ETHERTYPE_UBNIU = 0x7001 - ETHERTYPE_UBNMC = 0x7003 - ETHERTYPE_VALID = 0x1600 - ETHERTYPE_VARIAN = 0x80dd - ETHERTYPE_VAXELN = 0x803b - ETHERTYPE_VEECO = 0x8067 - ETHERTYPE_VEXP = 0x805b - ETHERTYPE_VGLAB = 0x8131 - ETHERTYPE_VINES = 0xbad - ETHERTYPE_VINESECHO = 0xbaf - ETHERTYPE_VINESLOOP = 0xbae - ETHERTYPE_VITAL = 0xff00 - ETHERTYPE_VLAN = 0x8100 - ETHERTYPE_VLTLMAN = 0x8080 - ETHERTYPE_VPROD = 0x805c - ETHERTYPE_VURESERVED = 0x8147 - ETHERTYPE_WATERLOO = 0x8130 - ETHERTYPE_WELLFLEET = 0x8103 - ETHERTYPE_X25 = 0x805 - ETHERTYPE_X75 = 0x801 - ETHERTYPE_XNSSM = 0x9001 - ETHERTYPE_XTP = 0x817d - ETHER_ADDR_LEN = 0x6 - ETHER_CRC_LEN = 0x4 - ETHER_CRC_POLY_BE = 0x4c11db6 - ETHER_CRC_POLY_LE = 0xedb88320 - ETHER_HDR_LEN = 0xe - ETHER_MAX_LEN = 0x5ee - ETHER_MAX_LEN_JUMBO = 0x233a - ETHER_MIN_LEN = 0x40 - ETHER_PPPOE_ENCAP_LEN = 0x8 - ETHER_TYPE_LEN = 0x2 - ETHER_VLAN_ENCAP_LEN = 0x4 - EVFILT_AIO = 0x2 - EVFILT_PROC = 0x4 - EVFILT_READ = 0x0 - EVFILT_SIGNAL = 0x5 - EVFILT_SYSCOUNT = 0x7 - EVFILT_TIMER = 0x6 - EVFILT_VNODE = 0x3 - EVFILT_WRITE = 0x1 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x100 - FLUSHO = 0x800000 - F_CLOSEM = 0xa - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0xc - F_FSCTL = -0x80000000 - F_FSDIRMASK = 0x70000000 - F_FSIN = 0x10000000 - F_FSINOUT = 0x30000000 - F_FSOUT = 0x20000000 - F_FSPRIV = 0x8000 - F_FSVOID = 0x40000000 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETNOSIGPIPE = 0xd - F_GETOWN = 0x5 - F_MAXFD = 0xb - F_OK = 0x0 - F_PARAM_MASK = 0xfff - F_PARAM_MAX = 0xfff - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETNOSIGPIPE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFA_ROUTE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x8f52 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ECONET = 0xce - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LINEGROUP = 0xd2 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_PON155 = 0xcf - IFT_PON622 = 0xd0 - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPATM = 0xc5 - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_Q2931 = 0xc9 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SIPSIG = 0xcc - IFT_SIPTG = 0xcb - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TELINK = 0xc8 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VIRTUALTG = 0xca - IFT_VOICEDID = 0xd5 - IFT_VOICEEM = 0x64 - IFT_VOICEEMFGD = 0xd3 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFGDEANA = 0xd4 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERCABLE = 0xc6 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IPPROTO_AH = 0x33 - IPPROTO_CARP = 0x70 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPIP = 0x4 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IPV6_ICMP = 0x3a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MOBILE = 0x37 - IPPROTO_NONE = 0x3b - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_VRRP = 0x70 - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_EF = 0x8000 - IP_ERRORMTU = 0x15 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x16 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINFRAGSIZE = 0x45 - IP_MINTTL = 0x18 - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x17 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x6 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ALIGNMENT_16MB = 0x18000000 - MAP_ALIGNMENT_1TB = 0x28000000 - MAP_ALIGNMENT_256TB = 0x30000000 - MAP_ALIGNMENT_4GB = 0x20000000 - MAP_ALIGNMENT_64KB = 0x10000000 - MAP_ALIGNMENT_64PB = 0x38000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_INHERIT_COPY = 0x1 - MAP_INHERIT_DEFAULT = 0x1 - MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_STACK = 0x2000 - MAP_TRYFIXED = 0x400 - MAP_WIRED = 0x800 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_BCAST = 0x100 - MSG_CMSG_CLOEXEC = 0x800 - MSG_CONTROLMBUF = 0x2000000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOR = 0x8 - MSG_IOVUSRSPACE = 0x4000000 - MSG_LENUSRSPACE = 0x8000000 - MSG_MCAST = 0x200 - MSG_NAMEMBUF = 0x1000000 - MSG_NBIO = 0x1000 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_USERFLAGS = 0xffffff - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x4 - NAME_MAX = 0x1ff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x5 - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFIOGETBMAP = 0xc004667a - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALT_IO = 0x40000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x400000 - O_CREAT = 0x200 - O_DIRECT = 0x80000 - O_DIRECTORY = 0x200000 - O_DSYNC = 0x10000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_NOSIGPIPE = 0x1000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x20000 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PRI_IOFLUSH = 0x7c - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x9 - RTAX_NETMASK = 0x2 - RTAX_TAG = 0x8 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTA_TAG = 0x100 - RTF_ANNOUNCE = 0x20000 - RTF_BLACKHOLE = 0x1000 - RTF_CLONED = 0x2000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_REJECT = 0x8 - RTF_SRC = 0x10000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_CHGADDR = 0x15 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x11 - RTM_IFANNOUNCE = 0x10 - RTM_IFINFO = 0x14 - RTM_LLINFO_UPD = 0x13 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_OIFINFO = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_OOIFINFO = 0xe - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_SETGATE = 0x12 - RTM_VERSION = 0x4 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x4 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x8 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80906931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCALIFADDR = 0x8118691c - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80906932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80906919 - SIOCDIFPHYADDR = 0x80906949 - SIOCDLIFADDR = 0x8118691e - SIOCGDRVSPEC = 0xc01c697b - SIOCGETPFSYNC = 0xc09069f8 - SIOCGETSGCNT = 0xc0147534 - SIOCGETVIFCNT = 0xc0147533 - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0906921 - SIOCGIFADDRPREF = 0xc0946920 - SIOCGIFALIAS = 0xc040691b - SIOCGIFBRDADDR = 0xc0906923 - SIOCGIFCAP = 0xc0206976 - SIOCGIFCONF = 0xc0086926 - SIOCGIFDATA = 0xc0946985 - SIOCGIFDLT = 0xc0906977 - SIOCGIFDSTADDR = 0xc0906922 - SIOCGIFFLAGS = 0xc0906911 - SIOCGIFGENERIC = 0xc090693a - SIOCGIFMEDIA = 0xc0286936 - SIOCGIFMETRIC = 0xc0906917 - SIOCGIFMTU = 0xc090697e - SIOCGIFNETMASK = 0xc0906925 - SIOCGIFPDSTADDR = 0xc0906948 - SIOCGIFPSRCADDR = 0xc0906947 - SIOCGLIFADDR = 0xc118691d - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLINKSTR = 0xc01c6987 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGVH = 0xc0906983 - SIOCIFCREATE = 0x8090697a - SIOCIFDESTROY = 0x80906979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCINITIFADDR = 0xc0446984 - SIOCSDRVSPEC = 0x801c697b - SIOCSETPFSYNC = 0x809069f7 - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8090690c - SIOCSIFADDRPREF = 0x8094691f - SIOCSIFBRDADDR = 0x80906913 - SIOCSIFCAP = 0x80206975 - SIOCSIFDSTADDR = 0x8090690e - SIOCSIFFLAGS = 0x80906910 - SIOCSIFGENERIC = 0x80906939 - SIOCSIFMEDIA = 0xc0906935 - SIOCSIFMETRIC = 0x80906918 - SIOCSIFMTU = 0x8090697f - SIOCSIFNETMASK = 0x80906916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLINKSTR = 0x801c6988 - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SIOCSVH = 0xc0906982 - SIOCZIFDATA = 0xc0946986 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_FLAGS_MASK = 0xf0000000 - SOCK_NONBLOCK = 0x20000000 - SOCK_NOSIGPIPE = 0x40000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NOHEADER = 0x100a - SO_NOSIGPIPE = 0x800 - SO_OOBINLINE = 0x100 - SO_OVERFLOWED = 0x1009 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x100c - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x100b - SO_TIMESTAMP = 0x2000 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SYSCTL_VERSION = 0x1000000 - SYSCTL_VERS_0 = 0x0 - SYSCTL_VERS_1 = 0x1000000 - SYSCTL_VERS_MASK = 0xff000000 - S_ARCH1 = 0x10000 - S_ARCH2 = 0x20000 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - S_LOGIN_SET = 0x1 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONGCTL = 0x20 - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x3 - TCP_KEEPINIT = 0x7 - TCP_KEEPINTVL = 0x5 - TCP_MAXBURST = 0x4 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x400c7458 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLAG_CDTRCTS = 0x10 - TIOCFLAG_CLOCAL = 0x2 - TIOCFLAG_CRTSCTS = 0x4 - TIOCFLAG_MDMBUF = 0x8 - TIOCFLAG_SOFTCAR = 0x1 - TIOCFLUSH = 0x80047410 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGFLAGS = 0x4004745d - TIOCGLINED = 0x40207442 - TIOCGPGRP = 0x40047477 - TIOCGQSIZE = 0x40047481 - TIOCGRANTPT = 0x20007447 - TIOCGSID = 0x40047463 - TIOCGSIZE = 0x40087468 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMGET = 0x40287446 - TIOCPTSNAME = 0x40287448 - TIOCRCVFRAME = 0x80047445 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSFLAGS = 0x8004745c - TIOCSIG = 0x2000745f - TIOCSLINED = 0x80207443 - TIOCSPGRP = 0x80047476 - TIOCSQSIZE = 0x80047480 - TIOCSSIZE = 0x80087467 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x80047465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCUCNTL = 0x80047466 - TIOCXMTFRAME = 0x80047444 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WALL = 0x8 - WALLSIG = 0x8 - WALTSIG = 0x4 - WCLONE = 0x4 - WCOREFLAG = 0x80 - WNOHANG = 0x1 - WNOWAIT = 0x10000 - WNOZOMBIE = 0x20000 - WOPTSCHECKED = 0x40000 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x58) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x57) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x55) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5e) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x59) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x5a) - ENOSTR = syscall.Errno(0x5b) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x56) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x60) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x5c) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x20) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large or too small", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol option not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "illegal byte sequence", - 86: "not supported", - 87: "operation Canceled", - 88: "bad or Corrupt message", - 89: "no message available", - 90: "no STREAM resources", - 91: "not a STREAM", - 92: "STREAM ioctl timeout", - 93: "attribute not found", - 94: "multihop attempted", - 95: "link has been severed", - 96: "protocol error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "power fail/restart", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go deleted file mode 100644 index 4994437..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +++ /dev/null @@ -1,1702 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build amd64,netbsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x1c - AF_BLUETOOTH = 0x1f - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x20 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x18 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x23 - AF_MPLS = 0x21 - AF_NATM = 0x1b - AF_NS = 0x6 - AF_OROUTE = 0x11 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x22 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ARPHRD_ARCNET = 0x7 - ARPHRD_ETHER = 0x1 - ARPHRD_FRELAY = 0xf - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_STRIP = 0x17 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427d - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0104277 - BIOCGETIF = 0x4090426b - BIOCGFEEDBACK = 0x4004427c - BIOCGHDRCMPLT = 0x40044274 - BIOCGRTIMEOUT = 0x4010427b - BIOCGSEESENT = 0x40044278 - BIOCGSTATS = 0x4080426f - BIOCGSTATSOLD = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044276 - BIOCSETF = 0x80104267 - BIOCSETIF = 0x8090426c - BIOCSFEEDBACK = 0x8004427d - BIOCSHDRCMPLT = 0x80044275 - BIOCSRTIMEOUT = 0x8010427a - BIOCSSEESENT = 0x80044279 - BIOCSTCPF = 0x80104272 - BIOCSUDPF = 0x80104273 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x8 - BPF_ALIGNMENT32 = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DFLTBUFSIZE = 0x100000 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x1000000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLONE_CSIGNAL = 0xff - CLONE_FILES = 0x400 - CLONE_FS = 0x200 - CLONE_PID = 0x1000 - CLONE_PTRACE = 0x2000 - CLONE_SIGHAND = 0x800 - CLONE_VFORK = 0x4000 - CLONE_VM = 0x100 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - CTL_QUERY = -0x2 - DIOCBSFLUSH = 0x20006478 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HDLC = 0x10 - DLT_HHDLC = 0x79 - DLT_HIPPI = 0xf - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0xe - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RAWAF_MASK = 0x2240000 - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xd - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EMUL_LINUX = 0x1 - EMUL_LINUX32 = 0x5 - EMUL_MAXID = 0x6 - ETHERCAP_JUMBO_MTU = 0x4 - ETHERCAP_VLAN_HWTAGGING = 0x2 - ETHERCAP_VLAN_MTU = 0x1 - ETHERMIN = 0x2e - ETHERMTU = 0x5dc - ETHERMTU_JUMBO = 0x2328 - ETHERTYPE_8023 = 0x4 - ETHERTYPE_AARP = 0x80f3 - ETHERTYPE_ACCTON = 0x8390 - ETHERTYPE_AEONIC = 0x8036 - ETHERTYPE_ALPHA = 0x814a - ETHERTYPE_AMBER = 0x6008 - ETHERTYPE_AMOEBA = 0x8145 - ETHERTYPE_APOLLO = 0x80f7 - ETHERTYPE_APOLLODOMAIN = 0x8019 - ETHERTYPE_APPLETALK = 0x809b - ETHERTYPE_APPLITEK = 0x80c7 - ETHERTYPE_ARGONAUT = 0x803a - ETHERTYPE_ARP = 0x806 - ETHERTYPE_AT = 0x809b - ETHERTYPE_ATALK = 0x809b - ETHERTYPE_ATOMIC = 0x86df - ETHERTYPE_ATT = 0x8069 - ETHERTYPE_ATTSTANFORD = 0x8008 - ETHERTYPE_AUTOPHON = 0x806a - ETHERTYPE_AXIS = 0x8856 - ETHERTYPE_BCLOOP = 0x9003 - ETHERTYPE_BOFL = 0x8102 - ETHERTYPE_CABLETRON = 0x7034 - ETHERTYPE_CHAOS = 0x804 - ETHERTYPE_COMDESIGN = 0x806c - ETHERTYPE_COMPUGRAPHIC = 0x806d - ETHERTYPE_COUNTERPOINT = 0x8062 - ETHERTYPE_CRONUS = 0x8004 - ETHERTYPE_CRONUSVLN = 0x8003 - ETHERTYPE_DCA = 0x1234 - ETHERTYPE_DDE = 0x807b - ETHERTYPE_DEBNI = 0xaaaa - ETHERTYPE_DECAM = 0x8048 - ETHERTYPE_DECCUST = 0x6006 - ETHERTYPE_DECDIAG = 0x6005 - ETHERTYPE_DECDNS = 0x803c - ETHERTYPE_DECDTS = 0x803e - ETHERTYPE_DECEXPER = 0x6000 - ETHERTYPE_DECLAST = 0x8041 - ETHERTYPE_DECLTM = 0x803f - ETHERTYPE_DECMUMPS = 0x6009 - ETHERTYPE_DECNETBIOS = 0x8040 - ETHERTYPE_DELTACON = 0x86de - ETHERTYPE_DIDDLE = 0x4321 - ETHERTYPE_DLOG1 = 0x660 - ETHERTYPE_DLOG2 = 0x661 - ETHERTYPE_DN = 0x6003 - ETHERTYPE_DOGFIGHT = 0x1989 - ETHERTYPE_DSMD = 0x8039 - ETHERTYPE_ECMA = 0x803 - ETHERTYPE_ENCRYPT = 0x803d - ETHERTYPE_ES = 0x805d - ETHERTYPE_EXCELAN = 0x8010 - ETHERTYPE_EXPERDATA = 0x8049 - ETHERTYPE_FLIP = 0x8146 - ETHERTYPE_FLOWCONTROL = 0x8808 - ETHERTYPE_FRARP = 0x808 - ETHERTYPE_GENDYN = 0x8068 - ETHERTYPE_HAYES = 0x8130 - ETHERTYPE_HIPPI_FP = 0x8180 - ETHERTYPE_HITACHI = 0x8820 - ETHERTYPE_HP = 0x8005 - ETHERTYPE_IEEEPUP = 0xa00 - ETHERTYPE_IEEEPUPAT = 0xa01 - ETHERTYPE_IMLBL = 0x4c42 - ETHERTYPE_IMLBLDIAG = 0x424c - ETHERTYPE_IP = 0x800 - ETHERTYPE_IPAS = 0x876c - ETHERTYPE_IPV6 = 0x86dd - ETHERTYPE_IPX = 0x8137 - ETHERTYPE_IPXNEW = 0x8037 - ETHERTYPE_KALPANA = 0x8582 - ETHERTYPE_LANBRIDGE = 0x8038 - ETHERTYPE_LANPROBE = 0x8888 - ETHERTYPE_LAT = 0x6004 - ETHERTYPE_LBACK = 0x9000 - ETHERTYPE_LITTLE = 0x8060 - ETHERTYPE_LOGICRAFT = 0x8148 - ETHERTYPE_LOOPBACK = 0x9000 - ETHERTYPE_MATRA = 0x807a - ETHERTYPE_MAX = 0xffff - ETHERTYPE_MERIT = 0x807c - ETHERTYPE_MICP = 0x873a - ETHERTYPE_MOPDL = 0x6001 - ETHERTYPE_MOPRC = 0x6002 - ETHERTYPE_MOTOROLA = 0x818d - ETHERTYPE_MPLS = 0x8847 - ETHERTYPE_MPLS_MCAST = 0x8848 - ETHERTYPE_MUMPS = 0x813f - ETHERTYPE_NBPCC = 0x3c04 - ETHERTYPE_NBPCLAIM = 0x3c09 - ETHERTYPE_NBPCLREQ = 0x3c05 - ETHERTYPE_NBPCLRSP = 0x3c06 - ETHERTYPE_NBPCREQ = 0x3c02 - ETHERTYPE_NBPCRSP = 0x3c03 - ETHERTYPE_NBPDG = 0x3c07 - ETHERTYPE_NBPDGB = 0x3c08 - ETHERTYPE_NBPDLTE = 0x3c0a - ETHERTYPE_NBPRAR = 0x3c0c - ETHERTYPE_NBPRAS = 0x3c0b - ETHERTYPE_NBPRST = 0x3c0d - ETHERTYPE_NBPSCD = 0x3c01 - ETHERTYPE_NBPVCD = 0x3c00 - ETHERTYPE_NBS = 0x802 - ETHERTYPE_NCD = 0x8149 - ETHERTYPE_NESTAR = 0x8006 - ETHERTYPE_NETBEUI = 0x8191 - ETHERTYPE_NOVELL = 0x8138 - ETHERTYPE_NS = 0x600 - ETHERTYPE_NSAT = 0x601 - ETHERTYPE_NSCOMPAT = 0x807 - ETHERTYPE_NTRAILER = 0x10 - ETHERTYPE_OS9 = 0x7007 - ETHERTYPE_OS9NET = 0x7009 - ETHERTYPE_PACER = 0x80c6 - ETHERTYPE_PAE = 0x888e - ETHERTYPE_PCS = 0x4242 - ETHERTYPE_PLANNING = 0x8044 - ETHERTYPE_PPP = 0x880b - ETHERTYPE_PPPOE = 0x8864 - ETHERTYPE_PPPOEDISC = 0x8863 - ETHERTYPE_PRIMENTS = 0x7031 - ETHERTYPE_PUP = 0x200 - ETHERTYPE_PUPAT = 0x200 - ETHERTYPE_RACAL = 0x7030 - ETHERTYPE_RATIONAL = 0x8150 - ETHERTYPE_RAWFR = 0x6559 - ETHERTYPE_RCL = 0x1995 - ETHERTYPE_RDP = 0x8739 - ETHERTYPE_RETIX = 0x80f2 - ETHERTYPE_REVARP = 0x8035 - ETHERTYPE_SCA = 0x6007 - ETHERTYPE_SECTRA = 0x86db - ETHERTYPE_SECUREDATA = 0x876d - ETHERTYPE_SGITW = 0x817e - ETHERTYPE_SG_BOUNCE = 0x8016 - ETHERTYPE_SG_DIAG = 0x8013 - ETHERTYPE_SG_NETGAMES = 0x8014 - ETHERTYPE_SG_RESV = 0x8015 - ETHERTYPE_SIMNET = 0x5208 - ETHERTYPE_SLOWPROTOCOLS = 0x8809 - ETHERTYPE_SNA = 0x80d5 - ETHERTYPE_SNMP = 0x814c - ETHERTYPE_SONIX = 0xfaf5 - ETHERTYPE_SPIDER = 0x809f - ETHERTYPE_SPRITE = 0x500 - ETHERTYPE_STP = 0x8181 - ETHERTYPE_TALARIS = 0x812b - ETHERTYPE_TALARISMC = 0x852b - ETHERTYPE_TCPCOMP = 0x876b - ETHERTYPE_TCPSM = 0x9002 - ETHERTYPE_TEC = 0x814f - ETHERTYPE_TIGAN = 0x802f - ETHERTYPE_TRAIL = 0x1000 - ETHERTYPE_TRANSETHER = 0x6558 - ETHERTYPE_TYMSHARE = 0x802e - ETHERTYPE_UBBST = 0x7005 - ETHERTYPE_UBDEBUG = 0x900 - ETHERTYPE_UBDIAGLOOP = 0x7002 - ETHERTYPE_UBDL = 0x7000 - ETHERTYPE_UBNIU = 0x7001 - ETHERTYPE_UBNMC = 0x7003 - ETHERTYPE_VALID = 0x1600 - ETHERTYPE_VARIAN = 0x80dd - ETHERTYPE_VAXELN = 0x803b - ETHERTYPE_VEECO = 0x8067 - ETHERTYPE_VEXP = 0x805b - ETHERTYPE_VGLAB = 0x8131 - ETHERTYPE_VINES = 0xbad - ETHERTYPE_VINESECHO = 0xbaf - ETHERTYPE_VINESLOOP = 0xbae - ETHERTYPE_VITAL = 0xff00 - ETHERTYPE_VLAN = 0x8100 - ETHERTYPE_VLTLMAN = 0x8080 - ETHERTYPE_VPROD = 0x805c - ETHERTYPE_VURESERVED = 0x8147 - ETHERTYPE_WATERLOO = 0x8130 - ETHERTYPE_WELLFLEET = 0x8103 - ETHERTYPE_X25 = 0x805 - ETHERTYPE_X75 = 0x801 - ETHERTYPE_XNSSM = 0x9001 - ETHERTYPE_XTP = 0x817d - ETHER_ADDR_LEN = 0x6 - ETHER_CRC_LEN = 0x4 - ETHER_CRC_POLY_BE = 0x4c11db6 - ETHER_CRC_POLY_LE = 0xedb88320 - ETHER_HDR_LEN = 0xe - ETHER_MAX_LEN = 0x5ee - ETHER_MAX_LEN_JUMBO = 0x233a - ETHER_MIN_LEN = 0x40 - ETHER_PPPOE_ENCAP_LEN = 0x8 - ETHER_TYPE_LEN = 0x2 - ETHER_VLAN_ENCAP_LEN = 0x4 - EVFILT_AIO = 0x2 - EVFILT_PROC = 0x4 - EVFILT_READ = 0x0 - EVFILT_SIGNAL = 0x5 - EVFILT_SYSCOUNT = 0x7 - EVFILT_TIMER = 0x6 - EVFILT_VNODE = 0x3 - EVFILT_WRITE = 0x1 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x100 - FLUSHO = 0x800000 - F_CLOSEM = 0xa - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0xc - F_FSCTL = -0x80000000 - F_FSDIRMASK = 0x70000000 - F_FSIN = 0x10000000 - F_FSINOUT = 0x30000000 - F_FSOUT = 0x20000000 - F_FSPRIV = 0x8000 - F_FSVOID = 0x40000000 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETNOSIGPIPE = 0xd - F_GETOWN = 0x5 - F_MAXFD = 0xb - F_OK = 0x0 - F_PARAM_MASK = 0xfff - F_PARAM_MAX = 0xfff - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETNOSIGPIPE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFA_ROUTE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x8f52 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ECONET = 0xce - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LINEGROUP = 0xd2 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_PON155 = 0xcf - IFT_PON622 = 0xd0 - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPATM = 0xc5 - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_Q2931 = 0xc9 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SIPSIG = 0xcc - IFT_SIPTG = 0xcb - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TELINK = 0xc8 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VIRTUALTG = 0xca - IFT_VOICEDID = 0xd5 - IFT_VOICEEM = 0x64 - IFT_VOICEEMFGD = 0xd3 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFGDEANA = 0xd4 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERCABLE = 0xc6 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IPPROTO_AH = 0x33 - IPPROTO_CARP = 0x70 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPIP = 0x4 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IPV6_ICMP = 0x3a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MOBILE = 0x37 - IPPROTO_NONE = 0x3b - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_VRRP = 0x70 - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_EF = 0x8000 - IP_ERRORMTU = 0x15 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x16 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINFRAGSIZE = 0x45 - IP_MINTTL = 0x18 - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x17 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x6 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ALIGNMENT_16MB = 0x18000000 - MAP_ALIGNMENT_1TB = 0x28000000 - MAP_ALIGNMENT_256TB = 0x30000000 - MAP_ALIGNMENT_4GB = 0x20000000 - MAP_ALIGNMENT_64KB = 0x10000000 - MAP_ALIGNMENT_64PB = 0x38000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_INHERIT_COPY = 0x1 - MAP_INHERIT_DEFAULT = 0x1 - MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_STACK = 0x2000 - MAP_TRYFIXED = 0x400 - MAP_WIRED = 0x800 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_BCAST = 0x100 - MSG_CMSG_CLOEXEC = 0x800 - MSG_CONTROLMBUF = 0x2000000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOR = 0x8 - MSG_IOVUSRSPACE = 0x4000000 - MSG_LENUSRSPACE = 0x8000000 - MSG_MCAST = 0x200 - MSG_NAMEMBUF = 0x1000000 - MSG_NBIO = 0x1000 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_USERFLAGS = 0xffffff - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x4 - NAME_MAX = 0x1ff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x5 - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFIOGETBMAP = 0xc004667a - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALT_IO = 0x40000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x400000 - O_CREAT = 0x200 - O_DIRECT = 0x80000 - O_DIRECTORY = 0x200000 - O_DSYNC = 0x10000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_NOSIGPIPE = 0x1000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x20000 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PRI_IOFLUSH = 0x7c - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x9 - RTAX_NETMASK = 0x2 - RTAX_TAG = 0x8 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTA_TAG = 0x100 - RTF_ANNOUNCE = 0x20000 - RTF_BLACKHOLE = 0x1000 - RTF_CLONED = 0x2000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_REJECT = 0x8 - RTF_SRC = 0x10000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_CHGADDR = 0x15 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x11 - RTM_IFANNOUNCE = 0x10 - RTM_IFINFO = 0x14 - RTM_LLINFO_UPD = 0x13 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_OIFINFO = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_OOIFINFO = 0xe - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_SETGATE = 0x12 - RTM_VERSION = 0x4 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x4 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x8 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80906931 - SIOCADDRT = 0x8038720a - SIOCAIFADDR = 0x8040691a - SIOCALIFADDR = 0x8118691c - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80906932 - SIOCDELRT = 0x8038720b - SIOCDIFADDR = 0x80906919 - SIOCDIFPHYADDR = 0x80906949 - SIOCDLIFADDR = 0x8118691e - SIOCGDRVSPEC = 0xc028697b - SIOCGETPFSYNC = 0xc09069f8 - SIOCGETSGCNT = 0xc0207534 - SIOCGETVIFCNT = 0xc0287533 - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0906921 - SIOCGIFADDRPREF = 0xc0986920 - SIOCGIFALIAS = 0xc040691b - SIOCGIFBRDADDR = 0xc0906923 - SIOCGIFCAP = 0xc0206976 - SIOCGIFCONF = 0xc0106926 - SIOCGIFDATA = 0xc0986985 - SIOCGIFDLT = 0xc0906977 - SIOCGIFDSTADDR = 0xc0906922 - SIOCGIFFLAGS = 0xc0906911 - SIOCGIFGENERIC = 0xc090693a - SIOCGIFMEDIA = 0xc0306936 - SIOCGIFMETRIC = 0xc0906917 - SIOCGIFMTU = 0xc090697e - SIOCGIFNETMASK = 0xc0906925 - SIOCGIFPDSTADDR = 0xc0906948 - SIOCGIFPSRCADDR = 0xc0906947 - SIOCGLIFADDR = 0xc118691d - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLINKSTR = 0xc0286987 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGVH = 0xc0906983 - SIOCIFCREATE = 0x8090697a - SIOCIFDESTROY = 0x80906979 - SIOCIFGCLONERS = 0xc0106978 - SIOCINITIFADDR = 0xc0706984 - SIOCSDRVSPEC = 0x8028697b - SIOCSETPFSYNC = 0x809069f7 - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8090690c - SIOCSIFADDRPREF = 0x8098691f - SIOCSIFBRDADDR = 0x80906913 - SIOCSIFCAP = 0x80206975 - SIOCSIFDSTADDR = 0x8090690e - SIOCSIFFLAGS = 0x80906910 - SIOCSIFGENERIC = 0x80906939 - SIOCSIFMEDIA = 0xc0906935 - SIOCSIFMETRIC = 0x80906918 - SIOCSIFMTU = 0x8090697f - SIOCSIFNETMASK = 0x80906916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLINKSTR = 0x80286988 - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SIOCSVH = 0xc0906982 - SIOCZIFDATA = 0xc0986986 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_FLAGS_MASK = 0xf0000000 - SOCK_NONBLOCK = 0x20000000 - SOCK_NOSIGPIPE = 0x40000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NOHEADER = 0x100a - SO_NOSIGPIPE = 0x800 - SO_OOBINLINE = 0x100 - SO_OVERFLOWED = 0x1009 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x100c - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x100b - SO_TIMESTAMP = 0x2000 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SYSCTL_VERSION = 0x1000000 - SYSCTL_VERS_0 = 0x0 - SYSCTL_VERS_1 = 0x1000000 - SYSCTL_VERS_MASK = 0xff000000 - S_ARCH1 = 0x10000 - S_ARCH2 = 0x20000 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - S_LOGIN_SET = 0x1 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONGCTL = 0x20 - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x3 - TCP_KEEPINIT = 0x7 - TCP_KEEPINTVL = 0x5 - TCP_MAXBURST = 0x4 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLAG_CDTRCTS = 0x10 - TIOCFLAG_CLOCAL = 0x2 - TIOCFLAG_CRTSCTS = 0x4 - TIOCFLAG_MDMBUF = 0x8 - TIOCFLAG_SOFTCAR = 0x1 - TIOCFLUSH = 0x80047410 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGFLAGS = 0x4004745d - TIOCGLINED = 0x40207442 - TIOCGPGRP = 0x40047477 - TIOCGQSIZE = 0x40047481 - TIOCGRANTPT = 0x20007447 - TIOCGSID = 0x40047463 - TIOCGSIZE = 0x40087468 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMGET = 0x40287446 - TIOCPTSNAME = 0x40287448 - TIOCRCVFRAME = 0x80087445 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSFLAGS = 0x8004745c - TIOCSIG = 0x2000745f - TIOCSLINED = 0x80207443 - TIOCSPGRP = 0x80047476 - TIOCSQSIZE = 0x80047480 - TIOCSSIZE = 0x80087467 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x80047465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCUCNTL = 0x80047466 - TIOCXMTFRAME = 0x80087444 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WALL = 0x8 - WALLSIG = 0x8 - WALTSIG = 0x4 - WCLONE = 0x4 - WCOREFLAG = 0x80 - WNOHANG = 0x1 - WNOWAIT = 0x10000 - WNOZOMBIE = 0x20000 - WOPTSCHECKED = 0x40000 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x58) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x57) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x55) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5e) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x59) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x5a) - ENOSTR = syscall.Errno(0x5b) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x56) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x60) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x5c) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x20) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large or too small", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol option not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "illegal byte sequence", - 86: "not supported", - 87: "operation Canceled", - 88: "bad or Corrupt message", - 89: "no message available", - 90: "no STREAM resources", - 91: "not a STREAM", - 92: "STREAM ioctl timeout", - 93: "attribute not found", - 94: "multihop attempted", - 95: "link has been severed", - 96: "protocol error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "power fail/restart", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go deleted file mode 100644 index ac85ca6..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +++ /dev/null @@ -1,1688 +0,0 @@ -// mkerrors.sh -marm -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build arm,netbsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -marm _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x1c - AF_BLUETOOTH = 0x1f - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x20 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x18 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x23 - AF_MPLS = 0x21 - AF_NATM = 0x1b - AF_NS = 0x6 - AF_OROUTE = 0x11 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x22 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ARPHRD_ARCNET = 0x7 - ARPHRD_ETHER = 0x1 - ARPHRD_FRELAY = 0xf - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - ARPHRD_STRIP = 0x17 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427d - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084277 - BIOCGETIF = 0x4090426b - BIOCGFEEDBACK = 0x4004427c - BIOCGHDRCMPLT = 0x40044274 - BIOCGRTIMEOUT = 0x400c427b - BIOCGSEESENT = 0x40044278 - BIOCGSTATS = 0x4080426f - BIOCGSTATSOLD = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044276 - BIOCSETF = 0x80084267 - BIOCSETIF = 0x8090426c - BIOCSFEEDBACK = 0x8004427d - BIOCSHDRCMPLT = 0x80044275 - BIOCSRTIMEOUT = 0x800c427a - BIOCSSEESENT = 0x80044279 - BIOCSTCPF = 0x80084272 - BIOCSUDPF = 0x80084273 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALIGNMENT32 = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DFLTBUFSIZE = 0x100000 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x1000000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - CTL_QUERY = -0x2 - DIOCBSFLUSH = 0x20006478 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HDLC = 0x10 - DLT_HHDLC = 0x79 - DLT_HIPPI = 0xf - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0xe - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RAWAF_MASK = 0x2240000 - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xd - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EMUL_LINUX = 0x1 - EMUL_LINUX32 = 0x5 - EMUL_MAXID = 0x6 - ETHERCAP_JUMBO_MTU = 0x4 - ETHERCAP_VLAN_HWTAGGING = 0x2 - ETHERCAP_VLAN_MTU = 0x1 - ETHERMIN = 0x2e - ETHERMTU = 0x5dc - ETHERMTU_JUMBO = 0x2328 - ETHERTYPE_8023 = 0x4 - ETHERTYPE_AARP = 0x80f3 - ETHERTYPE_ACCTON = 0x8390 - ETHERTYPE_AEONIC = 0x8036 - ETHERTYPE_ALPHA = 0x814a - ETHERTYPE_AMBER = 0x6008 - ETHERTYPE_AMOEBA = 0x8145 - ETHERTYPE_APOLLO = 0x80f7 - ETHERTYPE_APOLLODOMAIN = 0x8019 - ETHERTYPE_APPLETALK = 0x809b - ETHERTYPE_APPLITEK = 0x80c7 - ETHERTYPE_ARGONAUT = 0x803a - ETHERTYPE_ARP = 0x806 - ETHERTYPE_AT = 0x809b - ETHERTYPE_ATALK = 0x809b - ETHERTYPE_ATOMIC = 0x86df - ETHERTYPE_ATT = 0x8069 - ETHERTYPE_ATTSTANFORD = 0x8008 - ETHERTYPE_AUTOPHON = 0x806a - ETHERTYPE_AXIS = 0x8856 - ETHERTYPE_BCLOOP = 0x9003 - ETHERTYPE_BOFL = 0x8102 - ETHERTYPE_CABLETRON = 0x7034 - ETHERTYPE_CHAOS = 0x804 - ETHERTYPE_COMDESIGN = 0x806c - ETHERTYPE_COMPUGRAPHIC = 0x806d - ETHERTYPE_COUNTERPOINT = 0x8062 - ETHERTYPE_CRONUS = 0x8004 - ETHERTYPE_CRONUSVLN = 0x8003 - ETHERTYPE_DCA = 0x1234 - ETHERTYPE_DDE = 0x807b - ETHERTYPE_DEBNI = 0xaaaa - ETHERTYPE_DECAM = 0x8048 - ETHERTYPE_DECCUST = 0x6006 - ETHERTYPE_DECDIAG = 0x6005 - ETHERTYPE_DECDNS = 0x803c - ETHERTYPE_DECDTS = 0x803e - ETHERTYPE_DECEXPER = 0x6000 - ETHERTYPE_DECLAST = 0x8041 - ETHERTYPE_DECLTM = 0x803f - ETHERTYPE_DECMUMPS = 0x6009 - ETHERTYPE_DECNETBIOS = 0x8040 - ETHERTYPE_DELTACON = 0x86de - ETHERTYPE_DIDDLE = 0x4321 - ETHERTYPE_DLOG1 = 0x660 - ETHERTYPE_DLOG2 = 0x661 - ETHERTYPE_DN = 0x6003 - ETHERTYPE_DOGFIGHT = 0x1989 - ETHERTYPE_DSMD = 0x8039 - ETHERTYPE_ECMA = 0x803 - ETHERTYPE_ENCRYPT = 0x803d - ETHERTYPE_ES = 0x805d - ETHERTYPE_EXCELAN = 0x8010 - ETHERTYPE_EXPERDATA = 0x8049 - ETHERTYPE_FLIP = 0x8146 - ETHERTYPE_FLOWCONTROL = 0x8808 - ETHERTYPE_FRARP = 0x808 - ETHERTYPE_GENDYN = 0x8068 - ETHERTYPE_HAYES = 0x8130 - ETHERTYPE_HIPPI_FP = 0x8180 - ETHERTYPE_HITACHI = 0x8820 - ETHERTYPE_HP = 0x8005 - ETHERTYPE_IEEEPUP = 0xa00 - ETHERTYPE_IEEEPUPAT = 0xa01 - ETHERTYPE_IMLBL = 0x4c42 - ETHERTYPE_IMLBLDIAG = 0x424c - ETHERTYPE_IP = 0x800 - ETHERTYPE_IPAS = 0x876c - ETHERTYPE_IPV6 = 0x86dd - ETHERTYPE_IPX = 0x8137 - ETHERTYPE_IPXNEW = 0x8037 - ETHERTYPE_KALPANA = 0x8582 - ETHERTYPE_LANBRIDGE = 0x8038 - ETHERTYPE_LANPROBE = 0x8888 - ETHERTYPE_LAT = 0x6004 - ETHERTYPE_LBACK = 0x9000 - ETHERTYPE_LITTLE = 0x8060 - ETHERTYPE_LOGICRAFT = 0x8148 - ETHERTYPE_LOOPBACK = 0x9000 - ETHERTYPE_MATRA = 0x807a - ETHERTYPE_MAX = 0xffff - ETHERTYPE_MERIT = 0x807c - ETHERTYPE_MICP = 0x873a - ETHERTYPE_MOPDL = 0x6001 - ETHERTYPE_MOPRC = 0x6002 - ETHERTYPE_MOTOROLA = 0x818d - ETHERTYPE_MPLS = 0x8847 - ETHERTYPE_MPLS_MCAST = 0x8848 - ETHERTYPE_MUMPS = 0x813f - ETHERTYPE_NBPCC = 0x3c04 - ETHERTYPE_NBPCLAIM = 0x3c09 - ETHERTYPE_NBPCLREQ = 0x3c05 - ETHERTYPE_NBPCLRSP = 0x3c06 - ETHERTYPE_NBPCREQ = 0x3c02 - ETHERTYPE_NBPCRSP = 0x3c03 - ETHERTYPE_NBPDG = 0x3c07 - ETHERTYPE_NBPDGB = 0x3c08 - ETHERTYPE_NBPDLTE = 0x3c0a - ETHERTYPE_NBPRAR = 0x3c0c - ETHERTYPE_NBPRAS = 0x3c0b - ETHERTYPE_NBPRST = 0x3c0d - ETHERTYPE_NBPSCD = 0x3c01 - ETHERTYPE_NBPVCD = 0x3c00 - ETHERTYPE_NBS = 0x802 - ETHERTYPE_NCD = 0x8149 - ETHERTYPE_NESTAR = 0x8006 - ETHERTYPE_NETBEUI = 0x8191 - ETHERTYPE_NOVELL = 0x8138 - ETHERTYPE_NS = 0x600 - ETHERTYPE_NSAT = 0x601 - ETHERTYPE_NSCOMPAT = 0x807 - ETHERTYPE_NTRAILER = 0x10 - ETHERTYPE_OS9 = 0x7007 - ETHERTYPE_OS9NET = 0x7009 - ETHERTYPE_PACER = 0x80c6 - ETHERTYPE_PAE = 0x888e - ETHERTYPE_PCS = 0x4242 - ETHERTYPE_PLANNING = 0x8044 - ETHERTYPE_PPP = 0x880b - ETHERTYPE_PPPOE = 0x8864 - ETHERTYPE_PPPOEDISC = 0x8863 - ETHERTYPE_PRIMENTS = 0x7031 - ETHERTYPE_PUP = 0x200 - ETHERTYPE_PUPAT = 0x200 - ETHERTYPE_RACAL = 0x7030 - ETHERTYPE_RATIONAL = 0x8150 - ETHERTYPE_RAWFR = 0x6559 - ETHERTYPE_RCL = 0x1995 - ETHERTYPE_RDP = 0x8739 - ETHERTYPE_RETIX = 0x80f2 - ETHERTYPE_REVARP = 0x8035 - ETHERTYPE_SCA = 0x6007 - ETHERTYPE_SECTRA = 0x86db - ETHERTYPE_SECUREDATA = 0x876d - ETHERTYPE_SGITW = 0x817e - ETHERTYPE_SG_BOUNCE = 0x8016 - ETHERTYPE_SG_DIAG = 0x8013 - ETHERTYPE_SG_NETGAMES = 0x8014 - ETHERTYPE_SG_RESV = 0x8015 - ETHERTYPE_SIMNET = 0x5208 - ETHERTYPE_SLOWPROTOCOLS = 0x8809 - ETHERTYPE_SNA = 0x80d5 - ETHERTYPE_SNMP = 0x814c - ETHERTYPE_SONIX = 0xfaf5 - ETHERTYPE_SPIDER = 0x809f - ETHERTYPE_SPRITE = 0x500 - ETHERTYPE_STP = 0x8181 - ETHERTYPE_TALARIS = 0x812b - ETHERTYPE_TALARISMC = 0x852b - ETHERTYPE_TCPCOMP = 0x876b - ETHERTYPE_TCPSM = 0x9002 - ETHERTYPE_TEC = 0x814f - ETHERTYPE_TIGAN = 0x802f - ETHERTYPE_TRAIL = 0x1000 - ETHERTYPE_TRANSETHER = 0x6558 - ETHERTYPE_TYMSHARE = 0x802e - ETHERTYPE_UBBST = 0x7005 - ETHERTYPE_UBDEBUG = 0x900 - ETHERTYPE_UBDIAGLOOP = 0x7002 - ETHERTYPE_UBDL = 0x7000 - ETHERTYPE_UBNIU = 0x7001 - ETHERTYPE_UBNMC = 0x7003 - ETHERTYPE_VALID = 0x1600 - ETHERTYPE_VARIAN = 0x80dd - ETHERTYPE_VAXELN = 0x803b - ETHERTYPE_VEECO = 0x8067 - ETHERTYPE_VEXP = 0x805b - ETHERTYPE_VGLAB = 0x8131 - ETHERTYPE_VINES = 0xbad - ETHERTYPE_VINESECHO = 0xbaf - ETHERTYPE_VINESLOOP = 0xbae - ETHERTYPE_VITAL = 0xff00 - ETHERTYPE_VLAN = 0x8100 - ETHERTYPE_VLTLMAN = 0x8080 - ETHERTYPE_VPROD = 0x805c - ETHERTYPE_VURESERVED = 0x8147 - ETHERTYPE_WATERLOO = 0x8130 - ETHERTYPE_WELLFLEET = 0x8103 - ETHERTYPE_X25 = 0x805 - ETHERTYPE_X75 = 0x801 - ETHERTYPE_XNSSM = 0x9001 - ETHERTYPE_XTP = 0x817d - ETHER_ADDR_LEN = 0x6 - ETHER_CRC_LEN = 0x4 - ETHER_CRC_POLY_BE = 0x4c11db6 - ETHER_CRC_POLY_LE = 0xedb88320 - ETHER_HDR_LEN = 0xe - ETHER_MAX_LEN = 0x5ee - ETHER_MAX_LEN_JUMBO = 0x233a - ETHER_MIN_LEN = 0x40 - ETHER_PPPOE_ENCAP_LEN = 0x8 - ETHER_TYPE_LEN = 0x2 - ETHER_VLAN_ENCAP_LEN = 0x4 - EVFILT_AIO = 0x2 - EVFILT_PROC = 0x4 - EVFILT_READ = 0x0 - EVFILT_SIGNAL = 0x5 - EVFILT_SYSCOUNT = 0x7 - EVFILT_TIMER = 0x6 - EVFILT_VNODE = 0x3 - EVFILT_WRITE = 0x1 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x100 - FLUSHO = 0x800000 - F_CLOSEM = 0xa - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0xc - F_FSCTL = -0x80000000 - F_FSDIRMASK = 0x70000000 - F_FSIN = 0x10000000 - F_FSINOUT = 0x30000000 - F_FSOUT = 0x20000000 - F_FSPRIV = 0x8000 - F_FSVOID = 0x40000000 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETNOSIGPIPE = 0xd - F_GETOWN = 0x5 - F_MAXFD = 0xb - F_OK = 0x0 - F_PARAM_MASK = 0xfff - F_PARAM_MAX = 0xfff - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETNOSIGPIPE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFA_ROUTE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x8f52 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ECONET = 0xce - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LINEGROUP = 0xd2 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_PON155 = 0xcf - IFT_PON622 = 0xd0 - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPATM = 0xc5 - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_Q2931 = 0xc9 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SIPSIG = 0xcc - IFT_SIPTG = 0xcb - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TELINK = 0xc8 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VIRTUALTG = 0xca - IFT_VOICEDID = 0xd5 - IFT_VOICEEM = 0x64 - IFT_VOICEEMFGD = 0xd3 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFGDEANA = 0xd4 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERCABLE = 0xc6 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IPPROTO_AH = 0x33 - IPPROTO_CARP = 0x70 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPIP = 0x4 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IPV6_ICMP = 0x3a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MOBILE = 0x37 - IPPROTO_NONE = 0x3b - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPPROTO_VRRP = 0x70 - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DROP_MEMBERSHIP = 0xd - IP_EF = 0x8000 - IP_ERRORMTU = 0x15 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x16 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0x14 - IP_MF = 0x2000 - IP_MINFRAGSIZE = 0x45 - IP_MINTTL = 0x18 - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTTL = 0x17 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x6 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ALIGNMENT_16MB = 0x18000000 - MAP_ALIGNMENT_1TB = 0x28000000 - MAP_ALIGNMENT_256TB = 0x30000000 - MAP_ALIGNMENT_4GB = 0x20000000 - MAP_ALIGNMENT_64KB = 0x10000000 - MAP_ALIGNMENT_64PB = 0x38000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_INHERIT_COPY = 0x1 - MAP_INHERIT_DEFAULT = 0x1 - MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_STACK = 0x2000 - MAP_TRYFIXED = 0x400 - MAP_WIRED = 0x800 - MSG_BCAST = 0x100 - MSG_CMSG_CLOEXEC = 0x800 - MSG_CONTROLMBUF = 0x2000000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOR = 0x8 - MSG_IOVUSRSPACE = 0x4000000 - MSG_LENUSRSPACE = 0x8000000 - MSG_MCAST = 0x200 - MSG_NAMEMBUF = 0x1000000 - MSG_NBIO = 0x1000 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_USERFLAGS = 0xffffff - MSG_WAITALL = 0x40 - NAME_MAX = 0x1ff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x5 - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFIOGETBMAP = 0xc004667a - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_ALT_IO = 0x40000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x400000 - O_CREAT = 0x200 - O_DIRECT = 0x80000 - O_DIRECTORY = 0x200000 - O_DSYNC = 0x10000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_NOSIGPIPE = 0x1000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x20000 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PRI_IOFLUSH = 0x7c - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x9 - RTAX_NETMASK = 0x2 - RTAX_TAG = 0x8 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTA_TAG = 0x100 - RTF_ANNOUNCE = 0x20000 - RTF_BLACKHOLE = 0x1000 - RTF_CLONED = 0x2000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_REJECT = 0x8 - RTF_SRC = 0x10000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_CHGADDR = 0x15 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x11 - RTM_IFANNOUNCE = 0x10 - RTM_IFINFO = 0x14 - RTM_LLINFO_UPD = 0x13 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_OIFINFO = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_OOIFINFO = 0xe - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_SETGATE = 0x12 - RTM_VERSION = 0x4 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x4 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x8 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80906931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCALIFADDR = 0x8118691c - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80906932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80906919 - SIOCDIFPHYADDR = 0x80906949 - SIOCDLIFADDR = 0x8118691e - SIOCGDRVSPEC = 0xc01c697b - SIOCGETPFSYNC = 0xc09069f8 - SIOCGETSGCNT = 0xc0147534 - SIOCGETVIFCNT = 0xc0147533 - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0906921 - SIOCGIFADDRPREF = 0xc0946920 - SIOCGIFALIAS = 0xc040691b - SIOCGIFBRDADDR = 0xc0906923 - SIOCGIFCAP = 0xc0206976 - SIOCGIFCONF = 0xc0086926 - SIOCGIFDATA = 0xc0946985 - SIOCGIFDLT = 0xc0906977 - SIOCGIFDSTADDR = 0xc0906922 - SIOCGIFFLAGS = 0xc0906911 - SIOCGIFGENERIC = 0xc090693a - SIOCGIFMEDIA = 0xc0286936 - SIOCGIFMETRIC = 0xc0906917 - SIOCGIFMTU = 0xc090697e - SIOCGIFNETMASK = 0xc0906925 - SIOCGIFPDSTADDR = 0xc0906948 - SIOCGIFPSRCADDR = 0xc0906947 - SIOCGLIFADDR = 0xc118691d - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLINKSTR = 0xc01c6987 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGVH = 0xc0906983 - SIOCIFCREATE = 0x8090697a - SIOCIFDESTROY = 0x80906979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCINITIFADDR = 0xc0446984 - SIOCSDRVSPEC = 0x801c697b - SIOCSETPFSYNC = 0x809069f7 - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8090690c - SIOCSIFADDRPREF = 0x8094691f - SIOCSIFBRDADDR = 0x80906913 - SIOCSIFCAP = 0x80206975 - SIOCSIFDSTADDR = 0x8090690e - SIOCSIFFLAGS = 0x80906910 - SIOCSIFGENERIC = 0x80906939 - SIOCSIFMEDIA = 0xc0906935 - SIOCSIFMETRIC = 0x80906918 - SIOCSIFMTU = 0x8090697f - SIOCSIFNETMASK = 0x80906916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLINKSTR = 0x801c6988 - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SIOCSVH = 0xc0906982 - SIOCZIFDATA = 0xc0946986 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_FLAGS_MASK = 0xf0000000 - SOCK_NONBLOCK = 0x20000000 - SOCK_NOSIGPIPE = 0x40000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NOHEADER = 0x100a - SO_NOSIGPIPE = 0x800 - SO_OOBINLINE = 0x100 - SO_OVERFLOWED = 0x1009 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x100c - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x100b - SO_TIMESTAMP = 0x2000 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SYSCTL_VERSION = 0x1000000 - SYSCTL_VERS_0 = 0x0 - SYSCTL_VERS_1 = 0x1000000 - SYSCTL_VERS_MASK = 0xff000000 - S_ARCH1 = 0x10000 - S_ARCH2 = 0x20000 - S_BLKSIZE = 0x200 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CONGCTL = 0x20 - TCP_KEEPCNT = 0x6 - TCP_KEEPIDLE = 0x3 - TCP_KEEPINIT = 0x7 - TCP_KEEPINTVL = 0x5 - TCP_MAXBURST = 0x4 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x400c7458 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLAG_CDTRCTS = 0x10 - TIOCFLAG_CLOCAL = 0x2 - TIOCFLAG_CRTSCTS = 0x4 - TIOCFLAG_MDMBUF = 0x8 - TIOCFLAG_SOFTCAR = 0x1 - TIOCFLUSH = 0x80047410 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGFLAGS = 0x4004745d - TIOCGLINED = 0x40207442 - TIOCGPGRP = 0x40047477 - TIOCGQSIZE = 0x40047481 - TIOCGRANTPT = 0x20007447 - TIOCGSID = 0x40047463 - TIOCGSIZE = 0x40087468 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMGET = 0x48087446 - TIOCPTSNAME = 0x48087448 - TIOCRCVFRAME = 0x80047445 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSFLAGS = 0x8004745c - TIOCSIG = 0x2000745f - TIOCSLINED = 0x80207443 - TIOCSPGRP = 0x80047476 - TIOCSQSIZE = 0x80047480 - TIOCSSIZE = 0x80087467 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x80047465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCUCNTL = 0x80047466 - TIOCXMTFRAME = 0x80047444 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WALL = 0x8 - WALLSIG = 0x8 - WALTSIG = 0x4 - WCLONE = 0x4 - WCOREFLAG = 0x80 - WNOHANG = 0x1 - WNOWAIT = 0x10000 - WNOZOMBIE = 0x20000 - WOPTSCHECKED = 0x40000 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADMSG = syscall.Errno(0x58) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x57) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x52) - EILSEQ = syscall.Errno(0x55) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x60) - ELOOP = syscall.Errno(0x3e) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - EMULTIHOP = syscall.Errno(0x5e) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x5d) - ENOBUFS = syscall.Errno(0x37) - ENODATA = syscall.Errno(0x59) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOLINK = syscall.Errno(0x5f) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x53) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x5a) - ENOSTR = syscall.Errno(0x5b) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x56) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x54) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTO = syscall.Errno(0x60) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIME = syscall.Errno(0x5c) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGPWR = syscall.Signal(0x20) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large or too small", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol option not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "identifier removed", - 83: "no message of desired type", - 84: "value too large to be stored in data type", - 85: "illegal byte sequence", - 86: "not supported", - 87: "operation Canceled", - 88: "bad or Corrupt message", - 89: "no message available", - 90: "no STREAM resources", - 91: "not a STREAM", - 92: "STREAM ioctl timeout", - 93: "attribute not found", - 94: "multihop attempted", - 95: "link has been severed", - 96: "protocol error", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "power fail/restart", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go deleted file mode 100644 index 3322e99..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +++ /dev/null @@ -1,1584 +0,0 @@ -// mkerrors.sh -m32 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build 386,openbsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m32 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_BLUETOOTH = 0x20 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_ENCAP = 0x1c - AF_HYLINK = 0xf - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x18 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_KEY = 0x1e - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x24 - AF_MPLS = 0x21 - AF_NATM = 0x1b - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SIP = 0x1d - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ARPHRD_ETHER = 0x1 - ARPHRD_FRELAY = 0xf - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRFILT = 0x4004427c - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc008427b - BIOCGETIF = 0x4020426b - BIOCGFILDROP = 0x40044278 - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044273 - BIOCGRTIMEOUT = 0x400c426e - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x20004276 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDIRFILT = 0x8004427d - BIOCSDLT = 0x8004427a - BIOCSETF = 0x80084267 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x80084277 - BIOCSFILDROP = 0x80044279 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044272 - BIOCSRTIMEOUT = 0x800c426d - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIRECTION_IN = 0x1 - BPF_DIRECTION_OUT = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x200000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0xff - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DIOCOSFPFLUSH = 0x2000444e - DLT_ARCNET = 0x7 - DLT_ATM_RFC1483 = 0xb - DLT_AX25 = 0x3 - DLT_CHAOS = 0x5 - DLT_C_HDLC = 0x68 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0xd - DLT_FDDI = 0xa - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_LOOP = 0xc - DLT_MPLS = 0xdb - DLT_NULL = 0x0 - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_SERIAL = 0x32 - DLT_PRONET = 0x4 - DLT_RAW = 0xe - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EMT_TAGOVF = 0x1 - EMUL_ENABLED = 0x1 - EMUL_NATIVE = 0x2 - ENDRUNDISC = 0x9 - ETHERMIN = 0x2e - ETHERMTU = 0x5dc - ETHERTYPE_8023 = 0x4 - ETHERTYPE_AARP = 0x80f3 - ETHERTYPE_ACCTON = 0x8390 - ETHERTYPE_AEONIC = 0x8036 - ETHERTYPE_ALPHA = 0x814a - ETHERTYPE_AMBER = 0x6008 - ETHERTYPE_AMOEBA = 0x8145 - ETHERTYPE_AOE = 0x88a2 - ETHERTYPE_APOLLO = 0x80f7 - ETHERTYPE_APOLLODOMAIN = 0x8019 - ETHERTYPE_APPLETALK = 0x809b - ETHERTYPE_APPLITEK = 0x80c7 - ETHERTYPE_ARGONAUT = 0x803a - ETHERTYPE_ARP = 0x806 - ETHERTYPE_AT = 0x809b - ETHERTYPE_ATALK = 0x809b - ETHERTYPE_ATOMIC = 0x86df - ETHERTYPE_ATT = 0x8069 - ETHERTYPE_ATTSTANFORD = 0x8008 - ETHERTYPE_AUTOPHON = 0x806a - ETHERTYPE_AXIS = 0x8856 - ETHERTYPE_BCLOOP = 0x9003 - ETHERTYPE_BOFL = 0x8102 - ETHERTYPE_CABLETRON = 0x7034 - ETHERTYPE_CHAOS = 0x804 - ETHERTYPE_COMDESIGN = 0x806c - ETHERTYPE_COMPUGRAPHIC = 0x806d - ETHERTYPE_COUNTERPOINT = 0x8062 - ETHERTYPE_CRONUS = 0x8004 - ETHERTYPE_CRONUSVLN = 0x8003 - ETHERTYPE_DCA = 0x1234 - ETHERTYPE_DDE = 0x807b - ETHERTYPE_DEBNI = 0xaaaa - ETHERTYPE_DECAM = 0x8048 - ETHERTYPE_DECCUST = 0x6006 - ETHERTYPE_DECDIAG = 0x6005 - ETHERTYPE_DECDNS = 0x803c - ETHERTYPE_DECDTS = 0x803e - ETHERTYPE_DECEXPER = 0x6000 - ETHERTYPE_DECLAST = 0x8041 - ETHERTYPE_DECLTM = 0x803f - ETHERTYPE_DECMUMPS = 0x6009 - ETHERTYPE_DECNETBIOS = 0x8040 - ETHERTYPE_DELTACON = 0x86de - ETHERTYPE_DIDDLE = 0x4321 - ETHERTYPE_DLOG1 = 0x660 - ETHERTYPE_DLOG2 = 0x661 - ETHERTYPE_DN = 0x6003 - ETHERTYPE_DOGFIGHT = 0x1989 - ETHERTYPE_DSMD = 0x8039 - ETHERTYPE_ECMA = 0x803 - ETHERTYPE_ENCRYPT = 0x803d - ETHERTYPE_ES = 0x805d - ETHERTYPE_EXCELAN = 0x8010 - ETHERTYPE_EXPERDATA = 0x8049 - ETHERTYPE_FLIP = 0x8146 - ETHERTYPE_FLOWCONTROL = 0x8808 - ETHERTYPE_FRARP = 0x808 - ETHERTYPE_GENDYN = 0x8068 - ETHERTYPE_HAYES = 0x8130 - ETHERTYPE_HIPPI_FP = 0x8180 - ETHERTYPE_HITACHI = 0x8820 - ETHERTYPE_HP = 0x8005 - ETHERTYPE_IEEEPUP = 0xa00 - ETHERTYPE_IEEEPUPAT = 0xa01 - ETHERTYPE_IMLBL = 0x4c42 - ETHERTYPE_IMLBLDIAG = 0x424c - ETHERTYPE_IP = 0x800 - ETHERTYPE_IPAS = 0x876c - ETHERTYPE_IPV6 = 0x86dd - ETHERTYPE_IPX = 0x8137 - ETHERTYPE_IPXNEW = 0x8037 - ETHERTYPE_KALPANA = 0x8582 - ETHERTYPE_LANBRIDGE = 0x8038 - ETHERTYPE_LANPROBE = 0x8888 - ETHERTYPE_LAT = 0x6004 - ETHERTYPE_LBACK = 0x9000 - ETHERTYPE_LITTLE = 0x8060 - ETHERTYPE_LLDP = 0x88cc - ETHERTYPE_LOGICRAFT = 0x8148 - ETHERTYPE_LOOPBACK = 0x9000 - ETHERTYPE_MATRA = 0x807a - ETHERTYPE_MAX = 0xffff - ETHERTYPE_MERIT = 0x807c - ETHERTYPE_MICP = 0x873a - ETHERTYPE_MOPDL = 0x6001 - ETHERTYPE_MOPRC = 0x6002 - ETHERTYPE_MOTOROLA = 0x818d - ETHERTYPE_MPLS = 0x8847 - ETHERTYPE_MPLS_MCAST = 0x8848 - ETHERTYPE_MUMPS = 0x813f - ETHERTYPE_NBPCC = 0x3c04 - ETHERTYPE_NBPCLAIM = 0x3c09 - ETHERTYPE_NBPCLREQ = 0x3c05 - ETHERTYPE_NBPCLRSP = 0x3c06 - ETHERTYPE_NBPCREQ = 0x3c02 - ETHERTYPE_NBPCRSP = 0x3c03 - ETHERTYPE_NBPDG = 0x3c07 - ETHERTYPE_NBPDGB = 0x3c08 - ETHERTYPE_NBPDLTE = 0x3c0a - ETHERTYPE_NBPRAR = 0x3c0c - ETHERTYPE_NBPRAS = 0x3c0b - ETHERTYPE_NBPRST = 0x3c0d - ETHERTYPE_NBPSCD = 0x3c01 - ETHERTYPE_NBPVCD = 0x3c00 - ETHERTYPE_NBS = 0x802 - ETHERTYPE_NCD = 0x8149 - ETHERTYPE_NESTAR = 0x8006 - ETHERTYPE_NETBEUI = 0x8191 - ETHERTYPE_NOVELL = 0x8138 - ETHERTYPE_NS = 0x600 - ETHERTYPE_NSAT = 0x601 - ETHERTYPE_NSCOMPAT = 0x807 - ETHERTYPE_NTRAILER = 0x10 - ETHERTYPE_OS9 = 0x7007 - ETHERTYPE_OS9NET = 0x7009 - ETHERTYPE_PACER = 0x80c6 - ETHERTYPE_PAE = 0x888e - ETHERTYPE_PCS = 0x4242 - ETHERTYPE_PLANNING = 0x8044 - ETHERTYPE_PPP = 0x880b - ETHERTYPE_PPPOE = 0x8864 - ETHERTYPE_PPPOEDISC = 0x8863 - ETHERTYPE_PRIMENTS = 0x7031 - ETHERTYPE_PUP = 0x200 - ETHERTYPE_PUPAT = 0x200 - ETHERTYPE_QINQ = 0x88a8 - ETHERTYPE_RACAL = 0x7030 - ETHERTYPE_RATIONAL = 0x8150 - ETHERTYPE_RAWFR = 0x6559 - ETHERTYPE_RCL = 0x1995 - ETHERTYPE_RDP = 0x8739 - ETHERTYPE_RETIX = 0x80f2 - ETHERTYPE_REVARP = 0x8035 - ETHERTYPE_SCA = 0x6007 - ETHERTYPE_SECTRA = 0x86db - ETHERTYPE_SECUREDATA = 0x876d - ETHERTYPE_SGITW = 0x817e - ETHERTYPE_SG_BOUNCE = 0x8016 - ETHERTYPE_SG_DIAG = 0x8013 - ETHERTYPE_SG_NETGAMES = 0x8014 - ETHERTYPE_SG_RESV = 0x8015 - ETHERTYPE_SIMNET = 0x5208 - ETHERTYPE_SLOW = 0x8809 - ETHERTYPE_SNA = 0x80d5 - ETHERTYPE_SNMP = 0x814c - ETHERTYPE_SONIX = 0xfaf5 - ETHERTYPE_SPIDER = 0x809f - ETHERTYPE_SPRITE = 0x500 - ETHERTYPE_STP = 0x8181 - ETHERTYPE_TALARIS = 0x812b - ETHERTYPE_TALARISMC = 0x852b - ETHERTYPE_TCPCOMP = 0x876b - ETHERTYPE_TCPSM = 0x9002 - ETHERTYPE_TEC = 0x814f - ETHERTYPE_TIGAN = 0x802f - ETHERTYPE_TRAIL = 0x1000 - ETHERTYPE_TRANSETHER = 0x6558 - ETHERTYPE_TYMSHARE = 0x802e - ETHERTYPE_UBBST = 0x7005 - ETHERTYPE_UBDEBUG = 0x900 - ETHERTYPE_UBDIAGLOOP = 0x7002 - ETHERTYPE_UBDL = 0x7000 - ETHERTYPE_UBNIU = 0x7001 - ETHERTYPE_UBNMC = 0x7003 - ETHERTYPE_VALID = 0x1600 - ETHERTYPE_VARIAN = 0x80dd - ETHERTYPE_VAXELN = 0x803b - ETHERTYPE_VEECO = 0x8067 - ETHERTYPE_VEXP = 0x805b - ETHERTYPE_VGLAB = 0x8131 - ETHERTYPE_VINES = 0xbad - ETHERTYPE_VINESECHO = 0xbaf - ETHERTYPE_VINESLOOP = 0xbae - ETHERTYPE_VITAL = 0xff00 - ETHERTYPE_VLAN = 0x8100 - ETHERTYPE_VLTLMAN = 0x8080 - ETHERTYPE_VPROD = 0x805c - ETHERTYPE_VURESERVED = 0x8147 - ETHERTYPE_WATERLOO = 0x8130 - ETHERTYPE_WELLFLEET = 0x8103 - ETHERTYPE_X25 = 0x805 - ETHERTYPE_X75 = 0x801 - ETHERTYPE_XNSSM = 0x9001 - ETHERTYPE_XTP = 0x817d - ETHER_ADDR_LEN = 0x6 - ETHER_ALIGN = 0x2 - ETHER_CRC_LEN = 0x4 - ETHER_CRC_POLY_BE = 0x4c11db6 - ETHER_CRC_POLY_LE = 0xedb88320 - ETHER_HDR_LEN = 0xe - ETHER_MAX_DIX_LEN = 0x600 - ETHER_MAX_LEN = 0x5ee - ETHER_MIN_LEN = 0x40 - ETHER_TYPE_LEN = 0x2 - ETHER_VLAN_ENCAP_LEN = 0x4 - EVFILT_AIO = -0x3 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0x7 - EVFILT_TIMER = -0x7 - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0xa - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETOWN = 0x5 - F_OK = 0x0 - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFA_ROUTE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x8e52 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BLUETOOTH = 0xf8 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf7 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DUMMY = 0xf1 - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ECONET = 0xce - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf3 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LINEGROUP = 0xd2 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFLOW = 0xf9 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_PON155 = 0xcf - IFT_PON622 = 0xd0 - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPATM = 0xc5 - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf2 - IFT_Q2931 = 0xc9 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SIPSIG = 0xcc - IFT_SIPTG = 0xcb - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TELINK = 0xc8 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VIRTUALTG = 0xca - IFT_VOICEDID = 0xd5 - IFT_VOICEEM = 0x64 - IFT_VOICEEMFGD = 0xd3 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFGDEANA = 0xd4 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERCABLE = 0xc6 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_HOST = 0x1 - IN_RFC3021_NET = 0xfffffffe - IN_RFC3021_NSHIFT = 0x1f - IPPROTO_AH = 0x33 - IPPROTO_CARP = 0x70 - IPPROTO_DIVERT = 0x102 - IPPROTO_DIVERT_INIT = 0x2 - IPPROTO_DIVERT_RESP = 0x1 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPIP = 0x4 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x103 - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_NONE = 0x3b - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPV6_AUTH_LEVEL = 0x35 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_ESP_NETWORK_LEVEL = 0x37 - IPV6_ESP_TRANS_LEVEL = 0x36 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPCOMP_LEVEL = 0x3c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_OPTIONS = 0x1 - IPV6_PATHMTU = 0x2c - IPV6_PIPEX = 0x3f - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVDSTPORT = 0x40 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTABLE = 0x1021 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_AUTH_LEVEL = 0x14 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DIVERTFL = 0x1022 - IP_DROP_MEMBERSHIP = 0xd - IP_ESP_NETWORK_LEVEL = 0x16 - IP_ESP_TRANS_LEVEL = 0x15 - IP_HDRINCL = 0x2 - IP_IPCOMP_LEVEL = 0x1d - IP_IPSECFLOWINFO = 0x24 - IP_IPSEC_LOCAL_AUTH = 0x1b - IP_IPSEC_LOCAL_CRED = 0x19 - IP_IPSEC_LOCAL_ID = 0x17 - IP_IPSEC_REMOTE_AUTH = 0x1c - IP_IPSEC_REMOTE_CRED = 0x1a - IP_IPSEC_REMOTE_ID = 0x18 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0xfff - IP_MF = 0x2000 - IP_MINTTL = 0x20 - IP_MIN_MEMBERSHIPS = 0xf - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PIPEX = 0x22 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVDSTPORT = 0x21 - IP_RECVIF = 0x1e - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVRTABLE = 0x23 - IP_RECVTTL = 0x1f - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RTABLE = 0x1021 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LCNT_OVERLOAD_FLUSH = 0x6 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x6 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 - MAP_COPY = 0x4 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_FLAGMASK = 0x1ff7 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_INHERIT_COPY = 0x1 - MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_TRYFIXED = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_BCAST = 0x100 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOR = 0x8 - MSG_MCAST = 0x200 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x4 - MS_SYNC = 0x2 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_MAXID = 0x6 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EOF = 0x2 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRUNCATE = 0x80 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x80 - ONOCR = 0x40 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x10000 - O_CREAT = 0x200 - O_DIRECTORY = 0x20000 - O_DSYNC = 0x80 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x80 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PF_FLUSH = 0x1 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_MASK = 0x3ff000 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_LABEL = 0xa - RTAX_MAX = 0xb - RTAX_NETMASK = 0x2 - RTAX_SRC = 0x8 - RTAX_SRCMASK = 0x9 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_LABEL = 0x400 - RTA_NETMASK = 0x4 - RTA_SRC = 0x100 - RTA_SRCMASK = 0x200 - RTF_ANNOUNCE = 0x4000 - RTF_BLACKHOLE = 0x1000 - RTF_CLONED = 0x10000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x10f808 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_MPATH = 0x40000 - RTF_MPLS = 0x100000 - RTF_PERMANENT_ARP = 0x2000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x2000 - RTF_REJECT = 0x8 - RTF_SOURCE = 0x20000 - RTF_STATIC = 0x800 - RTF_TUNNEL = 0x100000 - RTF_UP = 0x1 - RTF_USETRAILERS = 0x8000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DESYNC = 0x10 - RTM_GET = 0x4 - RTM_IFANNOUNCE = 0xf - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MAXSIZE = 0x800 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RT_TABLEID_MAX = 0xff - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80246987 - SIOCALIFADDR = 0x8218691c - SIOCATMARK = 0x40047307 - SIOCBRDGADD = 0x8054693c - SIOCBRDGADDS = 0x80546941 - SIOCBRDGARL = 0x806e694d - SIOCBRDGDADDR = 0x81286947 - SIOCBRDGDEL = 0x8054693d - SIOCBRDGDELS = 0x80546942 - SIOCBRDGFLUSH = 0x80546948 - SIOCBRDGFRL = 0x806e694e - SIOCBRDGGCACHE = 0xc0146941 - SIOCBRDGGFD = 0xc0146952 - SIOCBRDGGHT = 0xc0146951 - SIOCBRDGGIFFLGS = 0xc054693e - SIOCBRDGGMA = 0xc0146953 - SIOCBRDGGPARAM = 0xc03c6958 - SIOCBRDGGPRI = 0xc0146950 - SIOCBRDGGRL = 0xc028694f - SIOCBRDGGSIFS = 0xc054693c - SIOCBRDGGTO = 0xc0146946 - SIOCBRDGIFS = 0xc0546942 - SIOCBRDGRTS = 0xc0186943 - SIOCBRDGSADDR = 0xc1286944 - SIOCBRDGSCACHE = 0x80146940 - SIOCBRDGSFD = 0x80146952 - SIOCBRDGSHT = 0x80146951 - SIOCBRDGSIFCOST = 0x80546955 - SIOCBRDGSIFFLGS = 0x8054693f - SIOCBRDGSIFPRIO = 0x80546954 - SIOCBRDGSMA = 0x80146953 - SIOCBRDGSPRI = 0x80146950 - SIOCBRDGSPROTO = 0x8014695a - SIOCBRDGSTO = 0x80146945 - SIOCBRDGSTXHC = 0x80146959 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80246989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8218691e - SIOCGETKALIVE = 0xc01869a4 - SIOCGETLABEL = 0x8020699a - SIOCGETPFLOW = 0xc02069fe - SIOCGETPFSYNC = 0xc02069f8 - SIOCGETSGCNT = 0xc0147534 - SIOCGETVIFCNT = 0xc0147533 - SIOCGETVLAN = 0xc0206990 - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCONF = 0xc0086924 - SIOCGIFDATA = 0xc020691b - SIOCGIFDESCR = 0xc0206981 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGATTR = 0xc024698b - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc024698a - SIOCGIFGROUP = 0xc0246988 - SIOCGIFHARDMTU = 0xc02069a5 - SIOCGIFMEDIA = 0xc0286936 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc020697e - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPRIORITY = 0xc020699c - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFRDOMAIN = 0xc02069a0 - SIOCGIFRTLABEL = 0xc0206983 - SIOCGIFTIMESLOT = 0xc0206986 - SIOCGIFXFLAGS = 0xc020699e - SIOCGLIFADDR = 0xc218691d - SIOCGLIFPHYADDR = 0xc218694b - SIOCGLIFPHYRTABLE = 0xc02069a2 - SIOCGLIFPHYTTL = 0xc02069a9 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGSPPPPARAMS = 0xc0206994 - SIOCGVH = 0xc02069f6 - SIOCGVNETID = 0xc02069a7 - SIOCIFCREATE = 0x8020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCSETKALIVE = 0x801869a3 - SIOCSETLABEL = 0x80206999 - SIOCSETPFLOW = 0x802069fd - SIOCSETPFSYNC = 0x802069f7 - SIOCSETVLAN = 0x8020698f - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFDESCR = 0x80206980 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGATTR = 0x8024698c - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020691f - SIOCSIFMEDIA = 0xc0206935 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x8020697f - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPRIORITY = 0x8020699b - SIOCSIFRDOMAIN = 0x8020699f - SIOCSIFRTLABEL = 0x80206982 - SIOCSIFTIMESLOT = 0x80206985 - SIOCSIFXFLAGS = 0x8020699d - SIOCSLIFPHYADDR = 0x8218694a - SIOCSLIFPHYRTABLE = 0x802069a1 - SIOCSLIFPHYTTL = 0x802069a8 - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SIOCSSPPPPARAMS = 0x80206993 - SIOCSVH = 0xc02069f5 - SIOCSVNETID = 0x802069a6 - SOCK_DGRAM = 0x2 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BINDANY = 0x1000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NETPROC = 0x1020 - SO_OOBINLINE = 0x100 - SO_PEERCRED = 0x1022 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RTABLE = 0x1021 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_SPLICE = 0x1023 - SO_TIMESTAMP = 0x800 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_MAXBURST = 0x4 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x3 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x4 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOPUSH = 0x10 - TCP_NSTATES = 0xb - TCP_SACK_ENABLE = 0x8 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLAG_CLOCAL = 0x2 - TIOCFLAG_CRTSCTS = 0x4 - TIOCFLAG_MDMBUF = 0x8 - TIOCFLAG_PPS = 0x10 - TIOCFLAG_SOFTCAR = 0x1 - TIOCFLUSH = 0x80047410 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGFLAGS = 0x4004745d - TIOCGPGRP = 0x40047477 - TIOCGSID = 0x40047463 - TIOCGTSTAMP = 0x400c745b - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMODG = 0x4004746a - TIOCMODS = 0x8004746d - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSFLAGS = 0x8004745c - TIOCSIG = 0x8004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x80047465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSTSTAMP = 0x8008745a - TIOCSWINSZ = 0x80087467 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WALTSIG = 0x4 - WCONTINUED = 0x8 - WCOREFLAG = 0x80 - WNOHANG = 0x1 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x58) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x59) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EIPSEC = syscall.Errno(0x52) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x5b) - ELOOP = syscall.Errno(0x3e) - EMEDIUMTYPE = syscall.Errno(0x56) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x53) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOMEDIUM = syscall.Errno(0x55) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5a) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x5b) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x57) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "IPsec processing failure", - 83: "attribute not found", - 84: "illegal byte sequence", - 85: "no medium found", - 86: "wrong medium type", - 87: "value too large to be stored in data type", - 88: "operation canceled", - 89: "identifier removed", - 90: "no message of desired type", - 91: "not supported", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "thread AST", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go deleted file mode 100644 index 1758ecc..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +++ /dev/null @@ -1,1583 +0,0 @@ -// mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build amd64,openbsd - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_APPLETALK = 0x10 - AF_BLUETOOTH = 0x20 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_ENCAP = 0x1c - AF_HYLINK = 0xf - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x18 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_KEY = 0x1e - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x24 - AF_MPLS = 0x21 - AF_NATM = 0x1b - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SIP = 0x1d - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - ARPHRD_ETHER = 0x1 - ARPHRD_FRELAY = 0xf - ARPHRD_IEEE1394 = 0x18 - ARPHRD_IEEE802 = 0x6 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRFILT = 0x4004427c - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc010427b - BIOCGETIF = 0x4020426b - BIOCGFILDROP = 0x40044278 - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044273 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x20004276 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDIRFILT = 0x8004427d - BIOCSDLT = 0x8004427a - BIOCSETF = 0x80104267 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x80104277 - BIOCSFILDROP = 0x80044279 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044272 - BIOCSRTIMEOUT = 0x8010426d - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIRECTION_IN = 0x1 - BPF_DIRECTION_OUT = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x200000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0xff - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DIOCOSFPFLUSH = 0x2000444e - DLT_ARCNET = 0x7 - DLT_ATM_RFC1483 = 0xb - DLT_AX25 = 0x3 - DLT_CHAOS = 0x5 - DLT_C_HDLC = 0x68 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0xd - DLT_FDDI = 0xa - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_LOOP = 0xc - DLT_MPLS = 0xdb - DLT_NULL = 0x0 - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_SERIAL = 0x32 - DLT_PRONET = 0x4 - DLT_RAW = 0xe - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EMT_TAGOVF = 0x1 - EMUL_ENABLED = 0x1 - EMUL_NATIVE = 0x2 - ENDRUNDISC = 0x9 - ETHERMIN = 0x2e - ETHERMTU = 0x5dc - ETHERTYPE_8023 = 0x4 - ETHERTYPE_AARP = 0x80f3 - ETHERTYPE_ACCTON = 0x8390 - ETHERTYPE_AEONIC = 0x8036 - ETHERTYPE_ALPHA = 0x814a - ETHERTYPE_AMBER = 0x6008 - ETHERTYPE_AMOEBA = 0x8145 - ETHERTYPE_AOE = 0x88a2 - ETHERTYPE_APOLLO = 0x80f7 - ETHERTYPE_APOLLODOMAIN = 0x8019 - ETHERTYPE_APPLETALK = 0x809b - ETHERTYPE_APPLITEK = 0x80c7 - ETHERTYPE_ARGONAUT = 0x803a - ETHERTYPE_ARP = 0x806 - ETHERTYPE_AT = 0x809b - ETHERTYPE_ATALK = 0x809b - ETHERTYPE_ATOMIC = 0x86df - ETHERTYPE_ATT = 0x8069 - ETHERTYPE_ATTSTANFORD = 0x8008 - ETHERTYPE_AUTOPHON = 0x806a - ETHERTYPE_AXIS = 0x8856 - ETHERTYPE_BCLOOP = 0x9003 - ETHERTYPE_BOFL = 0x8102 - ETHERTYPE_CABLETRON = 0x7034 - ETHERTYPE_CHAOS = 0x804 - ETHERTYPE_COMDESIGN = 0x806c - ETHERTYPE_COMPUGRAPHIC = 0x806d - ETHERTYPE_COUNTERPOINT = 0x8062 - ETHERTYPE_CRONUS = 0x8004 - ETHERTYPE_CRONUSVLN = 0x8003 - ETHERTYPE_DCA = 0x1234 - ETHERTYPE_DDE = 0x807b - ETHERTYPE_DEBNI = 0xaaaa - ETHERTYPE_DECAM = 0x8048 - ETHERTYPE_DECCUST = 0x6006 - ETHERTYPE_DECDIAG = 0x6005 - ETHERTYPE_DECDNS = 0x803c - ETHERTYPE_DECDTS = 0x803e - ETHERTYPE_DECEXPER = 0x6000 - ETHERTYPE_DECLAST = 0x8041 - ETHERTYPE_DECLTM = 0x803f - ETHERTYPE_DECMUMPS = 0x6009 - ETHERTYPE_DECNETBIOS = 0x8040 - ETHERTYPE_DELTACON = 0x86de - ETHERTYPE_DIDDLE = 0x4321 - ETHERTYPE_DLOG1 = 0x660 - ETHERTYPE_DLOG2 = 0x661 - ETHERTYPE_DN = 0x6003 - ETHERTYPE_DOGFIGHT = 0x1989 - ETHERTYPE_DSMD = 0x8039 - ETHERTYPE_ECMA = 0x803 - ETHERTYPE_ENCRYPT = 0x803d - ETHERTYPE_ES = 0x805d - ETHERTYPE_EXCELAN = 0x8010 - ETHERTYPE_EXPERDATA = 0x8049 - ETHERTYPE_FLIP = 0x8146 - ETHERTYPE_FLOWCONTROL = 0x8808 - ETHERTYPE_FRARP = 0x808 - ETHERTYPE_GENDYN = 0x8068 - ETHERTYPE_HAYES = 0x8130 - ETHERTYPE_HIPPI_FP = 0x8180 - ETHERTYPE_HITACHI = 0x8820 - ETHERTYPE_HP = 0x8005 - ETHERTYPE_IEEEPUP = 0xa00 - ETHERTYPE_IEEEPUPAT = 0xa01 - ETHERTYPE_IMLBL = 0x4c42 - ETHERTYPE_IMLBLDIAG = 0x424c - ETHERTYPE_IP = 0x800 - ETHERTYPE_IPAS = 0x876c - ETHERTYPE_IPV6 = 0x86dd - ETHERTYPE_IPX = 0x8137 - ETHERTYPE_IPXNEW = 0x8037 - ETHERTYPE_KALPANA = 0x8582 - ETHERTYPE_LANBRIDGE = 0x8038 - ETHERTYPE_LANPROBE = 0x8888 - ETHERTYPE_LAT = 0x6004 - ETHERTYPE_LBACK = 0x9000 - ETHERTYPE_LITTLE = 0x8060 - ETHERTYPE_LLDP = 0x88cc - ETHERTYPE_LOGICRAFT = 0x8148 - ETHERTYPE_LOOPBACK = 0x9000 - ETHERTYPE_MATRA = 0x807a - ETHERTYPE_MAX = 0xffff - ETHERTYPE_MERIT = 0x807c - ETHERTYPE_MICP = 0x873a - ETHERTYPE_MOPDL = 0x6001 - ETHERTYPE_MOPRC = 0x6002 - ETHERTYPE_MOTOROLA = 0x818d - ETHERTYPE_MPLS = 0x8847 - ETHERTYPE_MPLS_MCAST = 0x8848 - ETHERTYPE_MUMPS = 0x813f - ETHERTYPE_NBPCC = 0x3c04 - ETHERTYPE_NBPCLAIM = 0x3c09 - ETHERTYPE_NBPCLREQ = 0x3c05 - ETHERTYPE_NBPCLRSP = 0x3c06 - ETHERTYPE_NBPCREQ = 0x3c02 - ETHERTYPE_NBPCRSP = 0x3c03 - ETHERTYPE_NBPDG = 0x3c07 - ETHERTYPE_NBPDGB = 0x3c08 - ETHERTYPE_NBPDLTE = 0x3c0a - ETHERTYPE_NBPRAR = 0x3c0c - ETHERTYPE_NBPRAS = 0x3c0b - ETHERTYPE_NBPRST = 0x3c0d - ETHERTYPE_NBPSCD = 0x3c01 - ETHERTYPE_NBPVCD = 0x3c00 - ETHERTYPE_NBS = 0x802 - ETHERTYPE_NCD = 0x8149 - ETHERTYPE_NESTAR = 0x8006 - ETHERTYPE_NETBEUI = 0x8191 - ETHERTYPE_NOVELL = 0x8138 - ETHERTYPE_NS = 0x600 - ETHERTYPE_NSAT = 0x601 - ETHERTYPE_NSCOMPAT = 0x807 - ETHERTYPE_NTRAILER = 0x10 - ETHERTYPE_OS9 = 0x7007 - ETHERTYPE_OS9NET = 0x7009 - ETHERTYPE_PACER = 0x80c6 - ETHERTYPE_PAE = 0x888e - ETHERTYPE_PCS = 0x4242 - ETHERTYPE_PLANNING = 0x8044 - ETHERTYPE_PPP = 0x880b - ETHERTYPE_PPPOE = 0x8864 - ETHERTYPE_PPPOEDISC = 0x8863 - ETHERTYPE_PRIMENTS = 0x7031 - ETHERTYPE_PUP = 0x200 - ETHERTYPE_PUPAT = 0x200 - ETHERTYPE_QINQ = 0x88a8 - ETHERTYPE_RACAL = 0x7030 - ETHERTYPE_RATIONAL = 0x8150 - ETHERTYPE_RAWFR = 0x6559 - ETHERTYPE_RCL = 0x1995 - ETHERTYPE_RDP = 0x8739 - ETHERTYPE_RETIX = 0x80f2 - ETHERTYPE_REVARP = 0x8035 - ETHERTYPE_SCA = 0x6007 - ETHERTYPE_SECTRA = 0x86db - ETHERTYPE_SECUREDATA = 0x876d - ETHERTYPE_SGITW = 0x817e - ETHERTYPE_SG_BOUNCE = 0x8016 - ETHERTYPE_SG_DIAG = 0x8013 - ETHERTYPE_SG_NETGAMES = 0x8014 - ETHERTYPE_SG_RESV = 0x8015 - ETHERTYPE_SIMNET = 0x5208 - ETHERTYPE_SLOW = 0x8809 - ETHERTYPE_SNA = 0x80d5 - ETHERTYPE_SNMP = 0x814c - ETHERTYPE_SONIX = 0xfaf5 - ETHERTYPE_SPIDER = 0x809f - ETHERTYPE_SPRITE = 0x500 - ETHERTYPE_STP = 0x8181 - ETHERTYPE_TALARIS = 0x812b - ETHERTYPE_TALARISMC = 0x852b - ETHERTYPE_TCPCOMP = 0x876b - ETHERTYPE_TCPSM = 0x9002 - ETHERTYPE_TEC = 0x814f - ETHERTYPE_TIGAN = 0x802f - ETHERTYPE_TRAIL = 0x1000 - ETHERTYPE_TRANSETHER = 0x6558 - ETHERTYPE_TYMSHARE = 0x802e - ETHERTYPE_UBBST = 0x7005 - ETHERTYPE_UBDEBUG = 0x900 - ETHERTYPE_UBDIAGLOOP = 0x7002 - ETHERTYPE_UBDL = 0x7000 - ETHERTYPE_UBNIU = 0x7001 - ETHERTYPE_UBNMC = 0x7003 - ETHERTYPE_VALID = 0x1600 - ETHERTYPE_VARIAN = 0x80dd - ETHERTYPE_VAXELN = 0x803b - ETHERTYPE_VEECO = 0x8067 - ETHERTYPE_VEXP = 0x805b - ETHERTYPE_VGLAB = 0x8131 - ETHERTYPE_VINES = 0xbad - ETHERTYPE_VINESECHO = 0xbaf - ETHERTYPE_VINESLOOP = 0xbae - ETHERTYPE_VITAL = 0xff00 - ETHERTYPE_VLAN = 0x8100 - ETHERTYPE_VLTLMAN = 0x8080 - ETHERTYPE_VPROD = 0x805c - ETHERTYPE_VURESERVED = 0x8147 - ETHERTYPE_WATERLOO = 0x8130 - ETHERTYPE_WELLFLEET = 0x8103 - ETHERTYPE_X25 = 0x805 - ETHERTYPE_X75 = 0x801 - ETHERTYPE_XNSSM = 0x9001 - ETHERTYPE_XTP = 0x817d - ETHER_ADDR_LEN = 0x6 - ETHER_ALIGN = 0x2 - ETHER_CRC_LEN = 0x4 - ETHER_CRC_POLY_BE = 0x4c11db6 - ETHER_CRC_POLY_LE = 0xedb88320 - ETHER_HDR_LEN = 0xe - ETHER_MAX_DIX_LEN = 0x600 - ETHER_MAX_LEN = 0x5ee - ETHER_MIN_LEN = 0x40 - ETHER_TYPE_LEN = 0x2 - ETHER_VLAN_ENCAP_LEN = 0x4 - EVFILT_AIO = -0x3 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0x7 - EVFILT_TIMER = -0x7 - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0xa - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETOWN = 0x5 - F_OK = 0x0 - F_RDLCK = 0x1 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFA_ROUTE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x8e52 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BLUETOOTH = 0xf8 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf7 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DUMMY = 0xf1 - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ECONET = 0xce - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf3 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LINEGROUP = 0xd2 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf5 - IFT_PFLOW = 0xf9 - IFT_PFSYNC = 0xf6 - IFT_PLC = 0xae - IFT_PON155 = 0xcf - IFT_PON622 = 0xd0 - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPATM = 0xc5 - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf2 - IFT_Q2931 = 0xc9 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SIPSIG = 0xcc - IFT_SIPTG = 0xcb - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TELINK = 0xc8 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VIRTUALTG = 0xca - IFT_VOICEDID = 0xd5 - IFT_VOICEEM = 0x64 - IFT_VOICEEMFGD = 0xd3 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFGDEANA = 0xd4 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERCABLE = 0xc6 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_HOST = 0x1 - IN_RFC3021_NET = 0xfffffffe - IN_RFC3021_NSHIFT = 0x1f - IPPROTO_AH = 0x33 - IPPROTO_CARP = 0x70 - IPPROTO_DIVERT = 0x102 - IPPROTO_DIVERT_INIT = 0x2 - IPPROTO_DIVERT_RESP = 0x1 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GRE = 0x2f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPIP = 0x4 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x103 - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_NONE = 0x3b - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_UDP = 0x11 - IPV6_AUTH_LEVEL = 0x35 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_ESP_NETWORK_LEVEL = 0x37 - IPV6_ESP_TRANS_LEVEL = 0x36 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPCOMP_LEVEL = 0x3c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXPACKET = 0xffff - IPV6_MMTU = 0x500 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_OPTIONS = 0x1 - IPV6_PATHMTU = 0x2c - IPV6_PIPEX = 0x3f - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVDSTPORT = 0x40 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTABLE = 0x1021 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_AUTH_LEVEL = 0x14 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DIVERTFL = 0x1022 - IP_DROP_MEMBERSHIP = 0xd - IP_ESP_NETWORK_LEVEL = 0x16 - IP_ESP_TRANS_LEVEL = 0x15 - IP_HDRINCL = 0x2 - IP_IPCOMP_LEVEL = 0x1d - IP_IPSECFLOWINFO = 0x24 - IP_IPSEC_LOCAL_AUTH = 0x1b - IP_IPSEC_LOCAL_CRED = 0x19 - IP_IPSEC_LOCAL_ID = 0x17 - IP_IPSEC_REMOTE_AUTH = 0x1c - IP_IPSEC_REMOTE_CRED = 0x1a - IP_IPSEC_REMOTE_ID = 0x18 - IP_MAXPACKET = 0xffff - IP_MAX_MEMBERSHIPS = 0xfff - IP_MF = 0x2000 - IP_MINTTL = 0x20 - IP_MIN_MEMBERSHIPS = 0xf - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_OFFMASK = 0x1fff - IP_OPTIONS = 0x1 - IP_PIPEX = 0x22 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVDSTPORT = 0x21 - IP_RECVIF = 0x1e - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVRTABLE = 0x23 - IP_RECVTTL = 0x1f - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RTABLE = 0x1021 - IP_TOS = 0x3 - IP_TTL = 0x4 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LCNT_OVERLOAD_FLUSH = 0x6 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x6 - MADV_NORMAL = 0x0 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 - MAP_COPY = 0x4 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_FLAGMASK = 0x1ff7 - MAP_HASSEMAPHORE = 0x200 - MAP_INHERIT = 0x80 - MAP_INHERIT_COPY = 0x1 - MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_TRYFIXED = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_BCAST = 0x100 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOR = 0x8 - MSG_MCAST = 0x200 - MSG_NOSIGNAL = 0x400 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x4 - MS_SYNC = 0x2 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_MAXID = 0x6 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EOF = 0x2 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRUNCATE = 0x80 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x80 - ONOCR = 0x40 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x10000 - O_CREAT = 0x200 - O_DIRECTORY = 0x20000 - O_DSYNC = 0x80 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x80 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PF_FLUSH = 0x1 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_LABEL = 0xa - RTAX_MAX = 0xb - RTAX_NETMASK = 0x2 - RTAX_SRC = 0x8 - RTAX_SRCMASK = 0x9 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_LABEL = 0x400 - RTA_NETMASK = 0x4 - RTA_SRC = 0x100 - RTA_SRCMASK = 0x200 - RTF_ANNOUNCE = 0x4000 - RTF_BLACKHOLE = 0x1000 - RTF_CLONED = 0x10000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x10f808 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_MPATH = 0x40000 - RTF_MPLS = 0x100000 - RTF_PERMANENT_ARP = 0x2000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x2000 - RTF_REJECT = 0x8 - RTF_SOURCE = 0x20000 - RTF_STATIC = 0x800 - RTF_TUNNEL = 0x100000 - RTF_UP = 0x1 - RTF_USETRAILERS = 0x8000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DESYNC = 0x10 - RTM_GET = 0x4 - RTM_IFANNOUNCE = 0xf - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MAXSIZE = 0x800 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RT_TABLEID_MAX = 0xff - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x4 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80286987 - SIOCALIFADDR = 0x8218691c - SIOCATMARK = 0x40047307 - SIOCBRDGADD = 0x8058693c - SIOCBRDGADDS = 0x80586941 - SIOCBRDGARL = 0x806e694d - SIOCBRDGDADDR = 0x81286947 - SIOCBRDGDEL = 0x8058693d - SIOCBRDGDELS = 0x80586942 - SIOCBRDGFLUSH = 0x80586948 - SIOCBRDGFRL = 0x806e694e - SIOCBRDGGCACHE = 0xc0146941 - SIOCBRDGGFD = 0xc0146952 - SIOCBRDGGHT = 0xc0146951 - SIOCBRDGGIFFLGS = 0xc058693e - SIOCBRDGGMA = 0xc0146953 - SIOCBRDGGPARAM = 0xc0406958 - SIOCBRDGGPRI = 0xc0146950 - SIOCBRDGGRL = 0xc030694f - SIOCBRDGGSIFS = 0xc058693c - SIOCBRDGGTO = 0xc0146946 - SIOCBRDGIFS = 0xc0586942 - SIOCBRDGRTS = 0xc0206943 - SIOCBRDGSADDR = 0xc1286944 - SIOCBRDGSCACHE = 0x80146940 - SIOCBRDGSFD = 0x80146952 - SIOCBRDGSHT = 0x80146951 - SIOCBRDGSIFCOST = 0x80586955 - SIOCBRDGSIFFLGS = 0x8058693f - SIOCBRDGSIFPRIO = 0x80586954 - SIOCBRDGSMA = 0x80146953 - SIOCBRDGSPRI = 0x80146950 - SIOCBRDGSPROTO = 0x8014695a - SIOCBRDGSTO = 0x80146945 - SIOCBRDGSTXHC = 0x80146959 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80286989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8218691e - SIOCGETKALIVE = 0xc01869a4 - SIOCGETLABEL = 0x8020699a - SIOCGETPFLOW = 0xc02069fe - SIOCGETPFSYNC = 0xc02069f8 - SIOCGETSGCNT = 0xc0207534 - SIOCGETVIFCNT = 0xc0287533 - SIOCGETVLAN = 0xc0206990 - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCONF = 0xc0106924 - SIOCGIFDATA = 0xc020691b - SIOCGIFDESCR = 0xc0206981 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGATTR = 0xc028698b - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc028698a - SIOCGIFGROUP = 0xc0286988 - SIOCGIFHARDMTU = 0xc02069a5 - SIOCGIFMEDIA = 0xc0306936 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc020697e - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPRIORITY = 0xc020699c - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFRDOMAIN = 0xc02069a0 - SIOCGIFRTLABEL = 0xc0206983 - SIOCGIFTIMESLOT = 0xc0206986 - SIOCGIFXFLAGS = 0xc020699e - SIOCGLIFADDR = 0xc218691d - SIOCGLIFPHYADDR = 0xc218694b - SIOCGLIFPHYRTABLE = 0xc02069a2 - SIOCGLIFPHYTTL = 0xc02069a9 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGSPPPPARAMS = 0xc0206994 - SIOCGVH = 0xc02069f6 - SIOCGVNETID = 0xc02069a7 - SIOCIFCREATE = 0x8020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106978 - SIOCSETKALIVE = 0x801869a3 - SIOCSETLABEL = 0x80206999 - SIOCSETPFLOW = 0x802069fd - SIOCSETPFSYNC = 0x802069f7 - SIOCSETVLAN = 0x8020698f - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFDESCR = 0x80206980 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGATTR = 0x8028698c - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020691f - SIOCSIFMEDIA = 0xc0206935 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x8020697f - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPRIORITY = 0x8020699b - SIOCSIFRDOMAIN = 0x8020699f - SIOCSIFRTLABEL = 0x80206982 - SIOCSIFTIMESLOT = 0x80206985 - SIOCSIFXFLAGS = 0x8020699d - SIOCSLIFPHYADDR = 0x8218694a - SIOCSLIFPHYRTABLE = 0x802069a1 - SIOCSLIFPHYTTL = 0x802069a8 - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SIOCSSPPPPARAMS = 0x80206993 - SIOCSVH = 0xc02069f5 - SIOCSVNETID = 0x802069a6 - SOCK_DGRAM = 0x2 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BINDANY = 0x1000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_NETPROC = 0x1020 - SO_OOBINLINE = 0x100 - SO_PEERCRED = 0x1022 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_RTABLE = 0x1021 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_SPLICE = 0x1023 - SO_TIMESTAMP = 0x800 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_MAXBURST = 0x4 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x3 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x4 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOPUSH = 0x10 - TCP_NSTATES = 0xb - TCP_SACK_ENABLE = 0x8 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLAG_CLOCAL = 0x2 - TIOCFLAG_CRTSCTS = 0x4 - TIOCFLAG_MDMBUF = 0x8 - TIOCFLAG_PPS = 0x10 - TIOCFLAG_SOFTCAR = 0x1 - TIOCFLUSH = 0x80047410 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGFLAGS = 0x4004745d - TIOCGPGRP = 0x40047477 - TIOCGSID = 0x40047463 - TIOCGTSTAMP = 0x4010745b - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGET = 0x4004746a - TIOCMODG = 0x4004746a - TIOCMODS = 0x8004746d - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSFLAGS = 0x8004745c - TIOCSIG = 0x8004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x80047465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSTSTAMP = 0x8008745a - TIOCSWINSZ = 0x80087467 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WALTSIG = 0x4 - WCONTINUED = 0x8 - WCOREFLAG = 0x80 - WNOHANG = 0x1 - WSTOPPED = 0x7f - WUNTRACED = 0x2 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x30) - EADDRNOTAVAIL = syscall.Errno(0x31) - EAFNOSUPPORT = syscall.Errno(0x2f) - EAGAIN = syscall.Errno(0x23) - EALREADY = syscall.Errno(0x25) - EAUTH = syscall.Errno(0x50) - EBADF = syscall.Errno(0x9) - EBADRPC = syscall.Errno(0x48) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x58) - ECHILD = syscall.Errno(0xa) - ECONNABORTED = syscall.Errno(0x35) - ECONNREFUSED = syscall.Errno(0x3d) - ECONNRESET = syscall.Errno(0x36) - EDEADLK = syscall.Errno(0xb) - EDESTADDRREQ = syscall.Errno(0x27) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x45) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EFTYPE = syscall.Errno(0x4f) - EHOSTDOWN = syscall.Errno(0x40) - EHOSTUNREACH = syscall.Errno(0x41) - EIDRM = syscall.Errno(0x59) - EILSEQ = syscall.Errno(0x54) - EINPROGRESS = syscall.Errno(0x24) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EIPSEC = syscall.Errno(0x52) - EISCONN = syscall.Errno(0x38) - EISDIR = syscall.Errno(0x15) - ELAST = syscall.Errno(0x5b) - ELOOP = syscall.Errno(0x3e) - EMEDIUMTYPE = syscall.Errno(0x56) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x28) - ENAMETOOLONG = syscall.Errno(0x3f) - ENEEDAUTH = syscall.Errno(0x51) - ENETDOWN = syscall.Errno(0x32) - ENETRESET = syscall.Errno(0x34) - ENETUNREACH = syscall.Errno(0x33) - ENFILE = syscall.Errno(0x17) - ENOATTR = syscall.Errno(0x53) - ENOBUFS = syscall.Errno(0x37) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x4d) - ENOMEDIUM = syscall.Errno(0x55) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x5a) - ENOPROTOOPT = syscall.Errno(0x2a) - ENOSPC = syscall.Errno(0x1c) - ENOSYS = syscall.Errno(0x4e) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x39) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x42) - ENOTSOCK = syscall.Errno(0x26) - ENOTSUP = syscall.Errno(0x5b) - ENOTTY = syscall.Errno(0x19) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x2d) - EOVERFLOW = syscall.Errno(0x57) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x2e) - EPIPE = syscall.Errno(0x20) - EPROCLIM = syscall.Errno(0x43) - EPROCUNAVAIL = syscall.Errno(0x4c) - EPROGMISMATCH = syscall.Errno(0x4b) - EPROGUNAVAIL = syscall.Errno(0x4a) - EPROTONOSUPPORT = syscall.Errno(0x2b) - EPROTOTYPE = syscall.Errno(0x29) - ERANGE = syscall.Errno(0x22) - EREMOTE = syscall.Errno(0x47) - EROFS = syscall.Errno(0x1e) - ERPCMISMATCH = syscall.Errno(0x49) - ESHUTDOWN = syscall.Errno(0x3a) - ESOCKTNOSUPPORT = syscall.Errno(0x2c) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESTALE = syscall.Errno(0x46) - ETIMEDOUT = syscall.Errno(0x3c) - ETOOMANYREFS = syscall.Errno(0x3b) - ETXTBSY = syscall.Errno(0x1a) - EUSERS = syscall.Errno(0x44) - EWOULDBLOCK = syscall.Errno(0x23) - EXDEV = syscall.Errno(0x12) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCHLD = syscall.Signal(0x14) - SIGCONT = syscall.Signal(0x13) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x1d) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x17) - SIGIOT = syscall.Signal(0x6) - SIGKILL = syscall.Signal(0x9) - SIGPIPE = syscall.Signal(0xd) - SIGPROF = syscall.Signal(0x1b) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x11) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHR = syscall.Signal(0x20) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x12) - SIGTTIN = syscall.Signal(0x15) - SIGTTOU = syscall.Signal(0x16) - SIGURG = syscall.Signal(0x10) - SIGUSR1 = syscall.Signal(0x1e) - SIGUSR2 = syscall.Signal(0x1f) - SIGVTALRM = syscall.Signal(0x1a) - SIGWINCH = syscall.Signal(0x1c) - SIGXCPU = syscall.Signal(0x18) - SIGXFSZ = syscall.Signal(0x19) -) - -// Error table -var errors = [...]string{ - 1: "operation not permitted", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "input/output error", - 6: "device not configured", - 7: "argument list too long", - 8: "exec format error", - 9: "bad file descriptor", - 10: "no child processes", - 11: "resource deadlock avoided", - 12: "cannot allocate memory", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "operation not supported by device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "too many open files in system", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "numerical argument out of domain", - 34: "result too large", - 35: "resource temporarily unavailable", - 36: "operation now in progress", - 37: "operation already in progress", - 38: "socket operation on non-socket", - 39: "destination address required", - 40: "message too long", - 41: "protocol wrong type for socket", - 42: "protocol not available", - 43: "protocol not supported", - 44: "socket type not supported", - 45: "operation not supported", - 46: "protocol family not supported", - 47: "address family not supported by protocol family", - 48: "address already in use", - 49: "can't assign requested address", - 50: "network is down", - 51: "network is unreachable", - 52: "network dropped connection on reset", - 53: "software caused connection abort", - 54: "connection reset by peer", - 55: "no buffer space available", - 56: "socket is already connected", - 57: "socket is not connected", - 58: "can't send after socket shutdown", - 59: "too many references: can't splice", - 60: "connection timed out", - 61: "connection refused", - 62: "too many levels of symbolic links", - 63: "file name too long", - 64: "host is down", - 65: "no route to host", - 66: "directory not empty", - 67: "too many processes", - 68: "too many users", - 69: "disc quota exceeded", - 70: "stale NFS file handle", - 71: "too many levels of remote in path", - 72: "RPC struct is bad", - 73: "RPC version wrong", - 74: "RPC prog. not avail", - 75: "program version wrong", - 76: "bad procedure for program", - 77: "no locks available", - 78: "function not implemented", - 79: "inappropriate file type or format", - 80: "authentication error", - 81: "need authenticator", - 82: "IPsec processing failure", - 83: "attribute not found", - 84: "illegal byte sequence", - 85: "no medium found", - 86: "wrong medium type", - 87: "value too large to be stored in data type", - 88: "operation canceled", - 89: "identifier removed", - 90: "no message of desired type", - 91: "not supported", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/BPT trap", - 6: "abort trap", - 7: "EMT trap", - 8: "floating point exception", - 9: "killed", - 10: "bus error", - 11: "segmentation fault", - 12: "bad system call", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", - 16: "urgent I/O condition", - 17: "stopped (signal)", - 18: "stopped", - 19: "continued", - 20: "child exited", - 21: "stopped (tty input)", - 22: "stopped (tty output)", - 23: "I/O possible", - 24: "cputime limit exceeded", - 25: "filesize limit exceeded", - 26: "virtual timer expired", - 27: "profiling timer expired", - 28: "window size changes", - 29: "information request", - 30: "user defined signal 1", - 31: "user defined signal 2", - 32: "thread AST", -} diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go deleted file mode 100644 index 81e83d7..0000000 --- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +++ /dev/null @@ -1,1483 +0,0 @@ -// mkerrors.sh -m64 -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,solaris - -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -m64 _const.go - -package unix - -import "syscall" - -const ( - AF_802 = 0x12 - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_ECMA = 0x8 - AF_FILE = 0x1 - AF_GOSIP = 0x16 - AF_HYLINK = 0xf - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1a - AF_INET_OFFLOAD = 0x1e - AF_IPX = 0x17 - AF_KEY = 0x1b - AF_LAT = 0xe - AF_LINK = 0x19 - AF_LOCAL = 0x1 - AF_MAX = 0x20 - AF_NBS = 0x7 - AF_NCA = 0x1c - AF_NIT = 0x11 - AF_NS = 0x6 - AF_OSI = 0x13 - AF_OSINET = 0x15 - AF_PACKET = 0x20 - AF_POLICY = 0x1d - AF_PUP = 0x4 - AF_ROUTE = 0x18 - AF_SNA = 0xb - AF_TRILL = 0x1f - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_X25 = 0x14 - ARPHRD_ARCNET = 0x7 - ARPHRD_ATM = 0x10 - ARPHRD_AX25 = 0x3 - ARPHRD_CHAOS = 0x5 - ARPHRD_EETHER = 0x2 - ARPHRD_ETHER = 0x1 - ARPHRD_FC = 0x12 - ARPHRD_FRAME = 0xf - ARPHRD_HDLC = 0x11 - ARPHRD_IB = 0x20 - ARPHRD_IEEE802 = 0x6 - ARPHRD_IPATM = 0x13 - ARPHRD_METRICOM = 0x17 - ARPHRD_TUNNEL = 0x1f - B0 = 0x0 - B110 = 0x3 - B115200 = 0x12 - B1200 = 0x9 - B134 = 0x4 - B150 = 0x5 - B153600 = 0x13 - B1800 = 0xa - B19200 = 0xe - B200 = 0x6 - B230400 = 0x14 - B2400 = 0xb - B300 = 0x7 - B307200 = 0x15 - B38400 = 0xf - B460800 = 0x16 - B4800 = 0xc - B50 = 0x1 - B57600 = 0x10 - B600 = 0x8 - B75 = 0x2 - B76800 = 0x11 - B921600 = 0x17 - B9600 = 0xd - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = -0x3fefbd89 - BIOCGDLTLIST32 = -0x3ff7bd89 - BIOCGETIF = 0x4020426b - BIOCGETLIF = 0x4078426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRTIMEOUT = 0x4010427b - BIOCGRTIMEOUT32 = 0x4008427b - BIOCGSEESENT = 0x40044278 - BIOCGSTATS = 0x4080426f - BIOCGSTATSOLD = 0x4008426f - BIOCIMMEDIATE = -0x7ffbbd90 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = -0x3ffbbd9a - BIOCSDLT = -0x7ffbbd8a - BIOCSETF = -0x7fefbd99 - BIOCSETF32 = -0x7ff7bd99 - BIOCSETIF = -0x7fdfbd94 - BIOCSETLIF = -0x7f87bd94 - BIOCSHDRCMPLT = -0x7ffbbd8b - BIOCSRTIMEOUT = -0x7fefbd86 - BIOCSRTIMEOUT32 = -0x7ff7bd86 - BIOCSSEESENT = -0x7ffbbd87 - BIOCSTCPF = -0x7fefbd8e - BIOCSUDPF = -0x7fefbd8d - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DFLTBUFSIZE = 0x100000 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x1000000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x2000 - BSDLY = 0x2000 - CBAUD = 0xf - CFLUSH = 0xf - CIBAUD = 0xf0000 - CLOCAL = 0x800 - CLOCK_HIGHRES = 0x4 - CLOCK_LEVEL = 0xa - CLOCK_MONOTONIC = 0x4 - CLOCK_PROCESS_CPUTIME_ID = 0x5 - CLOCK_PROF = 0x2 - CLOCK_REALTIME = 0x3 - CLOCK_THREAD_CPUTIME_ID = 0x2 - CLOCK_VIRTUAL = 0x1 - CR0 = 0x0 - CR1 = 0x200 - CR2 = 0x400 - CR3 = 0x600 - CRDLY = 0x600 - CREAD = 0x80 - CRTSCTS = 0x80000000 - CS5 = 0x0 - CS6 = 0x10 - CS7 = 0x20 - CS8 = 0x30 - CSIZE = 0x30 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x40 - CSUSP = 0x1a - CSWTCH = 0x1a - DLT_AIRONET_HEADER = 0x78 - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_BACNET_MS_TP = 0xa5 - DLT_CHAOS = 0x5 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_DOCSIS = 0x8f - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FDDI = 0xa - DLT_FRELAY = 0x6b - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_HDLC = 0x10 - DLT_HHDLC = 0x79 - DLT_HIPPI = 0xf - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xa2 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0xe - DLT_PPP_PPPD = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAW = 0xc - DLT_RAWAF_MASK = 0x2240000 - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xd - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - ECHO = 0x8 - ECHOCTL = 0x200 - ECHOE = 0x10 - ECHOK = 0x20 - ECHOKE = 0x800 - ECHONL = 0x40 - ECHOPRT = 0x400 - EMPTY_SET = 0x0 - EMT_CPCOVF = 0x1 - EQUALITY_CHECK = 0x0 - EXTA = 0xe - EXTB = 0xf - FD_CLOEXEC = 0x1 - FD_NFDBITS = 0x40 - FD_SETSIZE = 0x10000 - FF0 = 0x0 - FF1 = 0x8000 - FFDLY = 0x8000 - FLUSHALL = 0x1 - FLUSHDATA = 0x0 - FLUSHO = 0x2000 - F_ALLOCSP = 0xa - F_ALLOCSP64 = 0xa - F_BADFD = 0x2e - F_BLKSIZE = 0x13 - F_BLOCKS = 0x12 - F_CHKFL = 0x8 - F_COMPAT = 0x8 - F_DUP2FD = 0x9 - F_DUP2FD_CLOEXEC = 0x24 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x25 - F_FLOCK = 0x35 - F_FLOCK64 = 0x35 - F_FLOCKW = 0x36 - F_FLOCKW64 = 0x36 - F_FREESP = 0xb - F_FREESP64 = 0xb - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xe - F_GETLK64 = 0xe - F_GETOWN = 0x17 - F_GETXFL = 0x2d - F_HASREMOTELOCKS = 0x1a - F_ISSTREAM = 0xd - F_MANDDNY = 0x10 - F_MDACC = 0x20 - F_NODNY = 0x0 - F_NPRIV = 0x10 - F_OFD_GETLK = 0x2f - F_OFD_GETLK64 = 0x2f - F_OFD_SETLK = 0x30 - F_OFD_SETLK64 = 0x30 - F_OFD_SETLKW = 0x31 - F_OFD_SETLKW64 = 0x31 - F_PRIV = 0xf - F_QUOTACTL = 0x11 - F_RDACC = 0x1 - F_RDDNY = 0x1 - F_RDLCK = 0x1 - F_REVOKE = 0x19 - F_RMACC = 0x4 - F_RMDNY = 0x4 - F_RWACC = 0x3 - F_RWDNY = 0x3 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x6 - F_SETLK64 = 0x6 - F_SETLK64_NBMAND = 0x2a - F_SETLKW = 0x7 - F_SETLKW64 = 0x7 - F_SETLK_NBMAND = 0x2a - F_SETOWN = 0x18 - F_SHARE = 0x28 - F_SHARE_NBMAND = 0x2b - F_UNLCK = 0x3 - F_UNLKSYS = 0x4 - F_UNSHARE = 0x29 - F_WRACC = 0x2 - F_WRDNY = 0x2 - F_WRLCK = 0x2 - HUPCL = 0x400 - IBSHIFT = 0x10 - ICANON = 0x2 - ICRNL = 0x100 - IEXTEN = 0x8000 - IFF_ADDRCONF = 0x80000 - IFF_ALLMULTI = 0x200 - IFF_ANYCAST = 0x400000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x7f203003b5a - IFF_COS_ENABLED = 0x200000000 - IFF_DEBUG = 0x4 - IFF_DEPRECATED = 0x40000 - IFF_DHCPRUNNING = 0x4000 - IFF_DUPLICATE = 0x4000000000 - IFF_FAILED = 0x10000000 - IFF_FIXEDMTU = 0x1000000000 - IFF_INACTIVE = 0x40000000 - IFF_INTELLIGENT = 0x400 - IFF_IPMP = 0x8000000000 - IFF_IPMP_CANTCHANGE = 0x10000000 - IFF_IPMP_INVALID = 0x1ec200080 - IFF_IPV4 = 0x1000000 - IFF_IPV6 = 0x2000000 - IFF_L3PROTECT = 0x40000000000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x800 - IFF_MULTI_BCAST = 0x1000 - IFF_NOACCEPT = 0x4000000 - IFF_NOARP = 0x80 - IFF_NOFAILOVER = 0x8000000 - IFF_NOLINKLOCAL = 0x20000000000 - IFF_NOLOCAL = 0x20000 - IFF_NONUD = 0x200000 - IFF_NORTEXCH = 0x800000 - IFF_NOTRAILERS = 0x20 - IFF_NOXMIT = 0x10000 - IFF_OFFLINE = 0x80000000 - IFF_POINTOPOINT = 0x10 - IFF_PREFERRED = 0x400000000 - IFF_PRIVATE = 0x8000 - IFF_PROMISC = 0x100 - IFF_ROUTER = 0x100000 - IFF_RUNNING = 0x40 - IFF_STANDBY = 0x20000000 - IFF_TEMPORARY = 0x800000000 - IFF_UNNUMBERED = 0x2000 - IFF_UP = 0x1 - IFF_VIRTUAL = 0x2000000000 - IFF_VRRP = 0x10000000000 - IFF_XRESOLV = 0x100000000 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_6TO4 = 0xca - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IB = 0xc7 - IFT_IPV4 = 0xc8 - IFT_IPV6 = 0xc9 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_AUTOCONF_MASK = 0xffff0000 - IN_AUTOCONF_NET = 0xa9fe0000 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_CLASSE_NET = 0xffffffff - IN_LOOPBACKNET = 0x7f - IN_PRIVATE12_MASK = 0xfff00000 - IN_PRIVATE12_NET = 0xac100000 - IN_PRIVATE16_MASK = 0xffff0000 - IN_PRIVATE16_NET = 0xc0a80000 - IN_PRIVATE8_MASK = 0xff000000 - IN_PRIVATE8_NET = 0xa000000 - IPPROTO_AH = 0x33 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_ENCAP = 0x4 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_HELLO = 0x3f - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IGMP = 0x2 - IPPROTO_IP = 0x0 - IPPROTO_IPV6 = 0x29 - IPPROTO_MAX = 0x100 - IPPROTO_ND = 0x4d - IPPROTO_NONE = 0x3b - IPPROTO_OSPF = 0x59 - IPPROTO_PIM = 0x67 - IPPROTO_PUP = 0xc - IPPROTO_RAW = 0xff - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_SCTP = 0x84 - IPPROTO_TCP = 0x6 - IPPROTO_UDP = 0x11 - IPV6_ADD_MEMBERSHIP = 0x9 - IPV6_BOUND_IF = 0x41 - IPV6_CHECKSUM = 0x18 - IPV6_DONTFRAG = 0x21 - IPV6_DROP_MEMBERSHIP = 0xa - IPV6_DSTOPTS = 0xf - IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 - IPV6_FLOWINFO_TCLASS = 0xf00f - IPV6_HOPLIMIT = 0xc - IPV6_HOPOPTS = 0xe - IPV6_JOIN_GROUP = 0x9 - IPV6_LEAVE_GROUP = 0xa - IPV6_MULTICAST_HOPS = 0x7 - IPV6_MULTICAST_IF = 0x6 - IPV6_MULTICAST_LOOP = 0x8 - IPV6_NEXTHOP = 0xd - IPV6_PAD1_OPT = 0x0 - IPV6_PATHMTU = 0x25 - IPV6_PKTINFO = 0xb - IPV6_PREFER_SRC_CGA = 0x20 - IPV6_PREFER_SRC_CGADEFAULT = 0x10 - IPV6_PREFER_SRC_CGAMASK = 0x30 - IPV6_PREFER_SRC_COA = 0x2 - IPV6_PREFER_SRC_DEFAULT = 0x15 - IPV6_PREFER_SRC_HOME = 0x1 - IPV6_PREFER_SRC_MASK = 0x3f - IPV6_PREFER_SRC_MIPDEFAULT = 0x1 - IPV6_PREFER_SRC_MIPMASK = 0x3 - IPV6_PREFER_SRC_NONCGA = 0x10 - IPV6_PREFER_SRC_PUBLIC = 0x4 - IPV6_PREFER_SRC_TMP = 0x8 - IPV6_PREFER_SRC_TMPDEFAULT = 0x4 - IPV6_PREFER_SRC_TMPMASK = 0xc - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x13 - IPV6_RECVHOPOPTS = 0x14 - IPV6_RECVPATHMTU = 0x24 - IPV6_RECVPKTINFO = 0x12 - IPV6_RECVRTHDR = 0x16 - IPV6_RECVRTHDRDSTOPTS = 0x17 - IPV6_RECVTCLASS = 0x19 - IPV6_RTHDR = 0x10 - IPV6_RTHDRDSTOPTS = 0x11 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SEC_OPT = 0x22 - IPV6_SRC_PREFERENCES = 0x23 - IPV6_TCLASS = 0x26 - IPV6_UNICAST_HOPS = 0x5 - IPV6_UNSPEC_SRC = 0x42 - IPV6_USE_MIN_MTU = 0x20 - IPV6_V6ONLY = 0x27 - IP_ADD_MEMBERSHIP = 0x13 - IP_ADD_SOURCE_MEMBERSHIP = 0x17 - IP_BLOCK_SOURCE = 0x15 - IP_BOUND_IF = 0x41 - IP_BROADCAST = 0x106 - IP_BROADCAST_TTL = 0x43 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DHCPINIT_IF = 0x45 - IP_DONTFRAG = 0x1b - IP_DONTROUTE = 0x105 - IP_DROP_MEMBERSHIP = 0x14 - IP_DROP_SOURCE_MEMBERSHIP = 0x18 - IP_HDRINCL = 0x2 - IP_MAXPACKET = 0xffff - IP_MF = 0x2000 - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x10 - IP_MULTICAST_LOOP = 0x12 - IP_MULTICAST_TTL = 0x11 - IP_NEXTHOP = 0x19 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x9 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVSLLA = 0xa - IP_RECVTTL = 0xb - IP_RETOPTS = 0x8 - IP_REUSEADDR = 0x104 - IP_SEC_OPT = 0x22 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x16 - IP_UNSPEC_SRC = 0x42 - ISIG = 0x1 - ISTRIP = 0x20 - IUCLC = 0x200 - IXANY = 0x800 - IXOFF = 0x1000 - IXON = 0x400 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_ACCESS_DEFAULT = 0x6 - MADV_ACCESS_LWP = 0x7 - MADV_ACCESS_MANY = 0x8 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NORMAL = 0x0 - MADV_PURGE = 0x9 - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_32BIT = 0x80 - MAP_ALIGN = 0x200 - MAP_ANON = 0x100 - MAP_ANONYMOUS = 0x100 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_INITDATA = 0x800 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 - MAP_TEXT = 0x400 - MAP_TYPE = 0xf - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CTRUNC = 0x10 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_DUPCTRL = 0x800 - MSG_EOR = 0x8 - MSG_MAXIOVLEN = 0x10 - MSG_NOTIFICATION = 0x100 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x20 - MSG_WAITALL = 0x40 - MSG_XPG4_2 = 0x8000 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_OLDSYNC = 0x0 - MS_SYNC = 0x4 - M_FLUSH = 0x86 - NL0 = 0x0 - NL1 = 0x100 - NLDLY = 0x100 - NOFLSH = 0x80 - OCRNL = 0x8 - OFDEL = 0x80 - OFILL = 0x40 - OLCUC = 0x2 - ONLCR = 0x4 - ONLRET = 0x20 - ONOCR = 0x10 - OPENFAIL = -0x1 - OPOST = 0x1 - O_ACCMODE = 0x600003 - O_APPEND = 0x8 - O_CLOEXEC = 0x800000 - O_CREAT = 0x100 - O_DSYNC = 0x40 - O_EXCL = 0x400 - O_EXEC = 0x400000 - O_LARGEFILE = 0x2000 - O_NDELAY = 0x4 - O_NOCTTY = 0x800 - O_NOFOLLOW = 0x20000 - O_NOLINKS = 0x40000 - O_NONBLOCK = 0x80 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_RSYNC = 0x8000 - O_SEARCH = 0x200000 - O_SIOCGIFCONF = -0x3ff796ec - O_SIOCGLIFCONF = -0x3fef9688 - O_SYNC = 0x10 - O_TRUNC = 0x200 - O_WRONLY = 0x1 - O_XATTR = 0x4000 - PARENB = 0x100 - PAREXT = 0x100000 - PARMRK = 0x8 - PARODD = 0x200 - PENDIN = 0x4000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0x6 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x5 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = -0x3 - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x9 - RTAX_NETMASK = 0x2 - RTAX_SRC = 0x8 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTA_NUMBITS = 0x9 - RTA_SRC = 0x100 - RTF_BLACKHOLE = 0x1000 - RTF_CLONING = 0x100 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_HOST = 0x4 - RTF_INDIRECT = 0x40000 - RTF_KERNEL = 0x80000 - RTF_LLINFO = 0x400 - RTF_MASK = 0x80 - RTF_MODIFIED = 0x20 - RTF_MULTIRT = 0x10000 - RTF_PRIVATE = 0x2000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_REJECT = 0x8 - RTF_SETSRC = 0x20000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTF_ZONE = 0x100000 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_CHGADDR = 0xf - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_FREEADDR = 0x10 - RTM_GET = 0x4 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_VERSION = 0x3 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RT_AWARE = 0x1 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_RIGHTS = 0x1010 - SCM_TIMESTAMP = 0x1013 - SCM_UCRED = 0x1012 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIG2STR_MAX = 0x20 - SIOCADDMULTI = -0x7fdf96cf - SIOCADDRT = -0x7fcf8df6 - SIOCATMARK = 0x40047307 - SIOCDARP = -0x7fdb96e0 - SIOCDELMULTI = -0x7fdf96ce - SIOCDELRT = -0x7fcf8df5 - SIOCDXARP = -0x7fff9658 - SIOCGARP = -0x3fdb96e1 - SIOCGDSTINFO = -0x3fff965c - SIOCGENADDR = -0x3fdf96ab - SIOCGENPSTATS = -0x3fdf96c7 - SIOCGETLSGCNT = -0x3fef8deb - SIOCGETNAME = 0x40107334 - SIOCGETPEER = 0x40107335 - SIOCGETPROP = -0x3fff8f44 - SIOCGETSGCNT = -0x3feb8deb - SIOCGETSYNC = -0x3fdf96d3 - SIOCGETVIFCNT = -0x3feb8dec - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = -0x3fdf96f3 - SIOCGIFBRDADDR = -0x3fdf96e9 - SIOCGIFCONF = -0x3ff796a4 - SIOCGIFDSTADDR = -0x3fdf96f1 - SIOCGIFFLAGS = -0x3fdf96ef - SIOCGIFHWADDR = -0x3fdf9647 - SIOCGIFINDEX = -0x3fdf96a6 - SIOCGIFMEM = -0x3fdf96ed - SIOCGIFMETRIC = -0x3fdf96e5 - SIOCGIFMTU = -0x3fdf96ea - SIOCGIFMUXID = -0x3fdf96a8 - SIOCGIFNETMASK = -0x3fdf96e7 - SIOCGIFNUM = 0x40046957 - SIOCGIP6ADDRPOLICY = -0x3fff965e - SIOCGIPMSFILTER = -0x3ffb964c - SIOCGLIFADDR = -0x3f87968f - SIOCGLIFBINDING = -0x3f879666 - SIOCGLIFBRDADDR = -0x3f879685 - SIOCGLIFCONF = -0x3fef965b - SIOCGLIFDADSTATE = -0x3f879642 - SIOCGLIFDSTADDR = -0x3f87968d - SIOCGLIFFLAGS = -0x3f87968b - SIOCGLIFGROUPINFO = -0x3f4b9663 - SIOCGLIFGROUPNAME = -0x3f879664 - SIOCGLIFHWADDR = -0x3f879640 - SIOCGLIFINDEX = -0x3f87967b - SIOCGLIFLNKINFO = -0x3f879674 - SIOCGLIFMETRIC = -0x3f879681 - SIOCGLIFMTU = -0x3f879686 - SIOCGLIFMUXID = -0x3f87967d - SIOCGLIFNETMASK = -0x3f879683 - SIOCGLIFNUM = -0x3ff3967e - SIOCGLIFSRCOF = -0x3fef964f - SIOCGLIFSUBNET = -0x3f879676 - SIOCGLIFTOKEN = -0x3f879678 - SIOCGLIFUSESRC = -0x3f879651 - SIOCGLIFZONE = -0x3f879656 - SIOCGLOWAT = 0x40047303 - SIOCGMSFILTER = -0x3ffb964e - SIOCGPGRP = 0x40047309 - SIOCGSTAMP = -0x3fef9646 - SIOCGXARP = -0x3fff9659 - SIOCIFDETACH = -0x7fdf96c8 - SIOCILB = -0x3ffb9645 - SIOCLIFADDIF = -0x3f879691 - SIOCLIFDELND = -0x7f879673 - SIOCLIFGETND = -0x3f879672 - SIOCLIFREMOVEIF = -0x7f879692 - SIOCLIFSETND = -0x7f879671 - SIOCLOWER = -0x7fdf96d7 - SIOCSARP = -0x7fdb96e2 - SIOCSCTPGOPT = -0x3fef9653 - SIOCSCTPPEELOFF = -0x3ffb9652 - SIOCSCTPSOPT = -0x7fef9654 - SIOCSENABLESDP = -0x3ffb9649 - SIOCSETPROP = -0x7ffb8f43 - SIOCSETSYNC = -0x7fdf96d4 - SIOCSHIWAT = -0x7ffb8d00 - SIOCSIFADDR = -0x7fdf96f4 - SIOCSIFBRDADDR = -0x7fdf96e8 - SIOCSIFDSTADDR = -0x7fdf96f2 - SIOCSIFFLAGS = -0x7fdf96f0 - SIOCSIFINDEX = -0x7fdf96a5 - SIOCSIFMEM = -0x7fdf96ee - SIOCSIFMETRIC = -0x7fdf96e4 - SIOCSIFMTU = -0x7fdf96eb - SIOCSIFMUXID = -0x7fdf96a7 - SIOCSIFNAME = -0x7fdf96b7 - SIOCSIFNETMASK = -0x7fdf96e6 - SIOCSIP6ADDRPOLICY = -0x7fff965d - SIOCSIPMSFILTER = -0x7ffb964b - SIOCSLGETREQ = -0x3fdf96b9 - SIOCSLIFADDR = -0x7f879690 - SIOCSLIFBRDADDR = -0x7f879684 - SIOCSLIFDSTADDR = -0x7f87968e - SIOCSLIFFLAGS = -0x7f87968c - SIOCSLIFGROUPNAME = -0x7f879665 - SIOCSLIFINDEX = -0x7f87967a - SIOCSLIFLNKINFO = -0x7f879675 - SIOCSLIFMETRIC = -0x7f879680 - SIOCSLIFMTU = -0x7f879687 - SIOCSLIFMUXID = -0x7f87967c - SIOCSLIFNAME = -0x3f87967f - SIOCSLIFNETMASK = -0x7f879682 - SIOCSLIFPREFIX = -0x3f879641 - SIOCSLIFSUBNET = -0x7f879677 - SIOCSLIFTOKEN = -0x7f879679 - SIOCSLIFUSESRC = -0x7f879650 - SIOCSLIFZONE = -0x7f879655 - SIOCSLOWAT = -0x7ffb8cfe - SIOCSLSTAT = -0x7fdf96b8 - SIOCSMSFILTER = -0x7ffb964d - SIOCSPGRP = -0x7ffb8cf8 - SIOCSPROMISC = -0x7ffb96d0 - SIOCSQPTR = -0x3ffb9648 - SIOCSSDSTATS = -0x3fdf96d2 - SIOCSSESTATS = -0x3fdf96d1 - SIOCSXARP = -0x7fff965a - SIOCTMYADDR = -0x3ff79670 - SIOCTMYSITE = -0x3ff7966e - SIOCTONLINK = -0x3ff7966f - SIOCUPPER = -0x7fdf96d8 - SIOCX25RCV = -0x3fdf96c4 - SIOCX25TBL = -0x3fdf96c3 - SIOCX25XMT = -0x3fdf96c5 - SIOCXPROTO = 0x20007337 - SOCK_CLOEXEC = 0x80000 - SOCK_DGRAM = 0x1 - SOCK_NDELAY = 0x200000 - SOCK_NONBLOCK = 0x100000 - SOCK_RAW = 0x4 - SOCK_RDM = 0x5 - SOCK_SEQPACKET = 0x6 - SOCK_STREAM = 0x2 - SOCK_TYPE_MASK = 0xffff - SOL_FILTER = 0xfffc - SOL_PACKET = 0xfffd - SOL_ROUTE = 0xfffe - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ALL = 0x3f - SO_ALLZONES = 0x1014 - SO_ANON_MLP = 0x100a - SO_ATTACH_FILTER = 0x40000001 - SO_BAND = 0x4000 - SO_BROADCAST = 0x20 - SO_COPYOPT = 0x80000 - SO_DEBUG = 0x1 - SO_DELIM = 0x8000 - SO_DETACH_FILTER = 0x40000002 - SO_DGRAM_ERRIND = 0x200 - SO_DOMAIN = 0x100c - SO_DONTLINGER = -0x81 - SO_DONTROUTE = 0x10 - SO_ERROPT = 0x40000 - SO_ERROR = 0x1007 - SO_EXCLBIND = 0x1015 - SO_HIWAT = 0x10 - SO_ISNTTY = 0x800 - SO_ISTTY = 0x400 - SO_KEEPALIVE = 0x8 - SO_LINGER = 0x80 - SO_LOWAT = 0x20 - SO_MAC_EXEMPT = 0x100b - SO_MAC_IMPLICIT = 0x1016 - SO_MAXBLK = 0x100000 - SO_MAXPSZ = 0x8 - SO_MINPSZ = 0x4 - SO_MREADOFF = 0x80 - SO_MREADON = 0x40 - SO_NDELOFF = 0x200 - SO_NDELON = 0x100 - SO_NODELIM = 0x10000 - SO_OOBINLINE = 0x100 - SO_PROTOTYPE = 0x1009 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVPSH = 0x100d - SO_RCVTIMEO = 0x1006 - SO_READOPT = 0x1 - SO_RECVUCRED = 0x400 - SO_REUSEADDR = 0x4 - SO_SECATTR = 0x1011 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_STRHOLD = 0x20000 - SO_TAIL = 0x200000 - SO_TIMESTAMP = 0x1013 - SO_TONSTOP = 0x2000 - SO_TOSTOP = 0x1000 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_VRRP = 0x1017 - SO_WROFF = 0x2 - TAB0 = 0x0 - TAB1 = 0x800 - TAB2 = 0x1000 - TAB3 = 0x1800 - TABDLY = 0x1800 - TCFLSH = 0x5407 - TCGETA = 0x5401 - TCGETS = 0x540d - TCIFLUSH = 0x0 - TCIOFF = 0x2 - TCIOFLUSH = 0x2 - TCION = 0x3 - TCOFLUSH = 0x1 - TCOOFF = 0x0 - TCOON = 0x1 - TCP_ABORT_THRESHOLD = 0x11 - TCP_ANONPRIVBIND = 0x20 - TCP_CONN_ABORT_THRESHOLD = 0x13 - TCP_CONN_NOTIFY_THRESHOLD = 0x12 - TCP_CORK = 0x18 - TCP_EXCLBIND = 0x21 - TCP_INIT_CWND = 0x15 - TCP_KEEPALIVE = 0x8 - TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 - TCP_KEEPALIVE_THRESHOLD = 0x16 - TCP_KEEPCNT = 0x23 - TCP_KEEPIDLE = 0x22 - TCP_KEEPINTVL = 0x24 - TCP_LINGER2 = 0x1c - TCP_MAXSEG = 0x2 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOTIFY_THRESHOLD = 0x10 - TCP_RECVDSTADDR = 0x14 - TCP_RTO_INITIAL = 0x19 - TCP_RTO_MAX = 0x1b - TCP_RTO_MIN = 0x1a - TCSAFLUSH = 0x5410 - TCSBRK = 0x5405 - TCSETA = 0x5402 - TCSETAF = 0x5404 - TCSETAW = 0x5403 - TCSETS = 0x540e - TCSETSF = 0x5410 - TCSETSW = 0x540f - TCXONC = 0x5406 - TIOC = 0x5400 - TIOCCBRK = 0x747a - TIOCCDTR = 0x7478 - TIOCCILOOP = 0x746c - TIOCEXCL = 0x740d - TIOCFLUSH = 0x7410 - TIOCGETC = 0x7412 - TIOCGETD = 0x7400 - TIOCGETP = 0x7408 - TIOCGLTC = 0x7474 - TIOCGPGRP = 0x7414 - TIOCGPPS = 0x547d - TIOCGPPSEV = 0x547f - TIOCGSID = 0x7416 - TIOCGSOFTCAR = 0x5469 - TIOCGWINSZ = 0x5468 - TIOCHPCL = 0x7402 - TIOCKBOF = 0x5409 - TIOCKBON = 0x5408 - TIOCLBIC = 0x747e - TIOCLBIS = 0x747f - TIOCLGET = 0x747c - TIOCLSET = 0x747d - TIOCMBIC = 0x741c - TIOCMBIS = 0x741b - TIOCMGET = 0x741d - TIOCMSET = 0x741a - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x7471 - TIOCNXCL = 0x740e - TIOCOUTQ = 0x7473 - TIOCREMOTE = 0x741e - TIOCSBRK = 0x747b - TIOCSCTTY = 0x7484 - TIOCSDTR = 0x7479 - TIOCSETC = 0x7411 - TIOCSETD = 0x7401 - TIOCSETN = 0x740a - TIOCSETP = 0x7409 - TIOCSIGNAL = 0x741f - TIOCSILOOP = 0x746d - TIOCSLTC = 0x7475 - TIOCSPGRP = 0x7415 - TIOCSPPS = 0x547e - TIOCSSOFTCAR = 0x546a - TIOCSTART = 0x746e - TIOCSTI = 0x7417 - TIOCSTOP = 0x746f - TIOCSWINSZ = 0x5467 - TOSTOP = 0x100 - VCEOF = 0x8 - VCEOL = 0x9 - VDISCARD = 0xd - VDSUSP = 0xb - VEOF = 0x4 - VEOL = 0x5 - VEOL2 = 0x6 - VERASE = 0x2 - VINTR = 0x0 - VKILL = 0x3 - VLNEXT = 0xf - VMIN = 0x4 - VQUIT = 0x1 - VREPRINT = 0xc - VSTART = 0x8 - VSTATUS = 0x10 - VSTOP = 0x9 - VSUSP = 0xa - VSWTCH = 0x7 - VT0 = 0x0 - VT1 = 0x4000 - VTDLY = 0x4000 - VTIME = 0x5 - VWERASE = 0xe - WCONTFLG = 0xffff - WCONTINUED = 0x8 - WCOREFLG = 0x80 - WEXITED = 0x1 - WNOHANG = 0x40 - WNOWAIT = 0x80 - WOPTMASK = 0xcf - WRAP = 0x20000 - WSIGMASK = 0x7f - WSTOPFLG = 0x7f - WSTOPPED = 0x4 - WTRAPPED = 0x2 - WUNTRACED = 0x4 - XCASE = 0x4 - XTABS = 0x1800 -) - -// Errors -const ( - E2BIG = syscall.Errno(0x7) - EACCES = syscall.Errno(0xd) - EADDRINUSE = syscall.Errno(0x7d) - EADDRNOTAVAIL = syscall.Errno(0x7e) - EADV = syscall.Errno(0x44) - EAFNOSUPPORT = syscall.Errno(0x7c) - EAGAIN = syscall.Errno(0xb) - EALREADY = syscall.Errno(0x95) - EBADE = syscall.Errno(0x32) - EBADF = syscall.Errno(0x9) - EBADFD = syscall.Errno(0x51) - EBADMSG = syscall.Errno(0x4d) - EBADR = syscall.Errno(0x33) - EBADRQC = syscall.Errno(0x36) - EBADSLT = syscall.Errno(0x37) - EBFONT = syscall.Errno(0x39) - EBUSY = syscall.Errno(0x10) - ECANCELED = syscall.Errno(0x2f) - ECHILD = syscall.Errno(0xa) - ECHRNG = syscall.Errno(0x25) - ECOMM = syscall.Errno(0x46) - ECONNABORTED = syscall.Errno(0x82) - ECONNREFUSED = syscall.Errno(0x92) - ECONNRESET = syscall.Errno(0x83) - EDEADLK = syscall.Errno(0x2d) - EDEADLOCK = syscall.Errno(0x38) - EDESTADDRREQ = syscall.Errno(0x60) - EDOM = syscall.Errno(0x21) - EDQUOT = syscall.Errno(0x31) - EEXIST = syscall.Errno(0x11) - EFAULT = syscall.Errno(0xe) - EFBIG = syscall.Errno(0x1b) - EHOSTDOWN = syscall.Errno(0x93) - EHOSTUNREACH = syscall.Errno(0x94) - EIDRM = syscall.Errno(0x24) - EILSEQ = syscall.Errno(0x58) - EINPROGRESS = syscall.Errno(0x96) - EINTR = syscall.Errno(0x4) - EINVAL = syscall.Errno(0x16) - EIO = syscall.Errno(0x5) - EISCONN = syscall.Errno(0x85) - EISDIR = syscall.Errno(0x15) - EL2HLT = syscall.Errno(0x2c) - EL2NSYNC = syscall.Errno(0x26) - EL3HLT = syscall.Errno(0x27) - EL3RST = syscall.Errno(0x28) - ELIBACC = syscall.Errno(0x53) - ELIBBAD = syscall.Errno(0x54) - ELIBEXEC = syscall.Errno(0x57) - ELIBMAX = syscall.Errno(0x56) - ELIBSCN = syscall.Errno(0x55) - ELNRNG = syscall.Errno(0x29) - ELOCKUNMAPPED = syscall.Errno(0x48) - ELOOP = syscall.Errno(0x5a) - EMFILE = syscall.Errno(0x18) - EMLINK = syscall.Errno(0x1f) - EMSGSIZE = syscall.Errno(0x61) - EMULTIHOP = syscall.Errno(0x4a) - ENAMETOOLONG = syscall.Errno(0x4e) - ENETDOWN = syscall.Errno(0x7f) - ENETRESET = syscall.Errno(0x81) - ENETUNREACH = syscall.Errno(0x80) - ENFILE = syscall.Errno(0x17) - ENOANO = syscall.Errno(0x35) - ENOBUFS = syscall.Errno(0x84) - ENOCSI = syscall.Errno(0x2b) - ENODATA = syscall.Errno(0x3d) - ENODEV = syscall.Errno(0x13) - ENOENT = syscall.Errno(0x2) - ENOEXEC = syscall.Errno(0x8) - ENOLCK = syscall.Errno(0x2e) - ENOLINK = syscall.Errno(0x43) - ENOMEM = syscall.Errno(0xc) - ENOMSG = syscall.Errno(0x23) - ENONET = syscall.Errno(0x40) - ENOPKG = syscall.Errno(0x41) - ENOPROTOOPT = syscall.Errno(0x63) - ENOSPC = syscall.Errno(0x1c) - ENOSR = syscall.Errno(0x3f) - ENOSTR = syscall.Errno(0x3c) - ENOSYS = syscall.Errno(0x59) - ENOTACTIVE = syscall.Errno(0x49) - ENOTBLK = syscall.Errno(0xf) - ENOTCONN = syscall.Errno(0x86) - ENOTDIR = syscall.Errno(0x14) - ENOTEMPTY = syscall.Errno(0x5d) - ENOTRECOVERABLE = syscall.Errno(0x3b) - ENOTSOCK = syscall.Errno(0x5f) - ENOTSUP = syscall.Errno(0x30) - ENOTTY = syscall.Errno(0x19) - ENOTUNIQ = syscall.Errno(0x50) - ENXIO = syscall.Errno(0x6) - EOPNOTSUPP = syscall.Errno(0x7a) - EOVERFLOW = syscall.Errno(0x4f) - EOWNERDEAD = syscall.Errno(0x3a) - EPERM = syscall.Errno(0x1) - EPFNOSUPPORT = syscall.Errno(0x7b) - EPIPE = syscall.Errno(0x20) - EPROTO = syscall.Errno(0x47) - EPROTONOSUPPORT = syscall.Errno(0x78) - EPROTOTYPE = syscall.Errno(0x62) - ERANGE = syscall.Errno(0x22) - EREMCHG = syscall.Errno(0x52) - EREMOTE = syscall.Errno(0x42) - ERESTART = syscall.Errno(0x5b) - EROFS = syscall.Errno(0x1e) - ESHUTDOWN = syscall.Errno(0x8f) - ESOCKTNOSUPPORT = syscall.Errno(0x79) - ESPIPE = syscall.Errno(0x1d) - ESRCH = syscall.Errno(0x3) - ESRMNT = syscall.Errno(0x45) - ESTALE = syscall.Errno(0x97) - ESTRPIPE = syscall.Errno(0x5c) - ETIME = syscall.Errno(0x3e) - ETIMEDOUT = syscall.Errno(0x91) - ETOOMANYREFS = syscall.Errno(0x90) - ETXTBSY = syscall.Errno(0x1a) - EUNATCH = syscall.Errno(0x2a) - EUSERS = syscall.Errno(0x5e) - EWOULDBLOCK = syscall.Errno(0xb) - EXDEV = syscall.Errno(0x12) - EXFULL = syscall.Errno(0x34) -) - -// Signals -const ( - SIGABRT = syscall.Signal(0x6) - SIGALRM = syscall.Signal(0xe) - SIGBUS = syscall.Signal(0xa) - SIGCANCEL = syscall.Signal(0x24) - SIGCHLD = syscall.Signal(0x12) - SIGCLD = syscall.Signal(0x12) - SIGCONT = syscall.Signal(0x19) - SIGEMT = syscall.Signal(0x7) - SIGFPE = syscall.Signal(0x8) - SIGFREEZE = syscall.Signal(0x22) - SIGHUP = syscall.Signal(0x1) - SIGILL = syscall.Signal(0x4) - SIGINFO = syscall.Signal(0x29) - SIGINT = syscall.Signal(0x2) - SIGIO = syscall.Signal(0x16) - SIGIOT = syscall.Signal(0x6) - SIGJVM1 = syscall.Signal(0x27) - SIGJVM2 = syscall.Signal(0x28) - SIGKILL = syscall.Signal(0x9) - SIGLOST = syscall.Signal(0x25) - SIGLWP = syscall.Signal(0x21) - SIGPIPE = syscall.Signal(0xd) - SIGPOLL = syscall.Signal(0x16) - SIGPROF = syscall.Signal(0x1d) - SIGPWR = syscall.Signal(0x13) - SIGQUIT = syscall.Signal(0x3) - SIGSEGV = syscall.Signal(0xb) - SIGSTOP = syscall.Signal(0x17) - SIGSYS = syscall.Signal(0xc) - SIGTERM = syscall.Signal(0xf) - SIGTHAW = syscall.Signal(0x23) - SIGTRAP = syscall.Signal(0x5) - SIGTSTP = syscall.Signal(0x18) - SIGTTIN = syscall.Signal(0x1a) - SIGTTOU = syscall.Signal(0x1b) - SIGURG = syscall.Signal(0x15) - SIGUSR1 = syscall.Signal(0x10) - SIGUSR2 = syscall.Signal(0x11) - SIGVTALRM = syscall.Signal(0x1c) - SIGWAITING = syscall.Signal(0x20) - SIGWINCH = syscall.Signal(0x14) - SIGXCPU = syscall.Signal(0x1e) - SIGXFSZ = syscall.Signal(0x1f) - SIGXRES = syscall.Signal(0x26) -) - -// Error table -var errors = [...]string{ - 1: "not owner", - 2: "no such file or directory", - 3: "no such process", - 4: "interrupted system call", - 5: "I/O error", - 6: "no such device or address", - 7: "arg list too long", - 8: "exec format error", - 9: "bad file number", - 10: "no child processes", - 11: "resource temporarily unavailable", - 12: "not enough space", - 13: "permission denied", - 14: "bad address", - 15: "block device required", - 16: "device busy", - 17: "file exists", - 18: "cross-device link", - 19: "no such device", - 20: "not a directory", - 21: "is a directory", - 22: "invalid argument", - 23: "file table overflow", - 24: "too many open files", - 25: "inappropriate ioctl for device", - 26: "text file busy", - 27: "file too large", - 28: "no space left on device", - 29: "illegal seek", - 30: "read-only file system", - 31: "too many links", - 32: "broken pipe", - 33: "argument out of domain", - 34: "result too large", - 35: "no message of desired type", - 36: "identifier removed", - 37: "channel number out of range", - 38: "level 2 not synchronized", - 39: "level 3 halted", - 40: "level 3 reset", - 41: "link number out of range", - 42: "protocol driver not attached", - 43: "no CSI structure available", - 44: "level 2 halted", - 45: "deadlock situation detected/avoided", - 46: "no record locks available", - 47: "operation canceled", - 48: "operation not supported", - 49: "disc quota exceeded", - 50: "bad exchange descriptor", - 51: "bad request descriptor", - 52: "message tables full", - 53: "anode table overflow", - 54: "bad request code", - 55: "invalid slot", - 56: "file locking deadlock", - 57: "bad font file format", - 58: "owner of the lock died", - 59: "lock is not recoverable", - 60: "not a stream device", - 61: "no data available", - 62: "timer expired", - 63: "out of stream resources", - 64: "machine is not on the network", - 65: "package not installed", - 66: "object is remote", - 67: "link has been severed", - 68: "advertise error", - 69: "srmount error", - 70: "communication error on send", - 71: "protocol error", - 72: "locked lock was unmapped ", - 73: "facility is not active", - 74: "multihop attempted", - 77: "not a data message", - 78: "file name too long", - 79: "value too large for defined data type", - 80: "name not unique on network", - 81: "file descriptor in bad state", - 82: "remote address changed", - 83: "can not access a needed shared library", - 84: "accessing a corrupted shared library", - 85: ".lib section in a.out corrupted", - 86: "attempting to link in more shared libraries than system limit", - 87: "can not exec a shared library directly", - 88: "illegal byte sequence", - 89: "operation not applicable", - 90: "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS", - 91: "error 91", - 92: "error 92", - 93: "directory not empty", - 94: "too many users", - 95: "socket operation on non-socket", - 96: "destination address required", - 97: "message too long", - 98: "protocol wrong type for socket", - 99: "option not supported by protocol", - 120: "protocol not supported", - 121: "socket type not supported", - 122: "operation not supported on transport endpoint", - 123: "protocol family not supported", - 124: "address family not supported by protocol family", - 125: "address already in use", - 126: "cannot assign requested address", - 127: "network is down", - 128: "network is unreachable", - 129: "network dropped connection because of reset", - 130: "software caused connection abort", - 131: "connection reset by peer", - 132: "no buffer space available", - 133: "transport endpoint is already connected", - 134: "transport endpoint is not connected", - 143: "cannot send after socket shutdown", - 144: "too many references: cannot splice", - 145: "connection timed out", - 146: "connection refused", - 147: "host is down", - 148: "no route to host", - 149: "operation already in progress", - 150: "operation now in progress", - 151: "stale NFS file handle", -} - -// Signal table -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal Instruction", - 5: "trace/Breakpoint Trap", - 6: "abort", - 7: "emulation Trap", - 8: "arithmetic Exception", - 9: "killed", - 10: "bus Error", - 11: "segmentation Fault", - 12: "bad System Call", - 13: "broken Pipe", - 14: "alarm Clock", - 15: "terminated", - 16: "user Signal 1", - 17: "user Signal 2", - 18: "child Status Changed", - 19: "power-Fail/Restart", - 20: "window Size Change", - 21: "urgent Socket Condition", - 22: "pollable Event", - 23: "stopped (signal)", - 24: "stopped (user)", - 25: "continued", - 26: "stopped (tty input)", - 27: "stopped (tty output)", - 28: "virtual Timer Expired", - 29: "profiling Timer Expired", - 30: "cpu Limit Exceeded", - 31: "file Size Limit Exceeded", - 32: "no runnable lwp", - 33: "inter-lwp signal", - 34: "checkpoint Freeze", - 35: "checkpoint Thaw", - 36: "thread Cancellation", - 37: "resource Lost", - 38: "resource Control Exceeded", - 39: "reserved for JVM 1", - 40: "reserved for JVM 2", - 41: "information Request", -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go deleted file mode 100644 index e48f4a5..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go +++ /dev/null @@ -1,1394 +0,0 @@ -// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build darwin,386 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kill(pid int, signum int, posix int) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exchangedata(path1 string, path2 string, options int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path1) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(path2) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setprivexec(flag int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { - r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - sec = int32(r0) - usec = int32(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go deleted file mode 100644 index 672ada0..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ /dev/null @@ -1,1409 +0,0 @@ -// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build darwin,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kill(pid int, signum int, posix int) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exchangedata(path1 string, path2 string, options int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path1) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(path2) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setprivexec(flag int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { - r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - sec = int64(r0) - usec = int32(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go deleted file mode 100644 index d516409..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go +++ /dev/null @@ -1,1394 +0,0 @@ -// mksyscall.pl -l32 -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build darwin,arm - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kill(pid int, signum int, posix int) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exchangedata(path1 string, path2 string, options int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path1) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(path2) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setprivexec(flag int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { - r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - sec = int32(r0) - usec = int32(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go deleted file mode 100644 index e97759c..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ /dev/null @@ -1,1394 +0,0 @@ -// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build darwin,arm64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kill(pid int, signum int, posix int) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exchangedata(path1 string, path2 string, options int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path1) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(path2) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setprivexec(flag int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { - r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - sec = int64(r0) - usec = int32(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go deleted file mode 100644 index eafceb8..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +++ /dev/null @@ -1,1393 +0,0 @@ -// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build dragonfly,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go deleted file mode 100644 index f53801c..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +++ /dev/null @@ -1,1617 +0,0 @@ -// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build freebsd,386 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go deleted file mode 100644 index 55b0741..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +++ /dev/null @@ -1,1617 +0,0 @@ -// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build freebsd,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go deleted file mode 100644 index 0e9b42b..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +++ /dev/null @@ -1,1617 +0,0 @@ -// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build freebsd,arm - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (r int, w int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - r = int(r0) - w = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(file) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attrname) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(link) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdtablesize() (size int) { - r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) - size = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Undelete(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go deleted file mode 100644 index 51de848..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ /dev/null @@ -1,1927 +0,0 @@ -// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,386 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Time(t *Time_t) (tt Time_t, err error) { - r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) - tt = Time_t(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go deleted file mode 100644 index 19f9fe5..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ /dev/null @@ -1,2120 +0,0 @@ -// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go deleted file mode 100644 index 47d7d53..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ /dev/null @@ -1,2029 +0,0 @@ -// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,arm - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go deleted file mode 100644 index 7bc6693..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +++ /dev/null @@ -1,2003 +0,0 @@ -// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,arm64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go deleted file mode 100644 index e563565..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ /dev/null @@ -1,2085 +0,0 @@ -// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,mips - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(int64(r0)<<32 | int64(r1)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(int64(r0)<<32 | int64(r1)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Time(t *Time_t) (tt Time_t, err error) { - r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) - tt = Time_t(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go deleted file mode 100644 index 1ee4a5e..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ /dev/null @@ -1,2079 +0,0 @@ -// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,mips64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fstat(fd int, st *stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func lstat(path string, st *stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func stat(path string, st *stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go deleted file mode 100644 index 80506f5..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ /dev/null @@ -1,2079 +0,0 @@ -// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,mips64le - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fstat(fd int, st *stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func lstat(path string, st *stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func stat(path string, st *stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go deleted file mode 100644 index 0a412e1..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ /dev/null @@ -1,2085 +0,0 @@ -// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,mipsle - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Time(t *Time_t) (tt Time_t, err error) { - r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) - tt = Time_t(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go deleted file mode 100644 index c9751d2..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ /dev/null @@ -1,2131 +0,0 @@ -// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,ppc64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Time(t *Time_t) (tt Time_t, err error) { - r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) - tt = Time_t(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go deleted file mode 100644 index 3848a49..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ /dev/null @@ -1,2131 +0,0 @@ -// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,ppc64le - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ioperm(from int, num int, on int) (err error) { - _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Iopl(level int) (err error) { - _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Time(t *Time_t) (tt Time_t, err error) { - r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) - tt = Time_t(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go deleted file mode 100644 index 1e16935..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ /dev/null @@ -1,1911 +0,0 @@ -// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,s390x - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlJoin(cmd int, arg2 string) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg2) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg3) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(arg4) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { - var _p0 unsafe.Pointer - if len(payload) > 0 { - _p0 = unsafe.Pointer(&payload[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(payload) > 0 { - _p2 = unsafe.Pointer(&payload[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Eventfd(initval uint, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Llistxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lremovexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(keyType) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(description) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(callback) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fadvise(fd int, offset int64, length int64, advice int) (err error) { - _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go deleted file mode 100644 index 2dd9843..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ /dev/null @@ -1,1833 +0,0 @@ -// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build linux,sparc64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { - r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getcwd(buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(arg) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(source) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(target) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Acct(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtimex(buf *Timex) (state int, err error) { - r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) - state = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func ClockGettime(clockid int32, time *Timespec) (err error) { - _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { - r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup3(oldfd int, newfd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate(size int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCreate1(flag int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { - _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fdatasync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrandom(buf []byte, flags int) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettid() (tid int) { - r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) - tid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getxattr(path string, attr string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(dest) > 0 { - _p2 = unsafe.Pointer(&dest[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) - watchdesc = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit1(flags int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) - success = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Klogctl(typ int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listxattr(path string, dest []byte) (sz int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(dest) > 0 { - _p1 = unsafe.Pointer(&dest[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) - sz = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PivotRoot(newroot string, putold string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(newroot) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(putold) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { - _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Removexattr(path string, attr string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setdomainname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sethostname(p []byte) (err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setns(fd int, nstype int) (err error) { - _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setxattr(path string, attr string, data []byte, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(attr) - if err != nil { - return - } - var _p2 unsafe.Pointer - if len(data) > 0 { - _p2 = unsafe.Pointer(&data[0]) - } else { - _p2 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() { - Syscall(SYS_SYNC, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sysinfo(info *Sysinfo_t) (err error) { - _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { - _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(mask int) (oldmask int) { - r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Uname(buf *Utsname) (err error) { - _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unshare(flags int) (err error) { - _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func exitThread(code int) (err error) { - _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, p *byte, np int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Madvise(b []byte, advice int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - var _p0 unsafe.Pointer - if len(events) > 0 { - _p0 = unsafe.Pointer(&events[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, buf *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (euid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - euid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func InotifyInit() (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, n int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pause() (err error) { - _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) - written = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsgid(gid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setfsuid(uid int) (err error) { - _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { - r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) - n = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, buf *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { - r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { - r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) - xaddr = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { - r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go deleted file mode 100644 index 3182345..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +++ /dev/null @@ -1,1299 +0,0 @@ -// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build netbsd,386 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) - fd2 = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go deleted file mode 100644 index 74ba818..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +++ /dev/null @@ -1,1299 +0,0 @@ -// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build netbsd,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) - fd2 = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go deleted file mode 100644 index 1f346e2..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +++ /dev/null @@ -1,1299 +0,0 @@ -// mksyscall.pl -l32 -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build netbsd,arm - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) - fd2 = int(r1) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go deleted file mode 100644 index ca3e813..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ /dev/null @@ -1,1357 +0,0 @@ -// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build openbsd,386 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) - newoffset = int64(int64(r1)<<32 | int64(r0)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go deleted file mode 100644 index bf63d55..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ /dev/null @@ -1,1357 +0,0 @@ -// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT - -// +build openbsd,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -var _ syscall.Errno - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { - r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Shutdown(s int, how int) (err error) { - _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { - r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { - var _p0 unsafe.Pointer - if len(mib) > 0 { - _p0 = unsafe.Pointer(&mib[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func utimes(path string, timeval *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func futimes(fd int, timeval *[2]Timeval) (err error) { - _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getdents(fd int, buf []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chflags(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Close(fd int) (err error) { - _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) - nfd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Dup2(from int, to int) (err error) { - _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Exit(code int) { - Syscall(SYS_EXIT, uintptr(code), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchdir(fd int) (err error) { - _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchflags(fd int, flags int) (err error) { - _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Flock(fd int, how int) (err error) { - _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Fsync(fd int) (err error) { - _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getegid() (egid int) { - r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Geteuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getgid() (gid int) { - r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpgrp() (pgrp int) { - r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) - pgrp = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpid() (pid int) { - r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getppid() (ppid int) { - r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) - ppid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getuid() (uid int) { - r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Issetugid() (tainted bool) { - r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) - tainted = bool(r0 != 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Kqueue() (fd int, err error) { - r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Listen(s int, backlog int) (err error) { - _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) - val = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func read(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) - } else { - _p1 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Revoke(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) - newoffset = int64(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { - _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setegid(egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Seteuid(euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setgid(gid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setlogin(name string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(name) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresgid(rgid int, egid int, sgid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setresuid(ruid int, euid int, suid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setsid() (pid int, err error) { - r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Settimeofday(tp *Timeval) (err error) { - _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Setuid(uid int) (err error) { - _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Statfs(path string, stat *Statfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Sync() (err error) { - _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Umask(newmask int) (oldmask int) { - r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) - oldmask = int(r0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Unmount(path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func write(fd int, p []byte) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func readlen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go deleted file mode 100644 index d1ed021..0000000 --- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ /dev/null @@ -1,1589 +0,0 @@ -// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build solaris,amd64 - -package unix - -import ( - "syscall" - "unsafe" -) - -//go:cgo_import_dynamic libc_pipe pipe "libc.so" -//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" -//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" -//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" -//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" -//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" -//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" -//go:cgo_import_dynamic libc_utimes utimes "libc.so" -//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" -//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" -//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" -//go:cgo_import_dynamic libc_accept accept "libsocket.so" -//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" -//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" -//go:cgo_import_dynamic libc_acct acct "libc.so" -//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" -//go:cgo_import_dynamic libc_access access "libc.so" -//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" -//go:cgo_import_dynamic libc_chdir chdir "libc.so" -//go:cgo_import_dynamic libc_chmod chmod "libc.so" -//go:cgo_import_dynamic libc_chown chown "libc.so" -//go:cgo_import_dynamic libc_chroot chroot "libc.so" -//go:cgo_import_dynamic libc_close close "libc.so" -//go:cgo_import_dynamic libc_creat creat "libc.so" -//go:cgo_import_dynamic libc_dup dup "libc.so" -//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" -//go:cgo_import_dynamic libc_exit exit "libc.so" -//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" -//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" -//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" -//go:cgo_import_dynamic libc_fchown fchown "libc.so" -//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" -//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" -//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" -//go:cgo_import_dynamic libc_fstat fstat "libc.so" -//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" -//go:cgo_import_dynamic libc_getdents getdents "libc.so" -//go:cgo_import_dynamic libc_getgid getgid "libc.so" -//go:cgo_import_dynamic libc_getpid getpid "libc.so" -//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" -//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" -//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" -//go:cgo_import_dynamic libc_getegid getegid "libc.so" -//go:cgo_import_dynamic libc_getppid getppid "libc.so" -//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" -//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" -//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" -//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" -//go:cgo_import_dynamic libc_getuid getuid "libc.so" -//go:cgo_import_dynamic libc_kill kill "libc.so" -//go:cgo_import_dynamic libc_lchown lchown "libc.so" -//go:cgo_import_dynamic libc_link link "libc.so" -//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" -//go:cgo_import_dynamic libc_lstat lstat "libc.so" -//go:cgo_import_dynamic libc_madvise madvise "libc.so" -//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" -//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" -//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" -//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" -//go:cgo_import_dynamic libc_mknod mknod "libc.so" -//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" -//go:cgo_import_dynamic libc_mlock mlock "libc.so" -//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" -//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" -//go:cgo_import_dynamic libc_munlock munlock "libc.so" -//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" -//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" -//go:cgo_import_dynamic libc_open open "libc.so" -//go:cgo_import_dynamic libc_openat openat "libc.so" -//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" -//go:cgo_import_dynamic libc_pause pause "libc.so" -//go:cgo_import_dynamic libc_pread pread "libc.so" -//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" -//go:cgo_import_dynamic libc_read read "libc.so" -//go:cgo_import_dynamic libc_readlink readlink "libc.so" -//go:cgo_import_dynamic libc_rename rename "libc.so" -//go:cgo_import_dynamic libc_renameat renameat "libc.so" -//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" -//go:cgo_import_dynamic libc_lseek lseek "libc.so" -//go:cgo_import_dynamic libc_setegid setegid "libc.so" -//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" -//go:cgo_import_dynamic libc_setgid setgid "libc.so" -//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" -//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" -//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" -//go:cgo_import_dynamic libc_setregid setregid "libc.so" -//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" -//go:cgo_import_dynamic libc_setsid setsid "libc.so" -//go:cgo_import_dynamic libc_setuid setuid "libc.so" -//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" -//go:cgo_import_dynamic libc_stat stat "libc.so" -//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" -//go:cgo_import_dynamic libc_symlink symlink "libc.so" -//go:cgo_import_dynamic libc_sync sync "libc.so" -//go:cgo_import_dynamic libc_times times "libc.so" -//go:cgo_import_dynamic libc_truncate truncate "libc.so" -//go:cgo_import_dynamic libc_fsync fsync "libc.so" -//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" -//go:cgo_import_dynamic libc_umask umask "libc.so" -//go:cgo_import_dynamic libc_uname uname "libc.so" -//go:cgo_import_dynamic libc_umount umount "libc.so" -//go:cgo_import_dynamic libc_unlink unlink "libc.so" -//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" -//go:cgo_import_dynamic libc_ustat ustat "libc.so" -//go:cgo_import_dynamic libc_utime utime "libc.so" -//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" -//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" -//go:cgo_import_dynamic libc_mmap mmap "libc.so" -//go:cgo_import_dynamic libc_munmap munmap "libc.so" -//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" -//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" -//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" -//go:cgo_import_dynamic libc_write write "libc.so" -//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" -//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" -//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" -//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" -//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" - -//go:linkname procpipe libc_pipe -//go:linkname procgetsockname libc_getsockname -//go:linkname procGetcwd libc_getcwd -//go:linkname procgetgroups libc_getgroups -//go:linkname procsetgroups libc_setgroups -//go:linkname procwait4 libc_wait4 -//go:linkname procgethostname libc_gethostname -//go:linkname procutimes libc_utimes -//go:linkname procutimensat libc_utimensat -//go:linkname procfcntl libc_fcntl -//go:linkname procfutimesat libc_futimesat -//go:linkname procaccept libc_accept -//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg -//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg -//go:linkname procacct libc_acct -//go:linkname procioctl libc_ioctl -//go:linkname procAccess libc_access -//go:linkname procAdjtime libc_adjtime -//go:linkname procChdir libc_chdir -//go:linkname procChmod libc_chmod -//go:linkname procChown libc_chown -//go:linkname procChroot libc_chroot -//go:linkname procClose libc_close -//go:linkname procCreat libc_creat -//go:linkname procDup libc_dup -//go:linkname procDup2 libc_dup2 -//go:linkname procExit libc_exit -//go:linkname procFchdir libc_fchdir -//go:linkname procFchmod libc_fchmod -//go:linkname procFchmodat libc_fchmodat -//go:linkname procFchown libc_fchown -//go:linkname procFchownat libc_fchownat -//go:linkname procFdatasync libc_fdatasync -//go:linkname procFpathconf libc_fpathconf -//go:linkname procFstat libc_fstat -//go:linkname procFstatvfs libc_fstatvfs -//go:linkname procGetdents libc_getdents -//go:linkname procGetgid libc_getgid -//go:linkname procGetpid libc_getpid -//go:linkname procGetpgid libc_getpgid -//go:linkname procGetpgrp libc_getpgrp -//go:linkname procGeteuid libc_geteuid -//go:linkname procGetegid libc_getegid -//go:linkname procGetppid libc_getppid -//go:linkname procGetpriority libc_getpriority -//go:linkname procGetrlimit libc_getrlimit -//go:linkname procGetrusage libc_getrusage -//go:linkname procGettimeofday libc_gettimeofday -//go:linkname procGetuid libc_getuid -//go:linkname procKill libc_kill -//go:linkname procLchown libc_lchown -//go:linkname procLink libc_link -//go:linkname proc__xnet_llisten libc___xnet_llisten -//go:linkname procLstat libc_lstat -//go:linkname procMadvise libc_madvise -//go:linkname procMkdir libc_mkdir -//go:linkname procMkdirat libc_mkdirat -//go:linkname procMkfifo libc_mkfifo -//go:linkname procMkfifoat libc_mkfifoat -//go:linkname procMknod libc_mknod -//go:linkname procMknodat libc_mknodat -//go:linkname procMlock libc_mlock -//go:linkname procMlockall libc_mlockall -//go:linkname procMprotect libc_mprotect -//go:linkname procMunlock libc_munlock -//go:linkname procMunlockall libc_munlockall -//go:linkname procNanosleep libc_nanosleep -//go:linkname procOpen libc_open -//go:linkname procOpenat libc_openat -//go:linkname procPathconf libc_pathconf -//go:linkname procPause libc_pause -//go:linkname procPread libc_pread -//go:linkname procPwrite libc_pwrite -//go:linkname procread libc_read -//go:linkname procReadlink libc_readlink -//go:linkname procRename libc_rename -//go:linkname procRenameat libc_renameat -//go:linkname procRmdir libc_rmdir -//go:linkname proclseek libc_lseek -//go:linkname procSetegid libc_setegid -//go:linkname procSeteuid libc_seteuid -//go:linkname procSetgid libc_setgid -//go:linkname procSethostname libc_sethostname -//go:linkname procSetpgid libc_setpgid -//go:linkname procSetpriority libc_setpriority -//go:linkname procSetregid libc_setregid -//go:linkname procSetreuid libc_setreuid -//go:linkname procSetrlimit libc_setrlimit -//go:linkname procSetsid libc_setsid -//go:linkname procSetuid libc_setuid -//go:linkname procshutdown libc_shutdown -//go:linkname procStat libc_stat -//go:linkname procStatvfs libc_statvfs -//go:linkname procSymlink libc_symlink -//go:linkname procSync libc_sync -//go:linkname procTimes libc_times -//go:linkname procTruncate libc_truncate -//go:linkname procFsync libc_fsync -//go:linkname procFtruncate libc_ftruncate -//go:linkname procUmask libc_umask -//go:linkname procUname libc_uname -//go:linkname procumount libc_umount -//go:linkname procUnlink libc_unlink -//go:linkname procUnlinkat libc_unlinkat -//go:linkname procUstat libc_ustat -//go:linkname procUtime libc_utime -//go:linkname proc__xnet_bind libc___xnet_bind -//go:linkname proc__xnet_connect libc___xnet_connect -//go:linkname procmmap libc_mmap -//go:linkname procmunmap libc_munmap -//go:linkname proc__xnet_sendto libc___xnet_sendto -//go:linkname proc__xnet_socket libc___xnet_socket -//go:linkname proc__xnet_socketpair libc___xnet_socketpair -//go:linkname procwrite libc_write -//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt -//go:linkname procgetpeername libc_getpeername -//go:linkname procsetsockopt libc_setsockopt -//go:linkname procrecvfrom libc_recvfrom -//go:linkname procsysconf libc_sysconf - -var ( - procpipe, - procgetsockname, - procGetcwd, - procgetgroups, - procsetgroups, - procwait4, - procgethostname, - procutimes, - procutimensat, - procfcntl, - procfutimesat, - procaccept, - proc__xnet_recvmsg, - proc__xnet_sendmsg, - procacct, - procioctl, - procAccess, - procAdjtime, - procChdir, - procChmod, - procChown, - procChroot, - procClose, - procCreat, - procDup, - procDup2, - procExit, - procFchdir, - procFchmod, - procFchmodat, - procFchown, - procFchownat, - procFdatasync, - procFpathconf, - procFstat, - procFstatvfs, - procGetdents, - procGetgid, - procGetpid, - procGetpgid, - procGetpgrp, - procGeteuid, - procGetegid, - procGetppid, - procGetpriority, - procGetrlimit, - procGetrusage, - procGettimeofday, - procGetuid, - procKill, - procLchown, - procLink, - proc__xnet_llisten, - procLstat, - procMadvise, - procMkdir, - procMkdirat, - procMkfifo, - procMkfifoat, - procMknod, - procMknodat, - procMlock, - procMlockall, - procMprotect, - procMunlock, - procMunlockall, - procNanosleep, - procOpen, - procOpenat, - procPathconf, - procPause, - procPread, - procPwrite, - procread, - procReadlink, - procRename, - procRenameat, - procRmdir, - proclseek, - procSetegid, - procSeteuid, - procSetgid, - procSethostname, - procSetpgid, - procSetpriority, - procSetregid, - procSetreuid, - procSetrlimit, - procSetsid, - procSetuid, - procshutdown, - procStat, - procStatvfs, - procSymlink, - procSync, - procTimes, - procTruncate, - procFsync, - procFtruncate, - procUmask, - procUname, - procumount, - procUnlink, - procUnlinkat, - procUstat, - procUtime, - proc__xnet_bind, - proc__xnet_connect, - procmmap, - procmunmap, - proc__xnet_sendto, - proc__xnet_socket, - proc__xnet_socketpair, - procwrite, - proc__xnet_getsockopt, - procgetpeername, - procsetsockopt, - procrecvfrom, - procsysconf syscallFunc -) - -func pipe(p *[2]_C_int) (n int, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Getcwd(buf []byte) (n int, err error) { - var _p0 *byte - if len(buf) > 0 { - _p0 = &buf[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func getgroups(ngid int, gid *_Gid_t) (n int, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func setgroups(ngid int, gid *_Gid_t) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) - wpid = int32(r0) - if e1 != 0 { - err = e1 - } - return -} - -func gethostname(buf []byte) (n int, err error) { - var _p0 *byte - if len(buf) > 0 { - _p0 = &buf[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func utimes(path string, times *[2]Timeval) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) - val = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func acct(path *byte) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Chdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Chmod(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Chown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Chroot(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Close(fd int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Creat(path string, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Dup(fd int) (nfd int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) - nfd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Exit(code int) { - sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) - return -} - -func Fchdir(fd int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fdatasync(fd int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fpathconf(fd int, name int) (val int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) - val = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Fstat(fd int, stat *Stat_t) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { - var _p0 *byte - if len(buf) > 0 { - _p0 = &buf[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Getgid() (gid int) { - r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) - gid = int(r0) - return -} - -func Getpid() (pid int) { - r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) - pid = int(r0) - return -} - -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) - pgid = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Getpgrp() (pgid int, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) - pgid = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Geteuid() (euid int) { - r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) - euid = int(r0) - return -} - -func Getegid() (egid int) { - r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) - egid = int(r0) - return -} - -func Getppid() (ppid int) { - r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) - ppid = int(r0) - return -} - -func Getpriority(which int, who int) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Getrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Getrusage(who int, rusage *Rusage) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Gettimeofday(tv *Timeval) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Getuid() (uid int) { - r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) - uid = int(r0) - return -} - -func Kill(pid int, signum syscall.Signal) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Lchown(path string, uid int, gid int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Link(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Listen(s int, backlog int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Lstat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Madvise(b []byte, advice int) (err error) { - var _p0 *byte - if len(b) > 0 { - _p0 = &b[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mkdirat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mkfifo(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mkfifoat(dirfd int, path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mlock(b []byte) (err error) { - var _p0 *byte - if len(b) > 0 { - _p0 = &b[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mlockall(flags int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Mprotect(b []byte, prot int) (err error) { - var _p0 *byte - if len(b) > 0 { - _p0 = &b[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Munlock(b []byte) (err error) { - var _p0 *byte - if len(b) > 0 { - _p0 = &b[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Munlockall() (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Nanosleep(time *Timespec, leftover *Timespec) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Open(path string, mode int, perm uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) - fd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Pathconf(path string, name int) (val int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) - val = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Pause() (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func read(fd int, p []byte) (n int, err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - if len(buf) > 0 { - _p1 = &buf[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(oldpath) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(newpath) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) - newoffset = int64(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Setegid(egid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Seteuid(euid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setgid(gid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Sethostname(p []byte) (err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setregid(rgid int, egid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Setsid() (pid int, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) - pid = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Setuid(uid int) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Shutdown(s int, how int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Stat(path string, stat *Stat_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Statvfs(path string, vfsstat *Statvfs_t) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Symlink(path string, link string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(link) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Sync() (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = e1 - } - return -} - -func Truncate(path string, length int64) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Fsync(fd int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Umask(mask int) (oldmask int) { - r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) - oldmask = int(r0) - return -} - -func Uname(buf *Utsname) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Unmount(target string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(target) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Unlink(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Unlinkat(dirfd int, path string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Ustat(dev int, ubuf *Ustat_t) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func Utime(path string, buf *Utimbuf) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) - ret = uintptr(r0) - if e1 != 0 { - err = e1 - } - return -} - -func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { - var _p0 *byte - if len(buf) > 0 { - _p0 = &buf[0] - } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = e1 - } - return -} - -func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) - fd = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func write(fd int, p []byte) (n int, err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = e1 - } - return -} - -func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = e1 - } - return -} - -func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { - var _p0 *byte - if len(p) > 0 { - _p0 = &p[0] - } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -func sysconf(name int) (n int64, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0) - n = int64(r0) - if e1 != 0 { - err = e1 - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go deleted file mode 100644 index 83bb935..0000000 --- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go +++ /dev/null @@ -1,270 +0,0 @@ -// mksysctl_openbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -package unix - -type mibentry struct { - ctlname string - ctloid []_C_int -} - -var sysctlMib = []mibentry{ - {"ddb.console", []_C_int{9, 6}}, - {"ddb.log", []_C_int{9, 7}}, - {"ddb.max_line", []_C_int{9, 3}}, - {"ddb.max_width", []_C_int{9, 2}}, - {"ddb.panic", []_C_int{9, 5}}, - {"ddb.radix", []_C_int{9, 1}}, - {"ddb.tab_stop_width", []_C_int{9, 4}}, - {"ddb.trigger", []_C_int{9, 8}}, - {"fs.posix.setuid", []_C_int{3, 1, 1}}, - {"hw.allowpowerdown", []_C_int{6, 22}}, - {"hw.byteorder", []_C_int{6, 4}}, - {"hw.cpuspeed", []_C_int{6, 12}}, - {"hw.diskcount", []_C_int{6, 10}}, - {"hw.disknames", []_C_int{6, 8}}, - {"hw.diskstats", []_C_int{6, 9}}, - {"hw.machine", []_C_int{6, 1}}, - {"hw.model", []_C_int{6, 2}}, - {"hw.ncpu", []_C_int{6, 3}}, - {"hw.ncpufound", []_C_int{6, 21}}, - {"hw.pagesize", []_C_int{6, 7}}, - {"hw.physmem", []_C_int{6, 19}}, - {"hw.product", []_C_int{6, 15}}, - {"hw.serialno", []_C_int{6, 17}}, - {"hw.setperf", []_C_int{6, 13}}, - {"hw.usermem", []_C_int{6, 20}}, - {"hw.uuid", []_C_int{6, 18}}, - {"hw.vendor", []_C_int{6, 14}}, - {"hw.version", []_C_int{6, 16}}, - {"kern.arandom", []_C_int{1, 37}}, - {"kern.argmax", []_C_int{1, 8}}, - {"kern.boottime", []_C_int{1, 21}}, - {"kern.bufcachepercent", []_C_int{1, 72}}, - {"kern.ccpu", []_C_int{1, 45}}, - {"kern.clockrate", []_C_int{1, 12}}, - {"kern.consdev", []_C_int{1, 75}}, - {"kern.cp_time", []_C_int{1, 40}}, - {"kern.cp_time2", []_C_int{1, 71}}, - {"kern.cryptodevallowsoft", []_C_int{1, 53}}, - {"kern.domainname", []_C_int{1, 22}}, - {"kern.file", []_C_int{1, 73}}, - {"kern.forkstat", []_C_int{1, 42}}, - {"kern.fscale", []_C_int{1, 46}}, - {"kern.fsync", []_C_int{1, 33}}, - {"kern.hostid", []_C_int{1, 11}}, - {"kern.hostname", []_C_int{1, 10}}, - {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, - {"kern.job_control", []_C_int{1, 19}}, - {"kern.malloc.buckets", []_C_int{1, 39, 1}}, - {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, - {"kern.maxclusters", []_C_int{1, 67}}, - {"kern.maxfiles", []_C_int{1, 7}}, - {"kern.maxlocksperuid", []_C_int{1, 70}}, - {"kern.maxpartitions", []_C_int{1, 23}}, - {"kern.maxproc", []_C_int{1, 6}}, - {"kern.maxthread", []_C_int{1, 25}}, - {"kern.maxvnodes", []_C_int{1, 5}}, - {"kern.mbstat", []_C_int{1, 59}}, - {"kern.msgbuf", []_C_int{1, 48}}, - {"kern.msgbufsize", []_C_int{1, 38}}, - {"kern.nchstats", []_C_int{1, 41}}, - {"kern.netlivelocks", []_C_int{1, 76}}, - {"kern.nfiles", []_C_int{1, 56}}, - {"kern.ngroups", []_C_int{1, 18}}, - {"kern.nosuidcoredump", []_C_int{1, 32}}, - {"kern.nprocs", []_C_int{1, 47}}, - {"kern.nselcoll", []_C_int{1, 43}}, - {"kern.nthreads", []_C_int{1, 26}}, - {"kern.numvnodes", []_C_int{1, 58}}, - {"kern.osrelease", []_C_int{1, 2}}, - {"kern.osrevision", []_C_int{1, 3}}, - {"kern.ostype", []_C_int{1, 1}}, - {"kern.osversion", []_C_int{1, 27}}, - {"kern.pool_debug", []_C_int{1, 77}}, - {"kern.posix1version", []_C_int{1, 17}}, - {"kern.proc", []_C_int{1, 66}}, - {"kern.random", []_C_int{1, 31}}, - {"kern.rawpartition", []_C_int{1, 24}}, - {"kern.saved_ids", []_C_int{1, 20}}, - {"kern.securelevel", []_C_int{1, 9}}, - {"kern.seminfo", []_C_int{1, 61}}, - {"kern.shminfo", []_C_int{1, 62}}, - {"kern.somaxconn", []_C_int{1, 28}}, - {"kern.sominconn", []_C_int{1, 29}}, - {"kern.splassert", []_C_int{1, 54}}, - {"kern.stackgap_random", []_C_int{1, 50}}, - {"kern.sysvipc_info", []_C_int{1, 51}}, - {"kern.sysvmsg", []_C_int{1, 34}}, - {"kern.sysvsem", []_C_int{1, 35}}, - {"kern.sysvshm", []_C_int{1, 36}}, - {"kern.timecounter.choice", []_C_int{1, 69, 4}}, - {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, - {"kern.timecounter.tick", []_C_int{1, 69, 1}}, - {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, - {"kern.tty.maxptys", []_C_int{1, 44, 6}}, - {"kern.tty.nptys", []_C_int{1, 44, 7}}, - {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, - {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, - {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, - {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, - {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, - {"kern.ttycount", []_C_int{1, 57}}, - {"kern.userasymcrypto", []_C_int{1, 60}}, - {"kern.usercrypto", []_C_int{1, 52}}, - {"kern.usermount", []_C_int{1, 30}}, - {"kern.version", []_C_int{1, 4}}, - {"kern.vnode", []_C_int{1, 13}}, - {"kern.watchdog.auto", []_C_int{1, 64, 2}}, - {"kern.watchdog.period", []_C_int{1, 64, 1}}, - {"net.bpf.bufsize", []_C_int{4, 31, 1}}, - {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, - {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, - {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, - {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, - {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, - {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, - {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, - {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, - {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, - {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, - {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, - {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, - {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, - {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, - {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, - {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, - {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, - {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, - {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, - {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, - {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, - {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, - {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, - {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, - {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, - {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, - {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, - {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, - {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, - {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, - {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, - {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, - {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, - {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, - {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, - {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, - {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, - {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, - {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, - {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, - {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, - {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, - {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, - {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, - {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, - {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, - {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, - {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, - {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, - {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, - {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, - {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, - {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, - {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, - {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, - {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, - {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, - {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, - {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, - {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, - {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, - {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, - {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, - {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, - {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, - {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, - {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, - {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, - {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, - {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, - {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, - {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, - {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, - {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, - {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, - {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, - {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, - {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, - {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, - {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, - {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, - {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, - {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, - {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, - {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, - {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, - {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, - {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, - {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, - {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, - {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, - {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, - {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, - {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, - {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, - {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, - {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, - {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, - {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, - {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, - {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, - {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, - {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, - {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, - {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, - {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, - {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, - {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, - {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, - {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, - {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, - {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, - {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, - {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, - {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, - {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, - {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, - {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, - {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, - {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, - {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, - {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, - {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, - {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, - {"net.key.sadb_dump", []_C_int{4, 30, 1}}, - {"net.key.spd_dump", []_C_int{4, 30, 2}}, - {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, - {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, - {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, - {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, - {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, - {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, - {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, - {"net.mpls.ttl", []_C_int{4, 33, 2}}, - {"net.pflow.stats", []_C_int{4, 34, 1}}, - {"net.pipex.enable", []_C_int{4, 35, 1}}, - {"vm.anonmin", []_C_int{2, 7}}, - {"vm.loadavg", []_C_int{2, 2}}, - {"vm.maxslp", []_C_int{2, 10}}, - {"vm.nkmempages", []_C_int{2, 6}}, - {"vm.psstrings", []_C_int{2, 3}}, - {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, - {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, - {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, - {"vm.uspace", []_C_int{2, 11}}, - {"vm.uvmexp", []_C_int{2, 4}}, - {"vm.vmmeter", []_C_int{2, 1}}, - {"vm.vnodemin", []_C_int{2, 9}}, - {"vm.vtextmin", []_C_int{2, 8}}, -} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go deleted file mode 100644 index 2786773..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go +++ /dev/null @@ -1,398 +0,0 @@ -// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build 386,darwin - -package unix - -const ( - SYS_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_CHDIR = 12 - SYS_FCHDIR = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_CHOWN = 16 - SYS_GETFSSTAT = 18 - SYS_GETPID = 20 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_GETEUID = 25 - SYS_PTRACE = 26 - SYS_RECVMSG = 27 - SYS_SENDMSG = 28 - SYS_RECVFROM = 29 - SYS_ACCEPT = 30 - SYS_GETPEERNAME = 31 - SYS_GETSOCKNAME = 32 - SYS_ACCESS = 33 - SYS_CHFLAGS = 34 - SYS_FCHFLAGS = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_GETPPID = 39 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_GETEGID = 43 - SYS_SIGACTION = 46 - SYS_GETGID = 47 - SYS_SIGPROCMASK = 48 - SYS_GETLOGIN = 49 - SYS_SETLOGIN = 50 - SYS_ACCT = 51 - SYS_SIGPENDING = 52 - SYS_SIGALTSTACK = 53 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_REVOKE = 56 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETPGID = 82 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_GETDTABLESIZE = 89 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_GETPRIORITY = 100 - SYS_BIND = 104 - SYS_SETSOCKOPT = 105 - SYS_LISTEN = 106 - SYS_SIGSUSPEND = 111 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_FLOCK = 131 - SYS_MKFIFO = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_FUTIMES = 139 - SYS_ADJTIME = 140 - SYS_GETHOSTUUID = 142 - SYS_SETSID = 147 - SYS_GETPGID = 151 - SYS_SETPRIVEXEC = 152 - SYS_PREAD = 153 - SYS_PWRITE = 154 - SYS_NFSSVC = 155 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UNMOUNT = 159 - SYS_GETFH = 161 - SYS_QUOTACTL = 165 - SYS_MOUNT = 167 - SYS_CSOPS = 169 - SYS_CSOPS_AUDITTOKEN = 170 - SYS_WAITID = 173 - SYS_KDEBUG_TRACE64 = 179 - SYS_KDEBUG_TRACE = 180 - SYS_SETGID = 181 - SYS_SETEGID = 182 - SYS_SETEUID = 183 - SYS_SIGRETURN = 184 - SYS_CHUD = 185 - SYS_FDATASYNC = 187 - SYS_STAT = 188 - SYS_FSTAT = 189 - SYS_LSTAT = 190 - SYS_PATHCONF = 191 - SYS_FPATHCONF = 192 - SYS_GETRLIMIT = 194 - SYS_SETRLIMIT = 195 - SYS_GETDIRENTRIES = 196 - SYS_MMAP = 197 - SYS_LSEEK = 199 - SYS_TRUNCATE = 200 - SYS_FTRUNCATE = 201 - SYS_SYSCTL = 202 - SYS_MLOCK = 203 - SYS_MUNLOCK = 204 - SYS_UNDELETE = 205 - SYS_OPEN_DPROTECTED_NP = 216 - SYS_GETATTRLIST = 220 - SYS_SETATTRLIST = 221 - SYS_GETDIRENTRIESATTR = 222 - SYS_EXCHANGEDATA = 223 - SYS_SEARCHFS = 225 - SYS_DELETE = 226 - SYS_COPYFILE = 227 - SYS_FGETATTRLIST = 228 - SYS_FSETATTRLIST = 229 - SYS_POLL = 230 - SYS_WATCHEVENT = 231 - SYS_WAITEVENT = 232 - SYS_MODWATCH = 233 - SYS_GETXATTR = 234 - SYS_FGETXATTR = 235 - SYS_SETXATTR = 236 - SYS_FSETXATTR = 237 - SYS_REMOVEXATTR = 238 - SYS_FREMOVEXATTR = 239 - SYS_LISTXATTR = 240 - SYS_FLISTXATTR = 241 - SYS_FSCTL = 242 - SYS_INITGROUPS = 243 - SYS_POSIX_SPAWN = 244 - SYS_FFSCTL = 245 - SYS_NFSCLNT = 247 - SYS_FHOPEN = 248 - SYS_MINHERIT = 250 - SYS_SEMSYS = 251 - SYS_MSGSYS = 252 - SYS_SHMSYS = 253 - SYS_SEMCTL = 254 - SYS_SEMGET = 255 - SYS_SEMOP = 256 - SYS_MSGCTL = 258 - SYS_MSGGET = 259 - SYS_MSGSND = 260 - SYS_MSGRCV = 261 - SYS_SHMAT = 262 - SYS_SHMCTL = 263 - SYS_SHMDT = 264 - SYS_SHMGET = 265 - SYS_SHM_OPEN = 266 - SYS_SHM_UNLINK = 267 - SYS_SEM_OPEN = 268 - SYS_SEM_CLOSE = 269 - SYS_SEM_UNLINK = 270 - SYS_SEM_WAIT = 271 - SYS_SEM_TRYWAIT = 272 - SYS_SEM_POST = 273 - SYS_SYSCTLBYNAME = 274 - SYS_OPEN_EXTENDED = 277 - SYS_UMASK_EXTENDED = 278 - SYS_STAT_EXTENDED = 279 - SYS_LSTAT_EXTENDED = 280 - SYS_FSTAT_EXTENDED = 281 - SYS_CHMOD_EXTENDED = 282 - SYS_FCHMOD_EXTENDED = 283 - SYS_ACCESS_EXTENDED = 284 - SYS_SETTID = 285 - SYS_GETTID = 286 - SYS_SETSGROUPS = 287 - SYS_GETSGROUPS = 288 - SYS_SETWGROUPS = 289 - SYS_GETWGROUPS = 290 - SYS_MKFIFO_EXTENDED = 291 - SYS_MKDIR_EXTENDED = 292 - SYS_IDENTITYSVC = 293 - SYS_SHARED_REGION_CHECK_NP = 294 - SYS_VM_PRESSURE_MONITOR = 296 - SYS_PSYNCH_RW_LONGRDLOCK = 297 - SYS_PSYNCH_RW_YIELDWRLOCK = 298 - SYS_PSYNCH_RW_DOWNGRADE = 299 - SYS_PSYNCH_RW_UPGRADE = 300 - SYS_PSYNCH_MUTEXWAIT = 301 - SYS_PSYNCH_MUTEXDROP = 302 - SYS_PSYNCH_CVBROAD = 303 - SYS_PSYNCH_CVSIGNAL = 304 - SYS_PSYNCH_CVWAIT = 305 - SYS_PSYNCH_RW_RDLOCK = 306 - SYS_PSYNCH_RW_WRLOCK = 307 - SYS_PSYNCH_RW_UNLOCK = 308 - SYS_PSYNCH_RW_UNLOCK2 = 309 - SYS_GETSID = 310 - SYS_SETTID_WITH_PID = 311 - SYS_PSYNCH_CVCLRPREPOST = 312 - SYS_AIO_FSYNC = 313 - SYS_AIO_RETURN = 314 - SYS_AIO_SUSPEND = 315 - SYS_AIO_CANCEL = 316 - SYS_AIO_ERROR = 317 - SYS_AIO_READ = 318 - SYS_AIO_WRITE = 319 - SYS_LIO_LISTIO = 320 - SYS_IOPOLICYSYS = 322 - SYS_PROCESS_POLICY = 323 - SYS_MLOCKALL = 324 - SYS_MUNLOCKALL = 325 - SYS_ISSETUGID = 327 - SYS___PTHREAD_KILL = 328 - SYS___PTHREAD_SIGMASK = 329 - SYS___SIGWAIT = 330 - SYS___DISABLE_THREADSIGNAL = 331 - SYS___PTHREAD_MARKCANCEL = 332 - SYS___PTHREAD_CANCELED = 333 - SYS___SEMWAIT_SIGNAL = 334 - SYS_PROC_INFO = 336 - SYS_SENDFILE = 337 - SYS_STAT64 = 338 - SYS_FSTAT64 = 339 - SYS_LSTAT64 = 340 - SYS_STAT64_EXTENDED = 341 - SYS_LSTAT64_EXTENDED = 342 - SYS_FSTAT64_EXTENDED = 343 - SYS_GETDIRENTRIES64 = 344 - SYS_STATFS64 = 345 - SYS_FSTATFS64 = 346 - SYS_GETFSSTAT64 = 347 - SYS___PTHREAD_CHDIR = 348 - SYS___PTHREAD_FCHDIR = 349 - SYS_AUDIT = 350 - SYS_AUDITON = 351 - SYS_GETAUID = 353 - SYS_SETAUID = 354 - SYS_GETAUDIT_ADDR = 357 - SYS_SETAUDIT_ADDR = 358 - SYS_AUDITCTL = 359 - SYS_BSDTHREAD_CREATE = 360 - SYS_BSDTHREAD_TERMINATE = 361 - SYS_KQUEUE = 362 - SYS_KEVENT = 363 - SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 - SYS_BSDTHREAD_REGISTER = 366 - SYS_WORKQ_OPEN = 367 - SYS_WORKQ_KERNRETURN = 368 - SYS_KEVENT64 = 369 - SYS___OLD_SEMWAIT_SIGNAL = 370 - SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 - SYS_THREAD_SELFID = 372 - SYS_LEDGER = 373 - SYS___MAC_EXECVE = 380 - SYS___MAC_SYSCALL = 381 - SYS___MAC_GET_FILE = 382 - SYS___MAC_SET_FILE = 383 - SYS___MAC_GET_LINK = 384 - SYS___MAC_SET_LINK = 385 - SYS___MAC_GET_PROC = 386 - SYS___MAC_SET_PROC = 387 - SYS___MAC_GET_FD = 388 - SYS___MAC_SET_FD = 389 - SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 - SYS_READ_NOCANCEL = 396 - SYS_WRITE_NOCANCEL = 397 - SYS_OPEN_NOCANCEL = 398 - SYS_CLOSE_NOCANCEL = 399 - SYS_WAIT4_NOCANCEL = 400 - SYS_RECVMSG_NOCANCEL = 401 - SYS_SENDMSG_NOCANCEL = 402 - SYS_RECVFROM_NOCANCEL = 403 - SYS_ACCEPT_NOCANCEL = 404 - SYS_MSYNC_NOCANCEL = 405 - SYS_FCNTL_NOCANCEL = 406 - SYS_SELECT_NOCANCEL = 407 - SYS_FSYNC_NOCANCEL = 408 - SYS_CONNECT_NOCANCEL = 409 - SYS_SIGSUSPEND_NOCANCEL = 410 - SYS_READV_NOCANCEL = 411 - SYS_WRITEV_NOCANCEL = 412 - SYS_SENDTO_NOCANCEL = 413 - SYS_PREAD_NOCANCEL = 414 - SYS_PWRITE_NOCANCEL = 415 - SYS_WAITID_NOCANCEL = 416 - SYS_POLL_NOCANCEL = 417 - SYS_MSGSND_NOCANCEL = 418 - SYS_MSGRCV_NOCANCEL = 419 - SYS_SEM_WAIT_NOCANCEL = 420 - SYS_AIO_SUSPEND_NOCANCEL = 421 - SYS___SIGWAIT_NOCANCEL = 422 - SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 - SYS___MAC_MOUNT = 424 - SYS___MAC_GET_MOUNT = 425 - SYS___MAC_GETFSSTAT = 426 - SYS_FSGETPATH = 427 - SYS_AUDIT_SESSION_SELF = 428 - SYS_AUDIT_SESSION_JOIN = 429 - SYS_FILEPORT_MAKEPORT = 430 - SYS_FILEPORT_MAKEFD = 431 - SYS_AUDIT_SESSION_PORT = 432 - SYS_PID_SUSPEND = 433 - SYS_PID_RESUME = 434 - SYS_PID_HIBERNATE = 435 - SYS_PID_SHUTDOWN_SOCKETS = 436 - SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 - SYS_KAS_INFO = 439 - SYS_MEMORYSTATUS_CONTROL = 440 - SYS_GUARDED_OPEN_NP = 441 - SYS_GUARDED_CLOSE_NP = 442 - SYS_GUARDED_KQUEUE_NP = 443 - SYS_CHANGE_FDGUARD_NP = 444 - SYS_PROC_RLIMIT_CONTROL = 446 - SYS_CONNECTX = 447 - SYS_DISCONNECTX = 448 - SYS_PEELOFF = 449 - SYS_SOCKET_DELEGATE = 450 - SYS_TELEMETRY = 451 - SYS_PROC_UUID_POLICY = 452 - SYS_MEMORYSTATUS_GET_LEVEL = 453 - SYS_SYSTEM_OVERRIDE = 454 - SYS_VFS_PURGE = 455 - SYS_SFI_CTL = 456 - SYS_SFI_PIDCTL = 457 - SYS_COALITION = 458 - SYS_COALITION_INFO = 459 - SYS_NECP_MATCH_POLICY = 460 - SYS_GETATTRLISTBULK = 461 - SYS_OPENAT = 463 - SYS_OPENAT_NOCANCEL = 464 - SYS_RENAMEAT = 465 - SYS_FACCESSAT = 466 - SYS_FCHMODAT = 467 - SYS_FCHOWNAT = 468 - SYS_FSTATAT = 469 - SYS_FSTATAT64 = 470 - SYS_LINKAT = 471 - SYS_UNLINKAT = 472 - SYS_READLINKAT = 473 - SYS_SYMLINKAT = 474 - SYS_MKDIRAT = 475 - SYS_GETATTRLISTAT = 476 - SYS_PROC_TRACE_LOG = 477 - SYS_BSDTHREAD_CTL = 478 - SYS_OPENBYID_NP = 479 - SYS_RECVMSG_X = 480 - SYS_SENDMSG_X = 481 - SYS_THREAD_SELFUSAGE = 482 - SYS_CSRCTL = 483 - SYS_GUARDED_OPEN_DPROTECTED_NP = 484 - SYS_GUARDED_WRITE_NP = 485 - SYS_GUARDED_PWRITE_NP = 486 - SYS_GUARDED_WRITEV_NP = 487 - SYS_RENAME_EXT = 488 - SYS_MREMAP_ENCRYPTED = 489 - SYS_MAXSYSCALL = 490 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go deleted file mode 100644 index 09de240..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +++ /dev/null @@ -1,398 +0,0 @@ -// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build amd64,darwin - -package unix - -const ( - SYS_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_CHDIR = 12 - SYS_FCHDIR = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_CHOWN = 16 - SYS_GETFSSTAT = 18 - SYS_GETPID = 20 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_GETEUID = 25 - SYS_PTRACE = 26 - SYS_RECVMSG = 27 - SYS_SENDMSG = 28 - SYS_RECVFROM = 29 - SYS_ACCEPT = 30 - SYS_GETPEERNAME = 31 - SYS_GETSOCKNAME = 32 - SYS_ACCESS = 33 - SYS_CHFLAGS = 34 - SYS_FCHFLAGS = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_GETPPID = 39 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_GETEGID = 43 - SYS_SIGACTION = 46 - SYS_GETGID = 47 - SYS_SIGPROCMASK = 48 - SYS_GETLOGIN = 49 - SYS_SETLOGIN = 50 - SYS_ACCT = 51 - SYS_SIGPENDING = 52 - SYS_SIGALTSTACK = 53 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_REVOKE = 56 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETPGID = 82 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_GETDTABLESIZE = 89 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_GETPRIORITY = 100 - SYS_BIND = 104 - SYS_SETSOCKOPT = 105 - SYS_LISTEN = 106 - SYS_SIGSUSPEND = 111 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_FLOCK = 131 - SYS_MKFIFO = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_FUTIMES = 139 - SYS_ADJTIME = 140 - SYS_GETHOSTUUID = 142 - SYS_SETSID = 147 - SYS_GETPGID = 151 - SYS_SETPRIVEXEC = 152 - SYS_PREAD = 153 - SYS_PWRITE = 154 - SYS_NFSSVC = 155 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UNMOUNT = 159 - SYS_GETFH = 161 - SYS_QUOTACTL = 165 - SYS_MOUNT = 167 - SYS_CSOPS = 169 - SYS_CSOPS_AUDITTOKEN = 170 - SYS_WAITID = 173 - SYS_KDEBUG_TRACE64 = 179 - SYS_KDEBUG_TRACE = 180 - SYS_SETGID = 181 - SYS_SETEGID = 182 - SYS_SETEUID = 183 - SYS_SIGRETURN = 184 - SYS_CHUD = 185 - SYS_FDATASYNC = 187 - SYS_STAT = 188 - SYS_FSTAT = 189 - SYS_LSTAT = 190 - SYS_PATHCONF = 191 - SYS_FPATHCONF = 192 - SYS_GETRLIMIT = 194 - SYS_SETRLIMIT = 195 - SYS_GETDIRENTRIES = 196 - SYS_MMAP = 197 - SYS_LSEEK = 199 - SYS_TRUNCATE = 200 - SYS_FTRUNCATE = 201 - SYS_SYSCTL = 202 - SYS_MLOCK = 203 - SYS_MUNLOCK = 204 - SYS_UNDELETE = 205 - SYS_OPEN_DPROTECTED_NP = 216 - SYS_GETATTRLIST = 220 - SYS_SETATTRLIST = 221 - SYS_GETDIRENTRIESATTR = 222 - SYS_EXCHANGEDATA = 223 - SYS_SEARCHFS = 225 - SYS_DELETE = 226 - SYS_COPYFILE = 227 - SYS_FGETATTRLIST = 228 - SYS_FSETATTRLIST = 229 - SYS_POLL = 230 - SYS_WATCHEVENT = 231 - SYS_WAITEVENT = 232 - SYS_MODWATCH = 233 - SYS_GETXATTR = 234 - SYS_FGETXATTR = 235 - SYS_SETXATTR = 236 - SYS_FSETXATTR = 237 - SYS_REMOVEXATTR = 238 - SYS_FREMOVEXATTR = 239 - SYS_LISTXATTR = 240 - SYS_FLISTXATTR = 241 - SYS_FSCTL = 242 - SYS_INITGROUPS = 243 - SYS_POSIX_SPAWN = 244 - SYS_FFSCTL = 245 - SYS_NFSCLNT = 247 - SYS_FHOPEN = 248 - SYS_MINHERIT = 250 - SYS_SEMSYS = 251 - SYS_MSGSYS = 252 - SYS_SHMSYS = 253 - SYS_SEMCTL = 254 - SYS_SEMGET = 255 - SYS_SEMOP = 256 - SYS_MSGCTL = 258 - SYS_MSGGET = 259 - SYS_MSGSND = 260 - SYS_MSGRCV = 261 - SYS_SHMAT = 262 - SYS_SHMCTL = 263 - SYS_SHMDT = 264 - SYS_SHMGET = 265 - SYS_SHM_OPEN = 266 - SYS_SHM_UNLINK = 267 - SYS_SEM_OPEN = 268 - SYS_SEM_CLOSE = 269 - SYS_SEM_UNLINK = 270 - SYS_SEM_WAIT = 271 - SYS_SEM_TRYWAIT = 272 - SYS_SEM_POST = 273 - SYS_SYSCTLBYNAME = 274 - SYS_OPEN_EXTENDED = 277 - SYS_UMASK_EXTENDED = 278 - SYS_STAT_EXTENDED = 279 - SYS_LSTAT_EXTENDED = 280 - SYS_FSTAT_EXTENDED = 281 - SYS_CHMOD_EXTENDED = 282 - SYS_FCHMOD_EXTENDED = 283 - SYS_ACCESS_EXTENDED = 284 - SYS_SETTID = 285 - SYS_GETTID = 286 - SYS_SETSGROUPS = 287 - SYS_GETSGROUPS = 288 - SYS_SETWGROUPS = 289 - SYS_GETWGROUPS = 290 - SYS_MKFIFO_EXTENDED = 291 - SYS_MKDIR_EXTENDED = 292 - SYS_IDENTITYSVC = 293 - SYS_SHARED_REGION_CHECK_NP = 294 - SYS_VM_PRESSURE_MONITOR = 296 - SYS_PSYNCH_RW_LONGRDLOCK = 297 - SYS_PSYNCH_RW_YIELDWRLOCK = 298 - SYS_PSYNCH_RW_DOWNGRADE = 299 - SYS_PSYNCH_RW_UPGRADE = 300 - SYS_PSYNCH_MUTEXWAIT = 301 - SYS_PSYNCH_MUTEXDROP = 302 - SYS_PSYNCH_CVBROAD = 303 - SYS_PSYNCH_CVSIGNAL = 304 - SYS_PSYNCH_CVWAIT = 305 - SYS_PSYNCH_RW_RDLOCK = 306 - SYS_PSYNCH_RW_WRLOCK = 307 - SYS_PSYNCH_RW_UNLOCK = 308 - SYS_PSYNCH_RW_UNLOCK2 = 309 - SYS_GETSID = 310 - SYS_SETTID_WITH_PID = 311 - SYS_PSYNCH_CVCLRPREPOST = 312 - SYS_AIO_FSYNC = 313 - SYS_AIO_RETURN = 314 - SYS_AIO_SUSPEND = 315 - SYS_AIO_CANCEL = 316 - SYS_AIO_ERROR = 317 - SYS_AIO_READ = 318 - SYS_AIO_WRITE = 319 - SYS_LIO_LISTIO = 320 - SYS_IOPOLICYSYS = 322 - SYS_PROCESS_POLICY = 323 - SYS_MLOCKALL = 324 - SYS_MUNLOCKALL = 325 - SYS_ISSETUGID = 327 - SYS___PTHREAD_KILL = 328 - SYS___PTHREAD_SIGMASK = 329 - SYS___SIGWAIT = 330 - SYS___DISABLE_THREADSIGNAL = 331 - SYS___PTHREAD_MARKCANCEL = 332 - SYS___PTHREAD_CANCELED = 333 - SYS___SEMWAIT_SIGNAL = 334 - SYS_PROC_INFO = 336 - SYS_SENDFILE = 337 - SYS_STAT64 = 338 - SYS_FSTAT64 = 339 - SYS_LSTAT64 = 340 - SYS_STAT64_EXTENDED = 341 - SYS_LSTAT64_EXTENDED = 342 - SYS_FSTAT64_EXTENDED = 343 - SYS_GETDIRENTRIES64 = 344 - SYS_STATFS64 = 345 - SYS_FSTATFS64 = 346 - SYS_GETFSSTAT64 = 347 - SYS___PTHREAD_CHDIR = 348 - SYS___PTHREAD_FCHDIR = 349 - SYS_AUDIT = 350 - SYS_AUDITON = 351 - SYS_GETAUID = 353 - SYS_SETAUID = 354 - SYS_GETAUDIT_ADDR = 357 - SYS_SETAUDIT_ADDR = 358 - SYS_AUDITCTL = 359 - SYS_BSDTHREAD_CREATE = 360 - SYS_BSDTHREAD_TERMINATE = 361 - SYS_KQUEUE = 362 - SYS_KEVENT = 363 - SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 - SYS_BSDTHREAD_REGISTER = 366 - SYS_WORKQ_OPEN = 367 - SYS_WORKQ_KERNRETURN = 368 - SYS_KEVENT64 = 369 - SYS___OLD_SEMWAIT_SIGNAL = 370 - SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 - SYS_THREAD_SELFID = 372 - SYS_LEDGER = 373 - SYS___MAC_EXECVE = 380 - SYS___MAC_SYSCALL = 381 - SYS___MAC_GET_FILE = 382 - SYS___MAC_SET_FILE = 383 - SYS___MAC_GET_LINK = 384 - SYS___MAC_SET_LINK = 385 - SYS___MAC_GET_PROC = 386 - SYS___MAC_SET_PROC = 387 - SYS___MAC_GET_FD = 388 - SYS___MAC_SET_FD = 389 - SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 - SYS_READ_NOCANCEL = 396 - SYS_WRITE_NOCANCEL = 397 - SYS_OPEN_NOCANCEL = 398 - SYS_CLOSE_NOCANCEL = 399 - SYS_WAIT4_NOCANCEL = 400 - SYS_RECVMSG_NOCANCEL = 401 - SYS_SENDMSG_NOCANCEL = 402 - SYS_RECVFROM_NOCANCEL = 403 - SYS_ACCEPT_NOCANCEL = 404 - SYS_MSYNC_NOCANCEL = 405 - SYS_FCNTL_NOCANCEL = 406 - SYS_SELECT_NOCANCEL = 407 - SYS_FSYNC_NOCANCEL = 408 - SYS_CONNECT_NOCANCEL = 409 - SYS_SIGSUSPEND_NOCANCEL = 410 - SYS_READV_NOCANCEL = 411 - SYS_WRITEV_NOCANCEL = 412 - SYS_SENDTO_NOCANCEL = 413 - SYS_PREAD_NOCANCEL = 414 - SYS_PWRITE_NOCANCEL = 415 - SYS_WAITID_NOCANCEL = 416 - SYS_POLL_NOCANCEL = 417 - SYS_MSGSND_NOCANCEL = 418 - SYS_MSGRCV_NOCANCEL = 419 - SYS_SEM_WAIT_NOCANCEL = 420 - SYS_AIO_SUSPEND_NOCANCEL = 421 - SYS___SIGWAIT_NOCANCEL = 422 - SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 - SYS___MAC_MOUNT = 424 - SYS___MAC_GET_MOUNT = 425 - SYS___MAC_GETFSSTAT = 426 - SYS_FSGETPATH = 427 - SYS_AUDIT_SESSION_SELF = 428 - SYS_AUDIT_SESSION_JOIN = 429 - SYS_FILEPORT_MAKEPORT = 430 - SYS_FILEPORT_MAKEFD = 431 - SYS_AUDIT_SESSION_PORT = 432 - SYS_PID_SUSPEND = 433 - SYS_PID_RESUME = 434 - SYS_PID_HIBERNATE = 435 - SYS_PID_SHUTDOWN_SOCKETS = 436 - SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 - SYS_KAS_INFO = 439 - SYS_MEMORYSTATUS_CONTROL = 440 - SYS_GUARDED_OPEN_NP = 441 - SYS_GUARDED_CLOSE_NP = 442 - SYS_GUARDED_KQUEUE_NP = 443 - SYS_CHANGE_FDGUARD_NP = 444 - SYS_PROC_RLIMIT_CONTROL = 446 - SYS_CONNECTX = 447 - SYS_DISCONNECTX = 448 - SYS_PEELOFF = 449 - SYS_SOCKET_DELEGATE = 450 - SYS_TELEMETRY = 451 - SYS_PROC_UUID_POLICY = 452 - SYS_MEMORYSTATUS_GET_LEVEL = 453 - SYS_SYSTEM_OVERRIDE = 454 - SYS_VFS_PURGE = 455 - SYS_SFI_CTL = 456 - SYS_SFI_PIDCTL = 457 - SYS_COALITION = 458 - SYS_COALITION_INFO = 459 - SYS_NECP_MATCH_POLICY = 460 - SYS_GETATTRLISTBULK = 461 - SYS_OPENAT = 463 - SYS_OPENAT_NOCANCEL = 464 - SYS_RENAMEAT = 465 - SYS_FACCESSAT = 466 - SYS_FCHMODAT = 467 - SYS_FCHOWNAT = 468 - SYS_FSTATAT = 469 - SYS_FSTATAT64 = 470 - SYS_LINKAT = 471 - SYS_UNLINKAT = 472 - SYS_READLINKAT = 473 - SYS_SYMLINKAT = 474 - SYS_MKDIRAT = 475 - SYS_GETATTRLISTAT = 476 - SYS_PROC_TRACE_LOG = 477 - SYS_BSDTHREAD_CTL = 478 - SYS_OPENBYID_NP = 479 - SYS_RECVMSG_X = 480 - SYS_SENDMSG_X = 481 - SYS_THREAD_SELFUSAGE = 482 - SYS_CSRCTL = 483 - SYS_GUARDED_OPEN_DPROTECTED_NP = 484 - SYS_GUARDED_WRITE_NP = 485 - SYS_GUARDED_PWRITE_NP = 486 - SYS_GUARDED_WRITEV_NP = 487 - SYS_RENAME_EXT = 488 - SYS_MREMAP_ENCRYPTED = 489 - SYS_MAXSYSCALL = 490 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go deleted file mode 100644 index b8c9aea..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go +++ /dev/null @@ -1,358 +0,0 @@ -// mksysnum_darwin.pl /usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build arm,darwin - -package unix - -const ( - SYS_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_CHDIR = 12 - SYS_FCHDIR = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_CHOWN = 16 - SYS_GETFSSTAT = 18 - SYS_GETPID = 20 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_GETEUID = 25 - SYS_PTRACE = 26 - SYS_RECVMSG = 27 - SYS_SENDMSG = 28 - SYS_RECVFROM = 29 - SYS_ACCEPT = 30 - SYS_GETPEERNAME = 31 - SYS_GETSOCKNAME = 32 - SYS_ACCESS = 33 - SYS_CHFLAGS = 34 - SYS_FCHFLAGS = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_GETPPID = 39 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_GETEGID = 43 - SYS_SIGACTION = 46 - SYS_GETGID = 47 - SYS_SIGPROCMASK = 48 - SYS_GETLOGIN = 49 - SYS_SETLOGIN = 50 - SYS_ACCT = 51 - SYS_SIGPENDING = 52 - SYS_SIGALTSTACK = 53 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_REVOKE = 56 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETPGID = 82 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_GETDTABLESIZE = 89 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_GETPRIORITY = 100 - SYS_BIND = 104 - SYS_SETSOCKOPT = 105 - SYS_LISTEN = 106 - SYS_SIGSUSPEND = 111 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_FLOCK = 131 - SYS_MKFIFO = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_FUTIMES = 139 - SYS_ADJTIME = 140 - SYS_GETHOSTUUID = 142 - SYS_SETSID = 147 - SYS_GETPGID = 151 - SYS_SETPRIVEXEC = 152 - SYS_PREAD = 153 - SYS_PWRITE = 154 - SYS_NFSSVC = 155 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UNMOUNT = 159 - SYS_GETFH = 161 - SYS_QUOTACTL = 165 - SYS_MOUNT = 167 - SYS_CSOPS = 169 - SYS_CSOPS_AUDITTOKEN = 170 - SYS_WAITID = 173 - SYS_KDEBUG_TRACE = 180 - SYS_SETGID = 181 - SYS_SETEGID = 182 - SYS_SETEUID = 183 - SYS_SIGRETURN = 184 - SYS_CHUD = 185 - SYS_FDATASYNC = 187 - SYS_STAT = 188 - SYS_FSTAT = 189 - SYS_LSTAT = 190 - SYS_PATHCONF = 191 - SYS_FPATHCONF = 192 - SYS_GETRLIMIT = 194 - SYS_SETRLIMIT = 195 - SYS_GETDIRENTRIES = 196 - SYS_MMAP = 197 - SYS_LSEEK = 199 - SYS_TRUNCATE = 200 - SYS_FTRUNCATE = 201 - SYS___SYSCTL = 202 - SYS_MLOCK = 203 - SYS_MUNLOCK = 204 - SYS_UNDELETE = 205 - SYS_ATSOCKET = 206 - SYS_ATGETMSG = 207 - SYS_ATPUTMSG = 208 - SYS_ATPSNDREQ = 209 - SYS_ATPSNDRSP = 210 - SYS_ATPGETREQ = 211 - SYS_ATPGETRSP = 212 - SYS_OPEN_DPROTECTED_NP = 216 - SYS_GETATTRLIST = 220 - SYS_SETATTRLIST = 221 - SYS_GETDIRENTRIESATTR = 222 - SYS_EXCHANGEDATA = 223 - SYS_SEARCHFS = 225 - SYS_DELETE = 226 - SYS_COPYFILE = 227 - SYS_FGETATTRLIST = 228 - SYS_FSETATTRLIST = 229 - SYS_POLL = 230 - SYS_WATCHEVENT = 231 - SYS_WAITEVENT = 232 - SYS_MODWATCH = 233 - SYS_GETXATTR = 234 - SYS_FGETXATTR = 235 - SYS_SETXATTR = 236 - SYS_FSETXATTR = 237 - SYS_REMOVEXATTR = 238 - SYS_FREMOVEXATTR = 239 - SYS_LISTXATTR = 240 - SYS_FLISTXATTR = 241 - SYS_FSCTL = 242 - SYS_INITGROUPS = 243 - SYS_POSIX_SPAWN = 244 - SYS_FFSCTL = 245 - SYS_NFSCLNT = 247 - SYS_FHOPEN = 248 - SYS_MINHERIT = 250 - SYS_SEMSYS = 251 - SYS_MSGSYS = 252 - SYS_SHMSYS = 253 - SYS_SEMCTL = 254 - SYS_SEMGET = 255 - SYS_SEMOP = 256 - SYS_MSGCTL = 258 - SYS_MSGGET = 259 - SYS_MSGSND = 260 - SYS_MSGRCV = 261 - SYS_SHMAT = 262 - SYS_SHMCTL = 263 - SYS_SHMDT = 264 - SYS_SHMGET = 265 - SYS_SHM_OPEN = 266 - SYS_SHM_UNLINK = 267 - SYS_SEM_OPEN = 268 - SYS_SEM_CLOSE = 269 - SYS_SEM_UNLINK = 270 - SYS_SEM_WAIT = 271 - SYS_SEM_TRYWAIT = 272 - SYS_SEM_POST = 273 - SYS_SEM_GETVALUE = 274 - SYS_SEM_INIT = 275 - SYS_SEM_DESTROY = 276 - SYS_OPEN_EXTENDED = 277 - SYS_UMASK_EXTENDED = 278 - SYS_STAT_EXTENDED = 279 - SYS_LSTAT_EXTENDED = 280 - SYS_FSTAT_EXTENDED = 281 - SYS_CHMOD_EXTENDED = 282 - SYS_FCHMOD_EXTENDED = 283 - SYS_ACCESS_EXTENDED = 284 - SYS_SETTID = 285 - SYS_GETTID = 286 - SYS_SETSGROUPS = 287 - SYS_GETSGROUPS = 288 - SYS_SETWGROUPS = 289 - SYS_GETWGROUPS = 290 - SYS_MKFIFO_EXTENDED = 291 - SYS_MKDIR_EXTENDED = 292 - SYS_IDENTITYSVC = 293 - SYS_SHARED_REGION_CHECK_NP = 294 - SYS_VM_PRESSURE_MONITOR = 296 - SYS_PSYNCH_RW_LONGRDLOCK = 297 - SYS_PSYNCH_RW_YIELDWRLOCK = 298 - SYS_PSYNCH_RW_DOWNGRADE = 299 - SYS_PSYNCH_RW_UPGRADE = 300 - SYS_PSYNCH_MUTEXWAIT = 301 - SYS_PSYNCH_MUTEXDROP = 302 - SYS_PSYNCH_CVBROAD = 303 - SYS_PSYNCH_CVSIGNAL = 304 - SYS_PSYNCH_CVWAIT = 305 - SYS_PSYNCH_RW_RDLOCK = 306 - SYS_PSYNCH_RW_WRLOCK = 307 - SYS_PSYNCH_RW_UNLOCK = 308 - SYS_PSYNCH_RW_UNLOCK2 = 309 - SYS_GETSID = 310 - SYS_SETTID_WITH_PID = 311 - SYS_PSYNCH_CVCLRPREPOST = 312 - SYS_AIO_FSYNC = 313 - SYS_AIO_RETURN = 314 - SYS_AIO_SUSPEND = 315 - SYS_AIO_CANCEL = 316 - SYS_AIO_ERROR = 317 - SYS_AIO_READ = 318 - SYS_AIO_WRITE = 319 - SYS_LIO_LISTIO = 320 - SYS_IOPOLICYSYS = 322 - SYS_PROCESS_POLICY = 323 - SYS_MLOCKALL = 324 - SYS_MUNLOCKALL = 325 - SYS_ISSETUGID = 327 - SYS___PTHREAD_KILL = 328 - SYS___PTHREAD_SIGMASK = 329 - SYS___SIGWAIT = 330 - SYS___DISABLE_THREADSIGNAL = 331 - SYS___PTHREAD_MARKCANCEL = 332 - SYS___PTHREAD_CANCELED = 333 - SYS___SEMWAIT_SIGNAL = 334 - SYS_PROC_INFO = 336 - SYS_SENDFILE = 337 - SYS_STAT64 = 338 - SYS_FSTAT64 = 339 - SYS_LSTAT64 = 340 - SYS_STAT64_EXTENDED = 341 - SYS_LSTAT64_EXTENDED = 342 - SYS_FSTAT64_EXTENDED = 343 - SYS_GETDIRENTRIES64 = 344 - SYS_STATFS64 = 345 - SYS_FSTATFS64 = 346 - SYS_GETFSSTAT64 = 347 - SYS___PTHREAD_CHDIR = 348 - SYS___PTHREAD_FCHDIR = 349 - SYS_AUDIT = 350 - SYS_AUDITON = 351 - SYS_GETAUID = 353 - SYS_SETAUID = 354 - SYS_GETAUDIT_ADDR = 357 - SYS_SETAUDIT_ADDR = 358 - SYS_AUDITCTL = 359 - SYS_BSDTHREAD_CREATE = 360 - SYS_BSDTHREAD_TERMINATE = 361 - SYS_KQUEUE = 362 - SYS_KEVENT = 363 - SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 - SYS_BSDTHREAD_REGISTER = 366 - SYS_WORKQ_OPEN = 367 - SYS_WORKQ_KERNRETURN = 368 - SYS_KEVENT64 = 369 - SYS___OLD_SEMWAIT_SIGNAL = 370 - SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 - SYS_THREAD_SELFID = 372 - SYS_LEDGER = 373 - SYS___MAC_EXECVE = 380 - SYS___MAC_SYSCALL = 381 - SYS___MAC_GET_FILE = 382 - SYS___MAC_SET_FILE = 383 - SYS___MAC_GET_LINK = 384 - SYS___MAC_SET_LINK = 385 - SYS___MAC_GET_PROC = 386 - SYS___MAC_SET_PROC = 387 - SYS___MAC_GET_FD = 388 - SYS___MAC_SET_FD = 389 - SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 - SYS_READ_NOCANCEL = 396 - SYS_WRITE_NOCANCEL = 397 - SYS_OPEN_NOCANCEL = 398 - SYS_CLOSE_NOCANCEL = 399 - SYS_WAIT4_NOCANCEL = 400 - SYS_RECVMSG_NOCANCEL = 401 - SYS_SENDMSG_NOCANCEL = 402 - SYS_RECVFROM_NOCANCEL = 403 - SYS_ACCEPT_NOCANCEL = 404 - SYS_MSYNC_NOCANCEL = 405 - SYS_FCNTL_NOCANCEL = 406 - SYS_SELECT_NOCANCEL = 407 - SYS_FSYNC_NOCANCEL = 408 - SYS_CONNECT_NOCANCEL = 409 - SYS_SIGSUSPEND_NOCANCEL = 410 - SYS_READV_NOCANCEL = 411 - SYS_WRITEV_NOCANCEL = 412 - SYS_SENDTO_NOCANCEL = 413 - SYS_PREAD_NOCANCEL = 414 - SYS_PWRITE_NOCANCEL = 415 - SYS_WAITID_NOCANCEL = 416 - SYS_POLL_NOCANCEL = 417 - SYS_MSGSND_NOCANCEL = 418 - SYS_MSGRCV_NOCANCEL = 419 - SYS_SEM_WAIT_NOCANCEL = 420 - SYS_AIO_SUSPEND_NOCANCEL = 421 - SYS___SIGWAIT_NOCANCEL = 422 - SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 - SYS___MAC_MOUNT = 424 - SYS___MAC_GET_MOUNT = 425 - SYS___MAC_GETFSSTAT = 426 - SYS_FSGETPATH = 427 - SYS_AUDIT_SESSION_SELF = 428 - SYS_AUDIT_SESSION_JOIN = 429 - SYS_FILEPORT_MAKEPORT = 430 - SYS_FILEPORT_MAKEFD = 431 - SYS_AUDIT_SESSION_PORT = 432 - SYS_PID_SUSPEND = 433 - SYS_PID_RESUME = 434 - SYS_PID_HIBERNATE = 435 - SYS_PID_SHUTDOWN_SOCKETS = 436 - SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 - SYS_KAS_INFO = 439 - SYS_MAXSYSCALL = 440 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go deleted file mode 100644 index 26677eb..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +++ /dev/null @@ -1,398 +0,0 @@ -// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build arm64,darwin - -package unix - -const ( - SYS_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_CHDIR = 12 - SYS_FCHDIR = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_CHOWN = 16 - SYS_GETFSSTAT = 18 - SYS_GETPID = 20 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_GETEUID = 25 - SYS_PTRACE = 26 - SYS_RECVMSG = 27 - SYS_SENDMSG = 28 - SYS_RECVFROM = 29 - SYS_ACCEPT = 30 - SYS_GETPEERNAME = 31 - SYS_GETSOCKNAME = 32 - SYS_ACCESS = 33 - SYS_CHFLAGS = 34 - SYS_FCHFLAGS = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_GETPPID = 39 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_GETEGID = 43 - SYS_SIGACTION = 46 - SYS_GETGID = 47 - SYS_SIGPROCMASK = 48 - SYS_GETLOGIN = 49 - SYS_SETLOGIN = 50 - SYS_ACCT = 51 - SYS_SIGPENDING = 52 - SYS_SIGALTSTACK = 53 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_REVOKE = 56 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETPGID = 82 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_GETDTABLESIZE = 89 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_GETPRIORITY = 100 - SYS_BIND = 104 - SYS_SETSOCKOPT = 105 - SYS_LISTEN = 106 - SYS_SIGSUSPEND = 111 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_FLOCK = 131 - SYS_MKFIFO = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_FUTIMES = 139 - SYS_ADJTIME = 140 - SYS_GETHOSTUUID = 142 - SYS_SETSID = 147 - SYS_GETPGID = 151 - SYS_SETPRIVEXEC = 152 - SYS_PREAD = 153 - SYS_PWRITE = 154 - SYS_NFSSVC = 155 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UNMOUNT = 159 - SYS_GETFH = 161 - SYS_QUOTACTL = 165 - SYS_MOUNT = 167 - SYS_CSOPS = 169 - SYS_CSOPS_AUDITTOKEN = 170 - SYS_WAITID = 173 - SYS_KDEBUG_TRACE64 = 179 - SYS_KDEBUG_TRACE = 180 - SYS_SETGID = 181 - SYS_SETEGID = 182 - SYS_SETEUID = 183 - SYS_SIGRETURN = 184 - SYS_CHUD = 185 - SYS_FDATASYNC = 187 - SYS_STAT = 188 - SYS_FSTAT = 189 - SYS_LSTAT = 190 - SYS_PATHCONF = 191 - SYS_FPATHCONF = 192 - SYS_GETRLIMIT = 194 - SYS_SETRLIMIT = 195 - SYS_GETDIRENTRIES = 196 - SYS_MMAP = 197 - SYS_LSEEK = 199 - SYS_TRUNCATE = 200 - SYS_FTRUNCATE = 201 - SYS_SYSCTL = 202 - SYS_MLOCK = 203 - SYS_MUNLOCK = 204 - SYS_UNDELETE = 205 - SYS_OPEN_DPROTECTED_NP = 216 - SYS_GETATTRLIST = 220 - SYS_SETATTRLIST = 221 - SYS_GETDIRENTRIESATTR = 222 - SYS_EXCHANGEDATA = 223 - SYS_SEARCHFS = 225 - SYS_DELETE = 226 - SYS_COPYFILE = 227 - SYS_FGETATTRLIST = 228 - SYS_FSETATTRLIST = 229 - SYS_POLL = 230 - SYS_WATCHEVENT = 231 - SYS_WAITEVENT = 232 - SYS_MODWATCH = 233 - SYS_GETXATTR = 234 - SYS_FGETXATTR = 235 - SYS_SETXATTR = 236 - SYS_FSETXATTR = 237 - SYS_REMOVEXATTR = 238 - SYS_FREMOVEXATTR = 239 - SYS_LISTXATTR = 240 - SYS_FLISTXATTR = 241 - SYS_FSCTL = 242 - SYS_INITGROUPS = 243 - SYS_POSIX_SPAWN = 244 - SYS_FFSCTL = 245 - SYS_NFSCLNT = 247 - SYS_FHOPEN = 248 - SYS_MINHERIT = 250 - SYS_SEMSYS = 251 - SYS_MSGSYS = 252 - SYS_SHMSYS = 253 - SYS_SEMCTL = 254 - SYS_SEMGET = 255 - SYS_SEMOP = 256 - SYS_MSGCTL = 258 - SYS_MSGGET = 259 - SYS_MSGSND = 260 - SYS_MSGRCV = 261 - SYS_SHMAT = 262 - SYS_SHMCTL = 263 - SYS_SHMDT = 264 - SYS_SHMGET = 265 - SYS_SHM_OPEN = 266 - SYS_SHM_UNLINK = 267 - SYS_SEM_OPEN = 268 - SYS_SEM_CLOSE = 269 - SYS_SEM_UNLINK = 270 - SYS_SEM_WAIT = 271 - SYS_SEM_TRYWAIT = 272 - SYS_SEM_POST = 273 - SYS_SYSCTLBYNAME = 274 - SYS_OPEN_EXTENDED = 277 - SYS_UMASK_EXTENDED = 278 - SYS_STAT_EXTENDED = 279 - SYS_LSTAT_EXTENDED = 280 - SYS_FSTAT_EXTENDED = 281 - SYS_CHMOD_EXTENDED = 282 - SYS_FCHMOD_EXTENDED = 283 - SYS_ACCESS_EXTENDED = 284 - SYS_SETTID = 285 - SYS_GETTID = 286 - SYS_SETSGROUPS = 287 - SYS_GETSGROUPS = 288 - SYS_SETWGROUPS = 289 - SYS_GETWGROUPS = 290 - SYS_MKFIFO_EXTENDED = 291 - SYS_MKDIR_EXTENDED = 292 - SYS_IDENTITYSVC = 293 - SYS_SHARED_REGION_CHECK_NP = 294 - SYS_VM_PRESSURE_MONITOR = 296 - SYS_PSYNCH_RW_LONGRDLOCK = 297 - SYS_PSYNCH_RW_YIELDWRLOCK = 298 - SYS_PSYNCH_RW_DOWNGRADE = 299 - SYS_PSYNCH_RW_UPGRADE = 300 - SYS_PSYNCH_MUTEXWAIT = 301 - SYS_PSYNCH_MUTEXDROP = 302 - SYS_PSYNCH_CVBROAD = 303 - SYS_PSYNCH_CVSIGNAL = 304 - SYS_PSYNCH_CVWAIT = 305 - SYS_PSYNCH_RW_RDLOCK = 306 - SYS_PSYNCH_RW_WRLOCK = 307 - SYS_PSYNCH_RW_UNLOCK = 308 - SYS_PSYNCH_RW_UNLOCK2 = 309 - SYS_GETSID = 310 - SYS_SETTID_WITH_PID = 311 - SYS_PSYNCH_CVCLRPREPOST = 312 - SYS_AIO_FSYNC = 313 - SYS_AIO_RETURN = 314 - SYS_AIO_SUSPEND = 315 - SYS_AIO_CANCEL = 316 - SYS_AIO_ERROR = 317 - SYS_AIO_READ = 318 - SYS_AIO_WRITE = 319 - SYS_LIO_LISTIO = 320 - SYS_IOPOLICYSYS = 322 - SYS_PROCESS_POLICY = 323 - SYS_MLOCKALL = 324 - SYS_MUNLOCKALL = 325 - SYS_ISSETUGID = 327 - SYS___PTHREAD_KILL = 328 - SYS___PTHREAD_SIGMASK = 329 - SYS___SIGWAIT = 330 - SYS___DISABLE_THREADSIGNAL = 331 - SYS___PTHREAD_MARKCANCEL = 332 - SYS___PTHREAD_CANCELED = 333 - SYS___SEMWAIT_SIGNAL = 334 - SYS_PROC_INFO = 336 - SYS_SENDFILE = 337 - SYS_STAT64 = 338 - SYS_FSTAT64 = 339 - SYS_LSTAT64 = 340 - SYS_STAT64_EXTENDED = 341 - SYS_LSTAT64_EXTENDED = 342 - SYS_FSTAT64_EXTENDED = 343 - SYS_GETDIRENTRIES64 = 344 - SYS_STATFS64 = 345 - SYS_FSTATFS64 = 346 - SYS_GETFSSTAT64 = 347 - SYS___PTHREAD_CHDIR = 348 - SYS___PTHREAD_FCHDIR = 349 - SYS_AUDIT = 350 - SYS_AUDITON = 351 - SYS_GETAUID = 353 - SYS_SETAUID = 354 - SYS_GETAUDIT_ADDR = 357 - SYS_SETAUDIT_ADDR = 358 - SYS_AUDITCTL = 359 - SYS_BSDTHREAD_CREATE = 360 - SYS_BSDTHREAD_TERMINATE = 361 - SYS_KQUEUE = 362 - SYS_KEVENT = 363 - SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 - SYS_BSDTHREAD_REGISTER = 366 - SYS_WORKQ_OPEN = 367 - SYS_WORKQ_KERNRETURN = 368 - SYS_KEVENT64 = 369 - SYS___OLD_SEMWAIT_SIGNAL = 370 - SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 - SYS_THREAD_SELFID = 372 - SYS_LEDGER = 373 - SYS___MAC_EXECVE = 380 - SYS___MAC_SYSCALL = 381 - SYS___MAC_GET_FILE = 382 - SYS___MAC_SET_FILE = 383 - SYS___MAC_GET_LINK = 384 - SYS___MAC_SET_LINK = 385 - SYS___MAC_GET_PROC = 386 - SYS___MAC_SET_PROC = 387 - SYS___MAC_GET_FD = 388 - SYS___MAC_SET_FD = 389 - SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 - SYS_READ_NOCANCEL = 396 - SYS_WRITE_NOCANCEL = 397 - SYS_OPEN_NOCANCEL = 398 - SYS_CLOSE_NOCANCEL = 399 - SYS_WAIT4_NOCANCEL = 400 - SYS_RECVMSG_NOCANCEL = 401 - SYS_SENDMSG_NOCANCEL = 402 - SYS_RECVFROM_NOCANCEL = 403 - SYS_ACCEPT_NOCANCEL = 404 - SYS_MSYNC_NOCANCEL = 405 - SYS_FCNTL_NOCANCEL = 406 - SYS_SELECT_NOCANCEL = 407 - SYS_FSYNC_NOCANCEL = 408 - SYS_CONNECT_NOCANCEL = 409 - SYS_SIGSUSPEND_NOCANCEL = 410 - SYS_READV_NOCANCEL = 411 - SYS_WRITEV_NOCANCEL = 412 - SYS_SENDTO_NOCANCEL = 413 - SYS_PREAD_NOCANCEL = 414 - SYS_PWRITE_NOCANCEL = 415 - SYS_WAITID_NOCANCEL = 416 - SYS_POLL_NOCANCEL = 417 - SYS_MSGSND_NOCANCEL = 418 - SYS_MSGRCV_NOCANCEL = 419 - SYS_SEM_WAIT_NOCANCEL = 420 - SYS_AIO_SUSPEND_NOCANCEL = 421 - SYS___SIGWAIT_NOCANCEL = 422 - SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 - SYS___MAC_MOUNT = 424 - SYS___MAC_GET_MOUNT = 425 - SYS___MAC_GETFSSTAT = 426 - SYS_FSGETPATH = 427 - SYS_AUDIT_SESSION_SELF = 428 - SYS_AUDIT_SESSION_JOIN = 429 - SYS_FILEPORT_MAKEPORT = 430 - SYS_FILEPORT_MAKEFD = 431 - SYS_AUDIT_SESSION_PORT = 432 - SYS_PID_SUSPEND = 433 - SYS_PID_RESUME = 434 - SYS_PID_HIBERNATE = 435 - SYS_PID_SHUTDOWN_SOCKETS = 436 - SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 - SYS_KAS_INFO = 439 - SYS_MEMORYSTATUS_CONTROL = 440 - SYS_GUARDED_OPEN_NP = 441 - SYS_GUARDED_CLOSE_NP = 442 - SYS_GUARDED_KQUEUE_NP = 443 - SYS_CHANGE_FDGUARD_NP = 444 - SYS_PROC_RLIMIT_CONTROL = 446 - SYS_CONNECTX = 447 - SYS_DISCONNECTX = 448 - SYS_PEELOFF = 449 - SYS_SOCKET_DELEGATE = 450 - SYS_TELEMETRY = 451 - SYS_PROC_UUID_POLICY = 452 - SYS_MEMORYSTATUS_GET_LEVEL = 453 - SYS_SYSTEM_OVERRIDE = 454 - SYS_VFS_PURGE = 455 - SYS_SFI_CTL = 456 - SYS_SFI_PIDCTL = 457 - SYS_COALITION = 458 - SYS_COALITION_INFO = 459 - SYS_NECP_MATCH_POLICY = 460 - SYS_GETATTRLISTBULK = 461 - SYS_OPENAT = 463 - SYS_OPENAT_NOCANCEL = 464 - SYS_RENAMEAT = 465 - SYS_FACCESSAT = 466 - SYS_FCHMODAT = 467 - SYS_FCHOWNAT = 468 - SYS_FSTATAT = 469 - SYS_FSTATAT64 = 470 - SYS_LINKAT = 471 - SYS_UNLINKAT = 472 - SYS_READLINKAT = 473 - SYS_SYMLINKAT = 474 - SYS_MKDIRAT = 475 - SYS_GETATTRLISTAT = 476 - SYS_PROC_TRACE_LOG = 477 - SYS_BSDTHREAD_CTL = 478 - SYS_OPENBYID_NP = 479 - SYS_RECVMSG_X = 480 - SYS_SENDMSG_X = 481 - SYS_THREAD_SELFUSAGE = 482 - SYS_CSRCTL = 483 - SYS_GUARDED_OPEN_DPROTECTED_NP = 484 - SYS_GUARDED_WRITE_NP = 485 - SYS_GUARDED_PWRITE_NP = 486 - SYS_GUARDED_WRITEV_NP = 487 - SYS_RENAME_EXT = 488 - SYS_MREMAP_ENCRYPTED = 489 - SYS_MAXSYSCALL = 490 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go deleted file mode 100644 index b2c9ef8..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +++ /dev/null @@ -1,315 +0,0 @@ -// mksysnum_dragonfly.pl -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,dragonfly - -package unix - -const ( - // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void exit(int rval); } - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int - SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } - SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, \ - SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } - SYS_ACCESS = 33 // { int access(char *path, int flags); } - SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } - SYS_VFORK = 66 // { pid_t vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(int from, int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } - SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } - SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } - SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } - SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } - SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } - SYS_UNAME = 164 // { int uname(struct utsname *name); } - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, \ - SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, \ - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \ - // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int - SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, \ - SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } - SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, \ - SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } - SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ - SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \ - SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ - SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \ - SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \ - SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \ - SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } - SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } - SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \ - SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\ - SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } - SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } - SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } - SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } - SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } - SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } - SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } - SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, \ - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,\ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,\ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, \ - SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } - SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ - SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } - SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } - SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } - SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } - SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } - SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } - SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } - SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } - SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } - SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } - SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } - SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } - SYS_CLOSEFROM = 474 // { int closefrom(int fd); } - SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } - SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } - SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } - SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, \ - SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } - SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, \ - SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } - SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } - SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } - SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } - SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } - SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, \ - SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \ - SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, \ - SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, \ - SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, \ - SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \ - SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } - SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } - SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } - SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } - SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } - SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \ - SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } - SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } - SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } - SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, \ - SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } - SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, \ - SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, \ - SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, \ - SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } - SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, \ - SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, \ - SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } - SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } - SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, \ - SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, \ - SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, \ - SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \ - SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ - SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, \ - SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \ - SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } - SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } - SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } - SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } - SYS_SWAPOFF = 529 // { int swapoff(char *name); } - SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, \ - SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } - SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } - SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } - SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } - SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } - SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} - SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } - SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } - SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } - SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } - SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } - SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, \ - SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } - SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } - SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go deleted file mode 100644 index 262a845..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +++ /dev/null @@ -1,351 +0,0 @@ -// mksysnum_freebsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build 386,freebsd - -package unix - -const ( - // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ - SYS_ACCEPT = 30 // { int accept(int s, \ - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ - SYS_ACCESS = 33 // { int access(char *path, int amode); } - SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(u_int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ - SYS_VFORK = 66 // { int vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, \ - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ - SYS_SOCKET = 97 // { int socket(int domain, int type, \ - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, \ - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, \ - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, \ - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_LGETFH = 160 // { int lgetfh(char *fname, \ - SYS_GETFH = 161 // { int getfh(char *fname, \ - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ - SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ - SYS_SETFIB = 175 // { int setfib(int fibnum); } - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } - SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ - SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ - SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ - SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ - SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ - SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } - SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ - SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ - SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } - SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ - SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ - SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ - SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, \ - SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } - SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } - SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } - SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ - SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ - SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, \ - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ - SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ - SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ - SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ - SYS___SETUGID = 374 // { int __setugid(int flag); } - SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } - SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ - SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } - SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } - SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ - SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ - SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ - SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, \ - SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ - SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ - SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ - SYS_STATFS = 396 // { int statfs(char *path, \ - SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ - SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ - SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ - SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ - SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ - SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ - SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ - SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ - SYS_SIGACTION = 416 // { int sigaction(int sig, \ - SYS_SIGRETURN = 417 // { int sigreturn( \ - SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 422 // { int setcontext( \ - SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ - SYS_SWAPOFF = 424 // { int swapoff(const char *name); } - SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ - SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ - SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ - SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ - SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ - SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ - SYS_THR_EXIT = 431 // { void thr_exit(long *state); } - SYS_THR_SELF = 432 // { int thr_self(long *id); } - SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } - SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } - SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } - SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } - SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ - SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ - SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ - SYS_THR_SUSPEND = 442 // { int thr_suspend( \ - SYS_THR_WAKE = 443 // { int thr_wake(long id); } - SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } - SYS_AUDIT = 445 // { int audit(const void *record, \ - SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ - SYS_GETAUID = 447 // { int getauid(uid_t *auid); } - SYS_SETAUID = 448 // { int setauid(uid_t *auid); } - SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } - SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } - SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ - SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ - SYS_AUDITCTL = 453 // { int auditctl(char *path); } - SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ - SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ - SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } - SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } - SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } - SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ - SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } - SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ - SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ - SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ - SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ - SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ - SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } - SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } - SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } - SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ - SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } - SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } - SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ - SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ - SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ - SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ - SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ - SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ - SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ - SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ - SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ - SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ - SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ - SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ - SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } - SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } - SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ - SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ - SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } - SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } - SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } - SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } - SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ - SYS_CAP_ENTER = 516 // { int cap_enter(void); } - SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } - SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } - SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } - SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } - SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ - SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ - SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } - SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ - SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ - SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ - SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ - SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ - SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ - SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ - SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ - SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ - SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ - SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ - SYS_ACCEPT4 = 541 // { int accept4(int s, \ - SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } - SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ - SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go deleted file mode 100644 index 57a60ea..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +++ /dev/null @@ -1,351 +0,0 @@ -// mksysnum_freebsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build amd64,freebsd - -package unix - -const ( - // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ - SYS_ACCEPT = 30 // { int accept(int s, \ - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ - SYS_ACCESS = 33 // { int access(char *path, int amode); } - SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(u_int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ - SYS_VFORK = 66 // { int vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, \ - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ - SYS_SOCKET = 97 // { int socket(int domain, int type, \ - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, \ - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, \ - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, \ - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_LGETFH = 160 // { int lgetfh(char *fname, \ - SYS_GETFH = 161 // { int getfh(char *fname, \ - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ - SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ - SYS_SETFIB = 175 // { int setfib(int fibnum); } - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } - SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ - SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ - SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ - SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ - SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ - SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } - SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ - SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ - SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } - SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ - SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ - SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ - SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, \ - SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } - SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } - SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } - SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ - SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ - SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, \ - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ - SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ - SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ - SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ - SYS___SETUGID = 374 // { int __setugid(int flag); } - SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } - SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ - SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } - SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } - SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ - SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ - SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ - SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, \ - SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ - SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ - SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ - SYS_STATFS = 396 // { int statfs(char *path, \ - SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ - SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ - SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ - SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ - SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ - SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ - SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ - SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ - SYS_SIGACTION = 416 // { int sigaction(int sig, \ - SYS_SIGRETURN = 417 // { int sigreturn( \ - SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 422 // { int setcontext( \ - SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ - SYS_SWAPOFF = 424 // { int swapoff(const char *name); } - SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ - SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ - SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ - SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ - SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ - SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ - SYS_THR_EXIT = 431 // { void thr_exit(long *state); } - SYS_THR_SELF = 432 // { int thr_self(long *id); } - SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } - SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } - SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } - SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } - SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ - SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ - SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ - SYS_THR_SUSPEND = 442 // { int thr_suspend( \ - SYS_THR_WAKE = 443 // { int thr_wake(long id); } - SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } - SYS_AUDIT = 445 // { int audit(const void *record, \ - SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ - SYS_GETAUID = 447 // { int getauid(uid_t *auid); } - SYS_SETAUID = 448 // { int setauid(uid_t *auid); } - SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } - SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } - SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ - SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ - SYS_AUDITCTL = 453 // { int auditctl(char *path); } - SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ - SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ - SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } - SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } - SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } - SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ - SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } - SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ - SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ - SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ - SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ - SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ - SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } - SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } - SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } - SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ - SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } - SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } - SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ - SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ - SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ - SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ - SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ - SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ - SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ - SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ - SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ - SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ - SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ - SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ - SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } - SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } - SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ - SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ - SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } - SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } - SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } - SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } - SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ - SYS_CAP_ENTER = 516 // { int cap_enter(void); } - SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } - SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } - SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } - SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } - SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ - SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ - SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } - SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ - SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ - SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ - SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ - SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ - SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ - SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ - SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ - SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ - SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ - SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ - SYS_ACCEPT4 = 541 // { int accept4(int s, \ - SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } - SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ - SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go deleted file mode 100644 index 206b9f6..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +++ /dev/null @@ -1,351 +0,0 @@ -// mksysnum_freebsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build arm,freebsd - -package unix - -const ( - // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ - SYS_ACCEPT = 30 // { int accept(int s, \ - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ - SYS_ACCESS = 33 // { int access(char *path, int amode); } - SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(u_int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ - SYS_VFORK = 66 // { int vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, \ - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ - SYS_SOCKET = 97 // { int socket(int domain, int type, \ - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, \ - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, \ - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, \ - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_LGETFH = 160 // { int lgetfh(char *fname, \ - SYS_GETFH = 161 // { int getfh(char *fname, \ - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ - SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ - SYS_SETFIB = 175 // { int setfib(int fibnum); } - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } - SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ - SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ - SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ - SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ - SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ - SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } - SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ - SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ - SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } - SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ - SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ - SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ - SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, \ - SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } - SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } - SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } - SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ - SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ - SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, \ - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ - SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ - SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ - SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ - SYS___SETUGID = 374 // { int __setugid(int flag); } - SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } - SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ - SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } - SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } - SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ - SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ - SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ - SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, \ - SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ - SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ - SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ - SYS_STATFS = 396 // { int statfs(char *path, \ - SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ - SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ - SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ - SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ - SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ - SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ - SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ - SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ - SYS_SIGACTION = 416 // { int sigaction(int sig, \ - SYS_SIGRETURN = 417 // { int sigreturn( \ - SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 422 // { int setcontext( \ - SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ - SYS_SWAPOFF = 424 // { int swapoff(const char *name); } - SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ - SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ - SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ - SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ - SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ - SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ - SYS_THR_EXIT = 431 // { void thr_exit(long *state); } - SYS_THR_SELF = 432 // { int thr_self(long *id); } - SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } - SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } - SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } - SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } - SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ - SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ - SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ - SYS_THR_SUSPEND = 442 // { int thr_suspend( \ - SYS_THR_WAKE = 443 // { int thr_wake(long id); } - SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } - SYS_AUDIT = 445 // { int audit(const void *record, \ - SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ - SYS_GETAUID = 447 // { int getauid(uid_t *auid); } - SYS_SETAUID = 448 // { int setauid(uid_t *auid); } - SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } - SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } - SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ - SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ - SYS_AUDITCTL = 453 // { int auditctl(char *path); } - SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ - SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ - SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } - SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } - SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } - SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ - SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } - SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ - SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ - SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ - SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ - SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ - SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } - SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } - SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } - SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ - SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } - SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } - SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ - SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ - SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ - SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ - SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ - SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ - SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ - SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ - SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ - SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ - SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ - SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ - SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } - SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } - SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ - SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ - SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } - SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } - SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } - SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } - SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ - SYS_CAP_ENTER = 516 // { int cap_enter(void); } - SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } - SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } - SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } - SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } - SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ - SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ - SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } - SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ - SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ - SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ - SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ - SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ - SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ - SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ - SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ - SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ - SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ - SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ - SYS_ACCEPT4 = 541 // { int accept4(int s, \ - SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } - SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ - SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go deleted file mode 100644 index cef4fed..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ /dev/null @@ -1,388 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build 386,linux - -package unix - -const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86OLD = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_VM86 = 166 - SYS_QUERY_MODULE = 167 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_SETRESGID = 170 - SYS_GETRESGID = 171 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_CHOWN = 182 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_GETPMSG = 188 - SYS_PUTPMSG = 189 - SYS_VFORK = 190 - SYS_UGETRLIMIT = 191 - SYS_MMAP2 = 192 - SYS_TRUNCATE64 = 193 - SYS_FTRUNCATE64 = 194 - SYS_STAT64 = 195 - SYS_LSTAT64 = 196 - SYS_FSTAT64 = 197 - SYS_LCHOWN32 = 198 - SYS_GETUID32 = 199 - SYS_GETGID32 = 200 - SYS_GETEUID32 = 201 - SYS_GETEGID32 = 202 - SYS_SETREUID32 = 203 - SYS_SETREGID32 = 204 - SYS_GETGROUPS32 = 205 - SYS_SETGROUPS32 = 206 - SYS_FCHOWN32 = 207 - SYS_SETRESUID32 = 208 - SYS_GETRESUID32 = 209 - SYS_SETRESGID32 = 210 - SYS_GETRESGID32 = 211 - SYS_CHOWN32 = 212 - SYS_SETUID32 = 213 - SYS_SETGID32 = 214 - SYS_SETFSUID32 = 215 - SYS_SETFSGID32 = 216 - SYS_PIVOT_ROOT = 217 - SYS_MINCORE = 218 - SYS_MADVISE = 219 - SYS_GETDENTS64 = 220 - SYS_FCNTL64 = 221 - SYS_GETTID = 224 - SYS_READAHEAD = 225 - SYS_SETXATTR = 226 - SYS_LSETXATTR = 227 - SYS_FSETXATTR = 228 - SYS_GETXATTR = 229 - SYS_LGETXATTR = 230 - SYS_FGETXATTR = 231 - SYS_LISTXATTR = 232 - SYS_LLISTXATTR = 233 - SYS_FLISTXATTR = 234 - SYS_REMOVEXATTR = 235 - SYS_LREMOVEXATTR = 236 - SYS_FREMOVEXATTR = 237 - SYS_TKILL = 238 - SYS_SENDFILE64 = 239 - SYS_FUTEX = 240 - SYS_SCHED_SETAFFINITY = 241 - SYS_SCHED_GETAFFINITY = 242 - SYS_SET_THREAD_AREA = 243 - SYS_GET_THREAD_AREA = 244 - SYS_IO_SETUP = 245 - SYS_IO_DESTROY = 246 - SYS_IO_GETEVENTS = 247 - SYS_IO_SUBMIT = 248 - SYS_IO_CANCEL = 249 - SYS_FADVISE64 = 250 - SYS_EXIT_GROUP = 252 - SYS_LOOKUP_DCOOKIE = 253 - SYS_EPOLL_CREATE = 254 - SYS_EPOLL_CTL = 255 - SYS_EPOLL_WAIT = 256 - SYS_REMAP_FILE_PAGES = 257 - SYS_SET_TID_ADDRESS = 258 - SYS_TIMER_CREATE = 259 - SYS_TIMER_SETTIME = 260 - SYS_TIMER_GETTIME = 261 - SYS_TIMER_GETOVERRUN = 262 - SYS_TIMER_DELETE = 263 - SYS_CLOCK_SETTIME = 264 - SYS_CLOCK_GETTIME = 265 - SYS_CLOCK_GETRES = 266 - SYS_CLOCK_NANOSLEEP = 267 - SYS_STATFS64 = 268 - SYS_FSTATFS64 = 269 - SYS_TGKILL = 270 - SYS_UTIMES = 271 - SYS_FADVISE64_64 = 272 - SYS_VSERVER = 273 - SYS_MBIND = 274 - SYS_GET_MEMPOLICY = 275 - SYS_SET_MEMPOLICY = 276 - SYS_MQ_OPEN = 277 - SYS_MQ_UNLINK = 278 - SYS_MQ_TIMEDSEND = 279 - SYS_MQ_TIMEDRECEIVE = 280 - SYS_MQ_NOTIFY = 281 - SYS_MQ_GETSETATTR = 282 - SYS_KEXEC_LOAD = 283 - SYS_WAITID = 284 - SYS_ADD_KEY = 286 - SYS_REQUEST_KEY = 287 - SYS_KEYCTL = 288 - SYS_IOPRIO_SET = 289 - SYS_IOPRIO_GET = 290 - SYS_INOTIFY_INIT = 291 - SYS_INOTIFY_ADD_WATCH = 292 - SYS_INOTIFY_RM_WATCH = 293 - SYS_MIGRATE_PAGES = 294 - SYS_OPENAT = 295 - SYS_MKDIRAT = 296 - SYS_MKNODAT = 297 - SYS_FCHOWNAT = 298 - SYS_FUTIMESAT = 299 - SYS_FSTATAT64 = 300 - SYS_UNLINKAT = 301 - SYS_RENAMEAT = 302 - SYS_LINKAT = 303 - SYS_SYMLINKAT = 304 - SYS_READLINKAT = 305 - SYS_FCHMODAT = 306 - SYS_FACCESSAT = 307 - SYS_PSELECT6 = 308 - SYS_PPOLL = 309 - SYS_UNSHARE = 310 - SYS_SET_ROBUST_LIST = 311 - SYS_GET_ROBUST_LIST = 312 - SYS_SPLICE = 313 - SYS_SYNC_FILE_RANGE = 314 - SYS_TEE = 315 - SYS_VMSPLICE = 316 - SYS_MOVE_PAGES = 317 - SYS_GETCPU = 318 - SYS_EPOLL_PWAIT = 319 - SYS_UTIMENSAT = 320 - SYS_SIGNALFD = 321 - SYS_TIMERFD_CREATE = 322 - SYS_EVENTFD = 323 - SYS_FALLOCATE = 324 - SYS_TIMERFD_SETTIME = 325 - SYS_TIMERFD_GETTIME = 326 - SYS_SIGNALFD4 = 327 - SYS_EVENTFD2 = 328 - SYS_EPOLL_CREATE1 = 329 - SYS_DUP3 = 330 - SYS_PIPE2 = 331 - SYS_INOTIFY_INIT1 = 332 - SYS_PREADV = 333 - SYS_PWRITEV = 334 - SYS_RT_TGSIGQUEUEINFO = 335 - SYS_PERF_EVENT_OPEN = 336 - SYS_RECVMMSG = 337 - SYS_FANOTIFY_INIT = 338 - SYS_FANOTIFY_MARK = 339 - SYS_PRLIMIT64 = 340 - SYS_NAME_TO_HANDLE_AT = 341 - SYS_OPEN_BY_HANDLE_AT = 342 - SYS_CLOCK_ADJTIME = 343 - SYS_SYNCFS = 344 - SYS_SENDMMSG = 345 - SYS_SETNS = 346 - SYS_PROCESS_VM_READV = 347 - SYS_PROCESS_VM_WRITEV = 348 - SYS_KCMP = 349 - SYS_FINIT_MODULE = 350 - SYS_SCHED_SETATTR = 351 - SYS_SCHED_GETATTR = 352 - SYS_RENAMEAT2 = 353 - SYS_SECCOMP = 354 - SYS_GETRANDOM = 355 - SYS_MEMFD_CREATE = 356 - SYS_BPF = 357 - SYS_EXECVEAT = 358 - SYS_SOCKET = 359 - SYS_SOCKETPAIR = 360 - SYS_BIND = 361 - SYS_CONNECT = 362 - SYS_LISTEN = 363 - SYS_ACCEPT4 = 364 - SYS_GETSOCKOPT = 365 - SYS_SETSOCKOPT = 366 - SYS_GETSOCKNAME = 367 - SYS_GETPEERNAME = 368 - SYS_SENDTO = 369 - SYS_SENDMSG = 370 - SYS_RECVFROM = 371 - SYS_RECVMSG = 372 - SYS_SHUTDOWN = 373 - SYS_USERFAULTFD = 374 - SYS_MEMBARRIER = 375 - SYS_MLOCK2 = 376 - SYS_COPY_FILE_RANGE = 377 - SYS_PREADV2 = 378 - SYS_PWRITEV2 = 379 - SYS_PKEY_MPROTECT = 380 - SYS_PKEY_ALLOC = 381 - SYS_PKEY_FREE = 382 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go deleted file mode 100644 index 49bfa12..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ /dev/null @@ -1,341 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,linux - -package unix - -const ( - SYS_READ = 0 - SYS_WRITE = 1 - SYS_OPEN = 2 - SYS_CLOSE = 3 - SYS_STAT = 4 - SYS_FSTAT = 5 - SYS_LSTAT = 6 - SYS_POLL = 7 - SYS_LSEEK = 8 - SYS_MMAP = 9 - SYS_MPROTECT = 10 - SYS_MUNMAP = 11 - SYS_BRK = 12 - SYS_RT_SIGACTION = 13 - SYS_RT_SIGPROCMASK = 14 - SYS_RT_SIGRETURN = 15 - SYS_IOCTL = 16 - SYS_PREAD64 = 17 - SYS_PWRITE64 = 18 - SYS_READV = 19 - SYS_WRITEV = 20 - SYS_ACCESS = 21 - SYS_PIPE = 22 - SYS_SELECT = 23 - SYS_SCHED_YIELD = 24 - SYS_MREMAP = 25 - SYS_MSYNC = 26 - SYS_MINCORE = 27 - SYS_MADVISE = 28 - SYS_SHMGET = 29 - SYS_SHMAT = 30 - SYS_SHMCTL = 31 - SYS_DUP = 32 - SYS_DUP2 = 33 - SYS_PAUSE = 34 - SYS_NANOSLEEP = 35 - SYS_GETITIMER = 36 - SYS_ALARM = 37 - SYS_SETITIMER = 38 - SYS_GETPID = 39 - SYS_SENDFILE = 40 - SYS_SOCKET = 41 - SYS_CONNECT = 42 - SYS_ACCEPT = 43 - SYS_SENDTO = 44 - SYS_RECVFROM = 45 - SYS_SENDMSG = 46 - SYS_RECVMSG = 47 - SYS_SHUTDOWN = 48 - SYS_BIND = 49 - SYS_LISTEN = 50 - SYS_GETSOCKNAME = 51 - SYS_GETPEERNAME = 52 - SYS_SOCKETPAIR = 53 - SYS_SETSOCKOPT = 54 - SYS_GETSOCKOPT = 55 - SYS_CLONE = 56 - SYS_FORK = 57 - SYS_VFORK = 58 - SYS_EXECVE = 59 - SYS_EXIT = 60 - SYS_WAIT4 = 61 - SYS_KILL = 62 - SYS_UNAME = 63 - SYS_SEMGET = 64 - SYS_SEMOP = 65 - SYS_SEMCTL = 66 - SYS_SHMDT = 67 - SYS_MSGGET = 68 - SYS_MSGSND = 69 - SYS_MSGRCV = 70 - SYS_MSGCTL = 71 - SYS_FCNTL = 72 - SYS_FLOCK = 73 - SYS_FSYNC = 74 - SYS_FDATASYNC = 75 - SYS_TRUNCATE = 76 - SYS_FTRUNCATE = 77 - SYS_GETDENTS = 78 - SYS_GETCWD = 79 - SYS_CHDIR = 80 - SYS_FCHDIR = 81 - SYS_RENAME = 82 - SYS_MKDIR = 83 - SYS_RMDIR = 84 - SYS_CREAT = 85 - SYS_LINK = 86 - SYS_UNLINK = 87 - SYS_SYMLINK = 88 - SYS_READLINK = 89 - SYS_CHMOD = 90 - SYS_FCHMOD = 91 - SYS_CHOWN = 92 - SYS_FCHOWN = 93 - SYS_LCHOWN = 94 - SYS_UMASK = 95 - SYS_GETTIMEOFDAY = 96 - SYS_GETRLIMIT = 97 - SYS_GETRUSAGE = 98 - SYS_SYSINFO = 99 - SYS_TIMES = 100 - SYS_PTRACE = 101 - SYS_GETUID = 102 - SYS_SYSLOG = 103 - SYS_GETGID = 104 - SYS_SETUID = 105 - SYS_SETGID = 106 - SYS_GETEUID = 107 - SYS_GETEGID = 108 - SYS_SETPGID = 109 - SYS_GETPPID = 110 - SYS_GETPGRP = 111 - SYS_SETSID = 112 - SYS_SETREUID = 113 - SYS_SETREGID = 114 - SYS_GETGROUPS = 115 - SYS_SETGROUPS = 116 - SYS_SETRESUID = 117 - SYS_GETRESUID = 118 - SYS_SETRESGID = 119 - SYS_GETRESGID = 120 - SYS_GETPGID = 121 - SYS_SETFSUID = 122 - SYS_SETFSGID = 123 - SYS_GETSID = 124 - SYS_CAPGET = 125 - SYS_CAPSET = 126 - SYS_RT_SIGPENDING = 127 - SYS_RT_SIGTIMEDWAIT = 128 - SYS_RT_SIGQUEUEINFO = 129 - SYS_RT_SIGSUSPEND = 130 - SYS_SIGALTSTACK = 131 - SYS_UTIME = 132 - SYS_MKNOD = 133 - SYS_USELIB = 134 - SYS_PERSONALITY = 135 - SYS_USTAT = 136 - SYS_STATFS = 137 - SYS_FSTATFS = 138 - SYS_SYSFS = 139 - SYS_GETPRIORITY = 140 - SYS_SETPRIORITY = 141 - SYS_SCHED_SETPARAM = 142 - SYS_SCHED_GETPARAM = 143 - SYS_SCHED_SETSCHEDULER = 144 - SYS_SCHED_GETSCHEDULER = 145 - SYS_SCHED_GET_PRIORITY_MAX = 146 - SYS_SCHED_GET_PRIORITY_MIN = 147 - SYS_SCHED_RR_GET_INTERVAL = 148 - SYS_MLOCK = 149 - SYS_MUNLOCK = 150 - SYS_MLOCKALL = 151 - SYS_MUNLOCKALL = 152 - SYS_VHANGUP = 153 - SYS_MODIFY_LDT = 154 - SYS_PIVOT_ROOT = 155 - SYS__SYSCTL = 156 - SYS_PRCTL = 157 - SYS_ARCH_PRCTL = 158 - SYS_ADJTIMEX = 159 - SYS_SETRLIMIT = 160 - SYS_CHROOT = 161 - SYS_SYNC = 162 - SYS_ACCT = 163 - SYS_SETTIMEOFDAY = 164 - SYS_MOUNT = 165 - SYS_UMOUNT2 = 166 - SYS_SWAPON = 167 - SYS_SWAPOFF = 168 - SYS_REBOOT = 169 - SYS_SETHOSTNAME = 170 - SYS_SETDOMAINNAME = 171 - SYS_IOPL = 172 - SYS_IOPERM = 173 - SYS_CREATE_MODULE = 174 - SYS_INIT_MODULE = 175 - SYS_DELETE_MODULE = 176 - SYS_GET_KERNEL_SYMS = 177 - SYS_QUERY_MODULE = 178 - SYS_QUOTACTL = 179 - SYS_NFSSERVCTL = 180 - SYS_GETPMSG = 181 - SYS_PUTPMSG = 182 - SYS_AFS_SYSCALL = 183 - SYS_TUXCALL = 184 - SYS_SECURITY = 185 - SYS_GETTID = 186 - SYS_READAHEAD = 187 - SYS_SETXATTR = 188 - SYS_LSETXATTR = 189 - SYS_FSETXATTR = 190 - SYS_GETXATTR = 191 - SYS_LGETXATTR = 192 - SYS_FGETXATTR = 193 - SYS_LISTXATTR = 194 - SYS_LLISTXATTR = 195 - SYS_FLISTXATTR = 196 - SYS_REMOVEXATTR = 197 - SYS_LREMOVEXATTR = 198 - SYS_FREMOVEXATTR = 199 - SYS_TKILL = 200 - SYS_TIME = 201 - SYS_FUTEX = 202 - SYS_SCHED_SETAFFINITY = 203 - SYS_SCHED_GETAFFINITY = 204 - SYS_SET_THREAD_AREA = 205 - SYS_IO_SETUP = 206 - SYS_IO_DESTROY = 207 - SYS_IO_GETEVENTS = 208 - SYS_IO_SUBMIT = 209 - SYS_IO_CANCEL = 210 - SYS_GET_THREAD_AREA = 211 - SYS_LOOKUP_DCOOKIE = 212 - SYS_EPOLL_CREATE = 213 - SYS_EPOLL_CTL_OLD = 214 - SYS_EPOLL_WAIT_OLD = 215 - SYS_REMAP_FILE_PAGES = 216 - SYS_GETDENTS64 = 217 - SYS_SET_TID_ADDRESS = 218 - SYS_RESTART_SYSCALL = 219 - SYS_SEMTIMEDOP = 220 - SYS_FADVISE64 = 221 - SYS_TIMER_CREATE = 222 - SYS_TIMER_SETTIME = 223 - SYS_TIMER_GETTIME = 224 - SYS_TIMER_GETOVERRUN = 225 - SYS_TIMER_DELETE = 226 - SYS_CLOCK_SETTIME = 227 - SYS_CLOCK_GETTIME = 228 - SYS_CLOCK_GETRES = 229 - SYS_CLOCK_NANOSLEEP = 230 - SYS_EXIT_GROUP = 231 - SYS_EPOLL_WAIT = 232 - SYS_EPOLL_CTL = 233 - SYS_TGKILL = 234 - SYS_UTIMES = 235 - SYS_VSERVER = 236 - SYS_MBIND = 237 - SYS_SET_MEMPOLICY = 238 - SYS_GET_MEMPOLICY = 239 - SYS_MQ_OPEN = 240 - SYS_MQ_UNLINK = 241 - SYS_MQ_TIMEDSEND = 242 - SYS_MQ_TIMEDRECEIVE = 243 - SYS_MQ_NOTIFY = 244 - SYS_MQ_GETSETATTR = 245 - SYS_KEXEC_LOAD = 246 - SYS_WAITID = 247 - SYS_ADD_KEY = 248 - SYS_REQUEST_KEY = 249 - SYS_KEYCTL = 250 - SYS_IOPRIO_SET = 251 - SYS_IOPRIO_GET = 252 - SYS_INOTIFY_INIT = 253 - SYS_INOTIFY_ADD_WATCH = 254 - SYS_INOTIFY_RM_WATCH = 255 - SYS_MIGRATE_PAGES = 256 - SYS_OPENAT = 257 - SYS_MKDIRAT = 258 - SYS_MKNODAT = 259 - SYS_FCHOWNAT = 260 - SYS_FUTIMESAT = 261 - SYS_NEWFSTATAT = 262 - SYS_UNLINKAT = 263 - SYS_RENAMEAT = 264 - SYS_LINKAT = 265 - SYS_SYMLINKAT = 266 - SYS_READLINKAT = 267 - SYS_FCHMODAT = 268 - SYS_FACCESSAT = 269 - SYS_PSELECT6 = 270 - SYS_PPOLL = 271 - SYS_UNSHARE = 272 - SYS_SET_ROBUST_LIST = 273 - SYS_GET_ROBUST_LIST = 274 - SYS_SPLICE = 275 - SYS_TEE = 276 - SYS_SYNC_FILE_RANGE = 277 - SYS_VMSPLICE = 278 - SYS_MOVE_PAGES = 279 - SYS_UTIMENSAT = 280 - SYS_EPOLL_PWAIT = 281 - SYS_SIGNALFD = 282 - SYS_TIMERFD_CREATE = 283 - SYS_EVENTFD = 284 - SYS_FALLOCATE = 285 - SYS_TIMERFD_SETTIME = 286 - SYS_TIMERFD_GETTIME = 287 - SYS_ACCEPT4 = 288 - SYS_SIGNALFD4 = 289 - SYS_EVENTFD2 = 290 - SYS_EPOLL_CREATE1 = 291 - SYS_DUP3 = 292 - SYS_PIPE2 = 293 - SYS_INOTIFY_INIT1 = 294 - SYS_PREADV = 295 - SYS_PWRITEV = 296 - SYS_RT_TGSIGQUEUEINFO = 297 - SYS_PERF_EVENT_OPEN = 298 - SYS_RECVMMSG = 299 - SYS_FANOTIFY_INIT = 300 - SYS_FANOTIFY_MARK = 301 - SYS_PRLIMIT64 = 302 - SYS_NAME_TO_HANDLE_AT = 303 - SYS_OPEN_BY_HANDLE_AT = 304 - SYS_CLOCK_ADJTIME = 305 - SYS_SYNCFS = 306 - SYS_SENDMMSG = 307 - SYS_SETNS = 308 - SYS_GETCPU = 309 - SYS_PROCESS_VM_READV = 310 - SYS_PROCESS_VM_WRITEV = 311 - SYS_KCMP = 312 - SYS_FINIT_MODULE = 313 - SYS_SCHED_SETATTR = 314 - SYS_SCHED_GETATTR = 315 - SYS_RENAMEAT2 = 316 - SYS_SECCOMP = 317 - SYS_GETRANDOM = 318 - SYS_MEMFD_CREATE = 319 - SYS_KEXEC_FILE_LOAD = 320 - SYS_BPF = 321 - SYS_EXECVEAT = 322 - SYS_USERFAULTFD = 323 - SYS_MEMBARRIER = 324 - SYS_MLOCK2 = 325 - SYS_COPY_FILE_RANGE = 326 - SYS_PREADV2 = 327 - SYS_PWRITEV2 = 328 - SYS_PKEY_MPROTECT = 329 - SYS_PKEY_ALLOC = 330 - SYS_PKEY_FREE = 331 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go deleted file mode 100644 index 97b182e..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ /dev/null @@ -1,361 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm,linux - -package unix - -const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_PTRACE = 26 - SYS_PAUSE = 29 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_SETPGID = 57 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SYMLINK = 83 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_VHANGUP = 111 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_SETRESGID = 170 - SYS_GETRESGID = 171 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_CHOWN = 182 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_VFORK = 190 - SYS_UGETRLIMIT = 191 - SYS_MMAP2 = 192 - SYS_TRUNCATE64 = 193 - SYS_FTRUNCATE64 = 194 - SYS_STAT64 = 195 - SYS_LSTAT64 = 196 - SYS_FSTAT64 = 197 - SYS_LCHOWN32 = 198 - SYS_GETUID32 = 199 - SYS_GETGID32 = 200 - SYS_GETEUID32 = 201 - SYS_GETEGID32 = 202 - SYS_SETREUID32 = 203 - SYS_SETREGID32 = 204 - SYS_GETGROUPS32 = 205 - SYS_SETGROUPS32 = 206 - SYS_FCHOWN32 = 207 - SYS_SETRESUID32 = 208 - SYS_GETRESUID32 = 209 - SYS_SETRESGID32 = 210 - SYS_GETRESGID32 = 211 - SYS_CHOWN32 = 212 - SYS_SETUID32 = 213 - SYS_SETGID32 = 214 - SYS_SETFSUID32 = 215 - SYS_SETFSGID32 = 216 - SYS_GETDENTS64 = 217 - SYS_PIVOT_ROOT = 218 - SYS_MINCORE = 219 - SYS_MADVISE = 220 - SYS_FCNTL64 = 221 - SYS_GETTID = 224 - SYS_READAHEAD = 225 - SYS_SETXATTR = 226 - SYS_LSETXATTR = 227 - SYS_FSETXATTR = 228 - SYS_GETXATTR = 229 - SYS_LGETXATTR = 230 - SYS_FGETXATTR = 231 - SYS_LISTXATTR = 232 - SYS_LLISTXATTR = 233 - SYS_FLISTXATTR = 234 - SYS_REMOVEXATTR = 235 - SYS_LREMOVEXATTR = 236 - SYS_FREMOVEXATTR = 237 - SYS_TKILL = 238 - SYS_SENDFILE64 = 239 - SYS_FUTEX = 240 - SYS_SCHED_SETAFFINITY = 241 - SYS_SCHED_GETAFFINITY = 242 - SYS_IO_SETUP = 243 - SYS_IO_DESTROY = 244 - SYS_IO_GETEVENTS = 245 - SYS_IO_SUBMIT = 246 - SYS_IO_CANCEL = 247 - SYS_EXIT_GROUP = 248 - SYS_LOOKUP_DCOOKIE = 249 - SYS_EPOLL_CREATE = 250 - SYS_EPOLL_CTL = 251 - SYS_EPOLL_WAIT = 252 - SYS_REMAP_FILE_PAGES = 253 - SYS_SET_TID_ADDRESS = 256 - SYS_TIMER_CREATE = 257 - SYS_TIMER_SETTIME = 258 - SYS_TIMER_GETTIME = 259 - SYS_TIMER_GETOVERRUN = 260 - SYS_TIMER_DELETE = 261 - SYS_CLOCK_SETTIME = 262 - SYS_CLOCK_GETTIME = 263 - SYS_CLOCK_GETRES = 264 - SYS_CLOCK_NANOSLEEP = 265 - SYS_STATFS64 = 266 - SYS_FSTATFS64 = 267 - SYS_TGKILL = 268 - SYS_UTIMES = 269 - SYS_ARM_FADVISE64_64 = 270 - SYS_PCICONFIG_IOBASE = 271 - SYS_PCICONFIG_READ = 272 - SYS_PCICONFIG_WRITE = 273 - SYS_MQ_OPEN = 274 - SYS_MQ_UNLINK = 275 - SYS_MQ_TIMEDSEND = 276 - SYS_MQ_TIMEDRECEIVE = 277 - SYS_MQ_NOTIFY = 278 - SYS_MQ_GETSETATTR = 279 - SYS_WAITID = 280 - SYS_SOCKET = 281 - SYS_BIND = 282 - SYS_CONNECT = 283 - SYS_LISTEN = 284 - SYS_ACCEPT = 285 - SYS_GETSOCKNAME = 286 - SYS_GETPEERNAME = 287 - SYS_SOCKETPAIR = 288 - SYS_SEND = 289 - SYS_SENDTO = 290 - SYS_RECV = 291 - SYS_RECVFROM = 292 - SYS_SHUTDOWN = 293 - SYS_SETSOCKOPT = 294 - SYS_GETSOCKOPT = 295 - SYS_SENDMSG = 296 - SYS_RECVMSG = 297 - SYS_SEMOP = 298 - SYS_SEMGET = 299 - SYS_SEMCTL = 300 - SYS_MSGSND = 301 - SYS_MSGRCV = 302 - SYS_MSGGET = 303 - SYS_MSGCTL = 304 - SYS_SHMAT = 305 - SYS_SHMDT = 306 - SYS_SHMGET = 307 - SYS_SHMCTL = 308 - SYS_ADD_KEY = 309 - SYS_REQUEST_KEY = 310 - SYS_KEYCTL = 311 - SYS_SEMTIMEDOP = 312 - SYS_VSERVER = 313 - SYS_IOPRIO_SET = 314 - SYS_IOPRIO_GET = 315 - SYS_INOTIFY_INIT = 316 - SYS_INOTIFY_ADD_WATCH = 317 - SYS_INOTIFY_RM_WATCH = 318 - SYS_MBIND = 319 - SYS_GET_MEMPOLICY = 320 - SYS_SET_MEMPOLICY = 321 - SYS_OPENAT = 322 - SYS_MKDIRAT = 323 - SYS_MKNODAT = 324 - SYS_FCHOWNAT = 325 - SYS_FUTIMESAT = 326 - SYS_FSTATAT64 = 327 - SYS_UNLINKAT = 328 - SYS_RENAMEAT = 329 - SYS_LINKAT = 330 - SYS_SYMLINKAT = 331 - SYS_READLINKAT = 332 - SYS_FCHMODAT = 333 - SYS_FACCESSAT = 334 - SYS_PSELECT6 = 335 - SYS_PPOLL = 336 - SYS_UNSHARE = 337 - SYS_SET_ROBUST_LIST = 338 - SYS_GET_ROBUST_LIST = 339 - SYS_SPLICE = 340 - SYS_ARM_SYNC_FILE_RANGE = 341 - SYS_TEE = 342 - SYS_VMSPLICE = 343 - SYS_MOVE_PAGES = 344 - SYS_GETCPU = 345 - SYS_EPOLL_PWAIT = 346 - SYS_KEXEC_LOAD = 347 - SYS_UTIMENSAT = 348 - SYS_SIGNALFD = 349 - SYS_TIMERFD_CREATE = 350 - SYS_EVENTFD = 351 - SYS_FALLOCATE = 352 - SYS_TIMERFD_SETTIME = 353 - SYS_TIMERFD_GETTIME = 354 - SYS_SIGNALFD4 = 355 - SYS_EVENTFD2 = 356 - SYS_EPOLL_CREATE1 = 357 - SYS_DUP3 = 358 - SYS_PIPE2 = 359 - SYS_INOTIFY_INIT1 = 360 - SYS_PREADV = 361 - SYS_PWRITEV = 362 - SYS_RT_TGSIGQUEUEINFO = 363 - SYS_PERF_EVENT_OPEN = 364 - SYS_RECVMMSG = 365 - SYS_ACCEPT4 = 366 - SYS_FANOTIFY_INIT = 367 - SYS_FANOTIFY_MARK = 368 - SYS_PRLIMIT64 = 369 - SYS_NAME_TO_HANDLE_AT = 370 - SYS_OPEN_BY_HANDLE_AT = 371 - SYS_CLOCK_ADJTIME = 372 - SYS_SYNCFS = 373 - SYS_SENDMMSG = 374 - SYS_SETNS = 375 - SYS_PROCESS_VM_READV = 376 - SYS_PROCESS_VM_WRITEV = 377 - SYS_KCMP = 378 - SYS_FINIT_MODULE = 379 - SYS_SCHED_SETATTR = 380 - SYS_SCHED_GETATTR = 381 - SYS_RENAMEAT2 = 382 - SYS_SECCOMP = 383 - SYS_GETRANDOM = 384 - SYS_MEMFD_CREATE = 385 - SYS_BPF = 386 - SYS_EXECVEAT = 387 - SYS_USERFAULTFD = 388 - SYS_MEMBARRIER = 389 - SYS_MLOCK2 = 390 - SYS_COPY_FILE_RANGE = 391 - SYS_PREADV2 = 392 - SYS_PWRITEV2 = 393 - SYS_PKEY_MPROTECT = 394 - SYS_PKEY_ALLOC = 395 - SYS_PKEY_FREE = 396 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go deleted file mode 100644 index 6407843..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ /dev/null @@ -1,285 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm64,linux - -package unix - -const ( - SYS_IO_SETUP = 0 - SYS_IO_DESTROY = 1 - SYS_IO_SUBMIT = 2 - SYS_IO_CANCEL = 3 - SYS_IO_GETEVENTS = 4 - SYS_SETXATTR = 5 - SYS_LSETXATTR = 6 - SYS_FSETXATTR = 7 - SYS_GETXATTR = 8 - SYS_LGETXATTR = 9 - SYS_FGETXATTR = 10 - SYS_LISTXATTR = 11 - SYS_LLISTXATTR = 12 - SYS_FLISTXATTR = 13 - SYS_REMOVEXATTR = 14 - SYS_LREMOVEXATTR = 15 - SYS_FREMOVEXATTR = 16 - SYS_GETCWD = 17 - SYS_LOOKUP_DCOOKIE = 18 - SYS_EVENTFD2 = 19 - SYS_EPOLL_CREATE1 = 20 - SYS_EPOLL_CTL = 21 - SYS_EPOLL_PWAIT = 22 - SYS_DUP = 23 - SYS_DUP3 = 24 - SYS_FCNTL = 25 - SYS_INOTIFY_INIT1 = 26 - SYS_INOTIFY_ADD_WATCH = 27 - SYS_INOTIFY_RM_WATCH = 28 - SYS_IOCTL = 29 - SYS_IOPRIO_SET = 30 - SYS_IOPRIO_GET = 31 - SYS_FLOCK = 32 - SYS_MKNODAT = 33 - SYS_MKDIRAT = 34 - SYS_UNLINKAT = 35 - SYS_SYMLINKAT = 36 - SYS_LINKAT = 37 - SYS_RENAMEAT = 38 - SYS_UMOUNT2 = 39 - SYS_MOUNT = 40 - SYS_PIVOT_ROOT = 41 - SYS_NFSSERVCTL = 42 - SYS_STATFS = 43 - SYS_FSTATFS = 44 - SYS_TRUNCATE = 45 - SYS_FTRUNCATE = 46 - SYS_FALLOCATE = 47 - SYS_FACCESSAT = 48 - SYS_CHDIR = 49 - SYS_FCHDIR = 50 - SYS_CHROOT = 51 - SYS_FCHMOD = 52 - SYS_FCHMODAT = 53 - SYS_FCHOWNAT = 54 - SYS_FCHOWN = 55 - SYS_OPENAT = 56 - SYS_CLOSE = 57 - SYS_VHANGUP = 58 - SYS_PIPE2 = 59 - SYS_QUOTACTL = 60 - SYS_GETDENTS64 = 61 - SYS_LSEEK = 62 - SYS_READ = 63 - SYS_WRITE = 64 - SYS_READV = 65 - SYS_WRITEV = 66 - SYS_PREAD64 = 67 - SYS_PWRITE64 = 68 - SYS_PREADV = 69 - SYS_PWRITEV = 70 - SYS_SENDFILE = 71 - SYS_PSELECT6 = 72 - SYS_PPOLL = 73 - SYS_SIGNALFD4 = 74 - SYS_VMSPLICE = 75 - SYS_SPLICE = 76 - SYS_TEE = 77 - SYS_READLINKAT = 78 - SYS_FSTATAT = 79 - SYS_FSTAT = 80 - SYS_SYNC = 81 - SYS_FSYNC = 82 - SYS_FDATASYNC = 83 - SYS_SYNC_FILE_RANGE = 84 - SYS_TIMERFD_CREATE = 85 - SYS_TIMERFD_SETTIME = 86 - SYS_TIMERFD_GETTIME = 87 - SYS_UTIMENSAT = 88 - SYS_ACCT = 89 - SYS_CAPGET = 90 - SYS_CAPSET = 91 - SYS_PERSONALITY = 92 - SYS_EXIT = 93 - SYS_EXIT_GROUP = 94 - SYS_WAITID = 95 - SYS_SET_TID_ADDRESS = 96 - SYS_UNSHARE = 97 - SYS_FUTEX = 98 - SYS_SET_ROBUST_LIST = 99 - SYS_GET_ROBUST_LIST = 100 - SYS_NANOSLEEP = 101 - SYS_GETITIMER = 102 - SYS_SETITIMER = 103 - SYS_KEXEC_LOAD = 104 - SYS_INIT_MODULE = 105 - SYS_DELETE_MODULE = 106 - SYS_TIMER_CREATE = 107 - SYS_TIMER_GETTIME = 108 - SYS_TIMER_GETOVERRUN = 109 - SYS_TIMER_SETTIME = 110 - SYS_TIMER_DELETE = 111 - SYS_CLOCK_SETTIME = 112 - SYS_CLOCK_GETTIME = 113 - SYS_CLOCK_GETRES = 114 - SYS_CLOCK_NANOSLEEP = 115 - SYS_SYSLOG = 116 - SYS_PTRACE = 117 - SYS_SCHED_SETPARAM = 118 - SYS_SCHED_SETSCHEDULER = 119 - SYS_SCHED_GETSCHEDULER = 120 - SYS_SCHED_GETPARAM = 121 - SYS_SCHED_SETAFFINITY = 122 - SYS_SCHED_GETAFFINITY = 123 - SYS_SCHED_YIELD = 124 - SYS_SCHED_GET_PRIORITY_MAX = 125 - SYS_SCHED_GET_PRIORITY_MIN = 126 - SYS_SCHED_RR_GET_INTERVAL = 127 - SYS_RESTART_SYSCALL = 128 - SYS_KILL = 129 - SYS_TKILL = 130 - SYS_TGKILL = 131 - SYS_SIGALTSTACK = 132 - SYS_RT_SIGSUSPEND = 133 - SYS_RT_SIGACTION = 134 - SYS_RT_SIGPROCMASK = 135 - SYS_RT_SIGPENDING = 136 - SYS_RT_SIGTIMEDWAIT = 137 - SYS_RT_SIGQUEUEINFO = 138 - SYS_RT_SIGRETURN = 139 - SYS_SETPRIORITY = 140 - SYS_GETPRIORITY = 141 - SYS_REBOOT = 142 - SYS_SETREGID = 143 - SYS_SETGID = 144 - SYS_SETREUID = 145 - SYS_SETUID = 146 - SYS_SETRESUID = 147 - SYS_GETRESUID = 148 - SYS_SETRESGID = 149 - SYS_GETRESGID = 150 - SYS_SETFSUID = 151 - SYS_SETFSGID = 152 - SYS_TIMES = 153 - SYS_SETPGID = 154 - SYS_GETPGID = 155 - SYS_GETSID = 156 - SYS_SETSID = 157 - SYS_GETGROUPS = 158 - SYS_SETGROUPS = 159 - SYS_UNAME = 160 - SYS_SETHOSTNAME = 161 - SYS_SETDOMAINNAME = 162 - SYS_GETRLIMIT = 163 - SYS_SETRLIMIT = 164 - SYS_GETRUSAGE = 165 - SYS_UMASK = 166 - SYS_PRCTL = 167 - SYS_GETCPU = 168 - SYS_GETTIMEOFDAY = 169 - SYS_SETTIMEOFDAY = 170 - SYS_ADJTIMEX = 171 - SYS_GETPID = 172 - SYS_GETPPID = 173 - SYS_GETUID = 174 - SYS_GETEUID = 175 - SYS_GETGID = 176 - SYS_GETEGID = 177 - SYS_GETTID = 178 - SYS_SYSINFO = 179 - SYS_MQ_OPEN = 180 - SYS_MQ_UNLINK = 181 - SYS_MQ_TIMEDSEND = 182 - SYS_MQ_TIMEDRECEIVE = 183 - SYS_MQ_NOTIFY = 184 - SYS_MQ_GETSETATTR = 185 - SYS_MSGGET = 186 - SYS_MSGCTL = 187 - SYS_MSGRCV = 188 - SYS_MSGSND = 189 - SYS_SEMGET = 190 - SYS_SEMCTL = 191 - SYS_SEMTIMEDOP = 192 - SYS_SEMOP = 193 - SYS_SHMGET = 194 - SYS_SHMCTL = 195 - SYS_SHMAT = 196 - SYS_SHMDT = 197 - SYS_SOCKET = 198 - SYS_SOCKETPAIR = 199 - SYS_BIND = 200 - SYS_LISTEN = 201 - SYS_ACCEPT = 202 - SYS_CONNECT = 203 - SYS_GETSOCKNAME = 204 - SYS_GETPEERNAME = 205 - SYS_SENDTO = 206 - SYS_RECVFROM = 207 - SYS_SETSOCKOPT = 208 - SYS_GETSOCKOPT = 209 - SYS_SHUTDOWN = 210 - SYS_SENDMSG = 211 - SYS_RECVMSG = 212 - SYS_READAHEAD = 213 - SYS_BRK = 214 - SYS_MUNMAP = 215 - SYS_MREMAP = 216 - SYS_ADD_KEY = 217 - SYS_REQUEST_KEY = 218 - SYS_KEYCTL = 219 - SYS_CLONE = 220 - SYS_EXECVE = 221 - SYS_MMAP = 222 - SYS_FADVISE64 = 223 - SYS_SWAPON = 224 - SYS_SWAPOFF = 225 - SYS_MPROTECT = 226 - SYS_MSYNC = 227 - SYS_MLOCK = 228 - SYS_MUNLOCK = 229 - SYS_MLOCKALL = 230 - SYS_MUNLOCKALL = 231 - SYS_MINCORE = 232 - SYS_MADVISE = 233 - SYS_REMAP_FILE_PAGES = 234 - SYS_MBIND = 235 - SYS_GET_MEMPOLICY = 236 - SYS_SET_MEMPOLICY = 237 - SYS_MIGRATE_PAGES = 238 - SYS_MOVE_PAGES = 239 - SYS_RT_TGSIGQUEUEINFO = 240 - SYS_PERF_EVENT_OPEN = 241 - SYS_ACCEPT4 = 242 - SYS_RECVMMSG = 243 - SYS_ARCH_SPECIFIC_SYSCALL = 244 - SYS_WAIT4 = 260 - SYS_PRLIMIT64 = 261 - SYS_FANOTIFY_INIT = 262 - SYS_FANOTIFY_MARK = 263 - SYS_NAME_TO_HANDLE_AT = 264 - SYS_OPEN_BY_HANDLE_AT = 265 - SYS_CLOCK_ADJTIME = 266 - SYS_SYNCFS = 267 - SYS_SETNS = 268 - SYS_SENDMMSG = 269 - SYS_PROCESS_VM_READV = 270 - SYS_PROCESS_VM_WRITEV = 271 - SYS_KCMP = 272 - SYS_FINIT_MODULE = 273 - SYS_SCHED_SETATTR = 274 - SYS_SCHED_GETATTR = 275 - SYS_RENAMEAT2 = 276 - SYS_SECCOMP = 277 - SYS_GETRANDOM = 278 - SYS_MEMFD_CREATE = 279 - SYS_BPF = 280 - SYS_EXECVEAT = 281 - SYS_USERFAULTFD = 282 - SYS_MEMBARRIER = 283 - SYS_MLOCK2 = 284 - SYS_COPY_FILE_RANGE = 285 - SYS_PREADV2 = 286 - SYS_PWRITEV2 = 287 - SYS_PKEY_MPROTECT = 288 - SYS_PKEY_ALLOC = 289 - SYS_PKEY_FREE = 290 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go deleted file mode 100644 index 939567c..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ /dev/null @@ -1,374 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips,linux - -package unix - -const ( - SYS_SYSCALL = 4000 - SYS_EXIT = 4001 - SYS_FORK = 4002 - SYS_READ = 4003 - SYS_WRITE = 4004 - SYS_OPEN = 4005 - SYS_CLOSE = 4006 - SYS_WAITPID = 4007 - SYS_CREAT = 4008 - SYS_LINK = 4009 - SYS_UNLINK = 4010 - SYS_EXECVE = 4011 - SYS_CHDIR = 4012 - SYS_TIME = 4013 - SYS_MKNOD = 4014 - SYS_CHMOD = 4015 - SYS_LCHOWN = 4016 - SYS_BREAK = 4017 - SYS_UNUSED18 = 4018 - SYS_LSEEK = 4019 - SYS_GETPID = 4020 - SYS_MOUNT = 4021 - SYS_UMOUNT = 4022 - SYS_SETUID = 4023 - SYS_GETUID = 4024 - SYS_STIME = 4025 - SYS_PTRACE = 4026 - SYS_ALARM = 4027 - SYS_UNUSED28 = 4028 - SYS_PAUSE = 4029 - SYS_UTIME = 4030 - SYS_STTY = 4031 - SYS_GTTY = 4032 - SYS_ACCESS = 4033 - SYS_NICE = 4034 - SYS_FTIME = 4035 - SYS_SYNC = 4036 - SYS_KILL = 4037 - SYS_RENAME = 4038 - SYS_MKDIR = 4039 - SYS_RMDIR = 4040 - SYS_DUP = 4041 - SYS_PIPE = 4042 - SYS_TIMES = 4043 - SYS_PROF = 4044 - SYS_BRK = 4045 - SYS_SETGID = 4046 - SYS_GETGID = 4047 - SYS_SIGNAL = 4048 - SYS_GETEUID = 4049 - SYS_GETEGID = 4050 - SYS_ACCT = 4051 - SYS_UMOUNT2 = 4052 - SYS_LOCK = 4053 - SYS_IOCTL = 4054 - SYS_FCNTL = 4055 - SYS_MPX = 4056 - SYS_SETPGID = 4057 - SYS_ULIMIT = 4058 - SYS_UNUSED59 = 4059 - SYS_UMASK = 4060 - SYS_CHROOT = 4061 - SYS_USTAT = 4062 - SYS_DUP2 = 4063 - SYS_GETPPID = 4064 - SYS_GETPGRP = 4065 - SYS_SETSID = 4066 - SYS_SIGACTION = 4067 - SYS_SGETMASK = 4068 - SYS_SSETMASK = 4069 - SYS_SETREUID = 4070 - SYS_SETREGID = 4071 - SYS_SIGSUSPEND = 4072 - SYS_SIGPENDING = 4073 - SYS_SETHOSTNAME = 4074 - SYS_SETRLIMIT = 4075 - SYS_GETRLIMIT = 4076 - SYS_GETRUSAGE = 4077 - SYS_GETTIMEOFDAY = 4078 - SYS_SETTIMEOFDAY = 4079 - SYS_GETGROUPS = 4080 - SYS_SETGROUPS = 4081 - SYS_RESERVED82 = 4082 - SYS_SYMLINK = 4083 - SYS_UNUSED84 = 4084 - SYS_READLINK = 4085 - SYS_USELIB = 4086 - SYS_SWAPON = 4087 - SYS_REBOOT = 4088 - SYS_READDIR = 4089 - SYS_MMAP = 4090 - SYS_MUNMAP = 4091 - SYS_TRUNCATE = 4092 - SYS_FTRUNCATE = 4093 - SYS_FCHMOD = 4094 - SYS_FCHOWN = 4095 - SYS_GETPRIORITY = 4096 - SYS_SETPRIORITY = 4097 - SYS_PROFIL = 4098 - SYS_STATFS = 4099 - SYS_FSTATFS = 4100 - SYS_IOPERM = 4101 - SYS_SOCKETCALL = 4102 - SYS_SYSLOG = 4103 - SYS_SETITIMER = 4104 - SYS_GETITIMER = 4105 - SYS_STAT = 4106 - SYS_LSTAT = 4107 - SYS_FSTAT = 4108 - SYS_UNUSED109 = 4109 - SYS_IOPL = 4110 - SYS_VHANGUP = 4111 - SYS_IDLE = 4112 - SYS_VM86 = 4113 - SYS_WAIT4 = 4114 - SYS_SWAPOFF = 4115 - SYS_SYSINFO = 4116 - SYS_IPC = 4117 - SYS_FSYNC = 4118 - SYS_SIGRETURN = 4119 - SYS_CLONE = 4120 - SYS_SETDOMAINNAME = 4121 - SYS_UNAME = 4122 - SYS_MODIFY_LDT = 4123 - SYS_ADJTIMEX = 4124 - SYS_MPROTECT = 4125 - SYS_SIGPROCMASK = 4126 - SYS_CREATE_MODULE = 4127 - SYS_INIT_MODULE = 4128 - SYS_DELETE_MODULE = 4129 - SYS_GET_KERNEL_SYMS = 4130 - SYS_QUOTACTL = 4131 - SYS_GETPGID = 4132 - SYS_FCHDIR = 4133 - SYS_BDFLUSH = 4134 - SYS_SYSFS = 4135 - SYS_PERSONALITY = 4136 - SYS_AFS_SYSCALL = 4137 - SYS_SETFSUID = 4138 - SYS_SETFSGID = 4139 - SYS__LLSEEK = 4140 - SYS_GETDENTS = 4141 - SYS__NEWSELECT = 4142 - SYS_FLOCK = 4143 - SYS_MSYNC = 4144 - SYS_READV = 4145 - SYS_WRITEV = 4146 - SYS_CACHEFLUSH = 4147 - SYS_CACHECTL = 4148 - SYS_SYSMIPS = 4149 - SYS_UNUSED150 = 4150 - SYS_GETSID = 4151 - SYS_FDATASYNC = 4152 - SYS__SYSCTL = 4153 - SYS_MLOCK = 4154 - SYS_MUNLOCK = 4155 - SYS_MLOCKALL = 4156 - SYS_MUNLOCKALL = 4157 - SYS_SCHED_SETPARAM = 4158 - SYS_SCHED_GETPARAM = 4159 - SYS_SCHED_SETSCHEDULER = 4160 - SYS_SCHED_GETSCHEDULER = 4161 - SYS_SCHED_YIELD = 4162 - SYS_SCHED_GET_PRIORITY_MAX = 4163 - SYS_SCHED_GET_PRIORITY_MIN = 4164 - SYS_SCHED_RR_GET_INTERVAL = 4165 - SYS_NANOSLEEP = 4166 - SYS_MREMAP = 4167 - SYS_ACCEPT = 4168 - SYS_BIND = 4169 - SYS_CONNECT = 4170 - SYS_GETPEERNAME = 4171 - SYS_GETSOCKNAME = 4172 - SYS_GETSOCKOPT = 4173 - SYS_LISTEN = 4174 - SYS_RECV = 4175 - SYS_RECVFROM = 4176 - SYS_RECVMSG = 4177 - SYS_SEND = 4178 - SYS_SENDMSG = 4179 - SYS_SENDTO = 4180 - SYS_SETSOCKOPT = 4181 - SYS_SHUTDOWN = 4182 - SYS_SOCKET = 4183 - SYS_SOCKETPAIR = 4184 - SYS_SETRESUID = 4185 - SYS_GETRESUID = 4186 - SYS_QUERY_MODULE = 4187 - SYS_POLL = 4188 - SYS_NFSSERVCTL = 4189 - SYS_SETRESGID = 4190 - SYS_GETRESGID = 4191 - SYS_PRCTL = 4192 - SYS_RT_SIGRETURN = 4193 - SYS_RT_SIGACTION = 4194 - SYS_RT_SIGPROCMASK = 4195 - SYS_RT_SIGPENDING = 4196 - SYS_RT_SIGTIMEDWAIT = 4197 - SYS_RT_SIGQUEUEINFO = 4198 - SYS_RT_SIGSUSPEND = 4199 - SYS_PREAD64 = 4200 - SYS_PWRITE64 = 4201 - SYS_CHOWN = 4202 - SYS_GETCWD = 4203 - SYS_CAPGET = 4204 - SYS_CAPSET = 4205 - SYS_SIGALTSTACK = 4206 - SYS_SENDFILE = 4207 - SYS_GETPMSG = 4208 - SYS_PUTPMSG = 4209 - SYS_MMAP2 = 4210 - SYS_TRUNCATE64 = 4211 - SYS_FTRUNCATE64 = 4212 - SYS_STAT64 = 4213 - SYS_LSTAT64 = 4214 - SYS_FSTAT64 = 4215 - SYS_PIVOT_ROOT = 4216 - SYS_MINCORE = 4217 - SYS_MADVISE = 4218 - SYS_GETDENTS64 = 4219 - SYS_FCNTL64 = 4220 - SYS_RESERVED221 = 4221 - SYS_GETTID = 4222 - SYS_READAHEAD = 4223 - SYS_SETXATTR = 4224 - SYS_LSETXATTR = 4225 - SYS_FSETXATTR = 4226 - SYS_GETXATTR = 4227 - SYS_LGETXATTR = 4228 - SYS_FGETXATTR = 4229 - SYS_LISTXATTR = 4230 - SYS_LLISTXATTR = 4231 - SYS_FLISTXATTR = 4232 - SYS_REMOVEXATTR = 4233 - SYS_LREMOVEXATTR = 4234 - SYS_FREMOVEXATTR = 4235 - SYS_TKILL = 4236 - SYS_SENDFILE64 = 4237 - SYS_FUTEX = 4238 - SYS_SCHED_SETAFFINITY = 4239 - SYS_SCHED_GETAFFINITY = 4240 - SYS_IO_SETUP = 4241 - SYS_IO_DESTROY = 4242 - SYS_IO_GETEVENTS = 4243 - SYS_IO_SUBMIT = 4244 - SYS_IO_CANCEL = 4245 - SYS_EXIT_GROUP = 4246 - SYS_LOOKUP_DCOOKIE = 4247 - SYS_EPOLL_CREATE = 4248 - SYS_EPOLL_CTL = 4249 - SYS_EPOLL_WAIT = 4250 - SYS_REMAP_FILE_PAGES = 4251 - SYS_SET_TID_ADDRESS = 4252 - SYS_RESTART_SYSCALL = 4253 - SYS_FADVISE64 = 4254 - SYS_STATFS64 = 4255 - SYS_FSTATFS64 = 4256 - SYS_TIMER_CREATE = 4257 - SYS_TIMER_SETTIME = 4258 - SYS_TIMER_GETTIME = 4259 - SYS_TIMER_GETOVERRUN = 4260 - SYS_TIMER_DELETE = 4261 - SYS_CLOCK_SETTIME = 4262 - SYS_CLOCK_GETTIME = 4263 - SYS_CLOCK_GETRES = 4264 - SYS_CLOCK_NANOSLEEP = 4265 - SYS_TGKILL = 4266 - SYS_UTIMES = 4267 - SYS_MBIND = 4268 - SYS_GET_MEMPOLICY = 4269 - SYS_SET_MEMPOLICY = 4270 - SYS_MQ_OPEN = 4271 - SYS_MQ_UNLINK = 4272 - SYS_MQ_TIMEDSEND = 4273 - SYS_MQ_TIMEDRECEIVE = 4274 - SYS_MQ_NOTIFY = 4275 - SYS_MQ_GETSETATTR = 4276 - SYS_VSERVER = 4277 - SYS_WAITID = 4278 - SYS_ADD_KEY = 4280 - SYS_REQUEST_KEY = 4281 - SYS_KEYCTL = 4282 - SYS_SET_THREAD_AREA = 4283 - SYS_INOTIFY_INIT = 4284 - SYS_INOTIFY_ADD_WATCH = 4285 - SYS_INOTIFY_RM_WATCH = 4286 - SYS_MIGRATE_PAGES = 4287 - SYS_OPENAT = 4288 - SYS_MKDIRAT = 4289 - SYS_MKNODAT = 4290 - SYS_FCHOWNAT = 4291 - SYS_FUTIMESAT = 4292 - SYS_FSTATAT64 = 4293 - SYS_UNLINKAT = 4294 - SYS_RENAMEAT = 4295 - SYS_LINKAT = 4296 - SYS_SYMLINKAT = 4297 - SYS_READLINKAT = 4298 - SYS_FCHMODAT = 4299 - SYS_FACCESSAT = 4300 - SYS_PSELECT6 = 4301 - SYS_PPOLL = 4302 - SYS_UNSHARE = 4303 - SYS_SPLICE = 4304 - SYS_SYNC_FILE_RANGE = 4305 - SYS_TEE = 4306 - SYS_VMSPLICE = 4307 - SYS_MOVE_PAGES = 4308 - SYS_SET_ROBUST_LIST = 4309 - SYS_GET_ROBUST_LIST = 4310 - SYS_KEXEC_LOAD = 4311 - SYS_GETCPU = 4312 - SYS_EPOLL_PWAIT = 4313 - SYS_IOPRIO_SET = 4314 - SYS_IOPRIO_GET = 4315 - SYS_UTIMENSAT = 4316 - SYS_SIGNALFD = 4317 - SYS_TIMERFD = 4318 - SYS_EVENTFD = 4319 - SYS_FALLOCATE = 4320 - SYS_TIMERFD_CREATE = 4321 - SYS_TIMERFD_GETTIME = 4322 - SYS_TIMERFD_SETTIME = 4323 - SYS_SIGNALFD4 = 4324 - SYS_EVENTFD2 = 4325 - SYS_EPOLL_CREATE1 = 4326 - SYS_DUP3 = 4327 - SYS_PIPE2 = 4328 - SYS_INOTIFY_INIT1 = 4329 - SYS_PREADV = 4330 - SYS_PWRITEV = 4331 - SYS_RT_TGSIGQUEUEINFO = 4332 - SYS_PERF_EVENT_OPEN = 4333 - SYS_ACCEPT4 = 4334 - SYS_RECVMMSG = 4335 - SYS_FANOTIFY_INIT = 4336 - SYS_FANOTIFY_MARK = 4337 - SYS_PRLIMIT64 = 4338 - SYS_NAME_TO_HANDLE_AT = 4339 - SYS_OPEN_BY_HANDLE_AT = 4340 - SYS_CLOCK_ADJTIME = 4341 - SYS_SYNCFS = 4342 - SYS_SENDMMSG = 4343 - SYS_SETNS = 4344 - SYS_PROCESS_VM_READV = 4345 - SYS_PROCESS_VM_WRITEV = 4346 - SYS_KCMP = 4347 - SYS_FINIT_MODULE = 4348 - SYS_SCHED_SETATTR = 4349 - SYS_SCHED_GETATTR = 4350 - SYS_RENAMEAT2 = 4351 - SYS_SECCOMP = 4352 - SYS_GETRANDOM = 4353 - SYS_MEMFD_CREATE = 4354 - SYS_BPF = 4355 - SYS_EXECVEAT = 4356 - SYS_USERFAULTFD = 4357 - SYS_MEMBARRIER = 4358 - SYS_MLOCK2 = 4359 - SYS_COPY_FILE_RANGE = 4360 - SYS_PREADV2 = 4361 - SYS_PWRITEV2 = 4362 - SYS_PKEY_MPROTECT = 4363 - SYS_PKEY_ALLOC = 4364 - SYS_PKEY_FREE = 4365 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go deleted file mode 100644 index 09db959..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ /dev/null @@ -1,334 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64,linux - -package unix - -const ( - SYS_READ = 5000 - SYS_WRITE = 5001 - SYS_OPEN = 5002 - SYS_CLOSE = 5003 - SYS_STAT = 5004 - SYS_FSTAT = 5005 - SYS_LSTAT = 5006 - SYS_POLL = 5007 - SYS_LSEEK = 5008 - SYS_MMAP = 5009 - SYS_MPROTECT = 5010 - SYS_MUNMAP = 5011 - SYS_BRK = 5012 - SYS_RT_SIGACTION = 5013 - SYS_RT_SIGPROCMASK = 5014 - SYS_IOCTL = 5015 - SYS_PREAD64 = 5016 - SYS_PWRITE64 = 5017 - SYS_READV = 5018 - SYS_WRITEV = 5019 - SYS_ACCESS = 5020 - SYS_PIPE = 5021 - SYS__NEWSELECT = 5022 - SYS_SCHED_YIELD = 5023 - SYS_MREMAP = 5024 - SYS_MSYNC = 5025 - SYS_MINCORE = 5026 - SYS_MADVISE = 5027 - SYS_SHMGET = 5028 - SYS_SHMAT = 5029 - SYS_SHMCTL = 5030 - SYS_DUP = 5031 - SYS_DUP2 = 5032 - SYS_PAUSE = 5033 - SYS_NANOSLEEP = 5034 - SYS_GETITIMER = 5035 - SYS_SETITIMER = 5036 - SYS_ALARM = 5037 - SYS_GETPID = 5038 - SYS_SENDFILE = 5039 - SYS_SOCKET = 5040 - SYS_CONNECT = 5041 - SYS_ACCEPT = 5042 - SYS_SENDTO = 5043 - SYS_RECVFROM = 5044 - SYS_SENDMSG = 5045 - SYS_RECVMSG = 5046 - SYS_SHUTDOWN = 5047 - SYS_BIND = 5048 - SYS_LISTEN = 5049 - SYS_GETSOCKNAME = 5050 - SYS_GETPEERNAME = 5051 - SYS_SOCKETPAIR = 5052 - SYS_SETSOCKOPT = 5053 - SYS_GETSOCKOPT = 5054 - SYS_CLONE = 5055 - SYS_FORK = 5056 - SYS_EXECVE = 5057 - SYS_EXIT = 5058 - SYS_WAIT4 = 5059 - SYS_KILL = 5060 - SYS_UNAME = 5061 - SYS_SEMGET = 5062 - SYS_SEMOP = 5063 - SYS_SEMCTL = 5064 - SYS_SHMDT = 5065 - SYS_MSGGET = 5066 - SYS_MSGSND = 5067 - SYS_MSGRCV = 5068 - SYS_MSGCTL = 5069 - SYS_FCNTL = 5070 - SYS_FLOCK = 5071 - SYS_FSYNC = 5072 - SYS_FDATASYNC = 5073 - SYS_TRUNCATE = 5074 - SYS_FTRUNCATE = 5075 - SYS_GETDENTS = 5076 - SYS_GETCWD = 5077 - SYS_CHDIR = 5078 - SYS_FCHDIR = 5079 - SYS_RENAME = 5080 - SYS_MKDIR = 5081 - SYS_RMDIR = 5082 - SYS_CREAT = 5083 - SYS_LINK = 5084 - SYS_UNLINK = 5085 - SYS_SYMLINK = 5086 - SYS_READLINK = 5087 - SYS_CHMOD = 5088 - SYS_FCHMOD = 5089 - SYS_CHOWN = 5090 - SYS_FCHOWN = 5091 - SYS_LCHOWN = 5092 - SYS_UMASK = 5093 - SYS_GETTIMEOFDAY = 5094 - SYS_GETRLIMIT = 5095 - SYS_GETRUSAGE = 5096 - SYS_SYSINFO = 5097 - SYS_TIMES = 5098 - SYS_PTRACE = 5099 - SYS_GETUID = 5100 - SYS_SYSLOG = 5101 - SYS_GETGID = 5102 - SYS_SETUID = 5103 - SYS_SETGID = 5104 - SYS_GETEUID = 5105 - SYS_GETEGID = 5106 - SYS_SETPGID = 5107 - SYS_GETPPID = 5108 - SYS_GETPGRP = 5109 - SYS_SETSID = 5110 - SYS_SETREUID = 5111 - SYS_SETREGID = 5112 - SYS_GETGROUPS = 5113 - SYS_SETGROUPS = 5114 - SYS_SETRESUID = 5115 - SYS_GETRESUID = 5116 - SYS_SETRESGID = 5117 - SYS_GETRESGID = 5118 - SYS_GETPGID = 5119 - SYS_SETFSUID = 5120 - SYS_SETFSGID = 5121 - SYS_GETSID = 5122 - SYS_CAPGET = 5123 - SYS_CAPSET = 5124 - SYS_RT_SIGPENDING = 5125 - SYS_RT_SIGTIMEDWAIT = 5126 - SYS_RT_SIGQUEUEINFO = 5127 - SYS_RT_SIGSUSPEND = 5128 - SYS_SIGALTSTACK = 5129 - SYS_UTIME = 5130 - SYS_MKNOD = 5131 - SYS_PERSONALITY = 5132 - SYS_USTAT = 5133 - SYS_STATFS = 5134 - SYS_FSTATFS = 5135 - SYS_SYSFS = 5136 - SYS_GETPRIORITY = 5137 - SYS_SETPRIORITY = 5138 - SYS_SCHED_SETPARAM = 5139 - SYS_SCHED_GETPARAM = 5140 - SYS_SCHED_SETSCHEDULER = 5141 - SYS_SCHED_GETSCHEDULER = 5142 - SYS_SCHED_GET_PRIORITY_MAX = 5143 - SYS_SCHED_GET_PRIORITY_MIN = 5144 - SYS_SCHED_RR_GET_INTERVAL = 5145 - SYS_MLOCK = 5146 - SYS_MUNLOCK = 5147 - SYS_MLOCKALL = 5148 - SYS_MUNLOCKALL = 5149 - SYS_VHANGUP = 5150 - SYS_PIVOT_ROOT = 5151 - SYS__SYSCTL = 5152 - SYS_PRCTL = 5153 - SYS_ADJTIMEX = 5154 - SYS_SETRLIMIT = 5155 - SYS_CHROOT = 5156 - SYS_SYNC = 5157 - SYS_ACCT = 5158 - SYS_SETTIMEOFDAY = 5159 - SYS_MOUNT = 5160 - SYS_UMOUNT2 = 5161 - SYS_SWAPON = 5162 - SYS_SWAPOFF = 5163 - SYS_REBOOT = 5164 - SYS_SETHOSTNAME = 5165 - SYS_SETDOMAINNAME = 5166 - SYS_CREATE_MODULE = 5167 - SYS_INIT_MODULE = 5168 - SYS_DELETE_MODULE = 5169 - SYS_GET_KERNEL_SYMS = 5170 - SYS_QUERY_MODULE = 5171 - SYS_QUOTACTL = 5172 - SYS_NFSSERVCTL = 5173 - SYS_GETPMSG = 5174 - SYS_PUTPMSG = 5175 - SYS_AFS_SYSCALL = 5176 - SYS_RESERVED177 = 5177 - SYS_GETTID = 5178 - SYS_READAHEAD = 5179 - SYS_SETXATTR = 5180 - SYS_LSETXATTR = 5181 - SYS_FSETXATTR = 5182 - SYS_GETXATTR = 5183 - SYS_LGETXATTR = 5184 - SYS_FGETXATTR = 5185 - SYS_LISTXATTR = 5186 - SYS_LLISTXATTR = 5187 - SYS_FLISTXATTR = 5188 - SYS_REMOVEXATTR = 5189 - SYS_LREMOVEXATTR = 5190 - SYS_FREMOVEXATTR = 5191 - SYS_TKILL = 5192 - SYS_RESERVED193 = 5193 - SYS_FUTEX = 5194 - SYS_SCHED_SETAFFINITY = 5195 - SYS_SCHED_GETAFFINITY = 5196 - SYS_CACHEFLUSH = 5197 - SYS_CACHECTL = 5198 - SYS_SYSMIPS = 5199 - SYS_IO_SETUP = 5200 - SYS_IO_DESTROY = 5201 - SYS_IO_GETEVENTS = 5202 - SYS_IO_SUBMIT = 5203 - SYS_IO_CANCEL = 5204 - SYS_EXIT_GROUP = 5205 - SYS_LOOKUP_DCOOKIE = 5206 - SYS_EPOLL_CREATE = 5207 - SYS_EPOLL_CTL = 5208 - SYS_EPOLL_WAIT = 5209 - SYS_REMAP_FILE_PAGES = 5210 - SYS_RT_SIGRETURN = 5211 - SYS_SET_TID_ADDRESS = 5212 - SYS_RESTART_SYSCALL = 5213 - SYS_SEMTIMEDOP = 5214 - SYS_FADVISE64 = 5215 - SYS_TIMER_CREATE = 5216 - SYS_TIMER_SETTIME = 5217 - SYS_TIMER_GETTIME = 5218 - SYS_TIMER_GETOVERRUN = 5219 - SYS_TIMER_DELETE = 5220 - SYS_CLOCK_SETTIME = 5221 - SYS_CLOCK_GETTIME = 5222 - SYS_CLOCK_GETRES = 5223 - SYS_CLOCK_NANOSLEEP = 5224 - SYS_TGKILL = 5225 - SYS_UTIMES = 5226 - SYS_MBIND = 5227 - SYS_GET_MEMPOLICY = 5228 - SYS_SET_MEMPOLICY = 5229 - SYS_MQ_OPEN = 5230 - SYS_MQ_UNLINK = 5231 - SYS_MQ_TIMEDSEND = 5232 - SYS_MQ_TIMEDRECEIVE = 5233 - SYS_MQ_NOTIFY = 5234 - SYS_MQ_GETSETATTR = 5235 - SYS_VSERVER = 5236 - SYS_WAITID = 5237 - SYS_ADD_KEY = 5239 - SYS_REQUEST_KEY = 5240 - SYS_KEYCTL = 5241 - SYS_SET_THREAD_AREA = 5242 - SYS_INOTIFY_INIT = 5243 - SYS_INOTIFY_ADD_WATCH = 5244 - SYS_INOTIFY_RM_WATCH = 5245 - SYS_MIGRATE_PAGES = 5246 - SYS_OPENAT = 5247 - SYS_MKDIRAT = 5248 - SYS_MKNODAT = 5249 - SYS_FCHOWNAT = 5250 - SYS_FUTIMESAT = 5251 - SYS_NEWFSTATAT = 5252 - SYS_UNLINKAT = 5253 - SYS_RENAMEAT = 5254 - SYS_LINKAT = 5255 - SYS_SYMLINKAT = 5256 - SYS_READLINKAT = 5257 - SYS_FCHMODAT = 5258 - SYS_FACCESSAT = 5259 - SYS_PSELECT6 = 5260 - SYS_PPOLL = 5261 - SYS_UNSHARE = 5262 - SYS_SPLICE = 5263 - SYS_SYNC_FILE_RANGE = 5264 - SYS_TEE = 5265 - SYS_VMSPLICE = 5266 - SYS_MOVE_PAGES = 5267 - SYS_SET_ROBUST_LIST = 5268 - SYS_GET_ROBUST_LIST = 5269 - SYS_KEXEC_LOAD = 5270 - SYS_GETCPU = 5271 - SYS_EPOLL_PWAIT = 5272 - SYS_IOPRIO_SET = 5273 - SYS_IOPRIO_GET = 5274 - SYS_UTIMENSAT = 5275 - SYS_SIGNALFD = 5276 - SYS_TIMERFD = 5277 - SYS_EVENTFD = 5278 - SYS_FALLOCATE = 5279 - SYS_TIMERFD_CREATE = 5280 - SYS_TIMERFD_GETTIME = 5281 - SYS_TIMERFD_SETTIME = 5282 - SYS_SIGNALFD4 = 5283 - SYS_EVENTFD2 = 5284 - SYS_EPOLL_CREATE1 = 5285 - SYS_DUP3 = 5286 - SYS_PIPE2 = 5287 - SYS_INOTIFY_INIT1 = 5288 - SYS_PREADV = 5289 - SYS_PWRITEV = 5290 - SYS_RT_TGSIGQUEUEINFO = 5291 - SYS_PERF_EVENT_OPEN = 5292 - SYS_ACCEPT4 = 5293 - SYS_RECVMMSG = 5294 - SYS_FANOTIFY_INIT = 5295 - SYS_FANOTIFY_MARK = 5296 - SYS_PRLIMIT64 = 5297 - SYS_NAME_TO_HANDLE_AT = 5298 - SYS_OPEN_BY_HANDLE_AT = 5299 - SYS_CLOCK_ADJTIME = 5300 - SYS_SYNCFS = 5301 - SYS_SENDMMSG = 5302 - SYS_SETNS = 5303 - SYS_PROCESS_VM_READV = 5304 - SYS_PROCESS_VM_WRITEV = 5305 - SYS_KCMP = 5306 - SYS_FINIT_MODULE = 5307 - SYS_GETDENTS64 = 5308 - SYS_SCHED_SETATTR = 5309 - SYS_SCHED_GETATTR = 5310 - SYS_RENAMEAT2 = 5311 - SYS_SECCOMP = 5312 - SYS_GETRANDOM = 5313 - SYS_MEMFD_CREATE = 5314 - SYS_BPF = 5315 - SYS_EXECVEAT = 5316 - SYS_USERFAULTFD = 5317 - SYS_MEMBARRIER = 5318 - SYS_MLOCK2 = 5319 - SYS_COPY_FILE_RANGE = 5320 - SYS_PREADV2 = 5321 - SYS_PWRITEV2 = 5322 - SYS_PKEY_MPROTECT = 5323 - SYS_PKEY_ALLOC = 5324 - SYS_PKEY_FREE = 5325 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go deleted file mode 100644 index d1b872a..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ /dev/null @@ -1,334 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64le,linux - -package unix - -const ( - SYS_READ = 5000 - SYS_WRITE = 5001 - SYS_OPEN = 5002 - SYS_CLOSE = 5003 - SYS_STAT = 5004 - SYS_FSTAT = 5005 - SYS_LSTAT = 5006 - SYS_POLL = 5007 - SYS_LSEEK = 5008 - SYS_MMAP = 5009 - SYS_MPROTECT = 5010 - SYS_MUNMAP = 5011 - SYS_BRK = 5012 - SYS_RT_SIGACTION = 5013 - SYS_RT_SIGPROCMASK = 5014 - SYS_IOCTL = 5015 - SYS_PREAD64 = 5016 - SYS_PWRITE64 = 5017 - SYS_READV = 5018 - SYS_WRITEV = 5019 - SYS_ACCESS = 5020 - SYS_PIPE = 5021 - SYS__NEWSELECT = 5022 - SYS_SCHED_YIELD = 5023 - SYS_MREMAP = 5024 - SYS_MSYNC = 5025 - SYS_MINCORE = 5026 - SYS_MADVISE = 5027 - SYS_SHMGET = 5028 - SYS_SHMAT = 5029 - SYS_SHMCTL = 5030 - SYS_DUP = 5031 - SYS_DUP2 = 5032 - SYS_PAUSE = 5033 - SYS_NANOSLEEP = 5034 - SYS_GETITIMER = 5035 - SYS_SETITIMER = 5036 - SYS_ALARM = 5037 - SYS_GETPID = 5038 - SYS_SENDFILE = 5039 - SYS_SOCKET = 5040 - SYS_CONNECT = 5041 - SYS_ACCEPT = 5042 - SYS_SENDTO = 5043 - SYS_RECVFROM = 5044 - SYS_SENDMSG = 5045 - SYS_RECVMSG = 5046 - SYS_SHUTDOWN = 5047 - SYS_BIND = 5048 - SYS_LISTEN = 5049 - SYS_GETSOCKNAME = 5050 - SYS_GETPEERNAME = 5051 - SYS_SOCKETPAIR = 5052 - SYS_SETSOCKOPT = 5053 - SYS_GETSOCKOPT = 5054 - SYS_CLONE = 5055 - SYS_FORK = 5056 - SYS_EXECVE = 5057 - SYS_EXIT = 5058 - SYS_WAIT4 = 5059 - SYS_KILL = 5060 - SYS_UNAME = 5061 - SYS_SEMGET = 5062 - SYS_SEMOP = 5063 - SYS_SEMCTL = 5064 - SYS_SHMDT = 5065 - SYS_MSGGET = 5066 - SYS_MSGSND = 5067 - SYS_MSGRCV = 5068 - SYS_MSGCTL = 5069 - SYS_FCNTL = 5070 - SYS_FLOCK = 5071 - SYS_FSYNC = 5072 - SYS_FDATASYNC = 5073 - SYS_TRUNCATE = 5074 - SYS_FTRUNCATE = 5075 - SYS_GETDENTS = 5076 - SYS_GETCWD = 5077 - SYS_CHDIR = 5078 - SYS_FCHDIR = 5079 - SYS_RENAME = 5080 - SYS_MKDIR = 5081 - SYS_RMDIR = 5082 - SYS_CREAT = 5083 - SYS_LINK = 5084 - SYS_UNLINK = 5085 - SYS_SYMLINK = 5086 - SYS_READLINK = 5087 - SYS_CHMOD = 5088 - SYS_FCHMOD = 5089 - SYS_CHOWN = 5090 - SYS_FCHOWN = 5091 - SYS_LCHOWN = 5092 - SYS_UMASK = 5093 - SYS_GETTIMEOFDAY = 5094 - SYS_GETRLIMIT = 5095 - SYS_GETRUSAGE = 5096 - SYS_SYSINFO = 5097 - SYS_TIMES = 5098 - SYS_PTRACE = 5099 - SYS_GETUID = 5100 - SYS_SYSLOG = 5101 - SYS_GETGID = 5102 - SYS_SETUID = 5103 - SYS_SETGID = 5104 - SYS_GETEUID = 5105 - SYS_GETEGID = 5106 - SYS_SETPGID = 5107 - SYS_GETPPID = 5108 - SYS_GETPGRP = 5109 - SYS_SETSID = 5110 - SYS_SETREUID = 5111 - SYS_SETREGID = 5112 - SYS_GETGROUPS = 5113 - SYS_SETGROUPS = 5114 - SYS_SETRESUID = 5115 - SYS_GETRESUID = 5116 - SYS_SETRESGID = 5117 - SYS_GETRESGID = 5118 - SYS_GETPGID = 5119 - SYS_SETFSUID = 5120 - SYS_SETFSGID = 5121 - SYS_GETSID = 5122 - SYS_CAPGET = 5123 - SYS_CAPSET = 5124 - SYS_RT_SIGPENDING = 5125 - SYS_RT_SIGTIMEDWAIT = 5126 - SYS_RT_SIGQUEUEINFO = 5127 - SYS_RT_SIGSUSPEND = 5128 - SYS_SIGALTSTACK = 5129 - SYS_UTIME = 5130 - SYS_MKNOD = 5131 - SYS_PERSONALITY = 5132 - SYS_USTAT = 5133 - SYS_STATFS = 5134 - SYS_FSTATFS = 5135 - SYS_SYSFS = 5136 - SYS_GETPRIORITY = 5137 - SYS_SETPRIORITY = 5138 - SYS_SCHED_SETPARAM = 5139 - SYS_SCHED_GETPARAM = 5140 - SYS_SCHED_SETSCHEDULER = 5141 - SYS_SCHED_GETSCHEDULER = 5142 - SYS_SCHED_GET_PRIORITY_MAX = 5143 - SYS_SCHED_GET_PRIORITY_MIN = 5144 - SYS_SCHED_RR_GET_INTERVAL = 5145 - SYS_MLOCK = 5146 - SYS_MUNLOCK = 5147 - SYS_MLOCKALL = 5148 - SYS_MUNLOCKALL = 5149 - SYS_VHANGUP = 5150 - SYS_PIVOT_ROOT = 5151 - SYS__SYSCTL = 5152 - SYS_PRCTL = 5153 - SYS_ADJTIMEX = 5154 - SYS_SETRLIMIT = 5155 - SYS_CHROOT = 5156 - SYS_SYNC = 5157 - SYS_ACCT = 5158 - SYS_SETTIMEOFDAY = 5159 - SYS_MOUNT = 5160 - SYS_UMOUNT2 = 5161 - SYS_SWAPON = 5162 - SYS_SWAPOFF = 5163 - SYS_REBOOT = 5164 - SYS_SETHOSTNAME = 5165 - SYS_SETDOMAINNAME = 5166 - SYS_CREATE_MODULE = 5167 - SYS_INIT_MODULE = 5168 - SYS_DELETE_MODULE = 5169 - SYS_GET_KERNEL_SYMS = 5170 - SYS_QUERY_MODULE = 5171 - SYS_QUOTACTL = 5172 - SYS_NFSSERVCTL = 5173 - SYS_GETPMSG = 5174 - SYS_PUTPMSG = 5175 - SYS_AFS_SYSCALL = 5176 - SYS_RESERVED177 = 5177 - SYS_GETTID = 5178 - SYS_READAHEAD = 5179 - SYS_SETXATTR = 5180 - SYS_LSETXATTR = 5181 - SYS_FSETXATTR = 5182 - SYS_GETXATTR = 5183 - SYS_LGETXATTR = 5184 - SYS_FGETXATTR = 5185 - SYS_LISTXATTR = 5186 - SYS_LLISTXATTR = 5187 - SYS_FLISTXATTR = 5188 - SYS_REMOVEXATTR = 5189 - SYS_LREMOVEXATTR = 5190 - SYS_FREMOVEXATTR = 5191 - SYS_TKILL = 5192 - SYS_RESERVED193 = 5193 - SYS_FUTEX = 5194 - SYS_SCHED_SETAFFINITY = 5195 - SYS_SCHED_GETAFFINITY = 5196 - SYS_CACHEFLUSH = 5197 - SYS_CACHECTL = 5198 - SYS_SYSMIPS = 5199 - SYS_IO_SETUP = 5200 - SYS_IO_DESTROY = 5201 - SYS_IO_GETEVENTS = 5202 - SYS_IO_SUBMIT = 5203 - SYS_IO_CANCEL = 5204 - SYS_EXIT_GROUP = 5205 - SYS_LOOKUP_DCOOKIE = 5206 - SYS_EPOLL_CREATE = 5207 - SYS_EPOLL_CTL = 5208 - SYS_EPOLL_WAIT = 5209 - SYS_REMAP_FILE_PAGES = 5210 - SYS_RT_SIGRETURN = 5211 - SYS_SET_TID_ADDRESS = 5212 - SYS_RESTART_SYSCALL = 5213 - SYS_SEMTIMEDOP = 5214 - SYS_FADVISE64 = 5215 - SYS_TIMER_CREATE = 5216 - SYS_TIMER_SETTIME = 5217 - SYS_TIMER_GETTIME = 5218 - SYS_TIMER_GETOVERRUN = 5219 - SYS_TIMER_DELETE = 5220 - SYS_CLOCK_SETTIME = 5221 - SYS_CLOCK_GETTIME = 5222 - SYS_CLOCK_GETRES = 5223 - SYS_CLOCK_NANOSLEEP = 5224 - SYS_TGKILL = 5225 - SYS_UTIMES = 5226 - SYS_MBIND = 5227 - SYS_GET_MEMPOLICY = 5228 - SYS_SET_MEMPOLICY = 5229 - SYS_MQ_OPEN = 5230 - SYS_MQ_UNLINK = 5231 - SYS_MQ_TIMEDSEND = 5232 - SYS_MQ_TIMEDRECEIVE = 5233 - SYS_MQ_NOTIFY = 5234 - SYS_MQ_GETSETATTR = 5235 - SYS_VSERVER = 5236 - SYS_WAITID = 5237 - SYS_ADD_KEY = 5239 - SYS_REQUEST_KEY = 5240 - SYS_KEYCTL = 5241 - SYS_SET_THREAD_AREA = 5242 - SYS_INOTIFY_INIT = 5243 - SYS_INOTIFY_ADD_WATCH = 5244 - SYS_INOTIFY_RM_WATCH = 5245 - SYS_MIGRATE_PAGES = 5246 - SYS_OPENAT = 5247 - SYS_MKDIRAT = 5248 - SYS_MKNODAT = 5249 - SYS_FCHOWNAT = 5250 - SYS_FUTIMESAT = 5251 - SYS_NEWFSTATAT = 5252 - SYS_UNLINKAT = 5253 - SYS_RENAMEAT = 5254 - SYS_LINKAT = 5255 - SYS_SYMLINKAT = 5256 - SYS_READLINKAT = 5257 - SYS_FCHMODAT = 5258 - SYS_FACCESSAT = 5259 - SYS_PSELECT6 = 5260 - SYS_PPOLL = 5261 - SYS_UNSHARE = 5262 - SYS_SPLICE = 5263 - SYS_SYNC_FILE_RANGE = 5264 - SYS_TEE = 5265 - SYS_VMSPLICE = 5266 - SYS_MOVE_PAGES = 5267 - SYS_SET_ROBUST_LIST = 5268 - SYS_GET_ROBUST_LIST = 5269 - SYS_KEXEC_LOAD = 5270 - SYS_GETCPU = 5271 - SYS_EPOLL_PWAIT = 5272 - SYS_IOPRIO_SET = 5273 - SYS_IOPRIO_GET = 5274 - SYS_UTIMENSAT = 5275 - SYS_SIGNALFD = 5276 - SYS_TIMERFD = 5277 - SYS_EVENTFD = 5278 - SYS_FALLOCATE = 5279 - SYS_TIMERFD_CREATE = 5280 - SYS_TIMERFD_GETTIME = 5281 - SYS_TIMERFD_SETTIME = 5282 - SYS_SIGNALFD4 = 5283 - SYS_EVENTFD2 = 5284 - SYS_EPOLL_CREATE1 = 5285 - SYS_DUP3 = 5286 - SYS_PIPE2 = 5287 - SYS_INOTIFY_INIT1 = 5288 - SYS_PREADV = 5289 - SYS_PWRITEV = 5290 - SYS_RT_TGSIGQUEUEINFO = 5291 - SYS_PERF_EVENT_OPEN = 5292 - SYS_ACCEPT4 = 5293 - SYS_RECVMMSG = 5294 - SYS_FANOTIFY_INIT = 5295 - SYS_FANOTIFY_MARK = 5296 - SYS_PRLIMIT64 = 5297 - SYS_NAME_TO_HANDLE_AT = 5298 - SYS_OPEN_BY_HANDLE_AT = 5299 - SYS_CLOCK_ADJTIME = 5300 - SYS_SYNCFS = 5301 - SYS_SENDMMSG = 5302 - SYS_SETNS = 5303 - SYS_PROCESS_VM_READV = 5304 - SYS_PROCESS_VM_WRITEV = 5305 - SYS_KCMP = 5306 - SYS_FINIT_MODULE = 5307 - SYS_GETDENTS64 = 5308 - SYS_SCHED_SETATTR = 5309 - SYS_SCHED_GETATTR = 5310 - SYS_RENAMEAT2 = 5311 - SYS_SECCOMP = 5312 - SYS_GETRANDOM = 5313 - SYS_MEMFD_CREATE = 5314 - SYS_BPF = 5315 - SYS_EXECVEAT = 5316 - SYS_USERFAULTFD = 5317 - SYS_MEMBARRIER = 5318 - SYS_MLOCK2 = 5319 - SYS_COPY_FILE_RANGE = 5320 - SYS_PREADV2 = 5321 - SYS_PWRITEV2 = 5322 - SYS_PKEY_MPROTECT = 5323 - SYS_PKEY_ALLOC = 5324 - SYS_PKEY_FREE = 5325 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go deleted file mode 100644 index 82ba20f..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ /dev/null @@ -1,374 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mipsle,linux - -package unix - -const ( - SYS_SYSCALL = 4000 - SYS_EXIT = 4001 - SYS_FORK = 4002 - SYS_READ = 4003 - SYS_WRITE = 4004 - SYS_OPEN = 4005 - SYS_CLOSE = 4006 - SYS_WAITPID = 4007 - SYS_CREAT = 4008 - SYS_LINK = 4009 - SYS_UNLINK = 4010 - SYS_EXECVE = 4011 - SYS_CHDIR = 4012 - SYS_TIME = 4013 - SYS_MKNOD = 4014 - SYS_CHMOD = 4015 - SYS_LCHOWN = 4016 - SYS_BREAK = 4017 - SYS_UNUSED18 = 4018 - SYS_LSEEK = 4019 - SYS_GETPID = 4020 - SYS_MOUNT = 4021 - SYS_UMOUNT = 4022 - SYS_SETUID = 4023 - SYS_GETUID = 4024 - SYS_STIME = 4025 - SYS_PTRACE = 4026 - SYS_ALARM = 4027 - SYS_UNUSED28 = 4028 - SYS_PAUSE = 4029 - SYS_UTIME = 4030 - SYS_STTY = 4031 - SYS_GTTY = 4032 - SYS_ACCESS = 4033 - SYS_NICE = 4034 - SYS_FTIME = 4035 - SYS_SYNC = 4036 - SYS_KILL = 4037 - SYS_RENAME = 4038 - SYS_MKDIR = 4039 - SYS_RMDIR = 4040 - SYS_DUP = 4041 - SYS_PIPE = 4042 - SYS_TIMES = 4043 - SYS_PROF = 4044 - SYS_BRK = 4045 - SYS_SETGID = 4046 - SYS_GETGID = 4047 - SYS_SIGNAL = 4048 - SYS_GETEUID = 4049 - SYS_GETEGID = 4050 - SYS_ACCT = 4051 - SYS_UMOUNT2 = 4052 - SYS_LOCK = 4053 - SYS_IOCTL = 4054 - SYS_FCNTL = 4055 - SYS_MPX = 4056 - SYS_SETPGID = 4057 - SYS_ULIMIT = 4058 - SYS_UNUSED59 = 4059 - SYS_UMASK = 4060 - SYS_CHROOT = 4061 - SYS_USTAT = 4062 - SYS_DUP2 = 4063 - SYS_GETPPID = 4064 - SYS_GETPGRP = 4065 - SYS_SETSID = 4066 - SYS_SIGACTION = 4067 - SYS_SGETMASK = 4068 - SYS_SSETMASK = 4069 - SYS_SETREUID = 4070 - SYS_SETREGID = 4071 - SYS_SIGSUSPEND = 4072 - SYS_SIGPENDING = 4073 - SYS_SETHOSTNAME = 4074 - SYS_SETRLIMIT = 4075 - SYS_GETRLIMIT = 4076 - SYS_GETRUSAGE = 4077 - SYS_GETTIMEOFDAY = 4078 - SYS_SETTIMEOFDAY = 4079 - SYS_GETGROUPS = 4080 - SYS_SETGROUPS = 4081 - SYS_RESERVED82 = 4082 - SYS_SYMLINK = 4083 - SYS_UNUSED84 = 4084 - SYS_READLINK = 4085 - SYS_USELIB = 4086 - SYS_SWAPON = 4087 - SYS_REBOOT = 4088 - SYS_READDIR = 4089 - SYS_MMAP = 4090 - SYS_MUNMAP = 4091 - SYS_TRUNCATE = 4092 - SYS_FTRUNCATE = 4093 - SYS_FCHMOD = 4094 - SYS_FCHOWN = 4095 - SYS_GETPRIORITY = 4096 - SYS_SETPRIORITY = 4097 - SYS_PROFIL = 4098 - SYS_STATFS = 4099 - SYS_FSTATFS = 4100 - SYS_IOPERM = 4101 - SYS_SOCKETCALL = 4102 - SYS_SYSLOG = 4103 - SYS_SETITIMER = 4104 - SYS_GETITIMER = 4105 - SYS_STAT = 4106 - SYS_LSTAT = 4107 - SYS_FSTAT = 4108 - SYS_UNUSED109 = 4109 - SYS_IOPL = 4110 - SYS_VHANGUP = 4111 - SYS_IDLE = 4112 - SYS_VM86 = 4113 - SYS_WAIT4 = 4114 - SYS_SWAPOFF = 4115 - SYS_SYSINFO = 4116 - SYS_IPC = 4117 - SYS_FSYNC = 4118 - SYS_SIGRETURN = 4119 - SYS_CLONE = 4120 - SYS_SETDOMAINNAME = 4121 - SYS_UNAME = 4122 - SYS_MODIFY_LDT = 4123 - SYS_ADJTIMEX = 4124 - SYS_MPROTECT = 4125 - SYS_SIGPROCMASK = 4126 - SYS_CREATE_MODULE = 4127 - SYS_INIT_MODULE = 4128 - SYS_DELETE_MODULE = 4129 - SYS_GET_KERNEL_SYMS = 4130 - SYS_QUOTACTL = 4131 - SYS_GETPGID = 4132 - SYS_FCHDIR = 4133 - SYS_BDFLUSH = 4134 - SYS_SYSFS = 4135 - SYS_PERSONALITY = 4136 - SYS_AFS_SYSCALL = 4137 - SYS_SETFSUID = 4138 - SYS_SETFSGID = 4139 - SYS__LLSEEK = 4140 - SYS_GETDENTS = 4141 - SYS__NEWSELECT = 4142 - SYS_FLOCK = 4143 - SYS_MSYNC = 4144 - SYS_READV = 4145 - SYS_WRITEV = 4146 - SYS_CACHEFLUSH = 4147 - SYS_CACHECTL = 4148 - SYS_SYSMIPS = 4149 - SYS_UNUSED150 = 4150 - SYS_GETSID = 4151 - SYS_FDATASYNC = 4152 - SYS__SYSCTL = 4153 - SYS_MLOCK = 4154 - SYS_MUNLOCK = 4155 - SYS_MLOCKALL = 4156 - SYS_MUNLOCKALL = 4157 - SYS_SCHED_SETPARAM = 4158 - SYS_SCHED_GETPARAM = 4159 - SYS_SCHED_SETSCHEDULER = 4160 - SYS_SCHED_GETSCHEDULER = 4161 - SYS_SCHED_YIELD = 4162 - SYS_SCHED_GET_PRIORITY_MAX = 4163 - SYS_SCHED_GET_PRIORITY_MIN = 4164 - SYS_SCHED_RR_GET_INTERVAL = 4165 - SYS_NANOSLEEP = 4166 - SYS_MREMAP = 4167 - SYS_ACCEPT = 4168 - SYS_BIND = 4169 - SYS_CONNECT = 4170 - SYS_GETPEERNAME = 4171 - SYS_GETSOCKNAME = 4172 - SYS_GETSOCKOPT = 4173 - SYS_LISTEN = 4174 - SYS_RECV = 4175 - SYS_RECVFROM = 4176 - SYS_RECVMSG = 4177 - SYS_SEND = 4178 - SYS_SENDMSG = 4179 - SYS_SENDTO = 4180 - SYS_SETSOCKOPT = 4181 - SYS_SHUTDOWN = 4182 - SYS_SOCKET = 4183 - SYS_SOCKETPAIR = 4184 - SYS_SETRESUID = 4185 - SYS_GETRESUID = 4186 - SYS_QUERY_MODULE = 4187 - SYS_POLL = 4188 - SYS_NFSSERVCTL = 4189 - SYS_SETRESGID = 4190 - SYS_GETRESGID = 4191 - SYS_PRCTL = 4192 - SYS_RT_SIGRETURN = 4193 - SYS_RT_SIGACTION = 4194 - SYS_RT_SIGPROCMASK = 4195 - SYS_RT_SIGPENDING = 4196 - SYS_RT_SIGTIMEDWAIT = 4197 - SYS_RT_SIGQUEUEINFO = 4198 - SYS_RT_SIGSUSPEND = 4199 - SYS_PREAD64 = 4200 - SYS_PWRITE64 = 4201 - SYS_CHOWN = 4202 - SYS_GETCWD = 4203 - SYS_CAPGET = 4204 - SYS_CAPSET = 4205 - SYS_SIGALTSTACK = 4206 - SYS_SENDFILE = 4207 - SYS_GETPMSG = 4208 - SYS_PUTPMSG = 4209 - SYS_MMAP2 = 4210 - SYS_TRUNCATE64 = 4211 - SYS_FTRUNCATE64 = 4212 - SYS_STAT64 = 4213 - SYS_LSTAT64 = 4214 - SYS_FSTAT64 = 4215 - SYS_PIVOT_ROOT = 4216 - SYS_MINCORE = 4217 - SYS_MADVISE = 4218 - SYS_GETDENTS64 = 4219 - SYS_FCNTL64 = 4220 - SYS_RESERVED221 = 4221 - SYS_GETTID = 4222 - SYS_READAHEAD = 4223 - SYS_SETXATTR = 4224 - SYS_LSETXATTR = 4225 - SYS_FSETXATTR = 4226 - SYS_GETXATTR = 4227 - SYS_LGETXATTR = 4228 - SYS_FGETXATTR = 4229 - SYS_LISTXATTR = 4230 - SYS_LLISTXATTR = 4231 - SYS_FLISTXATTR = 4232 - SYS_REMOVEXATTR = 4233 - SYS_LREMOVEXATTR = 4234 - SYS_FREMOVEXATTR = 4235 - SYS_TKILL = 4236 - SYS_SENDFILE64 = 4237 - SYS_FUTEX = 4238 - SYS_SCHED_SETAFFINITY = 4239 - SYS_SCHED_GETAFFINITY = 4240 - SYS_IO_SETUP = 4241 - SYS_IO_DESTROY = 4242 - SYS_IO_GETEVENTS = 4243 - SYS_IO_SUBMIT = 4244 - SYS_IO_CANCEL = 4245 - SYS_EXIT_GROUP = 4246 - SYS_LOOKUP_DCOOKIE = 4247 - SYS_EPOLL_CREATE = 4248 - SYS_EPOLL_CTL = 4249 - SYS_EPOLL_WAIT = 4250 - SYS_REMAP_FILE_PAGES = 4251 - SYS_SET_TID_ADDRESS = 4252 - SYS_RESTART_SYSCALL = 4253 - SYS_FADVISE64 = 4254 - SYS_STATFS64 = 4255 - SYS_FSTATFS64 = 4256 - SYS_TIMER_CREATE = 4257 - SYS_TIMER_SETTIME = 4258 - SYS_TIMER_GETTIME = 4259 - SYS_TIMER_GETOVERRUN = 4260 - SYS_TIMER_DELETE = 4261 - SYS_CLOCK_SETTIME = 4262 - SYS_CLOCK_GETTIME = 4263 - SYS_CLOCK_GETRES = 4264 - SYS_CLOCK_NANOSLEEP = 4265 - SYS_TGKILL = 4266 - SYS_UTIMES = 4267 - SYS_MBIND = 4268 - SYS_GET_MEMPOLICY = 4269 - SYS_SET_MEMPOLICY = 4270 - SYS_MQ_OPEN = 4271 - SYS_MQ_UNLINK = 4272 - SYS_MQ_TIMEDSEND = 4273 - SYS_MQ_TIMEDRECEIVE = 4274 - SYS_MQ_NOTIFY = 4275 - SYS_MQ_GETSETATTR = 4276 - SYS_VSERVER = 4277 - SYS_WAITID = 4278 - SYS_ADD_KEY = 4280 - SYS_REQUEST_KEY = 4281 - SYS_KEYCTL = 4282 - SYS_SET_THREAD_AREA = 4283 - SYS_INOTIFY_INIT = 4284 - SYS_INOTIFY_ADD_WATCH = 4285 - SYS_INOTIFY_RM_WATCH = 4286 - SYS_MIGRATE_PAGES = 4287 - SYS_OPENAT = 4288 - SYS_MKDIRAT = 4289 - SYS_MKNODAT = 4290 - SYS_FCHOWNAT = 4291 - SYS_FUTIMESAT = 4292 - SYS_FSTATAT64 = 4293 - SYS_UNLINKAT = 4294 - SYS_RENAMEAT = 4295 - SYS_LINKAT = 4296 - SYS_SYMLINKAT = 4297 - SYS_READLINKAT = 4298 - SYS_FCHMODAT = 4299 - SYS_FACCESSAT = 4300 - SYS_PSELECT6 = 4301 - SYS_PPOLL = 4302 - SYS_UNSHARE = 4303 - SYS_SPLICE = 4304 - SYS_SYNC_FILE_RANGE = 4305 - SYS_TEE = 4306 - SYS_VMSPLICE = 4307 - SYS_MOVE_PAGES = 4308 - SYS_SET_ROBUST_LIST = 4309 - SYS_GET_ROBUST_LIST = 4310 - SYS_KEXEC_LOAD = 4311 - SYS_GETCPU = 4312 - SYS_EPOLL_PWAIT = 4313 - SYS_IOPRIO_SET = 4314 - SYS_IOPRIO_GET = 4315 - SYS_UTIMENSAT = 4316 - SYS_SIGNALFD = 4317 - SYS_TIMERFD = 4318 - SYS_EVENTFD = 4319 - SYS_FALLOCATE = 4320 - SYS_TIMERFD_CREATE = 4321 - SYS_TIMERFD_GETTIME = 4322 - SYS_TIMERFD_SETTIME = 4323 - SYS_SIGNALFD4 = 4324 - SYS_EVENTFD2 = 4325 - SYS_EPOLL_CREATE1 = 4326 - SYS_DUP3 = 4327 - SYS_PIPE2 = 4328 - SYS_INOTIFY_INIT1 = 4329 - SYS_PREADV = 4330 - SYS_PWRITEV = 4331 - SYS_RT_TGSIGQUEUEINFO = 4332 - SYS_PERF_EVENT_OPEN = 4333 - SYS_ACCEPT4 = 4334 - SYS_RECVMMSG = 4335 - SYS_FANOTIFY_INIT = 4336 - SYS_FANOTIFY_MARK = 4337 - SYS_PRLIMIT64 = 4338 - SYS_NAME_TO_HANDLE_AT = 4339 - SYS_OPEN_BY_HANDLE_AT = 4340 - SYS_CLOCK_ADJTIME = 4341 - SYS_SYNCFS = 4342 - SYS_SENDMMSG = 4343 - SYS_SETNS = 4344 - SYS_PROCESS_VM_READV = 4345 - SYS_PROCESS_VM_WRITEV = 4346 - SYS_KCMP = 4347 - SYS_FINIT_MODULE = 4348 - SYS_SCHED_SETATTR = 4349 - SYS_SCHED_GETATTR = 4350 - SYS_RENAMEAT2 = 4351 - SYS_SECCOMP = 4352 - SYS_GETRANDOM = 4353 - SYS_MEMFD_CREATE = 4354 - SYS_BPF = 4355 - SYS_EXECVEAT = 4356 - SYS_USERFAULTFD = 4357 - SYS_MEMBARRIER = 4358 - SYS_MLOCK2 = 4359 - SYS_COPY_FILE_RANGE = 4360 - SYS_PREADV2 = 4361 - SYS_PWRITEV2 = 4362 - SYS_PKEY_MPROTECT = 4363 - SYS_PKEY_ALLOC = 4364 - SYS_PKEY_FREE = 4365 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go deleted file mode 100644 index 8944448..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ /dev/null @@ -1,369 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64,linux - -package unix - -const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86 = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_QUERY_MODULE = 166 - SYS_POLL = 167 - SYS_NFSSERVCTL = 168 - SYS_SETRESGID = 169 - SYS_GETRESGID = 170 - SYS_PRCTL = 171 - SYS_RT_SIGRETURN = 172 - SYS_RT_SIGACTION = 173 - SYS_RT_SIGPROCMASK = 174 - SYS_RT_SIGPENDING = 175 - SYS_RT_SIGTIMEDWAIT = 176 - SYS_RT_SIGQUEUEINFO = 177 - SYS_RT_SIGSUSPEND = 178 - SYS_PREAD64 = 179 - SYS_PWRITE64 = 180 - SYS_CHOWN = 181 - SYS_GETCWD = 182 - SYS_CAPGET = 183 - SYS_CAPSET = 184 - SYS_SIGALTSTACK = 185 - SYS_SENDFILE = 186 - SYS_GETPMSG = 187 - SYS_PUTPMSG = 188 - SYS_VFORK = 189 - SYS_UGETRLIMIT = 190 - SYS_READAHEAD = 191 - SYS_PCICONFIG_READ = 198 - SYS_PCICONFIG_WRITE = 199 - SYS_PCICONFIG_IOBASE = 200 - SYS_MULTIPLEXER = 201 - SYS_GETDENTS64 = 202 - SYS_PIVOT_ROOT = 203 - SYS_MADVISE = 205 - SYS_MINCORE = 206 - SYS_GETTID = 207 - SYS_TKILL = 208 - SYS_SETXATTR = 209 - SYS_LSETXATTR = 210 - SYS_FSETXATTR = 211 - SYS_GETXATTR = 212 - SYS_LGETXATTR = 213 - SYS_FGETXATTR = 214 - SYS_LISTXATTR = 215 - SYS_LLISTXATTR = 216 - SYS_FLISTXATTR = 217 - SYS_REMOVEXATTR = 218 - SYS_LREMOVEXATTR = 219 - SYS_FREMOVEXATTR = 220 - SYS_FUTEX = 221 - SYS_SCHED_SETAFFINITY = 222 - SYS_SCHED_GETAFFINITY = 223 - SYS_TUXCALL = 225 - SYS_IO_SETUP = 227 - SYS_IO_DESTROY = 228 - SYS_IO_GETEVENTS = 229 - SYS_IO_SUBMIT = 230 - SYS_IO_CANCEL = 231 - SYS_SET_TID_ADDRESS = 232 - SYS_FADVISE64 = 233 - SYS_EXIT_GROUP = 234 - SYS_LOOKUP_DCOOKIE = 235 - SYS_EPOLL_CREATE = 236 - SYS_EPOLL_CTL = 237 - SYS_EPOLL_WAIT = 238 - SYS_REMAP_FILE_PAGES = 239 - SYS_TIMER_CREATE = 240 - SYS_TIMER_SETTIME = 241 - SYS_TIMER_GETTIME = 242 - SYS_TIMER_GETOVERRUN = 243 - SYS_TIMER_DELETE = 244 - SYS_CLOCK_SETTIME = 245 - SYS_CLOCK_GETTIME = 246 - SYS_CLOCK_GETRES = 247 - SYS_CLOCK_NANOSLEEP = 248 - SYS_SWAPCONTEXT = 249 - SYS_TGKILL = 250 - SYS_UTIMES = 251 - SYS_STATFS64 = 252 - SYS_FSTATFS64 = 253 - SYS_RTAS = 255 - SYS_SYS_DEBUG_SETCONTEXT = 256 - SYS_MIGRATE_PAGES = 258 - SYS_MBIND = 259 - SYS_GET_MEMPOLICY = 260 - SYS_SET_MEMPOLICY = 261 - SYS_MQ_OPEN = 262 - SYS_MQ_UNLINK = 263 - SYS_MQ_TIMEDSEND = 264 - SYS_MQ_TIMEDRECEIVE = 265 - SYS_MQ_NOTIFY = 266 - SYS_MQ_GETSETATTR = 267 - SYS_KEXEC_LOAD = 268 - SYS_ADD_KEY = 269 - SYS_REQUEST_KEY = 270 - SYS_KEYCTL = 271 - SYS_WAITID = 272 - SYS_IOPRIO_SET = 273 - SYS_IOPRIO_GET = 274 - SYS_INOTIFY_INIT = 275 - SYS_INOTIFY_ADD_WATCH = 276 - SYS_INOTIFY_RM_WATCH = 277 - SYS_SPU_RUN = 278 - SYS_SPU_CREATE = 279 - SYS_PSELECT6 = 280 - SYS_PPOLL = 281 - SYS_UNSHARE = 282 - SYS_SPLICE = 283 - SYS_TEE = 284 - SYS_VMSPLICE = 285 - SYS_OPENAT = 286 - SYS_MKDIRAT = 287 - SYS_MKNODAT = 288 - SYS_FCHOWNAT = 289 - SYS_FUTIMESAT = 290 - SYS_NEWFSTATAT = 291 - SYS_UNLINKAT = 292 - SYS_RENAMEAT = 293 - SYS_LINKAT = 294 - SYS_SYMLINKAT = 295 - SYS_READLINKAT = 296 - SYS_FCHMODAT = 297 - SYS_FACCESSAT = 298 - SYS_GET_ROBUST_LIST = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_MOVE_PAGES = 301 - SYS_GETCPU = 302 - SYS_EPOLL_PWAIT = 303 - SYS_UTIMENSAT = 304 - SYS_SIGNALFD = 305 - SYS_TIMERFD_CREATE = 306 - SYS_EVENTFD = 307 - SYS_SYNC_FILE_RANGE2 = 308 - SYS_FALLOCATE = 309 - SYS_SUBPAGE_PROT = 310 - SYS_TIMERFD_SETTIME = 311 - SYS_TIMERFD_GETTIME = 312 - SYS_SIGNALFD4 = 313 - SYS_EVENTFD2 = 314 - SYS_EPOLL_CREATE1 = 315 - SYS_DUP3 = 316 - SYS_PIPE2 = 317 - SYS_INOTIFY_INIT1 = 318 - SYS_PERF_EVENT_OPEN = 319 - SYS_PREADV = 320 - SYS_PWRITEV = 321 - SYS_RT_TGSIGQUEUEINFO = 322 - SYS_FANOTIFY_INIT = 323 - SYS_FANOTIFY_MARK = 324 - SYS_PRLIMIT64 = 325 - SYS_SOCKET = 326 - SYS_BIND = 327 - SYS_CONNECT = 328 - SYS_LISTEN = 329 - SYS_ACCEPT = 330 - SYS_GETSOCKNAME = 331 - SYS_GETPEERNAME = 332 - SYS_SOCKETPAIR = 333 - SYS_SEND = 334 - SYS_SENDTO = 335 - SYS_RECV = 336 - SYS_RECVFROM = 337 - SYS_SHUTDOWN = 338 - SYS_SETSOCKOPT = 339 - SYS_GETSOCKOPT = 340 - SYS_SENDMSG = 341 - SYS_RECVMSG = 342 - SYS_RECVMMSG = 343 - SYS_ACCEPT4 = 344 - SYS_NAME_TO_HANDLE_AT = 345 - SYS_OPEN_BY_HANDLE_AT = 346 - SYS_CLOCK_ADJTIME = 347 - SYS_SYNCFS = 348 - SYS_SENDMMSG = 349 - SYS_SETNS = 350 - SYS_PROCESS_VM_READV = 351 - SYS_PROCESS_VM_WRITEV = 352 - SYS_FINIT_MODULE = 353 - SYS_KCMP = 354 - SYS_SCHED_SETATTR = 355 - SYS_SCHED_GETATTR = 356 - SYS_RENAMEAT2 = 357 - SYS_SECCOMP = 358 - SYS_GETRANDOM = 359 - SYS_MEMFD_CREATE = 360 - SYS_BPF = 361 - SYS_EXECVEAT = 362 - SYS_SWITCH_ENDIAN = 363 - SYS_USERFAULTFD = 364 - SYS_MEMBARRIER = 365 - SYS_MLOCK2 = 378 - SYS_COPY_FILE_RANGE = 379 - SYS_PREADV2 = 380 - SYS_PWRITEV2 = 381 - SYS_KEXEC_FILE_LOAD = 382 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go deleted file mode 100644 index 90a039b..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ /dev/null @@ -1,369 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64le,linux - -package unix - -const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86 = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_QUERY_MODULE = 166 - SYS_POLL = 167 - SYS_NFSSERVCTL = 168 - SYS_SETRESGID = 169 - SYS_GETRESGID = 170 - SYS_PRCTL = 171 - SYS_RT_SIGRETURN = 172 - SYS_RT_SIGACTION = 173 - SYS_RT_SIGPROCMASK = 174 - SYS_RT_SIGPENDING = 175 - SYS_RT_SIGTIMEDWAIT = 176 - SYS_RT_SIGQUEUEINFO = 177 - SYS_RT_SIGSUSPEND = 178 - SYS_PREAD64 = 179 - SYS_PWRITE64 = 180 - SYS_CHOWN = 181 - SYS_GETCWD = 182 - SYS_CAPGET = 183 - SYS_CAPSET = 184 - SYS_SIGALTSTACK = 185 - SYS_SENDFILE = 186 - SYS_GETPMSG = 187 - SYS_PUTPMSG = 188 - SYS_VFORK = 189 - SYS_UGETRLIMIT = 190 - SYS_READAHEAD = 191 - SYS_PCICONFIG_READ = 198 - SYS_PCICONFIG_WRITE = 199 - SYS_PCICONFIG_IOBASE = 200 - SYS_MULTIPLEXER = 201 - SYS_GETDENTS64 = 202 - SYS_PIVOT_ROOT = 203 - SYS_MADVISE = 205 - SYS_MINCORE = 206 - SYS_GETTID = 207 - SYS_TKILL = 208 - SYS_SETXATTR = 209 - SYS_LSETXATTR = 210 - SYS_FSETXATTR = 211 - SYS_GETXATTR = 212 - SYS_LGETXATTR = 213 - SYS_FGETXATTR = 214 - SYS_LISTXATTR = 215 - SYS_LLISTXATTR = 216 - SYS_FLISTXATTR = 217 - SYS_REMOVEXATTR = 218 - SYS_LREMOVEXATTR = 219 - SYS_FREMOVEXATTR = 220 - SYS_FUTEX = 221 - SYS_SCHED_SETAFFINITY = 222 - SYS_SCHED_GETAFFINITY = 223 - SYS_TUXCALL = 225 - SYS_IO_SETUP = 227 - SYS_IO_DESTROY = 228 - SYS_IO_GETEVENTS = 229 - SYS_IO_SUBMIT = 230 - SYS_IO_CANCEL = 231 - SYS_SET_TID_ADDRESS = 232 - SYS_FADVISE64 = 233 - SYS_EXIT_GROUP = 234 - SYS_LOOKUP_DCOOKIE = 235 - SYS_EPOLL_CREATE = 236 - SYS_EPOLL_CTL = 237 - SYS_EPOLL_WAIT = 238 - SYS_REMAP_FILE_PAGES = 239 - SYS_TIMER_CREATE = 240 - SYS_TIMER_SETTIME = 241 - SYS_TIMER_GETTIME = 242 - SYS_TIMER_GETOVERRUN = 243 - SYS_TIMER_DELETE = 244 - SYS_CLOCK_SETTIME = 245 - SYS_CLOCK_GETTIME = 246 - SYS_CLOCK_GETRES = 247 - SYS_CLOCK_NANOSLEEP = 248 - SYS_SWAPCONTEXT = 249 - SYS_TGKILL = 250 - SYS_UTIMES = 251 - SYS_STATFS64 = 252 - SYS_FSTATFS64 = 253 - SYS_RTAS = 255 - SYS_SYS_DEBUG_SETCONTEXT = 256 - SYS_MIGRATE_PAGES = 258 - SYS_MBIND = 259 - SYS_GET_MEMPOLICY = 260 - SYS_SET_MEMPOLICY = 261 - SYS_MQ_OPEN = 262 - SYS_MQ_UNLINK = 263 - SYS_MQ_TIMEDSEND = 264 - SYS_MQ_TIMEDRECEIVE = 265 - SYS_MQ_NOTIFY = 266 - SYS_MQ_GETSETATTR = 267 - SYS_KEXEC_LOAD = 268 - SYS_ADD_KEY = 269 - SYS_REQUEST_KEY = 270 - SYS_KEYCTL = 271 - SYS_WAITID = 272 - SYS_IOPRIO_SET = 273 - SYS_IOPRIO_GET = 274 - SYS_INOTIFY_INIT = 275 - SYS_INOTIFY_ADD_WATCH = 276 - SYS_INOTIFY_RM_WATCH = 277 - SYS_SPU_RUN = 278 - SYS_SPU_CREATE = 279 - SYS_PSELECT6 = 280 - SYS_PPOLL = 281 - SYS_UNSHARE = 282 - SYS_SPLICE = 283 - SYS_TEE = 284 - SYS_VMSPLICE = 285 - SYS_OPENAT = 286 - SYS_MKDIRAT = 287 - SYS_MKNODAT = 288 - SYS_FCHOWNAT = 289 - SYS_FUTIMESAT = 290 - SYS_NEWFSTATAT = 291 - SYS_UNLINKAT = 292 - SYS_RENAMEAT = 293 - SYS_LINKAT = 294 - SYS_SYMLINKAT = 295 - SYS_READLINKAT = 296 - SYS_FCHMODAT = 297 - SYS_FACCESSAT = 298 - SYS_GET_ROBUST_LIST = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_MOVE_PAGES = 301 - SYS_GETCPU = 302 - SYS_EPOLL_PWAIT = 303 - SYS_UTIMENSAT = 304 - SYS_SIGNALFD = 305 - SYS_TIMERFD_CREATE = 306 - SYS_EVENTFD = 307 - SYS_SYNC_FILE_RANGE2 = 308 - SYS_FALLOCATE = 309 - SYS_SUBPAGE_PROT = 310 - SYS_TIMERFD_SETTIME = 311 - SYS_TIMERFD_GETTIME = 312 - SYS_SIGNALFD4 = 313 - SYS_EVENTFD2 = 314 - SYS_EPOLL_CREATE1 = 315 - SYS_DUP3 = 316 - SYS_PIPE2 = 317 - SYS_INOTIFY_INIT1 = 318 - SYS_PERF_EVENT_OPEN = 319 - SYS_PREADV = 320 - SYS_PWRITEV = 321 - SYS_RT_TGSIGQUEUEINFO = 322 - SYS_FANOTIFY_INIT = 323 - SYS_FANOTIFY_MARK = 324 - SYS_PRLIMIT64 = 325 - SYS_SOCKET = 326 - SYS_BIND = 327 - SYS_CONNECT = 328 - SYS_LISTEN = 329 - SYS_ACCEPT = 330 - SYS_GETSOCKNAME = 331 - SYS_GETPEERNAME = 332 - SYS_SOCKETPAIR = 333 - SYS_SEND = 334 - SYS_SENDTO = 335 - SYS_RECV = 336 - SYS_RECVFROM = 337 - SYS_SHUTDOWN = 338 - SYS_SETSOCKOPT = 339 - SYS_GETSOCKOPT = 340 - SYS_SENDMSG = 341 - SYS_RECVMSG = 342 - SYS_RECVMMSG = 343 - SYS_ACCEPT4 = 344 - SYS_NAME_TO_HANDLE_AT = 345 - SYS_OPEN_BY_HANDLE_AT = 346 - SYS_CLOCK_ADJTIME = 347 - SYS_SYNCFS = 348 - SYS_SENDMMSG = 349 - SYS_SETNS = 350 - SYS_PROCESS_VM_READV = 351 - SYS_PROCESS_VM_WRITEV = 352 - SYS_FINIT_MODULE = 353 - SYS_KCMP = 354 - SYS_SCHED_SETATTR = 355 - SYS_SCHED_GETATTR = 356 - SYS_RENAMEAT2 = 357 - SYS_SECCOMP = 358 - SYS_GETRANDOM = 359 - SYS_MEMFD_CREATE = 360 - SYS_BPF = 361 - SYS_EXECVEAT = 362 - SYS_SWITCH_ENDIAN = 363 - SYS_USERFAULTFD = 364 - SYS_MEMBARRIER = 365 - SYS_MLOCK2 = 378 - SYS_COPY_FILE_RANGE = 379 - SYS_PREADV2 = 380 - SYS_PWRITEV2 = 381 - SYS_KEXEC_FILE_LOAD = 382 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go deleted file mode 100644 index aab0cdb..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ /dev/null @@ -1,331 +0,0 @@ -// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build s390x,linux - -package unix - -const ( - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_RESTART_SYSCALL = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_BRK = 45 - SYS_SIGNAL = 48 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_SETPGID = 57 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_SYMLINK = 83 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_LOOKUP_DCOOKIE = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_GETDENTS = 141 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_QUERY_MODULE = 167 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_GETPMSG = 188 - SYS_PUTPMSG = 189 - SYS_VFORK = 190 - SYS_PIVOT_ROOT = 217 - SYS_MINCORE = 218 - SYS_MADVISE = 219 - SYS_GETDENTS64 = 220 - SYS_READAHEAD = 222 - SYS_SETXATTR = 224 - SYS_LSETXATTR = 225 - SYS_FSETXATTR = 226 - SYS_GETXATTR = 227 - SYS_LGETXATTR = 228 - SYS_FGETXATTR = 229 - SYS_LISTXATTR = 230 - SYS_LLISTXATTR = 231 - SYS_FLISTXATTR = 232 - SYS_REMOVEXATTR = 233 - SYS_LREMOVEXATTR = 234 - SYS_FREMOVEXATTR = 235 - SYS_GETTID = 236 - SYS_TKILL = 237 - SYS_FUTEX = 238 - SYS_SCHED_SETAFFINITY = 239 - SYS_SCHED_GETAFFINITY = 240 - SYS_TGKILL = 241 - SYS_IO_SETUP = 243 - SYS_IO_DESTROY = 244 - SYS_IO_GETEVENTS = 245 - SYS_IO_SUBMIT = 246 - SYS_IO_CANCEL = 247 - SYS_EXIT_GROUP = 248 - SYS_EPOLL_CREATE = 249 - SYS_EPOLL_CTL = 250 - SYS_EPOLL_WAIT = 251 - SYS_SET_TID_ADDRESS = 252 - SYS_FADVISE64 = 253 - SYS_TIMER_CREATE = 254 - SYS_TIMER_SETTIME = 255 - SYS_TIMER_GETTIME = 256 - SYS_TIMER_GETOVERRUN = 257 - SYS_TIMER_DELETE = 258 - SYS_CLOCK_SETTIME = 259 - SYS_CLOCK_GETTIME = 260 - SYS_CLOCK_GETRES = 261 - SYS_CLOCK_NANOSLEEP = 262 - SYS_STATFS64 = 265 - SYS_FSTATFS64 = 266 - SYS_REMAP_FILE_PAGES = 267 - SYS_MBIND = 268 - SYS_GET_MEMPOLICY = 269 - SYS_SET_MEMPOLICY = 270 - SYS_MQ_OPEN = 271 - SYS_MQ_UNLINK = 272 - SYS_MQ_TIMEDSEND = 273 - SYS_MQ_TIMEDRECEIVE = 274 - SYS_MQ_NOTIFY = 275 - SYS_MQ_GETSETATTR = 276 - SYS_KEXEC_LOAD = 277 - SYS_ADD_KEY = 278 - SYS_REQUEST_KEY = 279 - SYS_KEYCTL = 280 - SYS_WAITID = 281 - SYS_IOPRIO_SET = 282 - SYS_IOPRIO_GET = 283 - SYS_INOTIFY_INIT = 284 - SYS_INOTIFY_ADD_WATCH = 285 - SYS_INOTIFY_RM_WATCH = 286 - SYS_MIGRATE_PAGES = 287 - SYS_OPENAT = 288 - SYS_MKDIRAT = 289 - SYS_MKNODAT = 290 - SYS_FCHOWNAT = 291 - SYS_FUTIMESAT = 292 - SYS_UNLINKAT = 294 - SYS_RENAMEAT = 295 - SYS_LINKAT = 296 - SYS_SYMLINKAT = 297 - SYS_READLINKAT = 298 - SYS_FCHMODAT = 299 - SYS_FACCESSAT = 300 - SYS_PSELECT6 = 301 - SYS_PPOLL = 302 - SYS_UNSHARE = 303 - SYS_SET_ROBUST_LIST = 304 - SYS_GET_ROBUST_LIST = 305 - SYS_SPLICE = 306 - SYS_SYNC_FILE_RANGE = 307 - SYS_TEE = 308 - SYS_VMSPLICE = 309 - SYS_MOVE_PAGES = 310 - SYS_GETCPU = 311 - SYS_EPOLL_PWAIT = 312 - SYS_UTIMES = 313 - SYS_FALLOCATE = 314 - SYS_UTIMENSAT = 315 - SYS_SIGNALFD = 316 - SYS_TIMERFD = 317 - SYS_EVENTFD = 318 - SYS_TIMERFD_CREATE = 319 - SYS_TIMERFD_SETTIME = 320 - SYS_TIMERFD_GETTIME = 321 - SYS_SIGNALFD4 = 322 - SYS_EVENTFD2 = 323 - SYS_INOTIFY_INIT1 = 324 - SYS_PIPE2 = 325 - SYS_DUP3 = 326 - SYS_EPOLL_CREATE1 = 327 - SYS_PREADV = 328 - SYS_PWRITEV = 329 - SYS_RT_TGSIGQUEUEINFO = 330 - SYS_PERF_EVENT_OPEN = 331 - SYS_FANOTIFY_INIT = 332 - SYS_FANOTIFY_MARK = 333 - SYS_PRLIMIT64 = 334 - SYS_NAME_TO_HANDLE_AT = 335 - SYS_OPEN_BY_HANDLE_AT = 336 - SYS_CLOCK_ADJTIME = 337 - SYS_SYNCFS = 338 - SYS_SETNS = 339 - SYS_PROCESS_VM_READV = 340 - SYS_PROCESS_VM_WRITEV = 341 - SYS_S390_RUNTIME_INSTR = 342 - SYS_KCMP = 343 - SYS_FINIT_MODULE = 344 - SYS_SCHED_SETATTR = 345 - SYS_SCHED_GETATTR = 346 - SYS_RENAMEAT2 = 347 - SYS_SECCOMP = 348 - SYS_GETRANDOM = 349 - SYS_MEMFD_CREATE = 350 - SYS_BPF = 351 - SYS_S390_PCI_MMIO_WRITE = 352 - SYS_S390_PCI_MMIO_READ = 353 - SYS_EXECVEAT = 354 - SYS_USERFAULTFD = 355 - SYS_MEMBARRIER = 356 - SYS_RECVMMSG = 357 - SYS_SENDMMSG = 358 - SYS_SOCKET = 359 - SYS_SOCKETPAIR = 360 - SYS_BIND = 361 - SYS_CONNECT = 362 - SYS_LISTEN = 363 - SYS_ACCEPT4 = 364 - SYS_GETSOCKOPT = 365 - SYS_SETSOCKOPT = 366 - SYS_GETSOCKNAME = 367 - SYS_GETPEERNAME = 368 - SYS_SENDTO = 369 - SYS_SENDMSG = 370 - SYS_RECVFROM = 371 - SYS_RECVMSG = 372 - SYS_SHUTDOWN = 373 - SYS_MLOCK2 = 374 - SYS_COPY_FILE_RANGE = 375 - SYS_PREADV2 = 376 - SYS_PWRITEV2 = 377 - SYS_SELECT = 142 - SYS_GETRLIMIT = 191 - SYS_LCHOWN = 198 - SYS_GETUID = 199 - SYS_GETGID = 200 - SYS_GETEUID = 201 - SYS_GETEGID = 202 - SYS_SETREUID = 203 - SYS_SETREGID = 204 - SYS_GETGROUPS = 205 - SYS_SETGROUPS = 206 - SYS_FCHOWN = 207 - SYS_SETRESUID = 208 - SYS_GETRESUID = 209 - SYS_SETRESGID = 210 - SYS_GETRESGID = 211 - SYS_CHOWN = 212 - SYS_SETUID = 213 - SYS_SETGID = 214 - SYS_SETFSUID = 215 - SYS_SETFSGID = 216 - SYS_NEWFSTATAT = 293 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go deleted file mode 100644 index c9c129d..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ /dev/null @@ -1,348 +0,0 @@ -// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build sparc64,linux - -package unix - -const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECV = 11 - SYS_CHDIR = 12 - SYS_CHOWN = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BRK = 17 - SYS_PERFCTR = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_CAPGET = 21 - SYS_CAPSET = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_VMSPLICE = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_SIGALTSTACK = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_STAT = 38 - SYS_SENDFILE = 39 - SYS_LSTAT = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_UMOUNT2 = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_MEMORY_ORDERING = 52 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_FSTAT = 62 - SYS_FSTAT64 = 63 - SYS_GETPAGESIZE = 64 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_PREAD64 = 67 - SYS_PWRITE64 = 68 - SYS_MMAP = 71 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_VHANGUP = 76 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_SETHOSTNAME = 88 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_ACCEPT = 99 - SYS_GETPRIORITY = 100 - SYS_RT_SIGRETURN = 101 - SYS_RT_SIGACTION = 102 - SYS_RT_SIGPROCMASK = 103 - SYS_RT_SIGPENDING = 104 - SYS_RT_SIGTIMEDWAIT = 105 - SYS_RT_SIGQUEUEINFO = 106 - SYS_RT_SIGSUSPEND = 107 - SYS_SETRESUID = 108 - SYS_GETRESUID = 109 - SYS_SETRESGID = 110 - SYS_GETRESGID = 111 - SYS_RECVMSG = 113 - SYS_SENDMSG = 114 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_GETCWD = 119 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_RECVFROM = 125 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_TRUNCATE = 129 - SYS_FTRUNCATE = 130 - SYS_FLOCK = 131 - SYS_LSTAT64 = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_STAT64 = 139 - SYS_SENDFILE64 = 140 - SYS_GETPEERNAME = 141 - SYS_FUTEX = 142 - SYS_GETTID = 143 - SYS_GETRLIMIT = 144 - SYS_SETRLIMIT = 145 - SYS_PIVOT_ROOT = 146 - SYS_PRCTL = 147 - SYS_PCICONFIG_READ = 148 - SYS_PCICONFIG_WRITE = 149 - SYS_GETSOCKNAME = 150 - SYS_INOTIFY_INIT = 151 - SYS_INOTIFY_ADD_WATCH = 152 - SYS_POLL = 153 - SYS_GETDENTS64 = 154 - SYS_INOTIFY_RM_WATCH = 156 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UMOUNT = 159 - SYS_SCHED_SET_AFFINITY = 160 - SYS_SCHED_GET_AFFINITY = 161 - SYS_GETDOMAINNAME = 162 - SYS_SETDOMAINNAME = 163 - SYS_UTRAP_INSTALL = 164 - SYS_QUOTACTL = 165 - SYS_SET_TID_ADDRESS = 166 - SYS_MOUNT = 167 - SYS_USTAT = 168 - SYS_SETXATTR = 169 - SYS_LSETXATTR = 170 - SYS_FSETXATTR = 171 - SYS_GETXATTR = 172 - SYS_LGETXATTR = 173 - SYS_GETDENTS = 174 - SYS_SETSID = 175 - SYS_FCHDIR = 176 - SYS_FGETXATTR = 177 - SYS_LISTXATTR = 178 - SYS_LLISTXATTR = 179 - SYS_FLISTXATTR = 180 - SYS_REMOVEXATTR = 181 - SYS_LREMOVEXATTR = 182 - SYS_SIGPENDING = 183 - SYS_QUERY_MODULE = 184 - SYS_SETPGID = 185 - SYS_FREMOVEXATTR = 186 - SYS_TKILL = 187 - SYS_EXIT_GROUP = 188 - SYS_UNAME = 189 - SYS_INIT_MODULE = 190 - SYS_PERSONALITY = 191 - SYS_REMAP_FILE_PAGES = 192 - SYS_EPOLL_CREATE = 193 - SYS_EPOLL_CTL = 194 - SYS_EPOLL_WAIT = 195 - SYS_IOPRIO_SET = 196 - SYS_GETPPID = 197 - SYS_SIGACTION = 198 - SYS_SGETMASK = 199 - SYS_SSETMASK = 200 - SYS_SIGSUSPEND = 201 - SYS_OLDLSTAT = 202 - SYS_USELIB = 203 - SYS_READDIR = 204 - SYS_READAHEAD = 205 - SYS_SOCKETCALL = 206 - SYS_SYSLOG = 207 - SYS_LOOKUP_DCOOKIE = 208 - SYS_FADVISE64 = 209 - SYS_FADVISE64_64 = 210 - SYS_TGKILL = 211 - SYS_WAITPID = 212 - SYS_SWAPOFF = 213 - SYS_SYSINFO = 214 - SYS_IPC = 215 - SYS_SIGRETURN = 216 - SYS_CLONE = 217 - SYS_IOPRIO_GET = 218 - SYS_ADJTIMEX = 219 - SYS_SIGPROCMASK = 220 - SYS_CREATE_MODULE = 221 - SYS_DELETE_MODULE = 222 - SYS_GET_KERNEL_SYMS = 223 - SYS_GETPGID = 224 - SYS_BDFLUSH = 225 - SYS_SYSFS = 226 - SYS_AFS_SYSCALL = 227 - SYS_SETFSUID = 228 - SYS_SETFSGID = 229 - SYS__NEWSELECT = 230 - SYS_SPLICE = 232 - SYS_STIME = 233 - SYS_STATFS64 = 234 - SYS_FSTATFS64 = 235 - SYS__LLSEEK = 236 - SYS_MLOCK = 237 - SYS_MUNLOCK = 238 - SYS_MLOCKALL = 239 - SYS_MUNLOCKALL = 240 - SYS_SCHED_SETPARAM = 241 - SYS_SCHED_GETPARAM = 242 - SYS_SCHED_SETSCHEDULER = 243 - SYS_SCHED_GETSCHEDULER = 244 - SYS_SCHED_YIELD = 245 - SYS_SCHED_GET_PRIORITY_MAX = 246 - SYS_SCHED_GET_PRIORITY_MIN = 247 - SYS_SCHED_RR_GET_INTERVAL = 248 - SYS_NANOSLEEP = 249 - SYS_MREMAP = 250 - SYS__SYSCTL = 251 - SYS_GETSID = 252 - SYS_FDATASYNC = 253 - SYS_NFSSERVCTL = 254 - SYS_SYNC_FILE_RANGE = 255 - SYS_CLOCK_SETTIME = 256 - SYS_CLOCK_GETTIME = 257 - SYS_CLOCK_GETRES = 258 - SYS_CLOCK_NANOSLEEP = 259 - SYS_SCHED_GETAFFINITY = 260 - SYS_SCHED_SETAFFINITY = 261 - SYS_TIMER_SETTIME = 262 - SYS_TIMER_GETTIME = 263 - SYS_TIMER_GETOVERRUN = 264 - SYS_TIMER_DELETE = 265 - SYS_TIMER_CREATE = 266 - SYS_IO_SETUP = 268 - SYS_IO_DESTROY = 269 - SYS_IO_SUBMIT = 270 - SYS_IO_CANCEL = 271 - SYS_IO_GETEVENTS = 272 - SYS_MQ_OPEN = 273 - SYS_MQ_UNLINK = 274 - SYS_MQ_TIMEDSEND = 275 - SYS_MQ_TIMEDRECEIVE = 276 - SYS_MQ_NOTIFY = 277 - SYS_MQ_GETSETATTR = 278 - SYS_WAITID = 279 - SYS_TEE = 280 - SYS_ADD_KEY = 281 - SYS_REQUEST_KEY = 282 - SYS_KEYCTL = 283 - SYS_OPENAT = 284 - SYS_MKDIRAT = 285 - SYS_MKNODAT = 286 - SYS_FCHOWNAT = 287 - SYS_FUTIMESAT = 288 - SYS_FSTATAT64 = 289 - SYS_UNLINKAT = 290 - SYS_RENAMEAT = 291 - SYS_LINKAT = 292 - SYS_SYMLINKAT = 293 - SYS_READLINKAT = 294 - SYS_FCHMODAT = 295 - SYS_FACCESSAT = 296 - SYS_PSELECT6 = 297 - SYS_PPOLL = 298 - SYS_UNSHARE = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_GET_ROBUST_LIST = 301 - SYS_MIGRATE_PAGES = 302 - SYS_MBIND = 303 - SYS_GET_MEMPOLICY = 304 - SYS_SET_MEMPOLICY = 305 - SYS_KEXEC_LOAD = 306 - SYS_MOVE_PAGES = 307 - SYS_GETCPU = 308 - SYS_EPOLL_PWAIT = 309 - SYS_UTIMENSAT = 310 - SYS_SIGNALFD = 311 - SYS_TIMERFD_CREATE = 312 - SYS_EVENTFD = 313 - SYS_FALLOCATE = 314 - SYS_TIMERFD_SETTIME = 315 - SYS_TIMERFD_GETTIME = 316 - SYS_SIGNALFD4 = 317 - SYS_EVENTFD2 = 318 - SYS_EPOLL_CREATE1 = 319 - SYS_DUP3 = 320 - SYS_PIPE2 = 321 - SYS_INOTIFY_INIT1 = 322 - SYS_ACCEPT4 = 323 - SYS_PREADV = 324 - SYS_PWRITEV = 325 - SYS_RT_TGSIGQUEUEINFO = 326 - SYS_PERF_EVENT_OPEN = 327 - SYS_RECVMMSG = 328 - SYS_FANOTIFY_INIT = 329 - SYS_FANOTIFY_MARK = 330 - SYS_PRLIMIT64 = 331 - SYS_NAME_TO_HANDLE_AT = 332 - SYS_OPEN_BY_HANDLE_AT = 333 - SYS_CLOCK_ADJTIME = 334 - SYS_SYNCFS = 335 - SYS_SENDMMSG = 336 - SYS_SETNS = 337 - SYS_PROCESS_VM_READV = 338 - SYS_PROCESS_VM_WRITEV = 339 - SYS_KERN_FEATURES = 340 - SYS_KCMP = 341 - SYS_FINIT_MODULE = 342 - SYS_SCHED_SETATTR = 343 - SYS_SCHED_GETATTR = 344 - SYS_RENAMEAT2 = 345 - SYS_SECCOMP = 346 - SYS_GETRANDOM = 347 - SYS_MEMFD_CREATE = 348 - SYS_BPF = 349 - SYS_EXECVEAT = 350 - SYS_MEMBARRIER = 351 - SYS_USERFAULTFD = 352 - SYS_BIND = 353 - SYS_LISTEN = 354 - SYS_SETSOCKOPT = 355 - SYS_MLOCK2 = 356 - SYS_COPY_FILE_RANGE = 357 - SYS_PREADV2 = 358 - SYS_PWRITEV2 = 359 -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go deleted file mode 100644 index f60d8f9..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +++ /dev/null @@ -1,273 +0,0 @@ -// mksysnum_netbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build 386,netbsd - -package unix - -const ( - SYS_EXIT = 1 // { void|sys||exit(int rval); } - SYS_FORK = 2 // { int|sys||fork(void); } - SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } - SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } - SYS_CLOSE = 6 // { int|sys||close(int fd); } - SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } - SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } - SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } - SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } - SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } - SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } - SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } - SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } - SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } - SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } - SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } - SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } - SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } - SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } - SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } - SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } - SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } - SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { void|sys||sync(void); } - SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } - SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } - SYS_DUP = 41 // { int|sys||dup(int fd); } - SYS_PIPE = 42 // { int|sys||pipe(void); } - SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } - SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } - SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } - SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } - SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } - SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } - SYS_ACCT = 51 // { int|sys||acct(const char *path); } - SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } - SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } - SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } - SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } - SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } - SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } - SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } - SYS_VFORK = 66 // { int|sys||vfork(void); } - SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } - SYS_SSTK = 70 // { int|sys||sstk(int incr); } - SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } - SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } - SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } - SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } - SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } - SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } - SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } - SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } - SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } - SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } - SYS_FSYNC = 95 // { int|sys||fsync(int fd); } - SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } - SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } - SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } - SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } - SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } - SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } - SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } - SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } - SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } - SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } - SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } - SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } - SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } - SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } - SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } - SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } - SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } - SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } - SYS_SETSID = 147 // { int|sys||setsid(void); } - SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } - SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } - SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } - SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } - SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } - SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } - SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } - SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } - SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } - SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } - SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } - SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } - SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } - SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } - SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } - SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } - SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } - SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } - SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } - SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } - SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } - SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } - SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } - SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } - SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } - SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } - SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } - SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } - SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } - SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } - SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } - SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } - SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } - SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } - SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } - SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } - SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } - SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } - SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } - SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } - SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } - SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } - SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } - SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } - SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } - SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } - SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } - SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } - SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } - SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } - SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } - SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } - SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } - SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } - SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } - SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } - SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } - SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } - SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } - SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } - SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } - SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } - SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } - SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } - SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } - SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } - SYS_KQUEUE = 344 // { int|sys||kqueue(void); } - SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } - SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } - SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } - SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } - SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } - SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } - SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } - SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } - SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } - SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } - SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } - SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } - SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } - SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } - SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } - SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } - SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } - SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } - SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } - SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } - SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } - SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } - SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } - SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } - SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } - SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } - SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } - SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } - SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } - SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } - SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } - SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } - SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } - SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } - SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } - SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } - SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } - SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } - SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } - SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } - SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } - SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } - SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } - SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } - SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } - SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } - SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } - SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } - SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } - SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } - SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } - SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } - SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } - SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } - SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } - SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } - SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } - SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } - SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } - SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } - SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } - SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } - SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } - SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } - SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } - SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } - SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } - SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } - SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } - SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } - SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } - SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } - SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } - SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } - SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } - SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } - SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } - SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } - SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } - SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } - SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } - SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } - SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } - SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } - SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go deleted file mode 100644 index 48a91d4..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +++ /dev/null @@ -1,273 +0,0 @@ -// mksysnum_netbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build amd64,netbsd - -package unix - -const ( - SYS_EXIT = 1 // { void|sys||exit(int rval); } - SYS_FORK = 2 // { int|sys||fork(void); } - SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } - SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } - SYS_CLOSE = 6 // { int|sys||close(int fd); } - SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } - SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } - SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } - SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } - SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } - SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } - SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } - SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } - SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } - SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } - SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } - SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } - SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } - SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } - SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } - SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } - SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } - SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { void|sys||sync(void); } - SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } - SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } - SYS_DUP = 41 // { int|sys||dup(int fd); } - SYS_PIPE = 42 // { int|sys||pipe(void); } - SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } - SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } - SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } - SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } - SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } - SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } - SYS_ACCT = 51 // { int|sys||acct(const char *path); } - SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } - SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } - SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } - SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } - SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } - SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } - SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } - SYS_VFORK = 66 // { int|sys||vfork(void); } - SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } - SYS_SSTK = 70 // { int|sys||sstk(int incr); } - SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } - SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } - SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } - SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } - SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } - SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } - SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } - SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } - SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } - SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } - SYS_FSYNC = 95 // { int|sys||fsync(int fd); } - SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } - SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } - SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } - SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } - SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } - SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } - SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } - SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } - SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } - SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } - SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } - SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } - SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } - SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } - SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } - SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } - SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } - SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } - SYS_SETSID = 147 // { int|sys||setsid(void); } - SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } - SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } - SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } - SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } - SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } - SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } - SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } - SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } - SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } - SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } - SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } - SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } - SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } - SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } - SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } - SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } - SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } - SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } - SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } - SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } - SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } - SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } - SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } - SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } - SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } - SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } - SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } - SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } - SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } - SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } - SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } - SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } - SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } - SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } - SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } - SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } - SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } - SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } - SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } - SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } - SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } - SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } - SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } - SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } - SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } - SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } - SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } - SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } - SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } - SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } - SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } - SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } - SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } - SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } - SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } - SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } - SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } - SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } - SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } - SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } - SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } - SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } - SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } - SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } - SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } - SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } - SYS_KQUEUE = 344 // { int|sys||kqueue(void); } - SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } - SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } - SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } - SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } - SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } - SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } - SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } - SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } - SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } - SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } - SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } - SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } - SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } - SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } - SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } - SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } - SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } - SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } - SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } - SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } - SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } - SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } - SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } - SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } - SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } - SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } - SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } - SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } - SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } - SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } - SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } - SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } - SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } - SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } - SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } - SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } - SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } - SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } - SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } - SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } - SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } - SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } - SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } - SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } - SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } - SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } - SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } - SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } - SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } - SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } - SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } - SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } - SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } - SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } - SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } - SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } - SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } - SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } - SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } - SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } - SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } - SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } - SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } - SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } - SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } - SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } - SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } - SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } - SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } - SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } - SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } - SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } - SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } - SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } - SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } - SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } - SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } - SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } - SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } - SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } - SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } - SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } - SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } - SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } - SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go deleted file mode 100644 index 612ba66..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +++ /dev/null @@ -1,273 +0,0 @@ -// mksysnum_netbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build arm,netbsd - -package unix - -const ( - SYS_EXIT = 1 // { void|sys||exit(int rval); } - SYS_FORK = 2 // { int|sys||fork(void); } - SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } - SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } - SYS_CLOSE = 6 // { int|sys||close(int fd); } - SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } - SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } - SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } - SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } - SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } - SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } - SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } - SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } - SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } - SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } - SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } - SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } - SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } - SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } - SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } - SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } - SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } - SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } - SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { void|sys||sync(void); } - SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } - SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } - SYS_DUP = 41 // { int|sys||dup(int fd); } - SYS_PIPE = 42 // { int|sys||pipe(void); } - SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } - SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } - SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } - SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } - SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } - SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } - SYS_ACCT = 51 // { int|sys||acct(const char *path); } - SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } - SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } - SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } - SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } - SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } - SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } - SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } - SYS_VFORK = 66 // { int|sys||vfork(void); } - SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } - SYS_SSTK = 70 // { int|sys||sstk(int incr); } - SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } - SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } - SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } - SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } - SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } - SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } - SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } - SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } - SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } - SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } - SYS_FSYNC = 95 // { int|sys||fsync(int fd); } - SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } - SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } - SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } - SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } - SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } - SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } - SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } - SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } - SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } - SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } - SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } - SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } - SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } - SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } - SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } - SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } - SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } - SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } - SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } - SYS_SETSID = 147 // { int|sys||setsid(void); } - SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } - SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } - SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } - SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } - SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } - SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } - SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } - SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } - SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } - SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } - SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } - SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } - SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } - SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } - SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } - SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } - SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } - SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } - SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } - SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } - SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } - SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } - SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } - SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } - SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } - SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } - SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } - SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } - SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } - SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } - SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } - SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } - SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } - SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } - SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } - SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } - SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } - SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } - SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } - SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } - SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } - SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } - SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } - SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } - SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } - SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } - SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } - SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } - SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } - SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } - SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } - SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } - SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } - SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } - SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } - SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } - SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } - SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } - SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } - SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } - SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } - SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } - SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } - SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } - SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } - SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } - SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } - SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } - SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } - SYS_KQUEUE = 344 // { int|sys||kqueue(void); } - SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } - SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } - SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } - SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } - SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } - SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } - SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } - SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } - SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } - SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } - SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } - SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } - SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } - SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } - SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } - SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } - SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } - SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } - SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } - SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } - SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } - SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } - SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } - SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } - SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } - SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } - SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } - SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } - SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } - SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } - SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } - SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } - SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } - SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } - SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } - SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } - SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } - SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } - SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } - SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } - SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } - SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } - SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } - SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } - SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } - SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } - SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } - SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } - SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } - SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } - SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } - SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } - SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } - SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } - SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } - SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } - SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } - SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } - SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } - SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } - SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } - SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } - SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } - SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } - SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } - SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } - SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } - SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } - SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } - SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } - SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } - SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } - SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } - SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } - SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } - SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } - SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } - SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } - SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } - SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } - SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } - SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } - SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } - SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } - SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } - SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } - SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } - SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } - SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } - SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } - SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go deleted file mode 100644 index 3e8ce2a..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +++ /dev/null @@ -1,207 +0,0 @@ -// mksysnum_openbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build 386,openbsd - -package unix - -const ( - SYS_EXIT = 1 // { void sys_exit(int rval); } - SYS_FORK = 2 // { int sys_fork(void); } - SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int sys_open(const char *path, \ - SYS_CLOSE = 6 // { int sys_close(int fd); } - SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ - SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } - SYS_UNLINK = 10 // { int sys_unlink(const char *path); } - SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ - SYS_CHDIR = 12 // { int sys_chdir(const char *path); } - SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } - SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ - SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } - SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ - SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break - SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } - SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ - SYS_GETPID = 20 // { pid_t sys_getpid(void); } - SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ - SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } - SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t sys_getuid(void); } - SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } - SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ - SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ - SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ - SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ - SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ - SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ - SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } - SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } - SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } - SYS_SYNC = 36 // { void sys_sync(void); } - SYS_KILL = 37 // { int sys_kill(int pid, int signum); } - SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } - SYS_GETPPID = 39 // { pid_t sys_getppid(void); } - SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } - SYS_DUP = 41 // { int sys_dup(int fd); } - SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ - SYS_GETEGID = 43 // { gid_t sys_getegid(void); } - SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ - SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ - SYS_GETGID = 47 // { gid_t sys_getgid(void); } - SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } - SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } - SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } - SYS_ACCT = 51 // { int sys_acct(const char *path); } - SYS_SIGPENDING = 52 // { int sys_sigpending(void); } - SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } - SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ - SYS_REBOOT = 55 // { int sys_reboot(int opt); } - SYS_REVOKE = 56 // { int sys_revoke(const char *path); } - SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ - SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ - SYS_EXECVE = 59 // { int sys_execve(const char *path, \ - SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } - SYS_CHROOT = 61 // { int sys_chroot(const char *path); } - SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ - SYS_STATFS = 63 // { int sys_statfs(const char *path, \ - SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ - SYS_VFORK = 66 // { int sys_vfork(void); } - SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ - SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ - SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ - SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ - SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ - SYS_KEVENT = 72 // { int sys_kevent(int fd, \ - SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ - SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ - SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ - SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ - SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ - SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ - SYS_GETPGRP = 81 // { int sys_getpgrp(void); } - SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } - SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ - SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ - SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ - SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ - SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } - SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ - SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } - SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ - SYS_FSYNC = 95 // { int sys_fsync(int fd); } - SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } - SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } - SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ - SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } - SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } - SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } - SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ - SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } - SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ - SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ - SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } - SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { ssize_t sys_readv(int fd, \ - SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ - SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } - SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } - SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } - SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } - SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } - SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } - SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } - SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ - SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } - SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } - SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ - SYS_SETSID = 147 // { int sys_setsid(void); } - SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ - SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } - SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } - SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } - SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ - SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ - SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } - SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } - SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } - SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } - SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } - SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ - SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ - SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ - SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ - SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ - SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } - SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } - SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } - SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ - SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } - SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ - SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ - SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ - SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } - SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ - SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int sys_issetugid(void); } - SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } - SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } - SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } - SYS_PIPE = 263 // { int sys_pipe(int *fdp); } - SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } - SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ - SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ - SYS_KQUEUE = 269 // { int sys_kqueue(void); } - SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } - SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } - SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ - SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ - SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ - SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ - SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ - SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } - SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ - SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } - SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ - SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ - SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ - SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ - SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ - SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } - SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } - SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ - SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } - SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ - SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } - SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ - SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } - SYS_GETRTABLE = 311 // { int sys_getrtable(void); } - SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ - SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ - SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ - SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ - SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ - SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ - SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ - SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ - SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ - SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ - SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ - SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ - SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } - SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go deleted file mode 100644 index bd28146..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +++ /dev/null @@ -1,207 +0,0 @@ -// mksysnum_openbsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT - -// +build amd64,openbsd - -package unix - -const ( - SYS_EXIT = 1 // { void sys_exit(int rval); } - SYS_FORK = 2 // { int sys_fork(void); } - SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } - SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int sys_open(const char *path, \ - SYS_CLOSE = 6 // { int sys_close(int fd); } - SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ - SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } - SYS_UNLINK = 10 // { int sys_unlink(const char *path); } - SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ - SYS_CHDIR = 12 // { int sys_chdir(const char *path); } - SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } - SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ - SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } - SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ - SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break - SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } - SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ - SYS_GETPID = 20 // { pid_t sys_getpid(void); } - SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ - SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } - SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t sys_getuid(void); } - SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } - SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ - SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ - SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ - SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ - SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ - SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ - SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } - SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } - SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } - SYS_SYNC = 36 // { void sys_sync(void); } - SYS_KILL = 37 // { int sys_kill(int pid, int signum); } - SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } - SYS_GETPPID = 39 // { pid_t sys_getppid(void); } - SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } - SYS_DUP = 41 // { int sys_dup(int fd); } - SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ - SYS_GETEGID = 43 // { gid_t sys_getegid(void); } - SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ - SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ - SYS_GETGID = 47 // { gid_t sys_getgid(void); } - SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } - SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } - SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } - SYS_ACCT = 51 // { int sys_acct(const char *path); } - SYS_SIGPENDING = 52 // { int sys_sigpending(void); } - SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } - SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ - SYS_REBOOT = 55 // { int sys_reboot(int opt); } - SYS_REVOKE = 56 // { int sys_revoke(const char *path); } - SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ - SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ - SYS_EXECVE = 59 // { int sys_execve(const char *path, \ - SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } - SYS_CHROOT = 61 // { int sys_chroot(const char *path); } - SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ - SYS_STATFS = 63 // { int sys_statfs(const char *path, \ - SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ - SYS_VFORK = 66 // { int sys_vfork(void); } - SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ - SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ - SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ - SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ - SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ - SYS_KEVENT = 72 // { int sys_kevent(int fd, \ - SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ - SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ - SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ - SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ - SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ - SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ - SYS_GETPGRP = 81 // { int sys_getpgrp(void); } - SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } - SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ - SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ - SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ - SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ - SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } - SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ - SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } - SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ - SYS_FSYNC = 95 // { int sys_fsync(int fd); } - SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } - SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } - SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ - SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } - SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } - SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } - SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ - SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } - SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ - SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ - SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } - SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { ssize_t sys_readv(int fd, \ - SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ - SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } - SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } - SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } - SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } - SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } - SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } - SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } - SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ - SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } - SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } - SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ - SYS_SETSID = 147 // { int sys_setsid(void); } - SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ - SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } - SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } - SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } - SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ - SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ - SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } - SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } - SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } - SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } - SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } - SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } - SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ - SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ - SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ - SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ - SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ - SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } - SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } - SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } - SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ - SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } - SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } - SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ - SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ - SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ - SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } - SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ - SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int sys_issetugid(void); } - SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } - SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } - SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } - SYS_PIPE = 263 // { int sys_pipe(int *fdp); } - SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } - SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ - SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ - SYS_KQUEUE = 269 // { int sys_kqueue(void); } - SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } - SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } - SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ - SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ - SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ - SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ - SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ - SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } - SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ - SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } - SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ - SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ - SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ - SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ - SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ - SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } - SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } - SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ - SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } - SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ - SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } - SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ - SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } - SYS_GETRTABLE = 311 // { int sys_getrtable(void); } - SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ - SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ - SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ - SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ - SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ - SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ - SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ - SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ - SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ - SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ - SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ - SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ - SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } - SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go deleted file mode 100644 index c708659..0000000 --- a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2014 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. - -// +build amd64,solaris - -package unix - -// TODO(aram): remove these before Go 1.3. -const ( - SYS_EXECVE = 59 - SYS_FCNTL = 62 -) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go deleted file mode 100644 index 2de1d44..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go +++ /dev/null @@ -1,447 +0,0 @@ -// +build 386,darwin -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timeval32 struct{} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 -} - -type Statfs_t struct { - Bsize uint32 - Iosize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Owner uint32 - Type uint32 - Flags uint32 - Fssubtype uint32 - Fstypename [16]int8 - Mntonname [1024]int8 - Mntfromname [1024]int8 - Reserved [8]uint32 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Fstore_t struct { - Flags uint32 - Posmode int32 - Offset int64 - Length int64 - Bytesalloc int64 -} - -type Radvisory_t struct { - Offset int64 - Count int32 -} - -type Fbootstraptransfer_t struct { - Offset int64 - Length uint32 - Buffer *byte -} - -type Log2phys_t struct { - Flags uint32 - Contigbytes int64 - Devoffset int64 -} - -type Fsid struct { - Val [2]int32 -} - -type Dirent struct { - Ino uint64 - Seekoff uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [1024]int8 - Pad_cgo_0 [3]byte -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex uint32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int32 - Udata *byte -} - -type FdSet struct { - Bits [32]int32 -} - -const ( - SizeofIfMsghdr = 0x70 - SizeofIfData = 0x60 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfmaMsghdr2 = 0x14 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Typelen uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Recvquota uint8 - Xmitquota uint8 - Unused1 uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Recvtiming uint32 - Xmittiming uint32 - Lastchange Timeval - Unused2 uint32 - Hwassist uint32 - Reserved1 uint32 - Reserved2 uint32 -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfmaMsghdr2 struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Refcount int32 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire int32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Filler [4]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go deleted file mode 100644 index 0446578..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ /dev/null @@ -1,462 +0,0 @@ -// +build amd64,darwin -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Timeval32 struct { - Sec int32 - Usec int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Pad_cgo_0 [4]byte - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 -} - -type Statfs_t struct { - Bsize uint32 - Iosize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Owner uint32 - Type uint32 - Flags uint32 - Fssubtype uint32 - Fstypename [16]int8 - Mntonname [1024]int8 - Mntfromname [1024]int8 - Reserved [8]uint32 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Fstore_t struct { - Flags uint32 - Posmode int32 - Offset int64 - Length int64 - Bytesalloc int64 -} - -type Radvisory_t struct { - Offset int64 - Count int32 - Pad_cgo_0 [4]byte -} - -type Fbootstraptransfer_t struct { - Offset int64 - Length uint64 - Buffer *byte -} - -type Log2phys_t struct { - Flags uint32 - Pad_cgo_0 [8]byte - Pad_cgo_1 [8]byte -} - -type Fsid struct { - Val [2]int32 -} - -type Dirent struct { - Ino uint64 - Seekoff uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [1024]int8 - Pad_cgo_0 [3]byte -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex uint32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - Bits [32]int32 -} - -const ( - SizeofIfMsghdr = 0x70 - SizeofIfData = 0x60 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfmaMsghdr2 = 0x14 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Typelen uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Recvquota uint8 - Xmitquota uint8 - Unused1 uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Recvtiming uint32 - Xmittiming uint32 - Lastchange Timeval32 - Unused2 uint32 - Hwassist uint32 - Reserved1 uint32 - Reserved2 uint32 -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfmaMsghdr2 struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Refcount int32 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire int32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Filler [4]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval32 - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type Termios struct { - Iflag uint64 - Oflag uint64 - Cflag uint64 - Lflag uint64 - Cc [20]uint8 - Pad_cgo_0 [4]byte - Ispeed uint64 - Ospeed uint64 -} - -const ( - AT_FDCWD = -0x2 - AT_SYMLINK_NOFOLLOW = 0x20 -) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go deleted file mode 100644 index 66df363..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go +++ /dev/null @@ -1,449 +0,0 @@ -// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go - -// +build arm,darwin - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timeval32 [0]byte - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 -} - -type Statfs_t struct { - Bsize uint32 - Iosize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Owner uint32 - Type uint32 - Flags uint32 - Fssubtype uint32 - Fstypename [16]int8 - Mntonname [1024]int8 - Mntfromname [1024]int8 - Reserved [8]uint32 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Fstore_t struct { - Flags uint32 - Posmode int32 - Offset int64 - Length int64 - Bytesalloc int64 -} - -type Radvisory_t struct { - Offset int64 - Count int32 -} - -type Fbootstraptransfer_t struct { - Offset int64 - Length uint32 - Buffer *byte -} - -type Log2phys_t struct { - Flags uint32 - Contigbytes int64 - Devoffset int64 -} - -type Fsid struct { - Val [2]int32 -} - -type Dirent struct { - Ino uint64 - Seekoff uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [1024]int8 - Pad_cgo_0 [3]byte -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex uint32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int32 - Udata *byte -} - -type FdSet struct { - Bits [32]int32 -} - -const ( - SizeofIfMsghdr = 0x70 - SizeofIfData = 0x60 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfmaMsghdr2 = 0x14 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Typelen uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Recvquota uint8 - Xmitquota uint8 - Unused1 uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Recvtiming uint32 - Xmittiming uint32 - Lastchange Timeval - Unused2 uint32 - Hwassist uint32 - Reserved1 uint32 - Reserved2 uint32 -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfmaMsghdr2 struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Refcount int32 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire int32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Filler [4]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go deleted file mode 100644 index 85d56ea..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ /dev/null @@ -1,457 +0,0 @@ -// +build arm64,darwin -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Timeval32 struct { - Sec int32 - Usec int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Pad_cgo_0 [4]byte - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 -} - -type Statfs_t struct { - Bsize uint32 - Iosize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Owner uint32 - Type uint32 - Flags uint32 - Fssubtype uint32 - Fstypename [16]int8 - Mntonname [1024]int8 - Mntfromname [1024]int8 - Reserved [8]uint32 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Fstore_t struct { - Flags uint32 - Posmode int32 - Offset int64 - Length int64 - Bytesalloc int64 -} - -type Radvisory_t struct { - Offset int64 - Count int32 - Pad_cgo_0 [4]byte -} - -type Fbootstraptransfer_t struct { - Offset int64 - Length uint64 - Buffer *byte -} - -type Log2phys_t struct { - Flags uint32 - Pad_cgo_0 [8]byte - Pad_cgo_1 [8]byte -} - -type Fsid struct { - Val [2]int32 -} - -type Dirent struct { - Ino uint64 - Seekoff uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [1024]int8 - Pad_cgo_0 [3]byte -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex uint32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - Bits [32]int32 -} - -const ( - SizeofIfMsghdr = 0x70 - SizeofIfData = 0x60 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfmaMsghdr2 = 0x14 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Typelen uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Recvquota uint8 - Xmitquota uint8 - Unused1 uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Recvtiming uint32 - Xmittiming uint32 - Lastchange Timeval32 - Unused2 uint32 - Hwassist uint32 - Reserved1 uint32 - Reserved2 uint32 -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfmaMsghdr2 struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Refcount int32 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire int32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Filler [4]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval32 - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type Termios struct { - Iflag uint64 - Oflag uint64 - Cflag uint64 - Lflag uint64 - Cc [20]uint8 - Pad_cgo_0 [4]byte - Ispeed uint64 - Ospeed uint64 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go deleted file mode 100644 index e585c89..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +++ /dev/null @@ -1,443 +0,0 @@ -// cgo -godefs types_dragonfly.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,dragonfly - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur int64 - Max int64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Ino uint64 - Nlink uint32 - Dev uint32 - Mode uint16 - Padding1 uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare1 int64 - Qspare2 int64 -} - -type Statfs_t struct { - Spare2 int64 - Bsize int64 - Iosize int64 - Blocks int64 - Bfree int64 - Bavail int64 - Files int64 - Ffree int64 - Fsid Fsid - Owner uint32 - Type int32 - Flags int32 - Pad_cgo_0 [4]byte - Syncwrites int64 - Asyncwrites int64 - Fstypename [16]int8 - Mntonname [80]int8 - Syncreads int64 - Asyncreads int64 - Spares1 int16 - Mntfromname [80]int8 - Spares2 int16 - Pad_cgo_1 [4]byte - Spare [2]int64 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Namlen uint16 - Type uint8 - Unused1 uint8 - Unused2 uint32 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 - Rcf uint16 - Route [16]uint16 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x36 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - Bits [16]uint64 -} - -const ( - SizeofIfMsghdr = 0xb0 - SizeofIfData = 0xa0 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x98 - SizeofRtMetrics = 0x70 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Recvquota uint8 - Xmitquota uint8 - Pad_cgo_0 [2]byte - Mtu uint64 - Metric uint64 - Link_state uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Hwassist uint64 - Oqdrops uint64 - Lastchange Timeval -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint64 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint64 - Mtu uint64 - Pksent uint64 - Expire uint64 - Sendpipe uint64 - Ssthresh uint64 - Rtt uint64 - Rttvar uint64 - Recvpipe uint64 - Hopcount uint64 - Mssopt uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Msl uint64 - Iwmaxsegs uint64 - Iwcapsegs uint64 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x20 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [6]byte -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go deleted file mode 100644 index 8cf3094..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ /dev/null @@ -1,502 +0,0 @@ -// +build 386,freebsd -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_freebsd.go - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur int64 - Max int64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtimespec Timespec - Pad_cgo_0 [8]byte -} - -type Statfs_t struct { - Version uint32 - Type uint32 - Flags uint64 - Bsize uint64 - Iosize uint64 - Blocks uint64 - Bfree uint64 - Bavail int64 - Files uint64 - Ffree int64 - Syncwrites uint64 - Asyncwrites uint64 - Syncreads uint64 - Asyncreads uint64 - Spare [10]uint64 - Namemax uint32 - Owner uint32 - Fsid Fsid - Charspare [80]int8 - Fstypename [16]int8 - Mntfromname [88]int8 - Mntonname [88]int8 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 - Sysid int32 -} - -type Dirent struct { - Fileno uint32 - Reclen uint16 - Type uint8 - Namlen uint8 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [46]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x36 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int32 - Udata *byte -} - -type FdSet struct { - X__fds_bits [32]uint32 -} - -const ( - sizeofIfMsghdr = 0x64 - SizeofIfMsghdr = 0x60 - sizeofIfData = 0x54 - SizeofIfData = 0x50 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type ifMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data ifData -} - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type ifData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Vhid uint8 - Baudrate_pf uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint64 - Epoch int32 - Lastchange Timeval -} - -type IfData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Spare_char1 uint8 - Spare_char2 uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint32 - Epoch int32 - Lastchange Timeval -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Fmask int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire uint32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Weight uint32 - Filler [3]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfZbuf = 0xc - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 - SizeofBpfZbufHeader = 0x20 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfZbuf struct { - Bufa *byte - Bufb *byte - Buflen uint32 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type BpfZbufHeader struct { - Kernel_gen uint32 - Kernel_len uint32 - User_gen uint32 - X_bzh_pad [5]uint32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go deleted file mode 100644 index e5feb20..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ /dev/null @@ -1,505 +0,0 @@ -// +build amd64,freebsd -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_freebsd.go - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur int64 - Max int64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtimespec Timespec -} - -type Statfs_t struct { - Version uint32 - Type uint32 - Flags uint64 - Bsize uint64 - Iosize uint64 - Blocks uint64 - Bfree uint64 - Bavail int64 - Files uint64 - Ffree int64 - Syncwrites uint64 - Asyncwrites uint64 - Syncreads uint64 - Asyncreads uint64 - Spare [10]uint64 - Namemax uint32 - Owner uint32 - Fsid Fsid - Charspare [80]int8 - Fstypename [16]int8 - Mntfromname [88]int8 - Mntonname [88]int8 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 - Sysid int32 - Pad_cgo_0 [4]byte -} - -type Dirent struct { - Fileno uint32 - Reclen uint16 - Type uint8 - Namlen uint8 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [46]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x36 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - X__fds_bits [16]uint64 -} - -const ( - sizeofIfMsghdr = 0xa8 - SizeofIfMsghdr = 0xa8 - sizeofIfData = 0x98 - SizeofIfData = 0x98 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x98 - SizeofRtMetrics = 0x70 -) - -type ifMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data ifData -} - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type ifData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Vhid uint8 - Baudrate_pf uint8 - Datalen uint8 - Mtu uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Hwassist uint64 - Epoch int64 - Lastchange Timeval -} - -type IfData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Spare_char1 uint8 - Spare_char2 uint8 - Datalen uint8 - Mtu uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Hwassist uint64 - Epoch int64 - Lastchange Timeval -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Fmask int32 - Inits uint64 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint64 - Mtu uint64 - Hopcount uint64 - Expire uint64 - Recvpipe uint64 - Sendpipe uint64 - Ssthresh uint64 - Rtt uint64 - Rttvar uint64 - Pksent uint64 - Weight uint64 - Filler [3]uint64 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfZbuf = 0x18 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x20 - SizeofBpfZbufHeader = 0x20 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfZbuf struct { - Bufa *byte - Bufb *byte - Buflen uint64 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [6]byte -} - -type BpfZbufHeader struct { - Kernel_gen uint32 - Kernel_len uint32 - User_gen uint32 - X_bzh_pad [5]uint32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go deleted file mode 100644 index 5472b54..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ /dev/null @@ -1,497 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -fsigned-char types_freebsd.go - -// +build arm,freebsd - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int32 - Pad_cgo_0 [4]byte -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur int64 - Max int64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtimespec Timespec -} - -type Statfs_t struct { - Version uint32 - Type uint32 - Flags uint64 - Bsize uint64 - Iosize uint64 - Blocks uint64 - Bfree uint64 - Bavail int64 - Files uint64 - Ffree int64 - Syncwrites uint64 - Asyncwrites uint64 - Syncreads uint64 - Asyncreads uint64 - Spare [10]uint64 - Namemax uint32 - Owner uint32 - Fsid Fsid - Charspare [80]int8 - Fstypename [16]int8 - Mntfromname [88]int8 - Mntonname [88]int8 -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 - Sysid int32 - Pad_cgo_0 [4]byte -} - -type Dirent struct { - Fileno uint32 - Reclen uint16 - Type uint8 - Namlen uint8 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [46]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x36 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int32 - Udata *byte -} - -type FdSet struct { - X__fds_bits [32]uint32 -} - -const ( - sizeofIfMsghdr = 0x70 - SizeofIfMsghdr = 0x70 - sizeofIfData = 0x60 - SizeofIfData = 0x60 - SizeofIfaMsghdr = 0x14 - SizeofIfmaMsghdr = 0x10 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x5c - SizeofRtMetrics = 0x38 -) - -type ifMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data ifData -} - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type ifData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Vhid uint8 - Baudrate_pf uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint64 - Epoch int64 - Lastchange Timeval -} - -type IfData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Spare_char1 uint8 - Spare_char2 uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint32 - Pad_cgo_0 [4]byte - Epoch int64 - Lastchange Timeval -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type IfmaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Fmask int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire uint32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 - Weight uint32 - Filler [3]uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfZbuf = 0xc - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x20 - SizeofBpfZbufHeader = 0x20 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfZbuf struct { - Bufa *byte - Bufb *byte - Buflen uint32 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp Timeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [6]byte -} - -type BpfZbufHeader struct { - Kernel_gen uint32 - Kernel_len uint32 - User_gen uint32 - X_bzh_pad [5]uint32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go deleted file mode 100644 index 7fc1eb2..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ /dev/null @@ -1,676 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build 386,linux - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timex struct { - Modes uint32 - Offset int32 - Freq int32 - Maxerror int32 - Esterror int32 - Status int32 - Constant int32 - Precision int32 - Tolerance int32 - Time Timeval - Tick int32 - Ppsfreq int32 - Jitter int32 - Shift int32 - Stabil int32 - Jitcnt int32 - Calcnt int32 - Errcnt int32 - Stbcnt int32 - Tai int32 - Pad_cgo_0 [44]byte -} - -type Time_t int32 - -type Tms struct { - Utime int32 - Stime int32 - Cutime int32 - Cstime int32 -} - -type Utimbuf struct { - Actime int32 - Modtime int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - X__pad1 uint16 - Pad_cgo_0 [2]byte - X__st_ino uint32 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - X__pad2 uint16 - Pad_cgo_1 [2]byte - Size int64 - Blksize int32 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Ino uint64 -} - -type Statfs_t struct { - Type int32 - Bsize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int32 - Frsize int32 - Flags int32 - Spare [4]int32 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [1]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Start int64 - Len int64 - Pid int32 -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen uint32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x8 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [2]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Ebx int32 - Ecx int32 - Edx int32 - Esi int32 - Edi int32 - Ebp int32 - Eax int32 - Xds int32 - Xes int32 - Xfs int32 - Xgs int32 - Orig_eax int32 - Eip int32 - Xcs int32 - Eflags int32 - Esp int32 - Xss int32 -} - -type FdSet struct { - Bits [32]int32 -} - -type Sysinfo_t struct { - Uptime int32 - Loads [3]uint32 - Totalram uint32 - Freeram uint32 - Sharedram uint32 - Bufferram uint32 - Totalswap uint32 - Freeswap uint32 - Procs uint16 - Pad uint16 - Totalhigh uint32 - Freehigh uint32 - Unit uint32 - X_f [8]int8 -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Tinode uint32 - Fname [6]int8 - Fpack [6]int8 -} - -type EpollEvent struct { - Events uint32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [32]uint32 -} - -const RNDGETENTCNT = 0x80045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go deleted file mode 100644 index 60a26ee..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ /dev/null @@ -1,694 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint32 - Uid uint32 - Gid uint32 - X__pad0 int32 - Rdev uint64 - Size int64 - Blksize int64 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - _ [3]int64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int64 - Frsize int64 - Flags int64 - Spare [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - R15 uint64 - R14 uint64 - R13 uint64 - R12 uint64 - Rbp uint64 - Rbx uint64 - R11 uint64 - R10 uint64 - R9 uint64 - R8 uint64 - Rax uint64 - Rcx uint64 - Rdx uint64 - Rsi uint64 - Rdi uint64 - Orig_rax uint64 - Rip uint64 - Cs uint64 - Eflags uint64 - Rsp uint64 - Ss uint64 - Fs_base uint64 - Gs_base uint64 - Ds uint64 - Es uint64 - Fs uint64 - Gs uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]int8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x80045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go deleted file mode 100644 index b994baa..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ /dev/null @@ -1,665 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm,linux - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timex struct { - Modes uint32 - Offset int32 - Freq int32 - Maxerror int32 - Esterror int32 - Status int32 - Constant int32 - Precision int32 - Tolerance int32 - Time Timeval - Tick int32 - Ppsfreq int32 - Jitter int32 - Shift int32 - Stabil int32 - Jitcnt int32 - Calcnt int32 - Errcnt int32 - Stbcnt int32 - Tai int32 - Pad_cgo_0 [44]byte -} - -type Time_t int32 - -type Tms struct { - Utime int32 - Stime int32 - Cutime int32 - Cstime int32 -} - -type Utimbuf struct { - Actime int32 - Modtime int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - X__pad1 uint16 - Pad_cgo_0 [2]byte - X__st_ino uint32 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - X__pad2 uint16 - Pad_cgo_1 [6]byte - Size int64 - Blksize int32 - Pad_cgo_2 [4]byte - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Ino uint64 -} - -type Statfs_t struct { - Type int32 - Bsize int32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int32 - Frsize int32 - Flags int32 - Spare [4]int32 - Pad_cgo_0 [4]byte -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]uint8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]uint8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]uint8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen uint32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x8 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [2]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Uregs [18]uint32 -} - -type FdSet struct { - Bits [32]int32 -} - -type Sysinfo_t struct { - Uptime int32 - Loads [3]uint32 - Totalram uint32 - Freeram uint32 - Sharedram uint32 - Bufferram uint32 - Totalswap uint32 - Freeswap uint32 - Procs uint16 - Pad uint16 - Totalhigh uint32 - Freehigh uint32 - Unit uint32 - X_f [8]uint8 -} - -type Utsname struct { - Sysname [65]uint8 - Nodename [65]uint8 - Release [65]uint8 - Version [65]uint8 - Machine [65]uint8 - Domainname [65]uint8 -} - -type Ustat_t struct { - Tfree int32 - Tinode uint32 - Fname [6]uint8 - Fpack [6]uint8 -} - -type EpollEvent struct { - Events uint32 - PadFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [32]uint32 -} - -const RNDGETENTCNT = 0x80045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go deleted file mode 100644 index c19c478..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ /dev/null @@ -1,673 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build arm64,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - X__pad1 uint64 - Size int64 - Blksize int32 - X__pad2 int32 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - _ [2]int32 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int64 - Frsize int64 - Flags int64 - Spare [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [31]uint64 - Sp uint64 - Pc uint64 - Pstate uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]int8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - PadFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x80045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go deleted file mode 100644 index c84e462..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ /dev/null @@ -1,670 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips,linux - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timex struct { - Modes uint32 - Offset int32 - Freq int32 - Maxerror int32 - Esterror int32 - Status int32 - Constant int32 - Precision int32 - Tolerance int32 - Time Timeval - Tick int32 - Ppsfreq int32 - Jitter int32 - Shift int32 - Stabil int32 - Jitcnt int32 - Calcnt int32 - Errcnt int32 - Stbcnt int32 - Tai int32 - Pad_cgo_0 [44]byte -} - -type Time_t int32 - -type Tms struct { - Utime int32 - Stime int32 - Cutime int32 - Cstime int32 -} - -type Utimbuf struct { - Actime int32 - Modtime int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint32 - Pad1 [3]int32 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint32 - Pad2 [3]int32 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize int32 - Pad4 int32 - Blocks int64 - Pad5 [14]int32 -} - -type Statfs_t struct { - Type int32 - Bsize int32 - Frsize int32 - Pad_cgo_0 [4]byte - Blocks uint64 - Bfree uint64 - Files uint64 - Ffree uint64 - Bavail uint64 - Fsid Fsid - Namelen int32 - Flags int32 - Spare [5]int32 - Pad_cgo_1 [4]byte -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen uint32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x8 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [2]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [32]uint64 - Lo uint64 - Hi uint64 - Epc uint64 - Badvaddr uint64 - Status uint64 - Cause uint64 -} - -type FdSet struct { - Bits [32]int32 -} - -type Sysinfo_t struct { - Uptime int32 - Loads [3]uint32 - Totalram uint32 - Freeram uint32 - Sharedram uint32 - Bufferram uint32 - Totalswap uint32 - Freeswap uint32 - Procs uint16 - Pad uint16 - Totalhigh uint32 - Freehigh uint32 - Unit uint32 - X_f [8]int8 -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Tinode uint32 - Fname [6]int8 - Fpack [6]int8 -} - -type EpollEvent struct { - Events uint32 - PadFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [32]uint32 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [23]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go deleted file mode 100644 index 0c75cb9..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ /dev/null @@ -1,675 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint32 - Pad1 [3]uint32 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint32 - Pad2 [3]uint32 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize uint32 - Pad4 uint32 - Blocks int64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Frsize int64 - Blocks uint64 - Bfree uint64 - Files uint64 - Ffree uint64 - Bavail uint64 - Fsid Fsid - Namelen int64 - Flags int64 - Spare [5]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [32]uint64 - Lo uint64 - Hi uint64 - Epc uint64 - Badvaddr uint64 - Status uint64 - Cause uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]int8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [23]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go deleted file mode 100644 index c75f75a..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ /dev/null @@ -1,675 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mips64le,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint32 - Pad1 [3]uint32 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint32 - Pad2 [3]uint32 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize uint32 - Pad4 uint32 - Blocks int64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Frsize int64 - Blocks uint64 - Bfree uint64 - Files uint64 - Ffree uint64 - Bavail uint64 - Fsid Fsid - Namelen int64 - Flags int64 - Spare [5]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [32]uint64 - Lo uint64 - Hi uint64 - Epc uint64 - Badvaddr uint64 - Status uint64 - Cause uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]int8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [23]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go deleted file mode 100644 index cfc219f..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ /dev/null @@ -1,670 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build mipsle,linux - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int32 - Nsec int32 -} - -type Timeval struct { - Sec int32 - Usec int32 -} - -type Timex struct { - Modes uint32 - Offset int32 - Freq int32 - Maxerror int32 - Esterror int32 - Status int32 - Constant int32 - Precision int32 - Tolerance int32 - Time Timeval - Tick int32 - Ppsfreq int32 - Jitter int32 - Shift int32 - Stabil int32 - Jitcnt int32 - Calcnt int32 - Errcnt int32 - Stbcnt int32 - Tai int32 - Pad_cgo_0 [44]byte -} - -type Time_t int32 - -type Tms struct { - Utime int32 - Stime int32 - Cutime int32 - Cstime int32 -} - -type Utimbuf struct { - Actime int32 - Modtime int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint32 - Pad1 [3]int32 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint32 - Pad2 [3]int32 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize int32 - Pad4 int32 - Blocks int64 - Pad5 [14]int32 -} - -type Statfs_t struct { - Type int32 - Bsize int32 - Frsize int32 - Pad_cgo_0 [4]byte - Blocks uint64 - Bfree uint64 - Files uint64 - Ffree uint64 - Bavail uint64 - Fsid Fsid - Namelen int32 - Flags int32 - Spare [5]int32 - Pad_cgo_1 [4]byte -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen uint32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x8 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [2]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [32]uint64 - Lo uint64 - Hi uint64 - Epc uint64 - Badvaddr uint64 - Status uint64 - Cause uint64 -} - -type FdSet struct { - Bits [32]int32 -} - -type Sysinfo_t struct { - Uptime int32 - Loads [3]uint32 - Totalram uint32 - Freeram uint32 - Sharedram uint32 - Bufferram uint32 - Totalswap uint32 - Freeswap uint32 - Procs uint16 - Pad uint16 - Totalhigh uint32 - Freehigh uint32 - Unit uint32 - X_f [8]int8 -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Tinode uint32 - Fname [6]int8 - Fpack [6]int8 -} - -type EpollEvent struct { - Events uint32 - PadFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [32]uint32 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [23]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go deleted file mode 100644 index 4c28522..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ /dev/null @@ -1,683 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint32 - Uid uint32 - Gid uint32 - X__pad2 int32 - Rdev uint64 - Size int64 - Blksize int64 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - _ uint64 - _ uint64 - _ uint64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int64 - Frsize int64 - Flags int64 - Spare [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]uint8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]uint8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]uint8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Gpr [32]uint64 - Nip uint64 - Msr uint64 - Orig_gpr3 uint64 - Ctr uint64 - Link uint64 - Xer uint64 - Ccr uint64 - Softe uint64 - Trap uint64 - Dar uint64 - Dsisr uint64 - Result uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]uint8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]uint8 - Nodename [65]uint8 - Release [65]uint8 - Version [65]uint8 - Machine [65]uint8 - Domainname [65]uint8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]uint8 - Fpack [6]uint8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - X_padFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [19]uint8 - Line uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go deleted file mode 100644 index 1b511be..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ /dev/null @@ -1,683 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build ppc64le,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint32 - Uid uint32 - Gid uint32 - X__pad2 int32 - Rdev uint64 - Size int64 - Blksize int64 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - _ uint64 - _ uint64 - _ uint64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int64 - Frsize int64 - Flags int64 - Spare [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]uint8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - Pad_cgo_1 [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]uint8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]uint8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Gpr [32]uint64 - Nip uint64 - Msr uint64 - Orig_gpr3 uint64 - Ctr uint64 - Link uint64 - Xer uint64 - Ccr uint64 - Softe uint64 - Trap uint64 - Dar uint64 - Dsisr uint64 - Result uint64 -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]uint8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]uint8 - Nodename [65]uint8 - Release [65]uint8 - Version [65]uint8 - Machine [65]uint8 - Domainname [65]uint8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]uint8 - Fpack [6]uint8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - X_padFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const RNDGETENTCNT = 0x40045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [19]uint8 - Line uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go deleted file mode 100644 index b408752..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ /dev/null @@ -1,700 +0,0 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build s390x,linux - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timex struct { - Modes uint32 - _ [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - _ [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - _ [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - _ [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint32 - Uid uint32 - Gid uint32 - _ int32 - Rdev uint64 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize int64 - Blocks int64 - _ [3]int64 -} - -type Statfs_t struct { - Type uint32 - Bsize uint32 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen uint32 - Frsize uint32 - Flags uint32 - Spare [4]uint32 - _ [4]byte -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - _ [5]byte -} - -type Fsid struct { - _ [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - _ [4]byte - Start int64 - Len int64 - Pid int32 - _ [4]byte -} - -type FscryptPolicy struct { - Version uint8 - Contents_encryption_mode uint8 - Filenames_encryption_mode uint8 - Flags uint8 - Master_key_descriptor [8]uint8 -} - -type FscryptKey struct { - Mode uint32 - Raw [64]uint8 - Size uint32 -} - -type KeyctlDHParams struct { - Private int32 - Prime int32 - Base int32 -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x6 - FADV_NOREUSE = 0x7 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - _ [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - _ [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - _ [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - _ [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - _ uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - _ [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Psw PtracePsw - Gprs [16]uint64 - Acrs [16]uint32 - Orig_gpr2 uint64 - Fp_regs PtraceFpregs - Per_info PtracePer - Ieee_instruction_pointer uint64 -} - -type PtracePsw struct { - Mask uint64 - Addr uint64 -} - -type PtraceFpregs struct { - Fpc uint32 - _ [4]byte - Fprs [16]float64 -} - -type PtracePer struct { - _ [0]uint64 - _ [24]byte - _ [8]byte - Starting_addr uint64 - Ending_addr uint64 - Perc_atmid uint16 - _ [6]byte - Address uint64 - Access_id uint8 - _ [7]byte -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - _ [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - _ [0]int8 - _ [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - _ [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - _ [4]byte -} - -type EpollEvent struct { - Events uint32 - _ int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x2000 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - _ [16]uint64 -} - -const RNDGETENTCNT = 0x80045200 - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go deleted file mode 100644 index 22bdab9..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ /dev/null @@ -1,666 +0,0 @@ -// +build sparc64,linux -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_linux.go | go run mkpost.go - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x1000 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Timex struct { - Modes uint32 - Pad_cgo_0 [4]byte - Offset int64 - Freq int64 - Maxerror int64 - Esterror int64 - Status int32 - Pad_cgo_1 [4]byte - Constant int64 - Precision int64 - Tolerance int64 - Time Timeval - Tick int64 - Ppsfreq int64 - Jitter int64 - Shift int32 - Pad_cgo_2 [4]byte - Stabil int64 - Jitcnt int64 - Calcnt int64 - Errcnt int64 - Stbcnt int64 - Tai int32 - Pad_cgo_3 [44]byte -} - -type Time_t int64 - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - X__pad1 uint16 - Pad_cgo_0 [6]byte - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - X__pad2 uint16 - Pad_cgo_1 [6]byte - Size int64 - Blksize int64 - Blocks int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - X__glibc_reserved4 uint64 - X__glibc_reserved5 uint64 -} - -type Statfs_t struct { - Type int64 - Bsize int64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Fsid Fsid - Namelen int64 - Frsize int64 - Flags int64 - Spare [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Type uint8 - Name [256]int8 - Pad_cgo_0 [5]byte -} - -type Fsid struct { - X__val [2]int32 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Pid int32 - X__glibc_reserved int16 - Pad_cgo_1 [2]byte -} - -const ( - FADV_NORMAL = 0x0 - FADV_RANDOM = 0x1 - FADV_SEQUENTIAL = 0x2 - FADV_WILLNEED = 0x3 - FADV_DONTNEED = 0x4 - FADV_NOREUSE = 0x5 -) - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]uint8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrLinklayer struct { - Family uint16 - Protocol uint16 - Ifindex int32 - Hatype uint16 - Pkttype uint8 - Halen uint8 - Addr [8]uint8 -} - -type RawSockaddrNetlink struct { - Family uint16 - Pad uint16 - Pid uint32 - Groups uint32 -} - -type RawSockaddrHCI struct { - Family uint16 - Dev uint16 - Channel uint16 -} - -type RawSockaddrCAN struct { - Family uint16 - Pad_cgo_0 [2]byte - Ifindex int32 - Addr [8]byte -} - -type RawSockaddrALG struct { - Family uint16 - Type [14]uint8 - Feat uint32 - Mask uint32 - Name [64]uint8 -} - -type RawSockaddrVM struct { - Family uint16 - Reserved1 uint16 - Port uint32 - Cid uint32 - Zero [4]uint8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [96]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPMreqn struct { - Multiaddr [4]byte /* in_addr */ - Address [4]byte /* in_addr */ - Ifindex int32 -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint64 - Control *byte - Controllen uint64 - Flags int32 - Pad_cgo_1 [4]byte -} - -type Cmsghdr struct { - Len uint64 - Level int32 - Type int32 -} - -type Inet4Pktinfo struct { - Ifindex int32 - Spec_dst [4]byte /* in_addr */ - Addr [4]byte /* in_addr */ -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Data [8]uint32 -} - -type Ucred struct { - Pid int32 - Uid uint32 - Gid uint32 -} - -type TCPInfo struct { - State uint8 - Ca_state uint8 - Retransmits uint8 - Probes uint8 - Backoff uint8 - Options uint8 - Pad_cgo_0 [2]byte - Rto uint32 - Ato uint32 - Snd_mss uint32 - Rcv_mss uint32 - Unacked uint32 - Sacked uint32 - Lost uint32 - Retrans uint32 - Fackets uint32 - Last_data_sent uint32 - Last_ack_sent uint32 - Last_data_recv uint32 - Last_ack_recv uint32 - Pmtu uint32 - Rcv_ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Snd_ssthresh uint32 - Snd_cwnd uint32 - Advmss uint32 - Reordering uint32 - Rcv_rtt uint32 - Rcv_space uint32 - Total_retrans uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x70 - SizeofSockaddrUnix = 0x6e - SizeofSockaddrLinklayer = 0x14 - SizeofSockaddrNetlink = 0xc - SizeofSockaddrHCI = 0x6 - SizeofSockaddrCAN = 0x10 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPMreqn = 0xc - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x38 - SizeofCmsghdr = 0x10 - SizeofInet4Pktinfo = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 - SizeofUcred = 0xc - SizeofTCPInfo = 0x68 -) - -const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2a - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 -) - -type NlMsghdr struct { - Len uint32 - Type uint16 - Flags uint16 - Seq uint32 - Pid uint32 -} - -type NlMsgerr struct { - Error int32 - Msg NlMsghdr -} - -type RtGenmsg struct { - Family uint8 -} - -type NlAttr struct { - Len uint16 - Type uint16 -} - -type RtAttr struct { - Len uint16 - Type uint16 -} - -type IfInfomsg struct { - Family uint8 - X__ifi_pad uint8 - Type uint16 - Index int32 - Flags uint32 - Change uint32 -} - -type IfAddrmsg struct { - Family uint8 - Prefixlen uint8 - Flags uint8 - Scope uint8 - Index uint32 -} - -type RtMsg struct { - Family uint8 - Dst_len uint8 - Src_len uint8 - Tos uint8 - Table uint8 - Protocol uint8 - Scope uint8 - Type uint8 - Flags uint32 -} - -type RtNexthop struct { - Len uint16 - Flags uint8 - Hops uint8 - Ifindex int32 -} - -const ( - SizeofSockFilter = 0x8 - SizeofSockFprog = 0x10 -) - -type SockFilter struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type SockFprog struct { - Len uint16 - Pad_cgo_0 [6]byte - Filter *SockFilter -} - -type InotifyEvent struct { - Wd int32 - Mask uint32 - Cookie uint32 - Len uint32 -} - -const SizeofInotifyEvent = 0x10 - -type PtraceRegs struct { - Regs [16]uint64 - Tstate uint64 - Tpc uint64 - Tnpc uint64 - Y uint32 - Magic uint32 -} - -type ptracePsw struct { -} - -type ptraceFpregs struct { -} - -type ptracePer struct { -} - -type FdSet struct { - Bits [16]int64 -} - -type Sysinfo_t struct { - Uptime int64 - Loads [3]uint64 - Totalram uint64 - Freeram uint64 - Sharedram uint64 - Bufferram uint64 - Totalswap uint64 - Freeswap uint64 - Procs uint16 - Pad uint16 - Pad_cgo_0 [4]byte - Totalhigh uint64 - Freehigh uint64 - Unit uint32 - X_f [0]int8 - Pad_cgo_1 [4]byte -} - -type Utsname struct { - Sysname [65]int8 - Nodename [65]int8 - Release [65]int8 - Version [65]int8 - Machine [65]int8 - Domainname [65]int8 -} - -type Ustat_t struct { - Tfree int32 - Pad_cgo_0 [4]byte - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_1 [4]byte -} - -type EpollEvent struct { - Events uint32 - X_padFd int32 - Fd int32 - Pad int32 -} - -const ( - AT_FDCWD = -0x64 - AT_REMOVEDIR = 0x200 - AT_SYMLINK_FOLLOW = 0x400 - AT_SYMLINK_NOFOLLOW = 0x100 -) - -type PollFd struct { - Fd int32 - Events int16 - Revents int16 -} - -const ( - POLLIN = 0x1 - POLLPRI = 0x2 - POLLOUT = 0x4 - POLLRDHUP = 0x800 - POLLERR = 0x8 - POLLHUP = 0x10 - POLLNVAL = 0x20 -) - -type Sigset_t struct { - X__val [16]uint64 -} - -const _SC_PAGESIZE = 0x1e - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Line uint8 - Cc [19]uint8 - Ispeed uint32 - Ospeed uint32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go deleted file mode 100644 index caf755f..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +++ /dev/null @@ -1,396 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_netbsd.go - -// +build 386,netbsd - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int32 -} - -type Timeval struct { - Sec int64 - Usec int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Mode uint32 - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 -} - -type Statfs_t [0]byte - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [512]int8 - Pad_cgo_0 [3]byte -} - -type Fsid struct { - X__fsid_val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter uint32 - Flags uint32 - Fflags uint32 - Data int64 - Udata int32 -} - -type FdSet struct { - Bits [8]uint32 -} - -const ( - SizeofIfMsghdr = 0x98 - SizeofIfData = 0x84 - SizeofIfaMsghdr = 0x18 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x78 - SizeofRtMetrics = 0x50 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData - Pad_cgo_1 [4]byte -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Pad_cgo_0 [1]byte - Link_state int32 - Mtu uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Lastchange Timespec -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Metric int32 - Index uint16 - Pad_cgo_0 [6]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits int32 - Pad_cgo_1 [4]byte - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint64 - Mtu uint64 - Hopcount uint64 - Recvpipe uint64 - Sendpipe uint64 - Ssthresh uint64 - Rtt uint64 - Rttvar uint64 - Expire int64 - Pksent int64 -} - -type Mclpool [0]byte - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x80 - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint64 - Drop uint64 - Capt uint64 - Padding [13]uint64 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type BpfTimeval struct { - Sec int32 - Usec int32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed int32 - Ospeed int32 -} - -type Sysctlnode struct { - Flags uint32 - Num int32 - Name [32]int8 - Ver uint32 - X__rsvd uint32 - Un [16]byte - X_sysctl_size [8]byte - X_sysctl_func [8]byte - X_sysctl_parent [8]byte - X_sysctl_desc [8]byte -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go deleted file mode 100644 index 91b4a53..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +++ /dev/null @@ -1,403 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_netbsd.go - -// +build amd64,netbsd - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Mode uint32 - Pad_cgo_0 [4]byte - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Pad_cgo_1 [4]byte - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 - Pad_cgo_2 [4]byte -} - -type Statfs_t [0]byte - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [512]int8 - Pad_cgo_0 [3]byte -} - -type Fsid struct { - X__fsid_val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter uint32 - Flags uint32 - Fflags uint32 - Pad_cgo_0 [4]byte - Data int64 - Udata int64 -} - -type FdSet struct { - Bits [8]uint32 -} - -const ( - SizeofIfMsghdr = 0x98 - SizeofIfData = 0x88 - SizeofIfaMsghdr = 0x18 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x78 - SizeofRtMetrics = 0x50 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Pad_cgo_0 [1]byte - Link_state int32 - Mtu uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Lastchange Timespec -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Metric int32 - Index uint16 - Pad_cgo_0 [6]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits int32 - Pad_cgo_1 [4]byte - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint64 - Mtu uint64 - Hopcount uint64 - Recvpipe uint64 - Sendpipe uint64 - Ssthresh uint64 - Rtt uint64 - Rttvar uint64 - Expire int64 - Pksent int64 -} - -type Mclpool [0]byte - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x80 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x20 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint64 - Drop uint64 - Capt uint64 - Padding [13]uint64 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [6]byte -} - -type BpfTimeval struct { - Sec int64 - Usec int64 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed int32 - Ospeed int32 -} - -type Sysctlnode struct { - Flags uint32 - Num int32 - Name [32]int8 - Ver uint32 - X__rsvd uint32 - Un [16]byte - X_sysctl_size [8]byte - X_sysctl_func [8]byte - X_sysctl_parent [8]byte - X_sysctl_desc [8]byte -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go deleted file mode 100644 index c0758f9..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +++ /dev/null @@ -1,401 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_netbsd.go - -// +build arm,netbsd - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int32 - Pad_cgo_0 [4]byte -} - -type Timeval struct { - Sec int64 - Usec int32 - Pad_cgo_0 [4]byte -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -type Stat_t struct { - Dev uint64 - Mode uint32 - Pad_cgo_0 [4]byte - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Pad_cgo_1 [4]byte - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 - Pad_cgo_2 [4]byte -} - -type Statfs_t [0]byte - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Reclen uint16 - Namlen uint16 - Type uint8 - Name [512]int8 - Pad_cgo_0 [3]byte -} - -type Fsid struct { - X__fsid_val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [12]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen int32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x14 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter uint32 - Flags uint32 - Fflags uint32 - Data int64 - Udata int32 - Pad_cgo_0 [4]byte -} - -type FdSet struct { - Bits [8]uint32 -} - -const ( - SizeofIfMsghdr = 0x98 - SizeofIfData = 0x88 - SizeofIfaMsghdr = 0x18 - SizeofIfAnnounceMsghdr = 0x18 - SizeofRtMsghdr = 0x78 - SizeofRtMetrics = 0x50 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Pad_cgo_0 [1]byte - Link_state int32 - Mtu uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Lastchange Timespec -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Metric int32 - Index uint16 - Pad_cgo_0 [6]byte -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Name [16]int8 - What uint16 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits int32 - Pad_cgo_1 [4]byte - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint64 - Mtu uint64 - Hopcount uint64 - Recvpipe uint64 - Sendpipe uint64 - Ssthresh uint64 - Rtt uint64 - Rttvar uint64 - Expire int64 - Pksent int64 -} - -type Mclpool [0]byte - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x80 - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint64 - Drop uint64 - Capt uint64 - Padding [13]uint64 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type BpfTimeval struct { - Sec int32 - Usec int32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed int32 - Ospeed int32 -} - -type Sysctlnode struct { - Flags uint32 - Num int32 - Name [32]int8 - Ver uint32 - X__rsvd uint32 - Un [16]byte - X_sysctl_size [8]byte - X_sysctl_func [8]byte - X_sysctl_parent [8]byte - X_sysctl_desc [8]byte -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go deleted file mode 100644 index 860a469..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +++ /dev/null @@ -1,441 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_openbsd.go - -// +build 386,openbsd - -package unix - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int32 -} - -type Timeval struct { - Sec int64 - Usec int32 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Mode uint32 - Dev int32 - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev int32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - X__st_birthtim Timespec -} - -type Statfs_t struct { - F_flags uint32 - F_bsize uint32 - F_iosize uint32 - F_blocks uint64 - F_bfree uint64 - F_bavail int64 - F_files uint64 - F_ffree uint64 - F_favail int64 - F_syncwrites uint64 - F_syncreads uint64 - F_asyncwrites uint64 - F_asyncreads uint64 - F_fsid Fsid - F_namemax uint32 - F_owner uint32 - F_ctime uint64 - F_fstypename [16]int8 - F_mntonname [90]int8 - F_mntfromname [90]int8 - F_mntfromspec [90]int8 - Pad_cgo_0 [2]byte - Mount_info [160]byte -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Off int64 - Reclen uint16 - Type uint8 - Namlen uint8 - X__d_padding [4]uint8 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [24]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint32 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Iov *Iovec - Iovlen uint32 - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x20 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - Bits [32]uint32 -} - -const ( - SizeofIfMsghdr = 0xec - SizeofIfData = 0xd4 - SizeofIfaMsghdr = 0x18 - SizeofIfAnnounceMsghdr = 0x1a - SizeofRtMsghdr = 0x60 - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Pad1 uint8 - Pad2 uint8 - Addrs int32 - Flags int32 - Xflags int32 - Data IfData -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Mtu uint32 - Metric uint32 - Pad uint32 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Capabilities uint32 - Lastchange Timeval - Mclpool [7]Mclpool -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Pad1 uint8 - Pad2 uint8 - Addrs int32 - Flags int32 - Metric int32 -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - What uint16 - Name [16]int8 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Priority uint8 - Mpls uint8 - Addrs int32 - Flags int32 - Fmask int32 - Pid int32 - Seq int32 - Errno int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Pksent uint64 - Expire int64 - Locks uint32 - Mtu uint32 - Refcnt uint32 - Hopcount uint32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pad uint32 -} - -type Mclpool struct { - Grown int32 - Alive uint16 - Hwm uint16 - Cwm uint16 - Lwm uint16 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x8 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type BpfTimeval struct { - Sec uint32 - Usec uint32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed int32 - Ospeed int32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go deleted file mode 100644 index 23c5272..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +++ /dev/null @@ -1,448 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_openbsd.go - -// +build amd64,openbsd - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Mode uint32 - Dev int32 - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev int32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Pad_cgo_0 [4]byte - X__st_birthtim Timespec -} - -type Statfs_t struct { - F_flags uint32 - F_bsize uint32 - F_iosize uint32 - Pad_cgo_0 [4]byte - F_blocks uint64 - F_bfree uint64 - F_bavail int64 - F_files uint64 - F_ffree uint64 - F_favail int64 - F_syncwrites uint64 - F_syncreads uint64 - F_asyncwrites uint64 - F_asyncreads uint64 - F_fsid Fsid - F_namemax uint32 - F_owner uint32 - F_ctime uint64 - F_fstypename [16]int8 - F_mntonname [90]int8 - F_mntfromname [90]int8 - F_mntfromspec [90]int8 - Pad_cgo_1 [2]byte - Mount_info [160]byte -} - -type Flock_t struct { - Start int64 - Len int64 - Pid int32 - Type int16 - Whence int16 -} - -type Dirent struct { - Fileno uint64 - Off int64 - Reclen uint16 - Type uint8 - Namlen uint8 - X__d_padding [4]uint8 - Name [256]int8 -} - -type Fsid struct { - Val [2]int32 -} - -type RawSockaddrInet4 struct { - Len uint8 - Family uint8 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Len uint8 - Family uint8 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 -} - -type RawSockaddrUnix struct { - Len uint8 - Family uint8 - Path [104]int8 -} - -type RawSockaddrDatalink struct { - Len uint8 - Family uint8 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [24]int8 -} - -type RawSockaddr struct { - Len uint8 - Family uint8 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [92]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *byte - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen uint32 - Pad_cgo_1 [4]byte - Control *byte - Controllen uint32 - Flags int32 -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - Filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x6c - SizeofSockaddrUnix = 0x6a - SizeofSockaddrDatalink = 0x20 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofICMPv6Filter = 0x20 -) - -const ( - PTRACE_TRACEME = 0x0 - PTRACE_CONT = 0x7 - PTRACE_KILL = 0x8 -) - -type Kevent_t struct { - Ident uint64 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte -} - -type FdSet struct { - Bits [32]uint32 -} - -const ( - SizeofIfMsghdr = 0xf8 - SizeofIfData = 0xe0 - SizeofIfaMsghdr = 0x18 - SizeofIfAnnounceMsghdr = 0x1a - SizeofRtMsghdr = 0x60 - SizeofRtMetrics = 0x38 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Pad1 uint8 - Pad2 uint8 - Addrs int32 - Flags int32 - Xflags int32 - Data IfData -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Mtu uint32 - Metric uint32 - Pad uint32 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - Capabilities uint32 - Pad_cgo_0 [4]byte - Lastchange Timeval - Mclpool [7]Mclpool - Pad_cgo_1 [4]byte -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Pad1 uint8 - Pad2 uint8 - Addrs int32 - Flags int32 - Metric int32 -} - -type IfAnnounceMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - What uint16 - Name [16]int8 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Hdrlen uint16 - Index uint16 - Tableid uint16 - Priority uint8 - Mpls uint8 - Addrs int32 - Flags int32 - Fmask int32 - Pid int32 - Seq int32 - Errno int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Pksent uint64 - Expire int64 - Locks uint32 - Mtu uint32 - Refcnt uint32 - Hopcount uint32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pad uint32 -} - -type Mclpool struct { - Grown int32 - Alive uint16 - Hwm uint16 - Cwm uint16 - Lwm uint16 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x8 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint32 - Drop uint32 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -type BpfTimeval struct { - Sec uint32 - Usec uint32 -} - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [20]uint8 - Ispeed int32 - Ospeed int32 -} diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go deleted file mode 100644 index 92336f9..0000000 --- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +++ /dev/null @@ -1,442 +0,0 @@ -// cgo -godefs types_solaris.go | go run mkpost.go -// Code generated by the command above; see README.md. DO NOT EDIT. - -// +build amd64,solaris - -package unix - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 - PathMax = 0x400 - MaxHostNameLen = 0x100 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Timeval32 struct { - Sec int32 - Usec int32 -} - -type Tms struct { - Utime int64 - Stime int64 - Cutime int64 - Cstime int64 -} - -type Utimbuf struct { - Actime int64 - Modtime int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur uint64 - Max uint64 -} - -type _Gid_t uint32 - -const ( - S_IFMT = 0xf000 - S_IFIFO = 0x1000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFBLK = 0x6000 - S_IFREG = 0x8000 - S_IFLNK = 0xa000 - S_IFSOCK = 0xc000 - S_ISUID = 0x800 - S_ISGID = 0x400 - S_ISVTX = 0x200 - S_IRUSR = 0x100 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -type Stat_t struct { - Dev uint64 - Ino uint64 - Mode uint32 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - Size int64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Blksize int32 - Pad_cgo_0 [4]byte - Blocks int64 - Fstype [16]int8 -} - -type Flock_t struct { - Type int16 - Whence int16 - Pad_cgo_0 [4]byte - Start int64 - Len int64 - Sysid int32 - Pid int32 - Pad [4]int64 -} - -type Dirent struct { - Ino uint64 - Off int64 - Reclen uint16 - Name [1]int8 - Pad_cgo_0 [5]byte -} - -type _Fsblkcnt_t uint64 - -type Statvfs_t struct { - Bsize uint64 - Frsize uint64 - Blocks uint64 - Bfree uint64 - Bavail uint64 - Files uint64 - Ffree uint64 - Favail uint64 - Fsid uint64 - Basetype [16]int8 - Flag uint64 - Namemax uint64 - Fstr [32]int8 -} - -type RawSockaddrInet4 struct { - Family uint16 - Port uint16 - Addr [4]byte /* in_addr */ - Zero [8]int8 -} - -type RawSockaddrInet6 struct { - Family uint16 - Port uint16 - Flowinfo uint32 - Addr [16]byte /* in6_addr */ - Scope_id uint32 - X__sin6_src_id uint32 -} - -type RawSockaddrUnix struct { - Family uint16 - Path [108]int8 -} - -type RawSockaddrDatalink struct { - Family uint16 - Index uint16 - Type uint8 - Nlen uint8 - Alen uint8 - Slen uint8 - Data [244]int8 -} - -type RawSockaddr struct { - Family uint16 - Data [14]int8 -} - -type RawSockaddrAny struct { - Addr RawSockaddr - Pad [236]int8 -} - -type _Socklen uint32 - -type Linger struct { - Onoff int32 - Linger int32 -} - -type Iovec struct { - Base *int8 - Len uint64 -} - -type IPMreq struct { - Multiaddr [4]byte /* in_addr */ - Interface [4]byte /* in_addr */ -} - -type IPv6Mreq struct { - Multiaddr [16]byte /* in6_addr */ - Interface uint32 -} - -type Msghdr struct { - Name *byte - Namelen uint32 - Pad_cgo_0 [4]byte - Iov *Iovec - Iovlen int32 - Pad_cgo_1 [4]byte - Accrights *int8 - Accrightslen int32 - Pad_cgo_2 [4]byte -} - -type Cmsghdr struct { - Len uint32 - Level int32 - Type int32 -} - -type Inet6Pktinfo struct { - Addr [16]byte /* in6_addr */ - Ifindex uint32 -} - -type IPv6MTUInfo struct { - Addr RawSockaddrInet6 - Mtu uint32 -} - -type ICMPv6Filter struct { - X__icmp6_filt [8]uint32 -} - -const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x20 - SizeofSockaddrAny = 0xfc - SizeofSockaddrUnix = 0x6e - SizeofSockaddrDatalink = 0xfc - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofInet6Pktinfo = 0x14 - SizeofIPv6MTUInfo = 0x24 - SizeofICMPv6Filter = 0x20 -) - -type FdSet struct { - Bits [1024]int64 -} - -type Utsname struct { - Sysname [257]int8 - Nodename [257]int8 - Release [257]int8 - Version [257]int8 - Machine [257]int8 -} - -type Ustat_t struct { - Tfree int64 - Tinode uint64 - Fname [6]int8 - Fpack [6]int8 - Pad_cgo_0 [4]byte -} - -const ( - AT_FDCWD = 0xffd19553 - AT_SYMLINK_NOFOLLOW = 0x1000 - AT_SYMLINK_FOLLOW = 0x2000 - AT_REMOVEDIR = 0x1 - AT_EACCESS = 0x4 -) - -const ( - SizeofIfMsghdr = 0x54 - SizeofIfData = 0x44 - SizeofIfaMsghdr = 0x14 - SizeofRtMsghdr = 0x4c - SizeofRtMetrics = 0x28 -) - -type IfMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Data IfData -} - -type IfData struct { - Type uint8 - Addrlen uint8 - Hdrlen uint8 - Pad_cgo_0 [1]byte - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Lastchange Timeval32 -} - -type IfaMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Addrs int32 - Flags int32 - Index uint16 - Pad_cgo_0 [2]byte - Metric int32 -} - -type RtMsghdr struct { - Msglen uint16 - Version uint8 - Type uint8 - Index uint16 - Pad_cgo_0 [2]byte - Flags int32 - Addrs int32 - Pid int32 - Seq int32 - Errno int32 - Use int32 - Inits uint32 - Rmx RtMetrics -} - -type RtMetrics struct { - Locks uint32 - Mtu uint32 - Hopcount uint32 - Expire uint32 - Recvpipe uint32 - Sendpipe uint32 - Ssthresh uint32 - Rtt uint32 - Rttvar uint32 - Pksent uint32 -} - -const ( - SizeofBpfVersion = 0x4 - SizeofBpfStat = 0x80 - SizeofBpfProgram = 0x10 - SizeofBpfInsn = 0x8 - SizeofBpfHdr = 0x14 -) - -type BpfVersion struct { - Major uint16 - Minor uint16 -} - -type BpfStat struct { - Recv uint64 - Drop uint64 - Capt uint64 - Padding [13]uint64 -} - -type BpfProgram struct { - Len uint32 - Pad_cgo_0 [4]byte - Insns *BpfInsn -} - -type BpfInsn struct { - Code uint16 - Jt uint8 - Jf uint8 - K uint32 -} - -type BpfTimeval struct { - Sec int32 - Usec int32 -} - -type BpfHdr struct { - Tstamp BpfTimeval - Caplen uint32 - Datalen uint32 - Hdrlen uint16 - Pad_cgo_0 [2]byte -} - -const _SC_PAGESIZE = 0xb - -type Termios struct { - Iflag uint32 - Oflag uint32 - Cflag uint32 - Lflag uint32 - Cc [19]uint8 - Pad_cgo_0 [1]byte -} - -type Termio struct { - Iflag uint16 - Oflag uint16 - Cflag uint16 - Lflag uint16 - Line int8 - Cc [8]uint8 - Pad_cgo_0 [1]byte -} - -type Winsize struct { - Row uint16 - Col uint16 - Xpixel uint16 - Ypixel uint16 -} diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE deleted file mode 100644 index 6a66aea..0000000 --- a/vendor/golang.org/x/text/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS deleted file mode 100644 index 7330990..0000000 --- a/vendor/golang.org/x/text/PATENTS +++ /dev/null @@ -1,22 +0,0 @@ -Additional IP Rights Grant (Patents) - -"This implementation" means the copyrightable works distributed by -Google as part of the Go project. - -Google hereby grants to You a perpetual, worldwide, non-exclusive, -no-charge, royalty-free, irrevocable (except as stated in this section) -patent license to make, have made, use, offer to sell, sell, import, -transfer and otherwise run, modify and propagate the contents of this -implementation of Go, where such license applies only to those patent -claims, both currently owned or controlled by Google and acquired in -the future, licensable by Google that are necessarily infringed by this -implementation of Go. This grant does not include claims that would be -infringed only as a consequence of further modification of this -implementation. If you or your agent or exclusive licensee institute or -order or agree to the institution of patent litigation against any -entity (including a cross-claim or counterclaim in a lawsuit) alleging -that this implementation of Go or any code incorporated within this -implementation of Go constitutes direct or contributory patent -infringement, or inducement of patent infringement, then any patent -rights granted to you under this License for this implementation of Go -shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/text/encoding/encoding.go b/vendor/golang.org/x/text/encoding/encoding.go deleted file mode 100644 index 221f175..0000000 --- a/vendor/golang.org/x/text/encoding/encoding.go +++ /dev/null @@ -1,335 +0,0 @@ -// Copyright 2013 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. - -// Package encoding defines an interface for character encodings, such as Shift -// JIS and Windows 1252, that can convert to and from UTF-8. -// -// Encoding implementations are provided in other packages, such as -// golang.org/x/text/encoding/charmap and -// golang.org/x/text/encoding/japanese. -package encoding // import "golang.org/x/text/encoding" - -import ( - "errors" - "io" - "strconv" - "unicode/utf8" - - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// TODO: -// - There seems to be some inconsistency in when decoders return errors -// and when not. Also documentation seems to suggest they shouldn't return -// errors at all (except for UTF-16). -// - Encoders seem to rely on or at least benefit from the input being in NFC -// normal form. Perhaps add an example how users could prepare their output. - -// Encoding is a character set encoding that can be transformed to and from -// UTF-8. -type Encoding interface { - // NewDecoder returns a Decoder. - NewDecoder() *Decoder - - // NewEncoder returns an Encoder. - NewEncoder() *Encoder -} - -// A Decoder converts bytes to UTF-8. It implements transform.Transformer. -// -// Transforming source bytes that are not of that encoding will not result in an -// error per se. Each byte that cannot be transcoded will be represented in the -// output by the UTF-8 encoding of '\uFFFD', the replacement rune. -type Decoder struct { - transform.Transformer - - // This forces external creators of Decoders to use names in struct - // initializers, allowing for future extendibility without having to break - // code. - _ struct{} -} - -// Bytes converts the given encoded bytes to UTF-8. It returns the converted -// bytes or nil, err if any error occurred. -func (d *Decoder) Bytes(b []byte) ([]byte, error) { - b, _, err := transform.Bytes(d, b) - if err != nil { - return nil, err - } - return b, nil -} - -// String converts the given encoded string to UTF-8. It returns the converted -// string or "", err if any error occurred. -func (d *Decoder) String(s string) (string, error) { - s, _, err := transform.String(d, s) - if err != nil { - return "", err - } - return s, nil -} - -// Reader wraps another Reader to decode its bytes. -// -// The Decoder may not be used for any other operation as long as the returned -// Reader is in use. -func (d *Decoder) Reader(r io.Reader) io.Reader { - return transform.NewReader(r, d) -} - -// An Encoder converts bytes from UTF-8. It implements transform.Transformer. -// -// Each rune that cannot be transcoded will result in an error. In this case, -// the transform will consume all source byte up to, not including the offending -// rune. Transforming source bytes that are not valid UTF-8 will be replaced by -// `\uFFFD`. To return early with an error instead, use transform.Chain to -// preprocess the data with a UTF8Validator. -type Encoder struct { - transform.Transformer - - // This forces external creators of Encoders to use names in struct - // initializers, allowing for future extendibility without having to break - // code. - _ struct{} -} - -// Bytes converts bytes from UTF-8. It returns the converted bytes or nil, err if -// any error occurred. -func (e *Encoder) Bytes(b []byte) ([]byte, error) { - b, _, err := transform.Bytes(e, b) - if err != nil { - return nil, err - } - return b, nil -} - -// String converts a string from UTF-8. It returns the converted string or -// "", err if any error occurred. -func (e *Encoder) String(s string) (string, error) { - s, _, err := transform.String(e, s) - if err != nil { - return "", err - } - return s, nil -} - -// Writer wraps another Writer to encode its UTF-8 output. -// -// The Encoder may not be used for any other operation as long as the returned -// Writer is in use. -func (e *Encoder) Writer(w io.Writer) io.Writer { - return transform.NewWriter(w, e) -} - -// ASCIISub is the ASCII substitute character, as recommended by -// http://unicode.org/reports/tr36/#Text_Comparison -const ASCIISub = '\x1a' - -// Nop is the nop encoding. Its transformed bytes are the same as the source -// bytes; it does not replace invalid UTF-8 sequences. -var Nop Encoding = nop{} - -type nop struct{} - -func (nop) NewDecoder() *Decoder { - return &Decoder{Transformer: transform.Nop} -} -func (nop) NewEncoder() *Encoder { - return &Encoder{Transformer: transform.Nop} -} - -// Replacement is the replacement encoding. Decoding from the replacement -// encoding yields a single '\uFFFD' replacement rune. Encoding from UTF-8 to -// the replacement encoding yields the same as the source bytes except that -// invalid UTF-8 is converted to '\uFFFD'. -// -// It is defined at http://encoding.spec.whatwg.org/#replacement -var Replacement Encoding = replacement{} - -type replacement struct{} - -func (replacement) NewDecoder() *Decoder { - return &Decoder{Transformer: replacementDecoder{}} -} - -func (replacement) NewEncoder() *Encoder { - return &Encoder{Transformer: replacementEncoder{}} -} - -func (replacement) ID() (mib identifier.MIB, other string) { - return identifier.Replacement, "" -} - -type replacementDecoder struct{ transform.NopResetter } - -func (replacementDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - if len(dst) < 3 { - return 0, 0, transform.ErrShortDst - } - if atEOF { - const fffd = "\ufffd" - dst[0] = fffd[0] - dst[1] = fffd[1] - dst[2] = fffd[2] - nDst = 3 - } - return nDst, len(src), nil -} - -type replacementEncoder struct{ transform.NopResetter } - -func (replacementEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - r = '\ufffd' - } - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - return nDst, nSrc, err -} - -// HTMLEscapeUnsupported wraps encoders to replace source runes outside the -// repertoire of the destination encoding with HTML escape sequences. -// -// This wrapper exists to comply to URL and HTML forms requiring a -// non-terminating legacy encoder. The produced sequences may lead to data -// loss as they are indistinguishable from legitimate input. To avoid this -// issue, use UTF-8 encodings whenever possible. -func HTMLEscapeUnsupported(e *Encoder) *Encoder { - return &Encoder{Transformer: &errorHandler{e, errorToHTML}} -} - -// ReplaceUnsupported wraps encoders to replace source runes outside the -// repertoire of the destination encoding with an encoding-specific -// replacement. -// -// This wrapper is only provided for backwards compatibility and legacy -// handling. Its use is strongly discouraged. Use UTF-8 whenever possible. -func ReplaceUnsupported(e *Encoder) *Encoder { - return &Encoder{Transformer: &errorHandler{e, errorToReplacement}} -} - -type errorHandler struct { - *Encoder - handler func(dst []byte, r rune, err repertoireError) (n int, ok bool) -} - -// TODO: consider making this error public in some form. -type repertoireError interface { - Replacement() byte -} - -func (h errorHandler) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - nDst, nSrc, err = h.Transformer.Transform(dst, src, atEOF) - for err != nil { - rerr, ok := err.(repertoireError) - if !ok { - return nDst, nSrc, err - } - r, sz := utf8.DecodeRune(src[nSrc:]) - n, ok := h.handler(dst[nDst:], r, rerr) - if !ok { - return nDst, nSrc, transform.ErrShortDst - } - err = nil - nDst += n - if nSrc += sz; nSrc < len(src) { - var dn, sn int - dn, sn, err = h.Transformer.Transform(dst[nDst:], src[nSrc:], atEOF) - nDst += dn - nSrc += sn - } - } - return nDst, nSrc, err -} - -func errorToHTML(dst []byte, r rune, err repertoireError) (n int, ok bool) { - buf := [8]byte{} - b := strconv.AppendUint(buf[:0], uint64(r), 10) - if n = len(b) + len("&#;"); n >= len(dst) { - return 0, false - } - dst[0] = '&' - dst[1] = '#' - dst[copy(dst[2:], b)+2] = ';' - return n, true -} - -func errorToReplacement(dst []byte, r rune, err repertoireError) (n int, ok bool) { - if len(dst) == 0 { - return 0, false - } - dst[0] = err.Replacement() - return 1, true -} - -// ErrInvalidUTF8 means that a transformer encountered invalid UTF-8. -var ErrInvalidUTF8 = errors.New("encoding: invalid UTF-8") - -// UTF8Validator is a transformer that returns ErrInvalidUTF8 on the first -// input byte that is not valid UTF-8. -var UTF8Validator transform.Transformer = utf8Validator{} - -type utf8Validator struct{ transform.NopResetter } - -func (utf8Validator) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - n := len(src) - if n > len(dst) { - n = len(dst) - } - for i := 0; i < n; { - if c := src[i]; c < utf8.RuneSelf { - dst[i] = c - i++ - continue - } - _, size := utf8.DecodeRune(src[i:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - err = ErrInvalidUTF8 - if !atEOF && !utf8.FullRune(src[i:]) { - err = transform.ErrShortSrc - } - return i, i, err - } - if i+size > len(dst) { - return i, i, transform.ErrShortDst - } - for ; size > 0; size-- { - dst[i] = src[i] - i++ - } - } - if len(src) > len(dst) { - err = transform.ErrShortDst - } - return n, n, err -} diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go b/vendor/golang.org/x/text/encoding/internal/identifier/gen.go deleted file mode 100644 index 0c8eba7..0000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2015 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. - -// +build ignore - -package main - -import ( - "bytes" - "encoding/xml" - "fmt" - "io" - "log" - "strings" - - "golang.org/x/text/internal/gen" -) - -type registry struct { - XMLName xml.Name `xml:"registry"` - Updated string `xml:"updated"` - Registry []struct { - ID string `xml:"id,attr"` - Record []struct { - Name string `xml:"name"` - Xref []struct { - Type string `xml:"type,attr"` - Data string `xml:"data,attr"` - } `xml:"xref"` - Desc struct { - Data string `xml:",innerxml"` - // Any []struct { - // Data string `xml:",chardata"` - // } `xml:",any"` - // Data string `xml:",chardata"` - } `xml:"description,"` - MIB string `xml:"value"` - Alias []string `xml:"alias"` - MIME string `xml:"preferred_alias"` - } `xml:"record"` - } `xml:"registry"` -} - -func main() { - r := gen.OpenIANAFile("assignments/character-sets/character-sets.xml") - reg := ®istry{} - if err := xml.NewDecoder(r).Decode(®); err != nil && err != io.EOF { - log.Fatalf("Error decoding charset registry: %v", err) - } - if len(reg.Registry) == 0 || reg.Registry[0].ID != "character-sets-1" { - log.Fatalf("Unexpected ID %s", reg.Registry[0].ID) - } - - w := &bytes.Buffer{} - fmt.Fprintf(w, "const (\n") - for _, rec := range reg.Registry[0].Record { - constName := "" - for _, a := range rec.Alias { - if strings.HasPrefix(a, "cs") && strings.IndexByte(a, '-') == -1 { - // Some of the constant definitions have comments in them. Strip those. - constName = strings.Title(strings.SplitN(a[2:], "\n", 2)[0]) - } - } - if constName == "" { - switch rec.MIB { - case "2085": - constName = "HZGB2312" // Not listed as alias for some reason. - default: - log.Fatalf("No cs alias defined for %s.", rec.MIB) - } - } - if rec.MIME != "" { - rec.MIME = fmt.Sprintf(" (MIME: %s)", rec.MIME) - } - fmt.Fprintf(w, "// %s is the MIB identifier with IANA name %s%s.\n//\n", constName, rec.Name, rec.MIME) - if len(rec.Desc.Data) > 0 { - fmt.Fprint(w, "// ") - d := xml.NewDecoder(strings.NewReader(rec.Desc.Data)) - inElem := true - attr := "" - for { - t, err := d.Token() - if err != nil { - if err != io.EOF { - log.Fatal(err) - } - break - } - switch x := t.(type) { - case xml.CharData: - attr = "" // Don't need attribute info. - a := bytes.Split([]byte(x), []byte("\n")) - for i, b := range a { - if b = bytes.TrimSpace(b); len(b) != 0 { - if !inElem && i > 0 { - fmt.Fprint(w, "\n// ") - } - inElem = false - fmt.Fprintf(w, "%s ", string(b)) - } - } - case xml.StartElement: - if x.Name.Local == "xref" { - inElem = true - use := false - for _, a := range x.Attr { - if a.Name.Local == "type" { - use = use || a.Value != "person" - } - if a.Name.Local == "data" && use { - attr = a.Value + " " - } - } - } - case xml.EndElement: - inElem = false - fmt.Fprint(w, attr) - } - } - fmt.Fprint(w, "\n") - } - for _, x := range rec.Xref { - switch x.Type { - case "rfc": - fmt.Fprintf(w, "// Reference: %s\n", strings.ToUpper(x.Data)) - case "uri": - fmt.Fprintf(w, "// Reference: %s\n", x.Data) - } - } - fmt.Fprintf(w, "%s MIB = %s\n", constName, rec.MIB) - fmt.Fprintln(w) - } - fmt.Fprintln(w, ")") - - gen.WriteGoFile("mib.go", "identifier", w.Bytes()) -} diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go deleted file mode 100644 index 7351b4e..0000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2015 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:generate go run gen.go - -// Package identifier defines the contract between implementations of Encoding -// and Index by defining identifiers that uniquely identify standardized coded -// character sets (CCS) and character encoding schemes (CES), which we will -// together refer to as encodings, for which Encoding implementations provide -// converters to and from UTF-8. This package is typically only of concern to -// implementers of Indexes and Encodings. -// -// One part of the identifier is the MIB code, which is defined by IANA and -// uniquely identifies a CCS or CES. Each code is associated with data that -// references authorities, official documentation as well as aliases and MIME -// names. -// -// Not all CESs are covered by the IANA registry. The "other" string that is -// returned by ID can be used to identify other character sets or versions of -// existing ones. -// -// It is recommended that each package that provides a set of Encodings provide -// the All and Common variables to reference all supported encodings and -// commonly used subset. This allows Index implementations to include all -// available encodings without explicitly referencing or knowing about them. -package identifier - -// Note: this package is internal, but could be made public if there is a need -// for writing third-party Indexes and Encodings. - -// References: -// - http://source.icu-project.org/repos/icu/icu/trunk/source/data/mappings/convrtrs.txt -// - http://www.iana.org/assignments/character-sets/character-sets.xhtml -// - http://www.iana.org/assignments/ianacharset-mib/ianacharset-mib -// - http://www.ietf.org/rfc/rfc2978.txt -// - http://www.unicode.org/reports/tr22/ -// - http://www.w3.org/TR/encoding/ -// - https://encoding.spec.whatwg.org/ -// - https://encoding.spec.whatwg.org/encodings.json -// - https://tools.ietf.org/html/rfc6657#section-5 - -// Interface can be implemented by Encodings to define the CCS or CES for which -// it implements conversions. -type Interface interface { - // ID returns an encoding identifier. Exactly one of the mib and other - // values should be non-zero. - // - // In the usual case it is only necessary to indicate the MIB code. The - // other string can be used to specify encodings for which there is no MIB, - // such as "x-mac-dingbat". - // - // The other string may only contain the characters a-z, A-Z, 0-9, - and _. - ID() (mib MIB, other string) - - // NOTE: the restrictions on the encoding are to allow extending the syntax - // with additional information such as versions, vendors and other variants. -} - -// A MIB identifies an encoding. It is derived from the IANA MIB codes and adds -// some identifiers for some encodings that are not covered by the IANA -// standard. -// -// See http://www.iana.org/assignments/ianacharset-mib. -type MIB uint16 - -// These additional MIB types are not defined in IANA. They are added because -// they are common and defined within the text repo. -const ( - // Unofficial marks the start of encodings not registered by IANA. - Unofficial MIB = 10000 + iota - - // Replacement is the WhatWG replacement encoding. - Replacement - - // XUserDefined is the code for x-user-defined. - XUserDefined - - // MacintoshCyrillic is the code for x-mac-cyrillic. - MacintoshCyrillic -) diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go deleted file mode 100644 index 915abfa..0000000 --- a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go +++ /dev/null @@ -1,1621 +0,0 @@ -// This file was generated by go generate; DO NOT EDIT - -package identifier - -const ( - // ASCII is the MIB identifier with IANA name US-ASCII (MIME: US-ASCII). - // - // ANSI X3.4-1986 - // Reference: RFC2046 - ASCII MIB = 3 - - // ISOLatin1 is the MIB identifier with IANA name ISO_8859-1:1987 (MIME: ISO-8859-1). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin1 MIB = 4 - - // ISOLatin2 is the MIB identifier with IANA name ISO_8859-2:1987 (MIME: ISO-8859-2). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin2 MIB = 5 - - // ISOLatin3 is the MIB identifier with IANA name ISO_8859-3:1988 (MIME: ISO-8859-3). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin3 MIB = 6 - - // ISOLatin4 is the MIB identifier with IANA name ISO_8859-4:1988 (MIME: ISO-8859-4). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin4 MIB = 7 - - // ISOLatinCyrillic is the MIB identifier with IANA name ISO_8859-5:1988 (MIME: ISO-8859-5). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinCyrillic MIB = 8 - - // ISOLatinArabic is the MIB identifier with IANA name ISO_8859-6:1987 (MIME: ISO-8859-6). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinArabic MIB = 9 - - // ISOLatinGreek is the MIB identifier with IANA name ISO_8859-7:1987 (MIME: ISO-8859-7). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1947 - // Reference: RFC1345 - ISOLatinGreek MIB = 10 - - // ISOLatinHebrew is the MIB identifier with IANA name ISO_8859-8:1988 (MIME: ISO-8859-8). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatinHebrew MIB = 11 - - // ISOLatin5 is the MIB identifier with IANA name ISO_8859-9:1989 (MIME: ISO-8859-9). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin5 MIB = 12 - - // ISOLatin6 is the MIB identifier with IANA name ISO-8859-10 (MIME: ISO-8859-10). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOLatin6 MIB = 13 - - // ISOTextComm is the MIB identifier with IANA name ISO_6937-2-add. - // - // ISO-IR: International Register of Escape Sequences and ISO 6937-2:1983 - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISOTextComm MIB = 14 - - // HalfWidthKatakana is the MIB identifier with IANA name JIS_X0201. - // - // JIS X 0201-1976. One byte only, this is equivalent to - // JIS/Roman (similar to ASCII) plus eight-bit half-width - // Katakana - // Reference: RFC1345 - HalfWidthKatakana MIB = 15 - - // JISEncoding is the MIB identifier with IANA name JIS_Encoding. - // - // JIS X 0202-1991. Uses ISO 2022 escape sequences to - // shift code sets as documented in JIS X 0202-1991. - JISEncoding MIB = 16 - - // ShiftJIS is the MIB identifier with IANA name Shift_JIS (MIME: Shift_JIS). - // - // This charset is an extension of csHalfWidthKatakana by - // adding graphic characters in JIS X 0208. The CCS's are - // JIS X0201:1997 and JIS X0208:1997. The - // complete definition is shown in Appendix 1 of JIS - // X0208:1997. - // This charset can be used for the top-level media type "text". - ShiftJIS MIB = 17 - - // EUCPkdFmtJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Packed_Format_for_Japanese (MIME: EUC-JP). - // - // Standardized by OSF, UNIX International, and UNIX Systems - // Laboratories Pacific. Uses ISO 2022 rules to select - // code set 0: US-ASCII (a single 7-bit byte set) - // code set 1: JIS X0208-1990 (a double 8-bit byte set) - // restricted to A0-FF in both bytes - // code set 2: Half Width Katakana (a single 7-bit byte set) - // requiring SS2 as the character prefix - // code set 3: JIS X0212-1990 (a double 7-bit byte set) - // restricted to A0-FF in both bytes - // requiring SS3 as the character prefix - EUCPkdFmtJapanese MIB = 18 - - // EUCFixWidJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Fixed_Width_for_Japanese. - // - // Used in Japan. Each character is 2 octets. - // code set 0: US-ASCII (a single 7-bit byte set) - // 1st byte = 00 - // 2nd byte = 20-7E - // code set 1: JIS X0208-1990 (a double 7-bit byte set) - // restricted to A0-FF in both bytes - // code set 2: Half Width Katakana (a single 7-bit byte set) - // 1st byte = 00 - // 2nd byte = A0-FF - // code set 3: JIS X0212-1990 (a double 7-bit byte set) - // restricted to A0-FF in - // the first byte - // and 21-7E in the second byte - EUCFixWidJapanese MIB = 19 - - // ISO4UnitedKingdom is the MIB identifier with IANA name BS_4730. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO4UnitedKingdom MIB = 20 - - // ISO11SwedishForNames is the MIB identifier with IANA name SEN_850200_C. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO11SwedishForNames MIB = 21 - - // ISO15Italian is the MIB identifier with IANA name IT. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO15Italian MIB = 22 - - // ISO17Spanish is the MIB identifier with IANA name ES. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO17Spanish MIB = 23 - - // ISO21German is the MIB identifier with IANA name DIN_66003. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO21German MIB = 24 - - // ISO60Norwegian1 is the MIB identifier with IANA name NS_4551-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO60Norwegian1 MIB = 25 - - // ISO69French is the MIB identifier with IANA name NF_Z_62-010. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO69French MIB = 26 - - // ISO10646UTF1 is the MIB identifier with IANA name ISO-10646-UTF-1. - // - // Universal Transfer Format (1), this is the multibyte - // encoding, that subsets ASCII-7. It does not have byte - // ordering issues. - ISO10646UTF1 MIB = 27 - - // ISO646basic1983 is the MIB identifier with IANA name ISO_646.basic:1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO646basic1983 MIB = 28 - - // INVARIANT is the MIB identifier with IANA name INVARIANT. - // - // Reference: RFC1345 - INVARIANT MIB = 29 - - // ISO2IntlRefVersion is the MIB identifier with IANA name ISO_646.irv:1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO2IntlRefVersion MIB = 30 - - // NATSSEFI is the MIB identifier with IANA name NATS-SEFI. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSSEFI MIB = 31 - - // NATSSEFIADD is the MIB identifier with IANA name NATS-SEFI-ADD. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSSEFIADD MIB = 32 - - // NATSDANO is the MIB identifier with IANA name NATS-DANO. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSDANO MIB = 33 - - // NATSDANOADD is the MIB identifier with IANA name NATS-DANO-ADD. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - NATSDANOADD MIB = 34 - - // ISO10Swedish is the MIB identifier with IANA name SEN_850200_B. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO10Swedish MIB = 35 - - // KSC56011987 is the MIB identifier with IANA name KS_C_5601-1987. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - KSC56011987 MIB = 36 - - // ISO2022KR is the MIB identifier with IANA name ISO-2022-KR (MIME: ISO-2022-KR). - // - // rfc1557 (see also KS_C_5601-1987) - // Reference: RFC1557 - ISO2022KR MIB = 37 - - // EUCKR is the MIB identifier with IANA name EUC-KR (MIME: EUC-KR). - // - // rfc1557 (see also KS_C_5861-1992) - // Reference: RFC1557 - EUCKR MIB = 38 - - // ISO2022JP is the MIB identifier with IANA name ISO-2022-JP (MIME: ISO-2022-JP). - // - // rfc1468 (see also rfc2237 ) - // Reference: RFC1468 - ISO2022JP MIB = 39 - - // ISO2022JP2 is the MIB identifier with IANA name ISO-2022-JP-2 (MIME: ISO-2022-JP-2). - // - // rfc1554 - // Reference: RFC1554 - ISO2022JP2 MIB = 40 - - // ISO13JISC6220jp is the MIB identifier with IANA name JIS_C6220-1969-jp. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO13JISC6220jp MIB = 41 - - // ISO14JISC6220ro is the MIB identifier with IANA name JIS_C6220-1969-ro. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO14JISC6220ro MIB = 42 - - // ISO16Portuguese is the MIB identifier with IANA name PT. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO16Portuguese MIB = 43 - - // ISO18Greek7Old is the MIB identifier with IANA name greek7-old. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO18Greek7Old MIB = 44 - - // ISO19LatinGreek is the MIB identifier with IANA name latin-greek. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO19LatinGreek MIB = 45 - - // ISO25French is the MIB identifier with IANA name NF_Z_62-010_(1973). - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO25French MIB = 46 - - // ISO27LatinGreek1 is the MIB identifier with IANA name Latin-greek-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO27LatinGreek1 MIB = 47 - - // ISO5427Cyrillic is the MIB identifier with IANA name ISO_5427. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO5427Cyrillic MIB = 48 - - // ISO42JISC62261978 is the MIB identifier with IANA name JIS_C6226-1978. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO42JISC62261978 MIB = 49 - - // ISO47BSViewdata is the MIB identifier with IANA name BS_viewdata. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO47BSViewdata MIB = 50 - - // ISO49INIS is the MIB identifier with IANA name INIS. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO49INIS MIB = 51 - - // ISO50INIS8 is the MIB identifier with IANA name INIS-8. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO50INIS8 MIB = 52 - - // ISO51INISCyrillic is the MIB identifier with IANA name INIS-cyrillic. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO51INISCyrillic MIB = 53 - - // ISO54271981 is the MIB identifier with IANA name ISO_5427:1981. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO54271981 MIB = 54 - - // ISO5428Greek is the MIB identifier with IANA name ISO_5428:1980. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO5428Greek MIB = 55 - - // ISO57GB1988 is the MIB identifier with IANA name GB_1988-80. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO57GB1988 MIB = 56 - - // ISO58GB231280 is the MIB identifier with IANA name GB_2312-80. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO58GB231280 MIB = 57 - - // ISO61Norwegian2 is the MIB identifier with IANA name NS_4551-2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO61Norwegian2 MIB = 58 - - // ISO70VideotexSupp1 is the MIB identifier with IANA name videotex-suppl. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO70VideotexSupp1 MIB = 59 - - // ISO84Portuguese2 is the MIB identifier with IANA name PT2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO84Portuguese2 MIB = 60 - - // ISO85Spanish2 is the MIB identifier with IANA name ES2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO85Spanish2 MIB = 61 - - // ISO86Hungarian is the MIB identifier with IANA name MSZ_7795.3. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO86Hungarian MIB = 62 - - // ISO87JISX0208 is the MIB identifier with IANA name JIS_C6226-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO87JISX0208 MIB = 63 - - // ISO88Greek7 is the MIB identifier with IANA name greek7. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO88Greek7 MIB = 64 - - // ISO89ASMO449 is the MIB identifier with IANA name ASMO_449. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO89ASMO449 MIB = 65 - - // ISO90 is the MIB identifier with IANA name iso-ir-90. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO90 MIB = 66 - - // ISO91JISC62291984a is the MIB identifier with IANA name JIS_C6229-1984-a. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO91JISC62291984a MIB = 67 - - // ISO92JISC62991984b is the MIB identifier with IANA name JIS_C6229-1984-b. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO92JISC62991984b MIB = 68 - - // ISO93JIS62291984badd is the MIB identifier with IANA name JIS_C6229-1984-b-add. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO93JIS62291984badd MIB = 69 - - // ISO94JIS62291984hand is the MIB identifier with IANA name JIS_C6229-1984-hand. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO94JIS62291984hand MIB = 70 - - // ISO95JIS62291984handadd is the MIB identifier with IANA name JIS_C6229-1984-hand-add. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO95JIS62291984handadd MIB = 71 - - // ISO96JISC62291984kana is the MIB identifier with IANA name JIS_C6229-1984-kana. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO96JISC62291984kana MIB = 72 - - // ISO2033 is the MIB identifier with IANA name ISO_2033-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO2033 MIB = 73 - - // ISO99NAPLPS is the MIB identifier with IANA name ANSI_X3.110-1983. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO99NAPLPS MIB = 74 - - // ISO102T617bit is the MIB identifier with IANA name T.61-7bit. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO102T617bit MIB = 75 - - // ISO103T618bit is the MIB identifier with IANA name T.61-8bit. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO103T618bit MIB = 76 - - // ISO111ECMACyrillic is the MIB identifier with IANA name ECMA-cyrillic. - // - // ISO registry - // (formerly ECMA - // registry ) - ISO111ECMACyrillic MIB = 77 - - // ISO121Canadian1 is the MIB identifier with IANA name CSA_Z243.4-1985-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO121Canadian1 MIB = 78 - - // ISO122Canadian2 is the MIB identifier with IANA name CSA_Z243.4-1985-2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO122Canadian2 MIB = 79 - - // ISO123CSAZ24341985gr is the MIB identifier with IANA name CSA_Z243.4-1985-gr. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO123CSAZ24341985gr MIB = 80 - - // ISO88596E is the MIB identifier with IANA name ISO_8859-6-E (MIME: ISO-8859-6-E). - // - // rfc1556 - // Reference: RFC1556 - ISO88596E MIB = 81 - - // ISO88596I is the MIB identifier with IANA name ISO_8859-6-I (MIME: ISO-8859-6-I). - // - // rfc1556 - // Reference: RFC1556 - ISO88596I MIB = 82 - - // ISO128T101G2 is the MIB identifier with IANA name T.101-G2. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO128T101G2 MIB = 83 - - // ISO88598E is the MIB identifier with IANA name ISO_8859-8-E (MIME: ISO-8859-8-E). - // - // rfc1556 - // Reference: RFC1556 - ISO88598E MIB = 84 - - // ISO88598I is the MIB identifier with IANA name ISO_8859-8-I (MIME: ISO-8859-8-I). - // - // rfc1556 - // Reference: RFC1556 - ISO88598I MIB = 85 - - // ISO139CSN369103 is the MIB identifier with IANA name CSN_369103. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO139CSN369103 MIB = 86 - - // ISO141JUSIB1002 is the MIB identifier with IANA name JUS_I.B1.002. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO141JUSIB1002 MIB = 87 - - // ISO143IECP271 is the MIB identifier with IANA name IEC_P27-1. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO143IECP271 MIB = 88 - - // ISO146Serbian is the MIB identifier with IANA name JUS_I.B1.003-serb. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO146Serbian MIB = 89 - - // ISO147Macedonian is the MIB identifier with IANA name JUS_I.B1.003-mac. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO147Macedonian MIB = 90 - - // ISO150GreekCCITT is the MIB identifier with IANA name greek-ccitt. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO150GreekCCITT MIB = 91 - - // ISO151Cuba is the MIB identifier with IANA name NC_NC00-10:81. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO151Cuba MIB = 92 - - // ISO6937Add is the MIB identifier with IANA name ISO_6937-2-25. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO6937Add MIB = 93 - - // ISO153GOST1976874 is the MIB identifier with IANA name GOST_19768-74. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO153GOST1976874 MIB = 94 - - // ISO8859Supp is the MIB identifier with IANA name ISO_8859-supp. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO8859Supp MIB = 95 - - // ISO10367Box is the MIB identifier with IANA name ISO_10367-box. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO10367Box MIB = 96 - - // ISO158Lap is the MIB identifier with IANA name latin-lap. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO158Lap MIB = 97 - - // ISO159JISX02121990 is the MIB identifier with IANA name JIS_X0212-1990. - // - // ISO-IR: International Register of Escape Sequences - // Note: The current registration authority is IPSJ/ITSCJ, Japan. - // Reference: RFC1345 - ISO159JISX02121990 MIB = 98 - - // ISO646Danish is the MIB identifier with IANA name DS_2089. - // - // Danish Standard, DS 2089, February 1974 - // Reference: RFC1345 - ISO646Danish MIB = 99 - - // USDK is the MIB identifier with IANA name us-dk. - // - // Reference: RFC1345 - USDK MIB = 100 - - // DKUS is the MIB identifier with IANA name dk-us. - // - // Reference: RFC1345 - DKUS MIB = 101 - - // KSC5636 is the MIB identifier with IANA name KSC5636. - // - // Reference: RFC1345 - KSC5636 MIB = 102 - - // Unicode11UTF7 is the MIB identifier with IANA name UNICODE-1-1-UTF-7. - // - // rfc1642 - // Reference: RFC1642 - Unicode11UTF7 MIB = 103 - - // ISO2022CN is the MIB identifier with IANA name ISO-2022-CN. - // - // rfc1922 - // Reference: RFC1922 - ISO2022CN MIB = 104 - - // ISO2022CNEXT is the MIB identifier with IANA name ISO-2022-CN-EXT. - // - // rfc1922 - // Reference: RFC1922 - ISO2022CNEXT MIB = 105 - - // UTF8 is the MIB identifier with IANA name UTF-8. - // - // rfc3629 - // Reference: RFC3629 - UTF8 MIB = 106 - - // ISO885913 is the MIB identifier with IANA name ISO-8859-13. - // - // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-13 http://www.iana.org/assignments/charset-reg/ISO-8859-13 - ISO885913 MIB = 109 - - // ISO885914 is the MIB identifier with IANA name ISO-8859-14. - // - // ISO See http://www.iana.org/assignments/charset-reg/ISO-8859-14 - ISO885914 MIB = 110 - - // ISO885915 is the MIB identifier with IANA name ISO-8859-15. - // - // ISO - // Please see: http://www.iana.org/assignments/charset-reg/ISO-8859-15 - ISO885915 MIB = 111 - - // ISO885916 is the MIB identifier with IANA name ISO-8859-16. - // - // ISO - ISO885916 MIB = 112 - - // GBK is the MIB identifier with IANA name GBK. - // - // Chinese IT Standardization Technical Committee - // Please see: http://www.iana.org/assignments/charset-reg/GBK - GBK MIB = 113 - - // GB18030 is the MIB identifier with IANA name GB18030. - // - // Chinese IT Standardization Technical Committee - // Please see: http://www.iana.org/assignments/charset-reg/GB18030 - GB18030 MIB = 114 - - // OSDEBCDICDF0415 is the MIB identifier with IANA name OSD_EBCDIC_DF04_15. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-15 - OSDEBCDICDF0415 MIB = 115 - - // OSDEBCDICDF03IRV is the MIB identifier with IANA name OSD_EBCDIC_DF03_IRV. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF03-IRV - OSDEBCDICDF03IRV MIB = 116 - - // OSDEBCDICDF041 is the MIB identifier with IANA name OSD_EBCDIC_DF04_1. - // - // Fujitsu-Siemens standard mainframe EBCDIC encoding - // Please see: http://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-1 - OSDEBCDICDF041 MIB = 117 - - // ISO115481 is the MIB identifier with IANA name ISO-11548-1. - // - // See http://www.iana.org/assignments/charset-reg/ISO-11548-1 - ISO115481 MIB = 118 - - // KZ1048 is the MIB identifier with IANA name KZ-1048. - // - // See http://www.iana.org/assignments/charset-reg/KZ-1048 - KZ1048 MIB = 119 - - // Unicode is the MIB identifier with IANA name ISO-10646-UCS-2. - // - // the 2-octet Basic Multilingual Plane, aka Unicode - // this needs to specify network byte order: the standard - // does not specify (it is a 16-bit integer space) - Unicode MIB = 1000 - - // UCS4 is the MIB identifier with IANA name ISO-10646-UCS-4. - // - // the full code space. (same comment about byte order, - // these are 31-bit numbers. - UCS4 MIB = 1001 - - // UnicodeASCII is the MIB identifier with IANA name ISO-10646-UCS-Basic. - // - // ASCII subset of Unicode. Basic Latin = collection 1 - // See ISO 10646, Appendix A - UnicodeASCII MIB = 1002 - - // UnicodeLatin1 is the MIB identifier with IANA name ISO-10646-Unicode-Latin1. - // - // ISO Latin-1 subset of Unicode. Basic Latin and Latin-1 - // Supplement = collections 1 and 2. See ISO 10646, - // Appendix A. See rfc1815 . - UnicodeLatin1 MIB = 1003 - - // UnicodeJapanese is the MIB identifier with IANA name ISO-10646-J-1. - // - // ISO 10646 Japanese, see rfc1815 . - UnicodeJapanese MIB = 1004 - - // UnicodeIBM1261 is the MIB identifier with IANA name ISO-Unicode-IBM-1261. - // - // IBM Latin-2, -3, -5, Extended Presentation Set, GCSGID: 1261 - UnicodeIBM1261 MIB = 1005 - - // UnicodeIBM1268 is the MIB identifier with IANA name ISO-Unicode-IBM-1268. - // - // IBM Latin-4 Extended Presentation Set, GCSGID: 1268 - UnicodeIBM1268 MIB = 1006 - - // UnicodeIBM1276 is the MIB identifier with IANA name ISO-Unicode-IBM-1276. - // - // IBM Cyrillic Greek Extended Presentation Set, GCSGID: 1276 - UnicodeIBM1276 MIB = 1007 - - // UnicodeIBM1264 is the MIB identifier with IANA name ISO-Unicode-IBM-1264. - // - // IBM Arabic Presentation Set, GCSGID: 1264 - UnicodeIBM1264 MIB = 1008 - - // UnicodeIBM1265 is the MIB identifier with IANA name ISO-Unicode-IBM-1265. - // - // IBM Hebrew Presentation Set, GCSGID: 1265 - UnicodeIBM1265 MIB = 1009 - - // Unicode11 is the MIB identifier with IANA name UNICODE-1-1. - // - // rfc1641 - // Reference: RFC1641 - Unicode11 MIB = 1010 - - // SCSU is the MIB identifier with IANA name SCSU. - // - // SCSU See http://www.iana.org/assignments/charset-reg/SCSU - SCSU MIB = 1011 - - // UTF7 is the MIB identifier with IANA name UTF-7. - // - // rfc2152 - // Reference: RFC2152 - UTF7 MIB = 1012 - - // UTF16BE is the MIB identifier with IANA name UTF-16BE. - // - // rfc2781 - // Reference: RFC2781 - UTF16BE MIB = 1013 - - // UTF16LE is the MIB identifier with IANA name UTF-16LE. - // - // rfc2781 - // Reference: RFC2781 - UTF16LE MIB = 1014 - - // UTF16 is the MIB identifier with IANA name UTF-16. - // - // rfc2781 - // Reference: RFC2781 - UTF16 MIB = 1015 - - // CESU8 is the MIB identifier with IANA name CESU-8. - // - // http://www.unicode.org/unicode/reports/tr26 - CESU8 MIB = 1016 - - // UTF32 is the MIB identifier with IANA name UTF-32. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32 MIB = 1017 - - // UTF32BE is the MIB identifier with IANA name UTF-32BE. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32BE MIB = 1018 - - // UTF32LE is the MIB identifier with IANA name UTF-32LE. - // - // http://www.unicode.org/unicode/reports/tr19/ - UTF32LE MIB = 1019 - - // BOCU1 is the MIB identifier with IANA name BOCU-1. - // - // http://www.unicode.org/notes/tn6/ - BOCU1 MIB = 1020 - - // Windows30Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.0-Latin-1. - // - // Extended ISO 8859-1 Latin-1 for Windows 3.0. - // PCL Symbol Set id: 9U - Windows30Latin1 MIB = 2000 - - // Windows31Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.1-Latin-1. - // - // Extended ISO 8859-1 Latin-1 for Windows 3.1. - // PCL Symbol Set id: 19U - Windows31Latin1 MIB = 2001 - - // Windows31Latin2 is the MIB identifier with IANA name ISO-8859-2-Windows-Latin-2. - // - // Extended ISO 8859-2. Latin-2 for Windows 3.1. - // PCL Symbol Set id: 9E - Windows31Latin2 MIB = 2002 - - // Windows31Latin5 is the MIB identifier with IANA name ISO-8859-9-Windows-Latin-5. - // - // Extended ISO 8859-9. Latin-5 for Windows 3.1 - // PCL Symbol Set id: 5T - Windows31Latin5 MIB = 2003 - - // HPRoman8 is the MIB identifier with IANA name hp-roman8. - // - // LaserJet IIP Printer User's Manual, - // HP part no 33471-90901, Hewlet-Packard, June 1989. - // Reference: RFC1345 - HPRoman8 MIB = 2004 - - // AdobeStandardEncoding is the MIB identifier with IANA name Adobe-Standard-Encoding. - // - // PostScript Language Reference Manual - // PCL Symbol Set id: 10J - AdobeStandardEncoding MIB = 2005 - - // VenturaUS is the MIB identifier with IANA name Ventura-US. - // - // Ventura US. ASCII plus characters typically used in - // publishing, like pilcrow, copyright, registered, trade mark, - // section, dagger, and double dagger in the range A0 (hex) - // to FF (hex). - // PCL Symbol Set id: 14J - VenturaUS MIB = 2006 - - // VenturaInternational is the MIB identifier with IANA name Ventura-International. - // - // Ventura International. ASCII plus coded characters similar - // to Roman8. - // PCL Symbol Set id: 13J - VenturaInternational MIB = 2007 - - // DECMCS is the MIB identifier with IANA name DEC-MCS. - // - // VAX/VMS User's Manual, - // Order Number: AI-Y517A-TE, April 1986. - // Reference: RFC1345 - DECMCS MIB = 2008 - - // PC850Multilingual is the MIB identifier with IANA name IBM850. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC850Multilingual MIB = 2009 - - // PC8DanishNorwegian is the MIB identifier with IANA name PC8-Danish-Norwegian. - // - // PC Danish Norwegian - // 8-bit PC set for Danish Norwegian - // PCL Symbol Set id: 11U - PC8DanishNorwegian MIB = 2012 - - // PC862LatinHebrew is the MIB identifier with IANA name IBM862. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC862LatinHebrew MIB = 2013 - - // PC8Turkish is the MIB identifier with IANA name PC8-Turkish. - // - // PC Latin Turkish. PCL Symbol Set id: 9T - PC8Turkish MIB = 2014 - - // IBMSymbols is the MIB identifier with IANA name IBM-Symbols. - // - // Presentation Set, CPGID: 259 - IBMSymbols MIB = 2015 - - // IBMThai is the MIB identifier with IANA name IBM-Thai. - // - // Presentation Set, CPGID: 838 - IBMThai MIB = 2016 - - // HPLegal is the MIB identifier with IANA name HP-Legal. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 1U - HPLegal MIB = 2017 - - // HPPiFont is the MIB identifier with IANA name HP-Pi-font. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 15U - HPPiFont MIB = 2018 - - // HPMath8 is the MIB identifier with IANA name HP-Math8. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 8M - HPMath8 MIB = 2019 - - // HPPSMath is the MIB identifier with IANA name Adobe-Symbol-Encoding. - // - // PostScript Language Reference Manual - // PCL Symbol Set id: 5M - HPPSMath MIB = 2020 - - // HPDesktop is the MIB identifier with IANA name HP-DeskTop. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 7J - HPDesktop MIB = 2021 - - // VenturaMath is the MIB identifier with IANA name Ventura-Math. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 6M - VenturaMath MIB = 2022 - - // MicrosoftPublishing is the MIB identifier with IANA name Microsoft-Publishing. - // - // PCL 5 Comparison Guide, Hewlett-Packard, - // HP part number 5961-0510, October 1992 - // PCL Symbol Set id: 6J - MicrosoftPublishing MIB = 2023 - - // Windows31J is the MIB identifier with IANA name Windows-31J. - // - // Windows Japanese. A further extension of Shift_JIS - // to include NEC special characters (Row 13), NEC - // selection of IBM extensions (Rows 89 to 92), and IBM - // extensions (Rows 115 to 119). The CCS's are - // JIS X0201:1997, JIS X0208:1997, and these extensions. - // This charset can be used for the top-level media type "text", - // but it is of limited or specialized use (see rfc2278 ). - // PCL Symbol Set id: 19K - Windows31J MIB = 2024 - - // GB2312 is the MIB identifier with IANA name GB2312 (MIME: GB2312). - // - // Chinese for People's Republic of China (PRC) mixed one byte, - // two byte set: - // 20-7E = one byte ASCII - // A1-FE = two byte PRC Kanji - // See GB 2312-80 - // PCL Symbol Set Id: 18C - GB2312 MIB = 2025 - - // Big5 is the MIB identifier with IANA name Big5 (MIME: Big5). - // - // Chinese for Taiwan Multi-byte set. - // PCL Symbol Set Id: 18T - Big5 MIB = 2026 - - // Macintosh is the MIB identifier with IANA name macintosh. - // - // The Unicode Standard ver1.0, ISBN 0-201-56788-1, Oct 1991 - // Reference: RFC1345 - Macintosh MIB = 2027 - - // IBM037 is the MIB identifier with IANA name IBM037. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM037 MIB = 2028 - - // IBM038 is the MIB identifier with IANA name IBM038. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM038 MIB = 2029 - - // IBM273 is the MIB identifier with IANA name IBM273. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM273 MIB = 2030 - - // IBM274 is the MIB identifier with IANA name IBM274. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM274 MIB = 2031 - - // IBM275 is the MIB identifier with IANA name IBM275. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM275 MIB = 2032 - - // IBM277 is the MIB identifier with IANA name IBM277. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM277 MIB = 2033 - - // IBM278 is the MIB identifier with IANA name IBM278. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM278 MIB = 2034 - - // IBM280 is the MIB identifier with IANA name IBM280. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM280 MIB = 2035 - - // IBM281 is the MIB identifier with IANA name IBM281. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM281 MIB = 2036 - - // IBM284 is the MIB identifier with IANA name IBM284. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM284 MIB = 2037 - - // IBM285 is the MIB identifier with IANA name IBM285. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM285 MIB = 2038 - - // IBM290 is the MIB identifier with IANA name IBM290. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM290 MIB = 2039 - - // IBM297 is the MIB identifier with IANA name IBM297. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM297 MIB = 2040 - - // IBM420 is the MIB identifier with IANA name IBM420. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990, - // IBM NLS RM p 11-11 - // Reference: RFC1345 - IBM420 MIB = 2041 - - // IBM423 is the MIB identifier with IANA name IBM423. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM423 MIB = 2042 - - // IBM424 is the MIB identifier with IANA name IBM424. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM424 MIB = 2043 - - // PC8CodePage437 is the MIB identifier with IANA name IBM437. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PC8CodePage437 MIB = 2011 - - // IBM500 is the MIB identifier with IANA name IBM500. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM500 MIB = 2044 - - // IBM851 is the MIB identifier with IANA name IBM851. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM851 MIB = 2045 - - // PCp852 is the MIB identifier with IANA name IBM852. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - PCp852 MIB = 2010 - - // IBM855 is the MIB identifier with IANA name IBM855. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM855 MIB = 2046 - - // IBM857 is the MIB identifier with IANA name IBM857. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM857 MIB = 2047 - - // IBM860 is the MIB identifier with IANA name IBM860. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM860 MIB = 2048 - - // IBM861 is the MIB identifier with IANA name IBM861. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM861 MIB = 2049 - - // IBM863 is the MIB identifier with IANA name IBM863. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM863 MIB = 2050 - - // IBM864 is the MIB identifier with IANA name IBM864. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM864 MIB = 2051 - - // IBM865 is the MIB identifier with IANA name IBM865. - // - // IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987) - // Reference: RFC1345 - IBM865 MIB = 2052 - - // IBM868 is the MIB identifier with IANA name IBM868. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM868 MIB = 2053 - - // IBM869 is the MIB identifier with IANA name IBM869. - // - // IBM Keyboard layouts and code pages, PN 07G4586 June 1991 - // Reference: RFC1345 - IBM869 MIB = 2054 - - // IBM870 is the MIB identifier with IANA name IBM870. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM870 MIB = 2055 - - // IBM871 is the MIB identifier with IANA name IBM871. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM871 MIB = 2056 - - // IBM880 is the MIB identifier with IANA name IBM880. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM880 MIB = 2057 - - // IBM891 is the MIB identifier with IANA name IBM891. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM891 MIB = 2058 - - // IBM903 is the MIB identifier with IANA name IBM903. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM903 MIB = 2059 - - // IBBM904 is the MIB identifier with IANA name IBM904. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBBM904 MIB = 2060 - - // IBM905 is the MIB identifier with IANA name IBM905. - // - // IBM 3174 Character Set Ref, GA27-3831-02, March 1990 - // Reference: RFC1345 - IBM905 MIB = 2061 - - // IBM918 is the MIB identifier with IANA name IBM918. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM918 MIB = 2062 - - // IBM1026 is the MIB identifier with IANA name IBM1026. - // - // IBM NLS RM Vol2 SE09-8002-01, March 1990 - // Reference: RFC1345 - IBM1026 MIB = 2063 - - // IBMEBCDICATDE is the MIB identifier with IANA name EBCDIC-AT-DE. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - IBMEBCDICATDE MIB = 2064 - - // EBCDICATDEA is the MIB identifier with IANA name EBCDIC-AT-DE-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICATDEA MIB = 2065 - - // EBCDICCAFR is the MIB identifier with IANA name EBCDIC-CA-FR. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICCAFR MIB = 2066 - - // EBCDICDKNO is the MIB identifier with IANA name EBCDIC-DK-NO. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICDKNO MIB = 2067 - - // EBCDICDKNOA is the MIB identifier with IANA name EBCDIC-DK-NO-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICDKNOA MIB = 2068 - - // EBCDICFISE is the MIB identifier with IANA name EBCDIC-FI-SE. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFISE MIB = 2069 - - // EBCDICFISEA is the MIB identifier with IANA name EBCDIC-FI-SE-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFISEA MIB = 2070 - - // EBCDICFR is the MIB identifier with IANA name EBCDIC-FR. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICFR MIB = 2071 - - // EBCDICIT is the MIB identifier with IANA name EBCDIC-IT. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICIT MIB = 2072 - - // EBCDICPT is the MIB identifier with IANA name EBCDIC-PT. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICPT MIB = 2073 - - // EBCDICES is the MIB identifier with IANA name EBCDIC-ES. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICES MIB = 2074 - - // EBCDICESA is the MIB identifier with IANA name EBCDIC-ES-A. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICESA MIB = 2075 - - // EBCDICESS is the MIB identifier with IANA name EBCDIC-ES-S. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICESS MIB = 2076 - - // EBCDICUK is the MIB identifier with IANA name EBCDIC-UK. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICUK MIB = 2077 - - // EBCDICUS is the MIB identifier with IANA name EBCDIC-US. - // - // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987 - // Reference: RFC1345 - EBCDICUS MIB = 2078 - - // Unknown8BiT is the MIB identifier with IANA name UNKNOWN-8BIT. - // - // Reference: RFC1428 - Unknown8BiT MIB = 2079 - - // Mnemonic is the MIB identifier with IANA name MNEMONIC. - // - // rfc1345 , also known as "mnemonic+ascii+38" - // Reference: RFC1345 - Mnemonic MIB = 2080 - - // Mnem is the MIB identifier with IANA name MNEM. - // - // rfc1345 , also known as "mnemonic+ascii+8200" - // Reference: RFC1345 - Mnem MIB = 2081 - - // VISCII is the MIB identifier with IANA name VISCII. - // - // rfc1456 - // Reference: RFC1456 - VISCII MIB = 2082 - - // VIQR is the MIB identifier with IANA name VIQR. - // - // rfc1456 - // Reference: RFC1456 - VIQR MIB = 2083 - - // KOI8R is the MIB identifier with IANA name KOI8-R (MIME: KOI8-R). - // - // rfc1489 , based on GOST-19768-74, ISO-6937/8, - // INIS-Cyrillic, ISO-5427. - // Reference: RFC1489 - KOI8R MIB = 2084 - - // HZGB2312 is the MIB identifier with IANA name HZ-GB-2312. - // - // rfc1842 , rfc1843 rfc1843 rfc1842 - HZGB2312 MIB = 2085 - - // IBM866 is the MIB identifier with IANA name IBM866. - // - // IBM NLDG Volume 2 (SE09-8002-03) August 1994 - IBM866 MIB = 2086 - - // PC775Baltic is the MIB identifier with IANA name IBM775. - // - // HP PCL 5 Comparison Guide (P/N 5021-0329) pp B-13, 1996 - PC775Baltic MIB = 2087 - - // KOI8U is the MIB identifier with IANA name KOI8-U. - // - // rfc2319 - // Reference: RFC2319 - KOI8U MIB = 2088 - - // IBM00858 is the MIB identifier with IANA name IBM00858. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM00858 - IBM00858 MIB = 2089 - - // IBM00924 is the MIB identifier with IANA name IBM00924. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM00924 - IBM00924 MIB = 2090 - - // IBM01140 is the MIB identifier with IANA name IBM01140. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01140 - IBM01140 MIB = 2091 - - // IBM01141 is the MIB identifier with IANA name IBM01141. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01141 - IBM01141 MIB = 2092 - - // IBM01142 is the MIB identifier with IANA name IBM01142. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01142 - IBM01142 MIB = 2093 - - // IBM01143 is the MIB identifier with IANA name IBM01143. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01143 - IBM01143 MIB = 2094 - - // IBM01144 is the MIB identifier with IANA name IBM01144. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01144 - IBM01144 MIB = 2095 - - // IBM01145 is the MIB identifier with IANA name IBM01145. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01145 - IBM01145 MIB = 2096 - - // IBM01146 is the MIB identifier with IANA name IBM01146. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01146 - IBM01146 MIB = 2097 - - // IBM01147 is the MIB identifier with IANA name IBM01147. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01147 - IBM01147 MIB = 2098 - - // IBM01148 is the MIB identifier with IANA name IBM01148. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01148 - IBM01148 MIB = 2099 - - // IBM01149 is the MIB identifier with IANA name IBM01149. - // - // IBM See http://www.iana.org/assignments/charset-reg/IBM01149 - IBM01149 MIB = 2100 - - // Big5HKSCS is the MIB identifier with IANA name Big5-HKSCS. - // - // See http://www.iana.org/assignments/charset-reg/Big5-HKSCS - Big5HKSCS MIB = 2101 - - // IBM1047 is the MIB identifier with IANA name IBM1047. - // - // IBM1047 (EBCDIC Latin 1/Open Systems) http://www-1.ibm.com/servers/eserver/iseries/software/globalization/pdf/cp01047z.pdf - IBM1047 MIB = 2102 - - // PTCP154 is the MIB identifier with IANA name PTCP154. - // - // See http://www.iana.org/assignments/charset-reg/PTCP154 - PTCP154 MIB = 2103 - - // Amiga1251 is the MIB identifier with IANA name Amiga-1251. - // - // See http://www.amiga.ultranet.ru/Amiga-1251.html - Amiga1251 MIB = 2104 - - // KOI7switched is the MIB identifier with IANA name KOI7-switched. - // - // See http://www.iana.org/assignments/charset-reg/KOI7-switched - KOI7switched MIB = 2105 - - // BRF is the MIB identifier with IANA name BRF. - // - // See http://www.iana.org/assignments/charset-reg/BRF - BRF MIB = 2106 - - // TSCII is the MIB identifier with IANA name TSCII. - // - // See http://www.iana.org/assignments/charset-reg/TSCII - TSCII MIB = 2107 - - // CP51932 is the MIB identifier with IANA name CP51932. - // - // See http://www.iana.org/assignments/charset-reg/CP51932 - CP51932 MIB = 2108 - - // Windows874 is the MIB identifier with IANA name windows-874. - // - // See http://www.iana.org/assignments/charset-reg/windows-874 - Windows874 MIB = 2109 - - // Windows1250 is the MIB identifier with IANA name windows-1250. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1250 - Windows1250 MIB = 2250 - - // Windows1251 is the MIB identifier with IANA name windows-1251. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1251 - Windows1251 MIB = 2251 - - // Windows1252 is the MIB identifier with IANA name windows-1252. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1252 - Windows1252 MIB = 2252 - - // Windows1253 is the MIB identifier with IANA name windows-1253. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1253 - Windows1253 MIB = 2253 - - // Windows1254 is the MIB identifier with IANA name windows-1254. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1254 - Windows1254 MIB = 2254 - - // Windows1255 is the MIB identifier with IANA name windows-1255. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1255 - Windows1255 MIB = 2255 - - // Windows1256 is the MIB identifier with IANA name windows-1256. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1256 - Windows1256 MIB = 2256 - - // Windows1257 is the MIB identifier with IANA name windows-1257. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1257 - Windows1257 MIB = 2257 - - // Windows1258 is the MIB identifier with IANA name windows-1258. - // - // Microsoft http://www.iana.org/assignments/charset-reg/windows-1258 - Windows1258 MIB = 2258 - - // TIS620 is the MIB identifier with IANA name TIS-620. - // - // Thai Industrial Standards Institute (TISI) - TIS620 MIB = 2259 - - // CP50220 is the MIB identifier with IANA name CP50220. - // - // See http://www.iana.org/assignments/charset-reg/CP50220 - CP50220 MIB = 2260 -) diff --git a/vendor/golang.org/x/text/encoding/internal/internal.go b/vendor/golang.org/x/text/encoding/internal/internal.go deleted file mode 100644 index 75a5fd1..0000000 --- a/vendor/golang.org/x/text/encoding/internal/internal.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2015 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. - -// Package internal contains code that is shared among encoding implementations. -package internal - -import ( - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// Encoding is an implementation of the Encoding interface that adds the String -// and ID methods to an existing encoding. -type Encoding struct { - encoding.Encoding - Name string - MIB identifier.MIB -} - -// _ verifies that Encoding implements identifier.Interface. -var _ identifier.Interface = (*Encoding)(nil) - -func (e *Encoding) String() string { - return e.Name -} - -func (e *Encoding) ID() (mib identifier.MIB, other string) { - return e.MIB, "" -} - -// SimpleEncoding is an Encoding that combines two Transformers. -type SimpleEncoding struct { - Decoder transform.Transformer - Encoder transform.Transformer -} - -func (e *SimpleEncoding) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: e.Decoder} -} - -func (e *SimpleEncoding) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: e.Encoder} -} - -// FuncEncoding is an Encoding that combines two functions returning a new -// Transformer. -type FuncEncoding struct { - Decoder func() transform.Transformer - Encoder func() transform.Transformer -} - -func (e FuncEncoding) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: e.Decoder()} -} - -func (e FuncEncoding) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: e.Encoder()} -} - -// A RepertoireError indicates a rune is not in the repertoire of a destination -// encoding. It is associated with an encoding-specific suggested replacement -// byte. -type RepertoireError byte - -// Error implements the error interrface. -func (r RepertoireError) Error() string { - return "encoding: rune not supported by encoding." -} - -// Replacement returns the replacement string associated with this error. -func (r RepertoireError) Replacement() byte { return byte(r) } - -var ErrASCIIReplacement = RepertoireError(encoding.ASCIISub) diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go deleted file mode 100644 index 5ecc526..0000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2015 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. - -package simplifiedchinese - -import ( - "golang.org/x/text/encoding" -) - -// All is a list of all defined encodings in this package. -var All = []encoding.Encoding{GB18030, GBK, HZGB2312} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go deleted file mode 100644 index e0b15bb..0000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go +++ /dev/null @@ -1,281 +0,0 @@ -// Copyright 2013 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. - -package simplifiedchinese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -var ( - // GB18030 is the GB18030 encoding. - GB18030 encoding.Encoding = &gbk18030 - // GBK is the GBK encoding. It encodes an extension of the GB2312 character set - // and is also known as Code Page 936. - GBK encoding.Encoding = &gbk -) - -var gbk = internal.Encoding{ - &internal.SimpleEncoding{ - gbkDecoder{gb18030: false}, - gbkEncoder{gb18030: false}, - }, - "GBK", - identifier.GBK, -} - -var gbk18030 = internal.Encoding{ - &internal.SimpleEncoding{ - gbkDecoder{gb18030: true}, - gbkEncoder{gb18030: true}, - }, - "GB18030", - identifier.GB18030, -} - -var ( - errInvalidGB18030 = errors.New("simplifiedchinese: invalid GB18030 encoding") - errInvalidGBK = errors.New("simplifiedchinese: invalid GBK encoding") -) - -type gbkDecoder struct { - transform.NopResetter - gb18030 bool -} - -func (d gbkDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - switch c0 := src[nSrc]; { - case c0 < utf8.RuneSelf: - r, size = rune(c0), 1 - - // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC - // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk - // says to treat "gbk" as Code Page 936. - case c0 == 0x80: - r, size = '€', 1 - - case c0 < 0xff: - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - switch { - case 0x40 <= c1 && c1 < 0x7f: - c1 -= 0x40 - case 0x80 <= c1 && c1 < 0xff: - c1 -= 0x41 - case d.gb18030 && 0x30 <= c1 && c1 < 0x40: - if nSrc+3 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c2 := src[nSrc+2] - if c2 < 0x81 || 0xff <= c2 { - err = errInvalidGB18030 - break loop - } - c3 := src[nSrc+3] - if c3 < 0x30 || 0x3a <= c3 { - err = errInvalidGB18030 - break loop - } - size = 4 - r = ((rune(c0-0x81)*10+rune(c1-0x30))*126+rune(c2-0x81))*10 + rune(c3-0x30) - if r < 39420 { - i, j := 0, len(gb18030) - for i < j { - h := i + (j-i)/2 - if r >= rune(gb18030[h][0]) { - i = h + 1 - } else { - j = h - } - } - dec := &gb18030[i-1] - r += rune(dec[1]) - rune(dec[0]) - goto write - } - r -= 189000 - if 0 <= r && r < 0x100000 { - r += 0x10000 - goto write - } - err = errInvalidGB18030 - break loop - default: - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - break loop - } - r, size = '\ufffd', 2 - if i := int(c0-0x81)*190 + int(c1); i < len(decode) { - r = rune(decode[i]) - if r == 0 { - r = '\ufffd' - } - } - - default: - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - break loop - } - - write: - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - if d.gb18030 { - err = errInvalidGB18030 - } else { - err = errInvalidGBK - } - } - return nDst, nSrc, err -} - -type gbkEncoder struct { - transform.NopResetter - gb18030 bool -} - -func (e gbkEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, r2, size := rune(0), rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - - } else { - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r2 = rune(encode0[r-encode0Low]); r2 != 0 { - goto write2 - } - case encode1Low <= r && r < encode1High: - // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC - // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk - // says to treat "gbk" as Code Page 936. - if r == '€' { - r = 0x80 - goto write1 - } - if r2 = rune(encode1[r-encode1Low]); r2 != 0 { - goto write2 - } - case encode2Low <= r && r < encode2High: - if r2 = rune(encode2[r-encode2Low]); r2 != 0 { - goto write2 - } - case encode3Low <= r && r < encode3High: - if r2 = rune(encode3[r-encode3Low]); r2 != 0 { - goto write2 - } - case encode4Low <= r && r < encode4High: - if r2 = rune(encode4[r-encode4Low]); r2 != 0 { - goto write2 - } - } - - if e.gb18030 { - if r < 0x10000 { - i, j := 0, len(gb18030) - for i < j { - h := i + (j-i)/2 - if r >= rune(gb18030[h][1]) { - i = h + 1 - } else { - j = h - } - } - dec := &gb18030[i-1] - r += rune(dec[0]) - rune(dec[1]) - goto write4 - } else if r < 0x110000 { - r += 189000 - 0x10000 - goto write4 - } - } - err = internal.ErrASCIIReplacement - break - } - - write1: - if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst++ - continue - - write2: - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = uint8(r2 >> 8) - dst[nDst+1] = uint8(r2) - nDst += 2 - continue - - write4: - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+3] = uint8(r%10 + 0x30) - r /= 10 - dst[nDst+2] = uint8(r%126 + 0x81) - r /= 126 - dst[nDst+1] = uint8(r%10 + 0x30) - r /= 10 - dst[nDst+0] = uint8(r + 0x81) - nDst += 4 - continue - } - return nDst, nSrc, err -} - -func init() { - // Check that the hard-coded encode switch covers all tables. - if numEncodeTables != 5 { - panic("bad numEncodeTables") - } -} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go deleted file mode 100644 index 85de6b1..0000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright 2013 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. - -package simplifiedchinese - -import ( - "errors" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/internal" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/transform" -) - -// HZGB2312 is the HZ-GB2312 encoding. -var HZGB2312 encoding.Encoding = &hzGB2312 - -var hzGB2312 = internal.Encoding{ - internal.FuncEncoding{hzGB2312NewDecoder, hzGB2312NewEncoder}, - "HZ-GB2312", - identifier.HZGB2312, -} - -func hzGB2312NewDecoder() transform.Transformer { - return new(hzGB2312Decoder) -} - -func hzGB2312NewEncoder() transform.Transformer { - return new(hzGB2312Encoder) -} - -var errInvalidHZGB2312 = errors.New("simplifiedchinese: invalid HZ-GB2312 encoding") - -const ( - asciiState = iota - gbState -) - -type hzGB2312Decoder int - -func (d *hzGB2312Decoder) Reset() { - *d = asciiState -} - -func (d *hzGB2312Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 -loop: - for ; nSrc < len(src); nSrc += size { - c0 := src[nSrc] - if c0 >= utf8.RuneSelf { - err = errInvalidHZGB2312 - break loop - } - - if c0 == '~' { - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - size = 2 - switch src[nSrc+1] { - case '{': - *d = gbState - continue - case '}': - *d = asciiState - continue - case '~': - if nDst >= len(dst) { - err = transform.ErrShortDst - break loop - } - dst[nDst] = '~' - nDst++ - continue - case '\n': - continue - default: - err = errInvalidHZGB2312 - break loop - } - } - - if *d == asciiState { - r, size = rune(c0), 1 - } else { - if nSrc+1 >= len(src) { - err = transform.ErrShortSrc - break loop - } - c1 := src[nSrc+1] - if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 { - err = errInvalidHZGB2312 - break loop - } - - r, size = '\ufffd', 2 - if i := int(c0-0x01)*190 + int(c1+0x3f); i < len(decode) { - r = rune(decode[i]) - if r == 0 { - r = '\ufffd' - } - } - } - - if nDst+utf8.RuneLen(r) > len(dst) { - err = transform.ErrShortDst - break loop - } - nDst += utf8.EncodeRune(dst[nDst:], r) - } - if atEOF && err == transform.ErrShortSrc { - err = errInvalidHZGB2312 - } - return nDst, nSrc, err -} - -type hzGB2312Encoder int - -func (d *hzGB2312Encoder) Reset() { - *d = asciiState -} - -func (e *hzGB2312Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - r, size := rune(0), 0 - for ; nSrc < len(src); nSrc += size { - r = rune(src[nSrc]) - - // Decode a 1-byte rune. - if r < utf8.RuneSelf { - size = 1 - if r == '~' { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = '~' - dst[nDst+1] = '~' - nDst += 2 - continue - } else if *e != asciiState { - if nDst+3 > len(dst) { - err = transform.ErrShortDst - break - } - *e = asciiState - dst[nDst+0] = '~' - dst[nDst+1] = '}' - nDst += 2 - } else if nDst >= len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst] = uint8(r) - nDst += 1 - continue - - } - - // Decode a multi-byte rune. - r, size = utf8.DecodeRune(src[nSrc:]) - if size == 1 { - // All valid runes of size 1 (those below utf8.RuneSelf) were - // handled above. We have invalid UTF-8 or we haven't seen the - // full character yet. - if !atEOF && !utf8.FullRune(src[nSrc:]) { - err = transform.ErrShortSrc - break - } - } - - // func init checks that the switch covers all tables. - switch { - case encode0Low <= r && r < encode0High: - if r = rune(encode0[r-encode0Low]); r != 0 { - goto writeGB - } - case encode1Low <= r && r < encode1High: - if r = rune(encode1[r-encode1Low]); r != 0 { - goto writeGB - } - case encode2Low <= r && r < encode2High: - if r = rune(encode2[r-encode2Low]); r != 0 { - goto writeGB - } - case encode3Low <= r && r < encode3High: - if r = rune(encode3[r-encode3Low]); r != 0 { - goto writeGB - } - case encode4Low <= r && r < encode4High: - if r = rune(encode4[r-encode4Low]); r != 0 { - goto writeGB - } - } - - terminateInASCIIState: - // Switch back to ASCII state in case of error so that an ASCII - // replacement character can be written in the correct state. - if *e != asciiState { - if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = '~' - dst[nDst+1] = '}' - nDst += 2 - } - err = internal.ErrASCIIReplacement - break - - writeGB: - c0 := uint8(r>>8) - 0x80 - c1 := uint8(r) - 0x80 - if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 { - goto terminateInASCIIState - } - if *e == asciiState { - if nDst+4 > len(dst) { - err = transform.ErrShortDst - break - } - *e = gbState - dst[nDst+0] = '~' - dst[nDst+1] = '{' - nDst += 2 - } else if nDst+2 > len(dst) { - err = transform.ErrShortDst - break - } - dst[nDst+0] = c0 - dst[nDst+1] = c1 - nDst += 2 - continue - } - // TODO: should one always terminate in ASCII state to make it safe to - // concatenate two HZ-GB2312-encoded strings? - return nDst, nSrc, err -} diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go deleted file mode 100644 index 55016c7..0000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2013 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. - -// +build ignore - -package main - -// This program generates tables.go: -// go run maketables.go | gofmt > tables.go - -import ( - "bufio" - "fmt" - "log" - "net/http" - "sort" - "strings" -) - -func main() { - fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") - fmt.Printf("// Package simplifiedchinese provides Simplified Chinese encodings such as GBK.\n") - fmt.Printf(`package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese"` + "\n\n") - - printGB18030() - printGBK() -} - -func printGB18030() { - res, err := http.Get("http://encoding.spec.whatwg.org/index-gb18030.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - fmt.Printf("// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt\n") - fmt.Printf("var gb18030 = [...][2]uint16{\n") - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint32(0), uint32(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0x10000 && y < 0x10000 { - fmt.Printf("\t{0x%04x, 0x%04x},\n", x, y) - } - } - fmt.Printf("}\n\n") -} - -func printGBK() { - res, err := http.Get("http://encoding.spec.whatwg.org/index-gbk.txt") - if err != nil { - log.Fatalf("Get: %v", err) - } - defer res.Body.Close() - - mapping := [65536]uint16{} - reverse := [65536]uint16{} - - scanner := bufio.NewScanner(res.Body) - for scanner.Scan() { - s := strings.TrimSpace(scanner.Text()) - if s == "" || s[0] == '#' { - continue - } - x, y := uint16(0), uint16(0) - if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { - log.Fatalf("could not parse %q", s) - } - if x < 0 || 126*190 <= x { - log.Fatalf("GBK code %d is out of range", x) - } - mapping[x] = y - if reverse[y] == 0 { - c0, c1 := x/190, x%190 - if c1 >= 0x3f { - c1++ - } - reverse[y] = (0x81+c0)<<8 | (0x40 + c1) - } - } - if err := scanner.Err(); err != nil { - log.Fatalf("scanner error: %v", err) - } - - fmt.Printf("// decode is the decoding table from GBK code to Unicode.\n") - fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt\n") - fmt.Printf("var decode = [...]uint16{\n") - for i, v := range mapping { - if v != 0 { - fmt.Printf("\t%d: 0x%04X,\n", i, v) - } - } - fmt.Printf("}\n\n") - - // Any run of at least separation continuous zero entries in the reverse map will - // be a separate encode table. - const separation = 1024 - - intervals := []interval(nil) - low, high := -1, -1 - for i, v := range reverse { - if v == 0 { - continue - } - if low < 0 { - low = i - } else if i-high >= separation { - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - low = i - } - high = i + 1 - } - if high >= 0 { - intervals = append(intervals, interval{low, high}) - } - sort.Sort(byDecreasingLength(intervals)) - - fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) - fmt.Printf("// encodeX are the encoding tables from Unicode to GBK code,\n") - fmt.Printf("// sorted by decreasing length.\n") - for i, v := range intervals { - fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) - } - fmt.Printf("\n") - - for i, v := range intervals { - fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) - fmt.Printf("var encode%d = [...]uint16{\n", i) - for j := v.low; j < v.high; j++ { - x := reverse[j] - if x == 0 { - continue - } - fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) - } - fmt.Printf("}\n\n") - } -} - -// interval is a half-open interval [low, high). -type interval struct { - low, high int -} - -func (i interval) len() int { return i.high - i.low } - -// byDecreasingLength sorts intervals by decreasing length. -type byDecreasingLength []interval - -func (b byDecreasingLength) Len() int { return len(b) } -func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } -func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go deleted file mode 100644 index 415f52a..0000000 --- a/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go +++ /dev/null @@ -1,43999 +0,0 @@ -// generated by go run maketables.go; DO NOT EDIT - -// Package simplifiedchinese provides Simplified Chinese encodings such as GBK. -package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese" - -// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt -var gb18030 = [...][2]uint16{ - {0x0000, 0x0080}, - {0x0024, 0x00a5}, - {0x0026, 0x00a9}, - {0x002d, 0x00b2}, - {0x0032, 0x00b8}, - {0x0051, 0x00d8}, - {0x0059, 0x00e2}, - {0x005f, 0x00eb}, - {0x0060, 0x00ee}, - {0x0064, 0x00f4}, - {0x0067, 0x00f8}, - {0x0068, 0x00fb}, - {0x0069, 0x00fd}, - {0x006d, 0x0102}, - {0x007e, 0x0114}, - {0x0085, 0x011c}, - {0x0094, 0x012c}, - {0x00ac, 0x0145}, - {0x00af, 0x0149}, - {0x00b3, 0x014e}, - {0x00d0, 0x016c}, - {0x0132, 0x01cf}, - {0x0133, 0x01d1}, - {0x0134, 0x01d3}, - {0x0135, 0x01d5}, - {0x0136, 0x01d7}, - {0x0137, 0x01d9}, - {0x0138, 0x01db}, - {0x0139, 0x01dd}, - {0x0155, 0x01fa}, - {0x01ac, 0x0252}, - {0x01bb, 0x0262}, - {0x0220, 0x02c8}, - {0x0221, 0x02cc}, - {0x022e, 0x02da}, - {0x02e5, 0x03a2}, - {0x02e6, 0x03aa}, - {0x02ed, 0x03c2}, - {0x02ee, 0x03ca}, - {0x0325, 0x0402}, - {0x0333, 0x0450}, - {0x0334, 0x0452}, - {0x1ef2, 0x2011}, - {0x1ef4, 0x2017}, - {0x1ef5, 0x201a}, - {0x1ef7, 0x201e}, - {0x1efe, 0x2027}, - {0x1f07, 0x2031}, - {0x1f08, 0x2034}, - {0x1f09, 0x2036}, - {0x1f0e, 0x203c}, - {0x1f7e, 0x20ad}, - {0x1fd4, 0x2104}, - {0x1fd5, 0x2106}, - {0x1fd8, 0x210a}, - {0x1fe4, 0x2117}, - {0x1fee, 0x2122}, - {0x202c, 0x216c}, - {0x2030, 0x217a}, - {0x2046, 0x2194}, - {0x2048, 0x219a}, - {0x20b6, 0x2209}, - {0x20bc, 0x2210}, - {0x20bd, 0x2212}, - {0x20c0, 0x2216}, - {0x20c4, 0x221b}, - {0x20c6, 0x2221}, - {0x20c8, 0x2224}, - {0x20c9, 0x2226}, - {0x20ca, 0x222c}, - {0x20cc, 0x222f}, - {0x20d1, 0x2238}, - {0x20d6, 0x223e}, - {0x20e0, 0x2249}, - {0x20e3, 0x224d}, - {0x20e8, 0x2253}, - {0x20f5, 0x2262}, - {0x20f7, 0x2268}, - {0x20fd, 0x2270}, - {0x2122, 0x2296}, - {0x2125, 0x229a}, - {0x2130, 0x22a6}, - {0x2149, 0x22c0}, - {0x219b, 0x2313}, - {0x22e8, 0x246a}, - {0x22f2, 0x249c}, - {0x2356, 0x254c}, - {0x235a, 0x2574}, - {0x2367, 0x2590}, - {0x236a, 0x2596}, - {0x2374, 0x25a2}, - {0x2384, 0x25b4}, - {0x238c, 0x25be}, - {0x2394, 0x25c8}, - {0x2397, 0x25cc}, - {0x2399, 0x25d0}, - {0x23ab, 0x25e6}, - {0x23ca, 0x2607}, - {0x23cc, 0x260a}, - {0x2402, 0x2641}, - {0x2403, 0x2643}, - {0x2c41, 0x2e82}, - {0x2c43, 0x2e85}, - {0x2c46, 0x2e89}, - {0x2c48, 0x2e8d}, - {0x2c52, 0x2e98}, - {0x2c61, 0x2ea8}, - {0x2c63, 0x2eab}, - {0x2c66, 0x2eaf}, - {0x2c6a, 0x2eb4}, - {0x2c6c, 0x2eb8}, - {0x2c6f, 0x2ebc}, - {0x2c7d, 0x2ecb}, - {0x2da2, 0x2ffc}, - {0x2da6, 0x3004}, - {0x2da7, 0x3018}, - {0x2dac, 0x301f}, - {0x2dae, 0x302a}, - {0x2dc2, 0x303f}, - {0x2dc4, 0x3094}, - {0x2dcb, 0x309f}, - {0x2dcd, 0x30f7}, - {0x2dd2, 0x30ff}, - {0x2dd8, 0x312a}, - {0x2ece, 0x322a}, - {0x2ed5, 0x3232}, - {0x2f46, 0x32a4}, - {0x3030, 0x3390}, - {0x303c, 0x339f}, - {0x303e, 0x33a2}, - {0x3060, 0x33c5}, - {0x3069, 0x33cf}, - {0x306b, 0x33d3}, - {0x306d, 0x33d6}, - {0x30de, 0x3448}, - {0x3109, 0x3474}, - {0x3233, 0x359f}, - {0x32a2, 0x360f}, - {0x32ad, 0x361b}, - {0x35aa, 0x3919}, - {0x35ff, 0x396f}, - {0x365f, 0x39d1}, - {0x366d, 0x39e0}, - {0x3700, 0x3a74}, - {0x37da, 0x3b4f}, - {0x38f9, 0x3c6f}, - {0x396a, 0x3ce1}, - {0x3cdf, 0x4057}, - {0x3de7, 0x4160}, - {0x3fbe, 0x4338}, - {0x4032, 0x43ad}, - {0x4036, 0x43b2}, - {0x4061, 0x43de}, - {0x4159, 0x44d7}, - {0x42ce, 0x464d}, - {0x42e2, 0x4662}, - {0x43a3, 0x4724}, - {0x43a8, 0x472a}, - {0x43fa, 0x477d}, - {0x440a, 0x478e}, - {0x45c3, 0x4948}, - {0x45f5, 0x497b}, - {0x45f7, 0x497e}, - {0x45fb, 0x4984}, - {0x45fc, 0x4987}, - {0x4610, 0x499c}, - {0x4613, 0x49a0}, - {0x4629, 0x49b8}, - {0x48e8, 0x4c78}, - {0x490f, 0x4ca4}, - {0x497e, 0x4d1a}, - {0x4a12, 0x4daf}, - {0x4a63, 0x9fa6}, - {0x82bd, 0xe76c}, - {0x82be, 0xe7c8}, - {0x82bf, 0xe7e7}, - {0x82cc, 0xe815}, - {0x82cd, 0xe819}, - {0x82d2, 0xe81f}, - {0x82d9, 0xe827}, - {0x82dd, 0xe82d}, - {0x82e1, 0xe833}, - {0x82e9, 0xe83c}, - {0x82f0, 0xe844}, - {0x8300, 0xe856}, - {0x830e, 0xe865}, - {0x93d5, 0xf92d}, - {0x9421, 0xf97a}, - {0x943c, 0xf996}, - {0x948d, 0xf9e8}, - {0x9496, 0xf9f2}, - {0x94b0, 0xfa10}, - {0x94b1, 0xfa12}, - {0x94b2, 0xfa15}, - {0x94b5, 0xfa19}, - {0x94bb, 0xfa22}, - {0x94bc, 0xfa25}, - {0x94be, 0xfa2a}, - {0x98c4, 0xfe32}, - {0x98c5, 0xfe45}, - {0x98c9, 0xfe53}, - {0x98ca, 0xfe58}, - {0x98cb, 0xfe67}, - {0x98cc, 0xfe6c}, - {0x9961, 0xff5f}, - {0x99e2, 0xffe6}, -} - -// decode is the decoding table from GBK code to Unicode. -// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt -var decode = [...]uint16{ - 0: 0x4E02, - 1: 0x4E04, - 2: 0x4E05, - 3: 0x4E06, - 4: 0x4E0F, - 5: 0x4E12, - 6: 0x4E17, - 7: 0x4E1F, - 8: 0x4E20, - 9: 0x4E21, - 10: 0x4E23, - 11: 0x4E26, - 12: 0x4E29, - 13: 0x4E2E, - 14: 0x4E2F, - 15: 0x4E31, - 16: 0x4E33, - 17: 0x4E35, - 18: 0x4E37, - 19: 0x4E3C, - 20: 0x4E40, - 21: 0x4E41, - 22: 0x4E42, - 23: 0x4E44, - 24: 0x4E46, - 25: 0x4E4A, - 26: 0x4E51, - 27: 0x4E55, - 28: 0x4E57, - 29: 0x4E5A, - 30: 0x4E5B, - 31: 0x4E62, - 32: 0x4E63, - 33: 0x4E64, - 34: 0x4E65, - 35: 0x4E67, - 36: 0x4E68, - 37: 0x4E6A, - 38: 0x4E6B, - 39: 0x4E6C, - 40: 0x4E6D, - 41: 0x4E6E, - 42: 0x4E6F, - 43: 0x4E72, - 44: 0x4E74, - 45: 0x4E75, - 46: 0x4E76, - 47: 0x4E77, - 48: 0x4E78, - 49: 0x4E79, - 50: 0x4E7A, - 51: 0x4E7B, - 52: 0x4E7C, - 53: 0x4E7D, - 54: 0x4E7F, - 55: 0x4E80, - 56: 0x4E81, - 57: 0x4E82, - 58: 0x4E83, - 59: 0x4E84, - 60: 0x4E85, - 61: 0x4E87, - 62: 0x4E8A, - 63: 0x4E90, - 64: 0x4E96, - 65: 0x4E97, - 66: 0x4E99, - 67: 0x4E9C, - 68: 0x4E9D, - 69: 0x4E9E, - 70: 0x4EA3, - 71: 0x4EAA, - 72: 0x4EAF, - 73: 0x4EB0, - 74: 0x4EB1, - 75: 0x4EB4, - 76: 0x4EB6, - 77: 0x4EB7, - 78: 0x4EB8, - 79: 0x4EB9, - 80: 0x4EBC, - 81: 0x4EBD, - 82: 0x4EBE, - 83: 0x4EC8, - 84: 0x4ECC, - 85: 0x4ECF, - 86: 0x4ED0, - 87: 0x4ED2, - 88: 0x4EDA, - 89: 0x4EDB, - 90: 0x4EDC, - 91: 0x4EE0, - 92: 0x4EE2, - 93: 0x4EE6, - 94: 0x4EE7, - 95: 0x4EE9, - 96: 0x4EED, - 97: 0x4EEE, - 98: 0x4EEF, - 99: 0x4EF1, - 100: 0x4EF4, - 101: 0x4EF8, - 102: 0x4EF9, - 103: 0x4EFA, - 104: 0x4EFC, - 105: 0x4EFE, - 106: 0x4F00, - 107: 0x4F02, - 108: 0x4F03, - 109: 0x4F04, - 110: 0x4F05, - 111: 0x4F06, - 112: 0x4F07, - 113: 0x4F08, - 114: 0x4F0B, - 115: 0x4F0C, - 116: 0x4F12, - 117: 0x4F13, - 118: 0x4F14, - 119: 0x4F15, - 120: 0x4F16, - 121: 0x4F1C, - 122: 0x4F1D, - 123: 0x4F21, - 124: 0x4F23, - 125: 0x4F28, - 126: 0x4F29, - 127: 0x4F2C, - 128: 0x4F2D, - 129: 0x4F2E, - 130: 0x4F31, - 131: 0x4F33, - 132: 0x4F35, - 133: 0x4F37, - 134: 0x4F39, - 135: 0x4F3B, - 136: 0x4F3E, - 137: 0x4F3F, - 138: 0x4F40, - 139: 0x4F41, - 140: 0x4F42, - 141: 0x4F44, - 142: 0x4F45, - 143: 0x4F47, - 144: 0x4F48, - 145: 0x4F49, - 146: 0x4F4A, - 147: 0x4F4B, - 148: 0x4F4C, - 149: 0x4F52, - 150: 0x4F54, - 151: 0x4F56, - 152: 0x4F61, - 153: 0x4F62, - 154: 0x4F66, - 155: 0x4F68, - 156: 0x4F6A, - 157: 0x4F6B, - 158: 0x4F6D, - 159: 0x4F6E, - 160: 0x4F71, - 161: 0x4F72, - 162: 0x4F75, - 163: 0x4F77, - 164: 0x4F78, - 165: 0x4F79, - 166: 0x4F7A, - 167: 0x4F7D, - 168: 0x4F80, - 169: 0x4F81, - 170: 0x4F82, - 171: 0x4F85, - 172: 0x4F86, - 173: 0x4F87, - 174: 0x4F8A, - 175: 0x4F8C, - 176: 0x4F8E, - 177: 0x4F90, - 178: 0x4F92, - 179: 0x4F93, - 180: 0x4F95, - 181: 0x4F96, - 182: 0x4F98, - 183: 0x4F99, - 184: 0x4F9A, - 185: 0x4F9C, - 186: 0x4F9E, - 187: 0x4F9F, - 188: 0x4FA1, - 189: 0x4FA2, - 190: 0x4FA4, - 191: 0x4FAB, - 192: 0x4FAD, - 193: 0x4FB0, - 194: 0x4FB1, - 195: 0x4FB2, - 196: 0x4FB3, - 197: 0x4FB4, - 198: 0x4FB6, - 199: 0x4FB7, - 200: 0x4FB8, - 201: 0x4FB9, - 202: 0x4FBA, - 203: 0x4FBB, - 204: 0x4FBC, - 205: 0x4FBD, - 206: 0x4FBE, - 207: 0x4FC0, - 208: 0x4FC1, - 209: 0x4FC2, - 210: 0x4FC6, - 211: 0x4FC7, - 212: 0x4FC8, - 213: 0x4FC9, - 214: 0x4FCB, - 215: 0x4FCC, - 216: 0x4FCD, - 217: 0x4FD2, - 218: 0x4FD3, - 219: 0x4FD4, - 220: 0x4FD5, - 221: 0x4FD6, - 222: 0x4FD9, - 223: 0x4FDB, - 224: 0x4FE0, - 225: 0x4FE2, - 226: 0x4FE4, - 227: 0x4FE5, - 228: 0x4FE7, - 229: 0x4FEB, - 230: 0x4FEC, - 231: 0x4FF0, - 232: 0x4FF2, - 233: 0x4FF4, - 234: 0x4FF5, - 235: 0x4FF6, - 236: 0x4FF7, - 237: 0x4FF9, - 238: 0x4FFB, - 239: 0x4FFC, - 240: 0x4FFD, - 241: 0x4FFF, - 242: 0x5000, - 243: 0x5001, - 244: 0x5002, - 245: 0x5003, - 246: 0x5004, - 247: 0x5005, - 248: 0x5006, - 249: 0x5007, - 250: 0x5008, - 251: 0x5009, - 252: 0x500A, - 253: 0x500B, - 254: 0x500E, - 255: 0x5010, - 256: 0x5011, - 257: 0x5013, - 258: 0x5015, - 259: 0x5016, - 260: 0x5017, - 261: 0x501B, - 262: 0x501D, - 263: 0x501E, - 264: 0x5020, - 265: 0x5022, - 266: 0x5023, - 267: 0x5024, - 268: 0x5027, - 269: 0x502B, - 270: 0x502F, - 271: 0x5030, - 272: 0x5031, - 273: 0x5032, - 274: 0x5033, - 275: 0x5034, - 276: 0x5035, - 277: 0x5036, - 278: 0x5037, - 279: 0x5038, - 280: 0x5039, - 281: 0x503B, - 282: 0x503D, - 283: 0x503F, - 284: 0x5040, - 285: 0x5041, - 286: 0x5042, - 287: 0x5044, - 288: 0x5045, - 289: 0x5046, - 290: 0x5049, - 291: 0x504A, - 292: 0x504B, - 293: 0x504D, - 294: 0x5050, - 295: 0x5051, - 296: 0x5052, - 297: 0x5053, - 298: 0x5054, - 299: 0x5056, - 300: 0x5057, - 301: 0x5058, - 302: 0x5059, - 303: 0x505B, - 304: 0x505D, - 305: 0x505E, - 306: 0x505F, - 307: 0x5060, - 308: 0x5061, - 309: 0x5062, - 310: 0x5063, - 311: 0x5064, - 312: 0x5066, - 313: 0x5067, - 314: 0x5068, - 315: 0x5069, - 316: 0x506A, - 317: 0x506B, - 318: 0x506D, - 319: 0x506E, - 320: 0x506F, - 321: 0x5070, - 322: 0x5071, - 323: 0x5072, - 324: 0x5073, - 325: 0x5074, - 326: 0x5075, - 327: 0x5078, - 328: 0x5079, - 329: 0x507A, - 330: 0x507C, - 331: 0x507D, - 332: 0x5081, - 333: 0x5082, - 334: 0x5083, - 335: 0x5084, - 336: 0x5086, - 337: 0x5087, - 338: 0x5089, - 339: 0x508A, - 340: 0x508B, - 341: 0x508C, - 342: 0x508E, - 343: 0x508F, - 344: 0x5090, - 345: 0x5091, - 346: 0x5092, - 347: 0x5093, - 348: 0x5094, - 349: 0x5095, - 350: 0x5096, - 351: 0x5097, - 352: 0x5098, - 353: 0x5099, - 354: 0x509A, - 355: 0x509B, - 356: 0x509C, - 357: 0x509D, - 358: 0x509E, - 359: 0x509F, - 360: 0x50A0, - 361: 0x50A1, - 362: 0x50A2, - 363: 0x50A4, - 364: 0x50A6, - 365: 0x50AA, - 366: 0x50AB, - 367: 0x50AD, - 368: 0x50AE, - 369: 0x50AF, - 370: 0x50B0, - 371: 0x50B1, - 372: 0x50B3, - 373: 0x50B4, - 374: 0x50B5, - 375: 0x50B6, - 376: 0x50B7, - 377: 0x50B8, - 378: 0x50B9, - 379: 0x50BC, - 380: 0x50BD, - 381: 0x50BE, - 382: 0x50BF, - 383: 0x50C0, - 384: 0x50C1, - 385: 0x50C2, - 386: 0x50C3, - 387: 0x50C4, - 388: 0x50C5, - 389: 0x50C6, - 390: 0x50C7, - 391: 0x50C8, - 392: 0x50C9, - 393: 0x50CA, - 394: 0x50CB, - 395: 0x50CC, - 396: 0x50CD, - 397: 0x50CE, - 398: 0x50D0, - 399: 0x50D1, - 400: 0x50D2, - 401: 0x50D3, - 402: 0x50D4, - 403: 0x50D5, - 404: 0x50D7, - 405: 0x50D8, - 406: 0x50D9, - 407: 0x50DB, - 408: 0x50DC, - 409: 0x50DD, - 410: 0x50DE, - 411: 0x50DF, - 412: 0x50E0, - 413: 0x50E1, - 414: 0x50E2, - 415: 0x50E3, - 416: 0x50E4, - 417: 0x50E5, - 418: 0x50E8, - 419: 0x50E9, - 420: 0x50EA, - 421: 0x50EB, - 422: 0x50EF, - 423: 0x50F0, - 424: 0x50F1, - 425: 0x50F2, - 426: 0x50F4, - 427: 0x50F6, - 428: 0x50F7, - 429: 0x50F8, - 430: 0x50F9, - 431: 0x50FA, - 432: 0x50FC, - 433: 0x50FD, - 434: 0x50FE, - 435: 0x50FF, - 436: 0x5100, - 437: 0x5101, - 438: 0x5102, - 439: 0x5103, - 440: 0x5104, - 441: 0x5105, - 442: 0x5108, - 443: 0x5109, - 444: 0x510A, - 445: 0x510C, - 446: 0x510D, - 447: 0x510E, - 448: 0x510F, - 449: 0x5110, - 450: 0x5111, - 451: 0x5113, - 452: 0x5114, - 453: 0x5115, - 454: 0x5116, - 455: 0x5117, - 456: 0x5118, - 457: 0x5119, - 458: 0x511A, - 459: 0x511B, - 460: 0x511C, - 461: 0x511D, - 462: 0x511E, - 463: 0x511F, - 464: 0x5120, - 465: 0x5122, - 466: 0x5123, - 467: 0x5124, - 468: 0x5125, - 469: 0x5126, - 470: 0x5127, - 471: 0x5128, - 472: 0x5129, - 473: 0x512A, - 474: 0x512B, - 475: 0x512C, - 476: 0x512D, - 477: 0x512E, - 478: 0x512F, - 479: 0x5130, - 480: 0x5131, - 481: 0x5132, - 482: 0x5133, - 483: 0x5134, - 484: 0x5135, - 485: 0x5136, - 486: 0x5137, - 487: 0x5138, - 488: 0x5139, - 489: 0x513A, - 490: 0x513B, - 491: 0x513C, - 492: 0x513D, - 493: 0x513E, - 494: 0x5142, - 495: 0x5147, - 496: 0x514A, - 497: 0x514C, - 498: 0x514E, - 499: 0x514F, - 500: 0x5150, - 501: 0x5152, - 502: 0x5153, - 503: 0x5157, - 504: 0x5158, - 505: 0x5159, - 506: 0x515B, - 507: 0x515D, - 508: 0x515E, - 509: 0x515F, - 510: 0x5160, - 511: 0x5161, - 512: 0x5163, - 513: 0x5164, - 514: 0x5166, - 515: 0x5167, - 516: 0x5169, - 517: 0x516A, - 518: 0x516F, - 519: 0x5172, - 520: 0x517A, - 521: 0x517E, - 522: 0x517F, - 523: 0x5183, - 524: 0x5184, - 525: 0x5186, - 526: 0x5187, - 527: 0x518A, - 528: 0x518B, - 529: 0x518E, - 530: 0x518F, - 531: 0x5190, - 532: 0x5191, - 533: 0x5193, - 534: 0x5194, - 535: 0x5198, - 536: 0x519A, - 537: 0x519D, - 538: 0x519E, - 539: 0x519F, - 540: 0x51A1, - 541: 0x51A3, - 542: 0x51A6, - 543: 0x51A7, - 544: 0x51A8, - 545: 0x51A9, - 546: 0x51AA, - 547: 0x51AD, - 548: 0x51AE, - 549: 0x51B4, - 550: 0x51B8, - 551: 0x51B9, - 552: 0x51BA, - 553: 0x51BE, - 554: 0x51BF, - 555: 0x51C1, - 556: 0x51C2, - 557: 0x51C3, - 558: 0x51C5, - 559: 0x51C8, - 560: 0x51CA, - 561: 0x51CD, - 562: 0x51CE, - 563: 0x51D0, - 564: 0x51D2, - 565: 0x51D3, - 566: 0x51D4, - 567: 0x51D5, - 568: 0x51D6, - 569: 0x51D7, - 570: 0x51D8, - 571: 0x51D9, - 572: 0x51DA, - 573: 0x51DC, - 574: 0x51DE, - 575: 0x51DF, - 576: 0x51E2, - 577: 0x51E3, - 578: 0x51E5, - 579: 0x51E6, - 580: 0x51E7, - 581: 0x51E8, - 582: 0x51E9, - 583: 0x51EA, - 584: 0x51EC, - 585: 0x51EE, - 586: 0x51F1, - 587: 0x51F2, - 588: 0x51F4, - 589: 0x51F7, - 590: 0x51FE, - 591: 0x5204, - 592: 0x5205, - 593: 0x5209, - 594: 0x520B, - 595: 0x520C, - 596: 0x520F, - 597: 0x5210, - 598: 0x5213, - 599: 0x5214, - 600: 0x5215, - 601: 0x521C, - 602: 0x521E, - 603: 0x521F, - 604: 0x5221, - 605: 0x5222, - 606: 0x5223, - 607: 0x5225, - 608: 0x5226, - 609: 0x5227, - 610: 0x522A, - 611: 0x522C, - 612: 0x522F, - 613: 0x5231, - 614: 0x5232, - 615: 0x5234, - 616: 0x5235, - 617: 0x523C, - 618: 0x523E, - 619: 0x5244, - 620: 0x5245, - 621: 0x5246, - 622: 0x5247, - 623: 0x5248, - 624: 0x5249, - 625: 0x524B, - 626: 0x524E, - 627: 0x524F, - 628: 0x5252, - 629: 0x5253, - 630: 0x5255, - 631: 0x5257, - 632: 0x5258, - 633: 0x5259, - 634: 0x525A, - 635: 0x525B, - 636: 0x525D, - 637: 0x525F, - 638: 0x5260, - 639: 0x5262, - 640: 0x5263, - 641: 0x5264, - 642: 0x5266, - 643: 0x5268, - 644: 0x526B, - 645: 0x526C, - 646: 0x526D, - 647: 0x526E, - 648: 0x5270, - 649: 0x5271, - 650: 0x5273, - 651: 0x5274, - 652: 0x5275, - 653: 0x5276, - 654: 0x5277, - 655: 0x5278, - 656: 0x5279, - 657: 0x527A, - 658: 0x527B, - 659: 0x527C, - 660: 0x527E, - 661: 0x5280, - 662: 0x5283, - 663: 0x5284, - 664: 0x5285, - 665: 0x5286, - 666: 0x5287, - 667: 0x5289, - 668: 0x528A, - 669: 0x528B, - 670: 0x528C, - 671: 0x528D, - 672: 0x528E, - 673: 0x528F, - 674: 0x5291, - 675: 0x5292, - 676: 0x5294, - 677: 0x5295, - 678: 0x5296, - 679: 0x5297, - 680: 0x5298, - 681: 0x5299, - 682: 0x529A, - 683: 0x529C, - 684: 0x52A4, - 685: 0x52A5, - 686: 0x52A6, - 687: 0x52A7, - 688: 0x52AE, - 689: 0x52AF, - 690: 0x52B0, - 691: 0x52B4, - 692: 0x52B5, - 693: 0x52B6, - 694: 0x52B7, - 695: 0x52B8, - 696: 0x52B9, - 697: 0x52BA, - 698: 0x52BB, - 699: 0x52BC, - 700: 0x52BD, - 701: 0x52C0, - 702: 0x52C1, - 703: 0x52C2, - 704: 0x52C4, - 705: 0x52C5, - 706: 0x52C6, - 707: 0x52C8, - 708: 0x52CA, - 709: 0x52CC, - 710: 0x52CD, - 711: 0x52CE, - 712: 0x52CF, - 713: 0x52D1, - 714: 0x52D3, - 715: 0x52D4, - 716: 0x52D5, - 717: 0x52D7, - 718: 0x52D9, - 719: 0x52DA, - 720: 0x52DB, - 721: 0x52DC, - 722: 0x52DD, - 723: 0x52DE, - 724: 0x52E0, - 725: 0x52E1, - 726: 0x52E2, - 727: 0x52E3, - 728: 0x52E5, - 729: 0x52E6, - 730: 0x52E7, - 731: 0x52E8, - 732: 0x52E9, - 733: 0x52EA, - 734: 0x52EB, - 735: 0x52EC, - 736: 0x52ED, - 737: 0x52EE, - 738: 0x52EF, - 739: 0x52F1, - 740: 0x52F2, - 741: 0x52F3, - 742: 0x52F4, - 743: 0x52F5, - 744: 0x52F6, - 745: 0x52F7, - 746: 0x52F8, - 747: 0x52FB, - 748: 0x52FC, - 749: 0x52FD, - 750: 0x5301, - 751: 0x5302, - 752: 0x5303, - 753: 0x5304, - 754: 0x5307, - 755: 0x5309, - 756: 0x530A, - 757: 0x530B, - 758: 0x530C, - 759: 0x530E, - 760: 0x5311, - 761: 0x5312, - 762: 0x5313, - 763: 0x5314, - 764: 0x5318, - 765: 0x531B, - 766: 0x531C, - 767: 0x531E, - 768: 0x531F, - 769: 0x5322, - 770: 0x5324, - 771: 0x5325, - 772: 0x5327, - 773: 0x5328, - 774: 0x5329, - 775: 0x532B, - 776: 0x532C, - 777: 0x532D, - 778: 0x532F, - 779: 0x5330, - 780: 0x5331, - 781: 0x5332, - 782: 0x5333, - 783: 0x5334, - 784: 0x5335, - 785: 0x5336, - 786: 0x5337, - 787: 0x5338, - 788: 0x533C, - 789: 0x533D, - 790: 0x5340, - 791: 0x5342, - 792: 0x5344, - 793: 0x5346, - 794: 0x534B, - 795: 0x534C, - 796: 0x534D, - 797: 0x5350, - 798: 0x5354, - 799: 0x5358, - 800: 0x5359, - 801: 0x535B, - 802: 0x535D, - 803: 0x5365, - 804: 0x5368, - 805: 0x536A, - 806: 0x536C, - 807: 0x536D, - 808: 0x5372, - 809: 0x5376, - 810: 0x5379, - 811: 0x537B, - 812: 0x537C, - 813: 0x537D, - 814: 0x537E, - 815: 0x5380, - 816: 0x5381, - 817: 0x5383, - 818: 0x5387, - 819: 0x5388, - 820: 0x538A, - 821: 0x538E, - 822: 0x538F, - 823: 0x5390, - 824: 0x5391, - 825: 0x5392, - 826: 0x5393, - 827: 0x5394, - 828: 0x5396, - 829: 0x5397, - 830: 0x5399, - 831: 0x539B, - 832: 0x539C, - 833: 0x539E, - 834: 0x53A0, - 835: 0x53A1, - 836: 0x53A4, - 837: 0x53A7, - 838: 0x53AA, - 839: 0x53AB, - 840: 0x53AC, - 841: 0x53AD, - 842: 0x53AF, - 843: 0x53B0, - 844: 0x53B1, - 845: 0x53B2, - 846: 0x53B3, - 847: 0x53B4, - 848: 0x53B5, - 849: 0x53B7, - 850: 0x53B8, - 851: 0x53B9, - 852: 0x53BA, - 853: 0x53BC, - 854: 0x53BD, - 855: 0x53BE, - 856: 0x53C0, - 857: 0x53C3, - 858: 0x53C4, - 859: 0x53C5, - 860: 0x53C6, - 861: 0x53C7, - 862: 0x53CE, - 863: 0x53CF, - 864: 0x53D0, - 865: 0x53D2, - 866: 0x53D3, - 867: 0x53D5, - 868: 0x53DA, - 869: 0x53DC, - 870: 0x53DD, - 871: 0x53DE, - 872: 0x53E1, - 873: 0x53E2, - 874: 0x53E7, - 875: 0x53F4, - 876: 0x53FA, - 877: 0x53FE, - 878: 0x53FF, - 879: 0x5400, - 880: 0x5402, - 881: 0x5405, - 882: 0x5407, - 883: 0x540B, - 884: 0x5414, - 885: 0x5418, - 886: 0x5419, - 887: 0x541A, - 888: 0x541C, - 889: 0x5422, - 890: 0x5424, - 891: 0x5425, - 892: 0x542A, - 893: 0x5430, - 894: 0x5433, - 895: 0x5436, - 896: 0x5437, - 897: 0x543A, - 898: 0x543D, - 899: 0x543F, - 900: 0x5441, - 901: 0x5442, - 902: 0x5444, - 903: 0x5445, - 904: 0x5447, - 905: 0x5449, - 906: 0x544C, - 907: 0x544D, - 908: 0x544E, - 909: 0x544F, - 910: 0x5451, - 911: 0x545A, - 912: 0x545D, - 913: 0x545E, - 914: 0x545F, - 915: 0x5460, - 916: 0x5461, - 917: 0x5463, - 918: 0x5465, - 919: 0x5467, - 920: 0x5469, - 921: 0x546A, - 922: 0x546B, - 923: 0x546C, - 924: 0x546D, - 925: 0x546E, - 926: 0x546F, - 927: 0x5470, - 928: 0x5474, - 929: 0x5479, - 930: 0x547A, - 931: 0x547E, - 932: 0x547F, - 933: 0x5481, - 934: 0x5483, - 935: 0x5485, - 936: 0x5487, - 937: 0x5488, - 938: 0x5489, - 939: 0x548A, - 940: 0x548D, - 941: 0x5491, - 942: 0x5493, - 943: 0x5497, - 944: 0x5498, - 945: 0x549C, - 946: 0x549E, - 947: 0x549F, - 948: 0x54A0, - 949: 0x54A1, - 950: 0x54A2, - 951: 0x54A5, - 952: 0x54AE, - 953: 0x54B0, - 954: 0x54B2, - 955: 0x54B5, - 956: 0x54B6, - 957: 0x54B7, - 958: 0x54B9, - 959: 0x54BA, - 960: 0x54BC, - 961: 0x54BE, - 962: 0x54C3, - 963: 0x54C5, - 964: 0x54CA, - 965: 0x54CB, - 966: 0x54D6, - 967: 0x54D8, - 968: 0x54DB, - 969: 0x54E0, - 970: 0x54E1, - 971: 0x54E2, - 972: 0x54E3, - 973: 0x54E4, - 974: 0x54EB, - 975: 0x54EC, - 976: 0x54EF, - 977: 0x54F0, - 978: 0x54F1, - 979: 0x54F4, - 980: 0x54F5, - 981: 0x54F6, - 982: 0x54F7, - 983: 0x54F8, - 984: 0x54F9, - 985: 0x54FB, - 986: 0x54FE, - 987: 0x5500, - 988: 0x5502, - 989: 0x5503, - 990: 0x5504, - 991: 0x5505, - 992: 0x5508, - 993: 0x550A, - 994: 0x550B, - 995: 0x550C, - 996: 0x550D, - 997: 0x550E, - 998: 0x5512, - 999: 0x5513, - 1000: 0x5515, - 1001: 0x5516, - 1002: 0x5517, - 1003: 0x5518, - 1004: 0x5519, - 1005: 0x551A, - 1006: 0x551C, - 1007: 0x551D, - 1008: 0x551E, - 1009: 0x551F, - 1010: 0x5521, - 1011: 0x5525, - 1012: 0x5526, - 1013: 0x5528, - 1014: 0x5529, - 1015: 0x552B, - 1016: 0x552D, - 1017: 0x5532, - 1018: 0x5534, - 1019: 0x5535, - 1020: 0x5536, - 1021: 0x5538, - 1022: 0x5539, - 1023: 0x553A, - 1024: 0x553B, - 1025: 0x553D, - 1026: 0x5540, - 1027: 0x5542, - 1028: 0x5545, - 1029: 0x5547, - 1030: 0x5548, - 1031: 0x554B, - 1032: 0x554C, - 1033: 0x554D, - 1034: 0x554E, - 1035: 0x554F, - 1036: 0x5551, - 1037: 0x5552, - 1038: 0x5553, - 1039: 0x5554, - 1040: 0x5557, - 1041: 0x5558, - 1042: 0x5559, - 1043: 0x555A, - 1044: 0x555B, - 1045: 0x555D, - 1046: 0x555E, - 1047: 0x555F, - 1048: 0x5560, - 1049: 0x5562, - 1050: 0x5563, - 1051: 0x5568, - 1052: 0x5569, - 1053: 0x556B, - 1054: 0x556F, - 1055: 0x5570, - 1056: 0x5571, - 1057: 0x5572, - 1058: 0x5573, - 1059: 0x5574, - 1060: 0x5579, - 1061: 0x557A, - 1062: 0x557D, - 1063: 0x557F, - 1064: 0x5585, - 1065: 0x5586, - 1066: 0x558C, - 1067: 0x558D, - 1068: 0x558E, - 1069: 0x5590, - 1070: 0x5592, - 1071: 0x5593, - 1072: 0x5595, - 1073: 0x5596, - 1074: 0x5597, - 1075: 0x559A, - 1076: 0x559B, - 1077: 0x559E, - 1078: 0x55A0, - 1079: 0x55A1, - 1080: 0x55A2, - 1081: 0x55A3, - 1082: 0x55A4, - 1083: 0x55A5, - 1084: 0x55A6, - 1085: 0x55A8, - 1086: 0x55A9, - 1087: 0x55AA, - 1088: 0x55AB, - 1089: 0x55AC, - 1090: 0x55AD, - 1091: 0x55AE, - 1092: 0x55AF, - 1093: 0x55B0, - 1094: 0x55B2, - 1095: 0x55B4, - 1096: 0x55B6, - 1097: 0x55B8, - 1098: 0x55BA, - 1099: 0x55BC, - 1100: 0x55BF, - 1101: 0x55C0, - 1102: 0x55C1, - 1103: 0x55C2, - 1104: 0x55C3, - 1105: 0x55C6, - 1106: 0x55C7, - 1107: 0x55C8, - 1108: 0x55CA, - 1109: 0x55CB, - 1110: 0x55CE, - 1111: 0x55CF, - 1112: 0x55D0, - 1113: 0x55D5, - 1114: 0x55D7, - 1115: 0x55D8, - 1116: 0x55D9, - 1117: 0x55DA, - 1118: 0x55DB, - 1119: 0x55DE, - 1120: 0x55E0, - 1121: 0x55E2, - 1122: 0x55E7, - 1123: 0x55E9, - 1124: 0x55ED, - 1125: 0x55EE, - 1126: 0x55F0, - 1127: 0x55F1, - 1128: 0x55F4, - 1129: 0x55F6, - 1130: 0x55F8, - 1131: 0x55F9, - 1132: 0x55FA, - 1133: 0x55FB, - 1134: 0x55FC, - 1135: 0x55FF, - 1136: 0x5602, - 1137: 0x5603, - 1138: 0x5604, - 1139: 0x5605, - 1140: 0x5606, - 1141: 0x5607, - 1142: 0x560A, - 1143: 0x560B, - 1144: 0x560D, - 1145: 0x5610, - 1146: 0x5611, - 1147: 0x5612, - 1148: 0x5613, - 1149: 0x5614, - 1150: 0x5615, - 1151: 0x5616, - 1152: 0x5617, - 1153: 0x5619, - 1154: 0x561A, - 1155: 0x561C, - 1156: 0x561D, - 1157: 0x5620, - 1158: 0x5621, - 1159: 0x5622, - 1160: 0x5625, - 1161: 0x5626, - 1162: 0x5628, - 1163: 0x5629, - 1164: 0x562A, - 1165: 0x562B, - 1166: 0x562E, - 1167: 0x562F, - 1168: 0x5630, - 1169: 0x5633, - 1170: 0x5635, - 1171: 0x5637, - 1172: 0x5638, - 1173: 0x563A, - 1174: 0x563C, - 1175: 0x563D, - 1176: 0x563E, - 1177: 0x5640, - 1178: 0x5641, - 1179: 0x5642, - 1180: 0x5643, - 1181: 0x5644, - 1182: 0x5645, - 1183: 0x5646, - 1184: 0x5647, - 1185: 0x5648, - 1186: 0x5649, - 1187: 0x564A, - 1188: 0x564B, - 1189: 0x564F, - 1190: 0x5650, - 1191: 0x5651, - 1192: 0x5652, - 1193: 0x5653, - 1194: 0x5655, - 1195: 0x5656, - 1196: 0x565A, - 1197: 0x565B, - 1198: 0x565D, - 1199: 0x565E, - 1200: 0x565F, - 1201: 0x5660, - 1202: 0x5661, - 1203: 0x5663, - 1204: 0x5665, - 1205: 0x5666, - 1206: 0x5667, - 1207: 0x566D, - 1208: 0x566E, - 1209: 0x566F, - 1210: 0x5670, - 1211: 0x5672, - 1212: 0x5673, - 1213: 0x5674, - 1214: 0x5675, - 1215: 0x5677, - 1216: 0x5678, - 1217: 0x5679, - 1218: 0x567A, - 1219: 0x567D, - 1220: 0x567E, - 1221: 0x567F, - 1222: 0x5680, - 1223: 0x5681, - 1224: 0x5682, - 1225: 0x5683, - 1226: 0x5684, - 1227: 0x5687, - 1228: 0x5688, - 1229: 0x5689, - 1230: 0x568A, - 1231: 0x568B, - 1232: 0x568C, - 1233: 0x568D, - 1234: 0x5690, - 1235: 0x5691, - 1236: 0x5692, - 1237: 0x5694, - 1238: 0x5695, - 1239: 0x5696, - 1240: 0x5697, - 1241: 0x5698, - 1242: 0x5699, - 1243: 0x569A, - 1244: 0x569B, - 1245: 0x569C, - 1246: 0x569D, - 1247: 0x569E, - 1248: 0x569F, - 1249: 0x56A0, - 1250: 0x56A1, - 1251: 0x56A2, - 1252: 0x56A4, - 1253: 0x56A5, - 1254: 0x56A6, - 1255: 0x56A7, - 1256: 0x56A8, - 1257: 0x56A9, - 1258: 0x56AA, - 1259: 0x56AB, - 1260: 0x56AC, - 1261: 0x56AD, - 1262: 0x56AE, - 1263: 0x56B0, - 1264: 0x56B1, - 1265: 0x56B2, - 1266: 0x56B3, - 1267: 0x56B4, - 1268: 0x56B5, - 1269: 0x56B6, - 1270: 0x56B8, - 1271: 0x56B9, - 1272: 0x56BA, - 1273: 0x56BB, - 1274: 0x56BD, - 1275: 0x56BE, - 1276: 0x56BF, - 1277: 0x56C0, - 1278: 0x56C1, - 1279: 0x56C2, - 1280: 0x56C3, - 1281: 0x56C4, - 1282: 0x56C5, - 1283: 0x56C6, - 1284: 0x56C7, - 1285: 0x56C8, - 1286: 0x56C9, - 1287: 0x56CB, - 1288: 0x56CC, - 1289: 0x56CD, - 1290: 0x56CE, - 1291: 0x56CF, - 1292: 0x56D0, - 1293: 0x56D1, - 1294: 0x56D2, - 1295: 0x56D3, - 1296: 0x56D5, - 1297: 0x56D6, - 1298: 0x56D8, - 1299: 0x56D9, - 1300: 0x56DC, - 1301: 0x56E3, - 1302: 0x56E5, - 1303: 0x56E6, - 1304: 0x56E7, - 1305: 0x56E8, - 1306: 0x56E9, - 1307: 0x56EA, - 1308: 0x56EC, - 1309: 0x56EE, - 1310: 0x56EF, - 1311: 0x56F2, - 1312: 0x56F3, - 1313: 0x56F6, - 1314: 0x56F7, - 1315: 0x56F8, - 1316: 0x56FB, - 1317: 0x56FC, - 1318: 0x5700, - 1319: 0x5701, - 1320: 0x5702, - 1321: 0x5705, - 1322: 0x5707, - 1323: 0x570B, - 1324: 0x570C, - 1325: 0x570D, - 1326: 0x570E, - 1327: 0x570F, - 1328: 0x5710, - 1329: 0x5711, - 1330: 0x5712, - 1331: 0x5713, - 1332: 0x5714, - 1333: 0x5715, - 1334: 0x5716, - 1335: 0x5717, - 1336: 0x5718, - 1337: 0x5719, - 1338: 0x571A, - 1339: 0x571B, - 1340: 0x571D, - 1341: 0x571E, - 1342: 0x5720, - 1343: 0x5721, - 1344: 0x5722, - 1345: 0x5724, - 1346: 0x5725, - 1347: 0x5726, - 1348: 0x5727, - 1349: 0x572B, - 1350: 0x5731, - 1351: 0x5732, - 1352: 0x5734, - 1353: 0x5735, - 1354: 0x5736, - 1355: 0x5737, - 1356: 0x5738, - 1357: 0x573C, - 1358: 0x573D, - 1359: 0x573F, - 1360: 0x5741, - 1361: 0x5743, - 1362: 0x5744, - 1363: 0x5745, - 1364: 0x5746, - 1365: 0x5748, - 1366: 0x5749, - 1367: 0x574B, - 1368: 0x5752, - 1369: 0x5753, - 1370: 0x5754, - 1371: 0x5755, - 1372: 0x5756, - 1373: 0x5758, - 1374: 0x5759, - 1375: 0x5762, - 1376: 0x5763, - 1377: 0x5765, - 1378: 0x5767, - 1379: 0x576C, - 1380: 0x576E, - 1381: 0x5770, - 1382: 0x5771, - 1383: 0x5772, - 1384: 0x5774, - 1385: 0x5775, - 1386: 0x5778, - 1387: 0x5779, - 1388: 0x577A, - 1389: 0x577D, - 1390: 0x577E, - 1391: 0x577F, - 1392: 0x5780, - 1393: 0x5781, - 1394: 0x5787, - 1395: 0x5788, - 1396: 0x5789, - 1397: 0x578A, - 1398: 0x578D, - 1399: 0x578E, - 1400: 0x578F, - 1401: 0x5790, - 1402: 0x5791, - 1403: 0x5794, - 1404: 0x5795, - 1405: 0x5796, - 1406: 0x5797, - 1407: 0x5798, - 1408: 0x5799, - 1409: 0x579A, - 1410: 0x579C, - 1411: 0x579D, - 1412: 0x579E, - 1413: 0x579F, - 1414: 0x57A5, - 1415: 0x57A8, - 1416: 0x57AA, - 1417: 0x57AC, - 1418: 0x57AF, - 1419: 0x57B0, - 1420: 0x57B1, - 1421: 0x57B3, - 1422: 0x57B5, - 1423: 0x57B6, - 1424: 0x57B7, - 1425: 0x57B9, - 1426: 0x57BA, - 1427: 0x57BB, - 1428: 0x57BC, - 1429: 0x57BD, - 1430: 0x57BE, - 1431: 0x57BF, - 1432: 0x57C0, - 1433: 0x57C1, - 1434: 0x57C4, - 1435: 0x57C5, - 1436: 0x57C6, - 1437: 0x57C7, - 1438: 0x57C8, - 1439: 0x57C9, - 1440: 0x57CA, - 1441: 0x57CC, - 1442: 0x57CD, - 1443: 0x57D0, - 1444: 0x57D1, - 1445: 0x57D3, - 1446: 0x57D6, - 1447: 0x57D7, - 1448: 0x57DB, - 1449: 0x57DC, - 1450: 0x57DE, - 1451: 0x57E1, - 1452: 0x57E2, - 1453: 0x57E3, - 1454: 0x57E5, - 1455: 0x57E6, - 1456: 0x57E7, - 1457: 0x57E8, - 1458: 0x57E9, - 1459: 0x57EA, - 1460: 0x57EB, - 1461: 0x57EC, - 1462: 0x57EE, - 1463: 0x57F0, - 1464: 0x57F1, - 1465: 0x57F2, - 1466: 0x57F3, - 1467: 0x57F5, - 1468: 0x57F6, - 1469: 0x57F7, - 1470: 0x57FB, - 1471: 0x57FC, - 1472: 0x57FE, - 1473: 0x57FF, - 1474: 0x5801, - 1475: 0x5803, - 1476: 0x5804, - 1477: 0x5805, - 1478: 0x5808, - 1479: 0x5809, - 1480: 0x580A, - 1481: 0x580C, - 1482: 0x580E, - 1483: 0x580F, - 1484: 0x5810, - 1485: 0x5812, - 1486: 0x5813, - 1487: 0x5814, - 1488: 0x5816, - 1489: 0x5817, - 1490: 0x5818, - 1491: 0x581A, - 1492: 0x581B, - 1493: 0x581C, - 1494: 0x581D, - 1495: 0x581F, - 1496: 0x5822, - 1497: 0x5823, - 1498: 0x5825, - 1499: 0x5826, - 1500: 0x5827, - 1501: 0x5828, - 1502: 0x5829, - 1503: 0x582B, - 1504: 0x582C, - 1505: 0x582D, - 1506: 0x582E, - 1507: 0x582F, - 1508: 0x5831, - 1509: 0x5832, - 1510: 0x5833, - 1511: 0x5834, - 1512: 0x5836, - 1513: 0x5837, - 1514: 0x5838, - 1515: 0x5839, - 1516: 0x583A, - 1517: 0x583B, - 1518: 0x583C, - 1519: 0x583D, - 1520: 0x583E, - 1521: 0x583F, - 1522: 0x5840, - 1523: 0x5841, - 1524: 0x5842, - 1525: 0x5843, - 1526: 0x5845, - 1527: 0x5846, - 1528: 0x5847, - 1529: 0x5848, - 1530: 0x5849, - 1531: 0x584A, - 1532: 0x584B, - 1533: 0x584E, - 1534: 0x584F, - 1535: 0x5850, - 1536: 0x5852, - 1537: 0x5853, - 1538: 0x5855, - 1539: 0x5856, - 1540: 0x5857, - 1541: 0x5859, - 1542: 0x585A, - 1543: 0x585B, - 1544: 0x585C, - 1545: 0x585D, - 1546: 0x585F, - 1547: 0x5860, - 1548: 0x5861, - 1549: 0x5862, - 1550: 0x5863, - 1551: 0x5864, - 1552: 0x5866, - 1553: 0x5867, - 1554: 0x5868, - 1555: 0x5869, - 1556: 0x586A, - 1557: 0x586D, - 1558: 0x586E, - 1559: 0x586F, - 1560: 0x5870, - 1561: 0x5871, - 1562: 0x5872, - 1563: 0x5873, - 1564: 0x5874, - 1565: 0x5875, - 1566: 0x5876, - 1567: 0x5877, - 1568: 0x5878, - 1569: 0x5879, - 1570: 0x587A, - 1571: 0x587B, - 1572: 0x587C, - 1573: 0x587D, - 1574: 0x587F, - 1575: 0x5882, - 1576: 0x5884, - 1577: 0x5886, - 1578: 0x5887, - 1579: 0x5888, - 1580: 0x588A, - 1581: 0x588B, - 1582: 0x588C, - 1583: 0x588D, - 1584: 0x588E, - 1585: 0x588F, - 1586: 0x5890, - 1587: 0x5891, - 1588: 0x5894, - 1589: 0x5895, - 1590: 0x5896, - 1591: 0x5897, - 1592: 0x5898, - 1593: 0x589B, - 1594: 0x589C, - 1595: 0x589D, - 1596: 0x58A0, - 1597: 0x58A1, - 1598: 0x58A2, - 1599: 0x58A3, - 1600: 0x58A4, - 1601: 0x58A5, - 1602: 0x58A6, - 1603: 0x58A7, - 1604: 0x58AA, - 1605: 0x58AB, - 1606: 0x58AC, - 1607: 0x58AD, - 1608: 0x58AE, - 1609: 0x58AF, - 1610: 0x58B0, - 1611: 0x58B1, - 1612: 0x58B2, - 1613: 0x58B3, - 1614: 0x58B4, - 1615: 0x58B5, - 1616: 0x58B6, - 1617: 0x58B7, - 1618: 0x58B8, - 1619: 0x58B9, - 1620: 0x58BA, - 1621: 0x58BB, - 1622: 0x58BD, - 1623: 0x58BE, - 1624: 0x58BF, - 1625: 0x58C0, - 1626: 0x58C2, - 1627: 0x58C3, - 1628: 0x58C4, - 1629: 0x58C6, - 1630: 0x58C7, - 1631: 0x58C8, - 1632: 0x58C9, - 1633: 0x58CA, - 1634: 0x58CB, - 1635: 0x58CC, - 1636: 0x58CD, - 1637: 0x58CE, - 1638: 0x58CF, - 1639: 0x58D0, - 1640: 0x58D2, - 1641: 0x58D3, - 1642: 0x58D4, - 1643: 0x58D6, - 1644: 0x58D7, - 1645: 0x58D8, - 1646: 0x58D9, - 1647: 0x58DA, - 1648: 0x58DB, - 1649: 0x58DC, - 1650: 0x58DD, - 1651: 0x58DE, - 1652: 0x58DF, - 1653: 0x58E0, - 1654: 0x58E1, - 1655: 0x58E2, - 1656: 0x58E3, - 1657: 0x58E5, - 1658: 0x58E6, - 1659: 0x58E7, - 1660: 0x58E8, - 1661: 0x58E9, - 1662: 0x58EA, - 1663: 0x58ED, - 1664: 0x58EF, - 1665: 0x58F1, - 1666: 0x58F2, - 1667: 0x58F4, - 1668: 0x58F5, - 1669: 0x58F7, - 1670: 0x58F8, - 1671: 0x58FA, - 1672: 0x58FB, - 1673: 0x58FC, - 1674: 0x58FD, - 1675: 0x58FE, - 1676: 0x58FF, - 1677: 0x5900, - 1678: 0x5901, - 1679: 0x5903, - 1680: 0x5905, - 1681: 0x5906, - 1682: 0x5908, - 1683: 0x5909, - 1684: 0x590A, - 1685: 0x590B, - 1686: 0x590C, - 1687: 0x590E, - 1688: 0x5910, - 1689: 0x5911, - 1690: 0x5912, - 1691: 0x5913, - 1692: 0x5917, - 1693: 0x5918, - 1694: 0x591B, - 1695: 0x591D, - 1696: 0x591E, - 1697: 0x5920, - 1698: 0x5921, - 1699: 0x5922, - 1700: 0x5923, - 1701: 0x5926, - 1702: 0x5928, - 1703: 0x592C, - 1704: 0x5930, - 1705: 0x5932, - 1706: 0x5933, - 1707: 0x5935, - 1708: 0x5936, - 1709: 0x593B, - 1710: 0x593D, - 1711: 0x593E, - 1712: 0x593F, - 1713: 0x5940, - 1714: 0x5943, - 1715: 0x5945, - 1716: 0x5946, - 1717: 0x594A, - 1718: 0x594C, - 1719: 0x594D, - 1720: 0x5950, - 1721: 0x5952, - 1722: 0x5953, - 1723: 0x5959, - 1724: 0x595B, - 1725: 0x595C, - 1726: 0x595D, - 1727: 0x595E, - 1728: 0x595F, - 1729: 0x5961, - 1730: 0x5963, - 1731: 0x5964, - 1732: 0x5966, - 1733: 0x5967, - 1734: 0x5968, - 1735: 0x5969, - 1736: 0x596A, - 1737: 0x596B, - 1738: 0x596C, - 1739: 0x596D, - 1740: 0x596E, - 1741: 0x596F, - 1742: 0x5970, - 1743: 0x5971, - 1744: 0x5972, - 1745: 0x5975, - 1746: 0x5977, - 1747: 0x597A, - 1748: 0x597B, - 1749: 0x597C, - 1750: 0x597E, - 1751: 0x597F, - 1752: 0x5980, - 1753: 0x5985, - 1754: 0x5989, - 1755: 0x598B, - 1756: 0x598C, - 1757: 0x598E, - 1758: 0x598F, - 1759: 0x5990, - 1760: 0x5991, - 1761: 0x5994, - 1762: 0x5995, - 1763: 0x5998, - 1764: 0x599A, - 1765: 0x599B, - 1766: 0x599C, - 1767: 0x599D, - 1768: 0x599F, - 1769: 0x59A0, - 1770: 0x59A1, - 1771: 0x59A2, - 1772: 0x59A6, - 1773: 0x59A7, - 1774: 0x59AC, - 1775: 0x59AD, - 1776: 0x59B0, - 1777: 0x59B1, - 1778: 0x59B3, - 1779: 0x59B4, - 1780: 0x59B5, - 1781: 0x59B6, - 1782: 0x59B7, - 1783: 0x59B8, - 1784: 0x59BA, - 1785: 0x59BC, - 1786: 0x59BD, - 1787: 0x59BF, - 1788: 0x59C0, - 1789: 0x59C1, - 1790: 0x59C2, - 1791: 0x59C3, - 1792: 0x59C4, - 1793: 0x59C5, - 1794: 0x59C7, - 1795: 0x59C8, - 1796: 0x59C9, - 1797: 0x59CC, - 1798: 0x59CD, - 1799: 0x59CE, - 1800: 0x59CF, - 1801: 0x59D5, - 1802: 0x59D6, - 1803: 0x59D9, - 1804: 0x59DB, - 1805: 0x59DE, - 1806: 0x59DF, - 1807: 0x59E0, - 1808: 0x59E1, - 1809: 0x59E2, - 1810: 0x59E4, - 1811: 0x59E6, - 1812: 0x59E7, - 1813: 0x59E9, - 1814: 0x59EA, - 1815: 0x59EB, - 1816: 0x59ED, - 1817: 0x59EE, - 1818: 0x59EF, - 1819: 0x59F0, - 1820: 0x59F1, - 1821: 0x59F2, - 1822: 0x59F3, - 1823: 0x59F4, - 1824: 0x59F5, - 1825: 0x59F6, - 1826: 0x59F7, - 1827: 0x59F8, - 1828: 0x59FA, - 1829: 0x59FC, - 1830: 0x59FD, - 1831: 0x59FE, - 1832: 0x5A00, - 1833: 0x5A02, - 1834: 0x5A0A, - 1835: 0x5A0B, - 1836: 0x5A0D, - 1837: 0x5A0E, - 1838: 0x5A0F, - 1839: 0x5A10, - 1840: 0x5A12, - 1841: 0x5A14, - 1842: 0x5A15, - 1843: 0x5A16, - 1844: 0x5A17, - 1845: 0x5A19, - 1846: 0x5A1A, - 1847: 0x5A1B, - 1848: 0x5A1D, - 1849: 0x5A1E, - 1850: 0x5A21, - 1851: 0x5A22, - 1852: 0x5A24, - 1853: 0x5A26, - 1854: 0x5A27, - 1855: 0x5A28, - 1856: 0x5A2A, - 1857: 0x5A2B, - 1858: 0x5A2C, - 1859: 0x5A2D, - 1860: 0x5A2E, - 1861: 0x5A2F, - 1862: 0x5A30, - 1863: 0x5A33, - 1864: 0x5A35, - 1865: 0x5A37, - 1866: 0x5A38, - 1867: 0x5A39, - 1868: 0x5A3A, - 1869: 0x5A3B, - 1870: 0x5A3D, - 1871: 0x5A3E, - 1872: 0x5A3F, - 1873: 0x5A41, - 1874: 0x5A42, - 1875: 0x5A43, - 1876: 0x5A44, - 1877: 0x5A45, - 1878: 0x5A47, - 1879: 0x5A48, - 1880: 0x5A4B, - 1881: 0x5A4C, - 1882: 0x5A4D, - 1883: 0x5A4E, - 1884: 0x5A4F, - 1885: 0x5A50, - 1886: 0x5A51, - 1887: 0x5A52, - 1888: 0x5A53, - 1889: 0x5A54, - 1890: 0x5A56, - 1891: 0x5A57, - 1892: 0x5A58, - 1893: 0x5A59, - 1894: 0x5A5B, - 1895: 0x5A5C, - 1896: 0x5A5D, - 1897: 0x5A5E, - 1898: 0x5A5F, - 1899: 0x5A60, - 1900: 0x5A61, - 1901: 0x5A63, - 1902: 0x5A64, - 1903: 0x5A65, - 1904: 0x5A66, - 1905: 0x5A68, - 1906: 0x5A69, - 1907: 0x5A6B, - 1908: 0x5A6C, - 1909: 0x5A6D, - 1910: 0x5A6E, - 1911: 0x5A6F, - 1912: 0x5A70, - 1913: 0x5A71, - 1914: 0x5A72, - 1915: 0x5A73, - 1916: 0x5A78, - 1917: 0x5A79, - 1918: 0x5A7B, - 1919: 0x5A7C, - 1920: 0x5A7D, - 1921: 0x5A7E, - 1922: 0x5A80, - 1923: 0x5A81, - 1924: 0x5A82, - 1925: 0x5A83, - 1926: 0x5A84, - 1927: 0x5A85, - 1928: 0x5A86, - 1929: 0x5A87, - 1930: 0x5A88, - 1931: 0x5A89, - 1932: 0x5A8A, - 1933: 0x5A8B, - 1934: 0x5A8C, - 1935: 0x5A8D, - 1936: 0x5A8E, - 1937: 0x5A8F, - 1938: 0x5A90, - 1939: 0x5A91, - 1940: 0x5A93, - 1941: 0x5A94, - 1942: 0x5A95, - 1943: 0x5A96, - 1944: 0x5A97, - 1945: 0x5A98, - 1946: 0x5A99, - 1947: 0x5A9C, - 1948: 0x5A9D, - 1949: 0x5A9E, - 1950: 0x5A9F, - 1951: 0x5AA0, - 1952: 0x5AA1, - 1953: 0x5AA2, - 1954: 0x5AA3, - 1955: 0x5AA4, - 1956: 0x5AA5, - 1957: 0x5AA6, - 1958: 0x5AA7, - 1959: 0x5AA8, - 1960: 0x5AA9, - 1961: 0x5AAB, - 1962: 0x5AAC, - 1963: 0x5AAD, - 1964: 0x5AAE, - 1965: 0x5AAF, - 1966: 0x5AB0, - 1967: 0x5AB1, - 1968: 0x5AB4, - 1969: 0x5AB6, - 1970: 0x5AB7, - 1971: 0x5AB9, - 1972: 0x5ABA, - 1973: 0x5ABB, - 1974: 0x5ABC, - 1975: 0x5ABD, - 1976: 0x5ABF, - 1977: 0x5AC0, - 1978: 0x5AC3, - 1979: 0x5AC4, - 1980: 0x5AC5, - 1981: 0x5AC6, - 1982: 0x5AC7, - 1983: 0x5AC8, - 1984: 0x5ACA, - 1985: 0x5ACB, - 1986: 0x5ACD, - 1987: 0x5ACE, - 1988: 0x5ACF, - 1989: 0x5AD0, - 1990: 0x5AD1, - 1991: 0x5AD3, - 1992: 0x5AD5, - 1993: 0x5AD7, - 1994: 0x5AD9, - 1995: 0x5ADA, - 1996: 0x5ADB, - 1997: 0x5ADD, - 1998: 0x5ADE, - 1999: 0x5ADF, - 2000: 0x5AE2, - 2001: 0x5AE4, - 2002: 0x5AE5, - 2003: 0x5AE7, - 2004: 0x5AE8, - 2005: 0x5AEA, - 2006: 0x5AEC, - 2007: 0x5AED, - 2008: 0x5AEE, - 2009: 0x5AEF, - 2010: 0x5AF0, - 2011: 0x5AF2, - 2012: 0x5AF3, - 2013: 0x5AF4, - 2014: 0x5AF5, - 2015: 0x5AF6, - 2016: 0x5AF7, - 2017: 0x5AF8, - 2018: 0x5AF9, - 2019: 0x5AFA, - 2020: 0x5AFB, - 2021: 0x5AFC, - 2022: 0x5AFD, - 2023: 0x5AFE, - 2024: 0x5AFF, - 2025: 0x5B00, - 2026: 0x5B01, - 2027: 0x5B02, - 2028: 0x5B03, - 2029: 0x5B04, - 2030: 0x5B05, - 2031: 0x5B06, - 2032: 0x5B07, - 2033: 0x5B08, - 2034: 0x5B0A, - 2035: 0x5B0B, - 2036: 0x5B0C, - 2037: 0x5B0D, - 2038: 0x5B0E, - 2039: 0x5B0F, - 2040: 0x5B10, - 2041: 0x5B11, - 2042: 0x5B12, - 2043: 0x5B13, - 2044: 0x5B14, - 2045: 0x5B15, - 2046: 0x5B18, - 2047: 0x5B19, - 2048: 0x5B1A, - 2049: 0x5B1B, - 2050: 0x5B1C, - 2051: 0x5B1D, - 2052: 0x5B1E, - 2053: 0x5B1F, - 2054: 0x5B20, - 2055: 0x5B21, - 2056: 0x5B22, - 2057: 0x5B23, - 2058: 0x5B24, - 2059: 0x5B25, - 2060: 0x5B26, - 2061: 0x5B27, - 2062: 0x5B28, - 2063: 0x5B29, - 2064: 0x5B2A, - 2065: 0x5B2B, - 2066: 0x5B2C, - 2067: 0x5B2D, - 2068: 0x5B2E, - 2069: 0x5B2F, - 2070: 0x5B30, - 2071: 0x5B31, - 2072: 0x5B33, - 2073: 0x5B35, - 2074: 0x5B36, - 2075: 0x5B38, - 2076: 0x5B39, - 2077: 0x5B3A, - 2078: 0x5B3B, - 2079: 0x5B3C, - 2080: 0x5B3D, - 2081: 0x5B3E, - 2082: 0x5B3F, - 2083: 0x5B41, - 2084: 0x5B42, - 2085: 0x5B43, - 2086: 0x5B44, - 2087: 0x5B45, - 2088: 0x5B46, - 2089: 0x5B47, - 2090: 0x5B48, - 2091: 0x5B49, - 2092: 0x5B4A, - 2093: 0x5B4B, - 2094: 0x5B4C, - 2095: 0x5B4D, - 2096: 0x5B4E, - 2097: 0x5B4F, - 2098: 0x5B52, - 2099: 0x5B56, - 2100: 0x5B5E, - 2101: 0x5B60, - 2102: 0x5B61, - 2103: 0x5B67, - 2104: 0x5B68, - 2105: 0x5B6B, - 2106: 0x5B6D, - 2107: 0x5B6E, - 2108: 0x5B6F, - 2109: 0x5B72, - 2110: 0x5B74, - 2111: 0x5B76, - 2112: 0x5B77, - 2113: 0x5B78, - 2114: 0x5B79, - 2115: 0x5B7B, - 2116: 0x5B7C, - 2117: 0x5B7E, - 2118: 0x5B7F, - 2119: 0x5B82, - 2120: 0x5B86, - 2121: 0x5B8A, - 2122: 0x5B8D, - 2123: 0x5B8E, - 2124: 0x5B90, - 2125: 0x5B91, - 2126: 0x5B92, - 2127: 0x5B94, - 2128: 0x5B96, - 2129: 0x5B9F, - 2130: 0x5BA7, - 2131: 0x5BA8, - 2132: 0x5BA9, - 2133: 0x5BAC, - 2134: 0x5BAD, - 2135: 0x5BAE, - 2136: 0x5BAF, - 2137: 0x5BB1, - 2138: 0x5BB2, - 2139: 0x5BB7, - 2140: 0x5BBA, - 2141: 0x5BBB, - 2142: 0x5BBC, - 2143: 0x5BC0, - 2144: 0x5BC1, - 2145: 0x5BC3, - 2146: 0x5BC8, - 2147: 0x5BC9, - 2148: 0x5BCA, - 2149: 0x5BCB, - 2150: 0x5BCD, - 2151: 0x5BCE, - 2152: 0x5BCF, - 2153: 0x5BD1, - 2154: 0x5BD4, - 2155: 0x5BD5, - 2156: 0x5BD6, - 2157: 0x5BD7, - 2158: 0x5BD8, - 2159: 0x5BD9, - 2160: 0x5BDA, - 2161: 0x5BDB, - 2162: 0x5BDC, - 2163: 0x5BE0, - 2164: 0x5BE2, - 2165: 0x5BE3, - 2166: 0x5BE6, - 2167: 0x5BE7, - 2168: 0x5BE9, - 2169: 0x5BEA, - 2170: 0x5BEB, - 2171: 0x5BEC, - 2172: 0x5BED, - 2173: 0x5BEF, - 2174: 0x5BF1, - 2175: 0x5BF2, - 2176: 0x5BF3, - 2177: 0x5BF4, - 2178: 0x5BF5, - 2179: 0x5BF6, - 2180: 0x5BF7, - 2181: 0x5BFD, - 2182: 0x5BFE, - 2183: 0x5C00, - 2184: 0x5C02, - 2185: 0x5C03, - 2186: 0x5C05, - 2187: 0x5C07, - 2188: 0x5C08, - 2189: 0x5C0B, - 2190: 0x5C0C, - 2191: 0x5C0D, - 2192: 0x5C0E, - 2193: 0x5C10, - 2194: 0x5C12, - 2195: 0x5C13, - 2196: 0x5C17, - 2197: 0x5C19, - 2198: 0x5C1B, - 2199: 0x5C1E, - 2200: 0x5C1F, - 2201: 0x5C20, - 2202: 0x5C21, - 2203: 0x5C23, - 2204: 0x5C26, - 2205: 0x5C28, - 2206: 0x5C29, - 2207: 0x5C2A, - 2208: 0x5C2B, - 2209: 0x5C2D, - 2210: 0x5C2E, - 2211: 0x5C2F, - 2212: 0x5C30, - 2213: 0x5C32, - 2214: 0x5C33, - 2215: 0x5C35, - 2216: 0x5C36, - 2217: 0x5C37, - 2218: 0x5C43, - 2219: 0x5C44, - 2220: 0x5C46, - 2221: 0x5C47, - 2222: 0x5C4C, - 2223: 0x5C4D, - 2224: 0x5C52, - 2225: 0x5C53, - 2226: 0x5C54, - 2227: 0x5C56, - 2228: 0x5C57, - 2229: 0x5C58, - 2230: 0x5C5A, - 2231: 0x5C5B, - 2232: 0x5C5C, - 2233: 0x5C5D, - 2234: 0x5C5F, - 2235: 0x5C62, - 2236: 0x5C64, - 2237: 0x5C67, - 2238: 0x5C68, - 2239: 0x5C69, - 2240: 0x5C6A, - 2241: 0x5C6B, - 2242: 0x5C6C, - 2243: 0x5C6D, - 2244: 0x5C70, - 2245: 0x5C72, - 2246: 0x5C73, - 2247: 0x5C74, - 2248: 0x5C75, - 2249: 0x5C76, - 2250: 0x5C77, - 2251: 0x5C78, - 2252: 0x5C7B, - 2253: 0x5C7C, - 2254: 0x5C7D, - 2255: 0x5C7E, - 2256: 0x5C80, - 2257: 0x5C83, - 2258: 0x5C84, - 2259: 0x5C85, - 2260: 0x5C86, - 2261: 0x5C87, - 2262: 0x5C89, - 2263: 0x5C8A, - 2264: 0x5C8B, - 2265: 0x5C8E, - 2266: 0x5C8F, - 2267: 0x5C92, - 2268: 0x5C93, - 2269: 0x5C95, - 2270: 0x5C9D, - 2271: 0x5C9E, - 2272: 0x5C9F, - 2273: 0x5CA0, - 2274: 0x5CA1, - 2275: 0x5CA4, - 2276: 0x5CA5, - 2277: 0x5CA6, - 2278: 0x5CA7, - 2279: 0x5CA8, - 2280: 0x5CAA, - 2281: 0x5CAE, - 2282: 0x5CAF, - 2283: 0x5CB0, - 2284: 0x5CB2, - 2285: 0x5CB4, - 2286: 0x5CB6, - 2287: 0x5CB9, - 2288: 0x5CBA, - 2289: 0x5CBB, - 2290: 0x5CBC, - 2291: 0x5CBE, - 2292: 0x5CC0, - 2293: 0x5CC2, - 2294: 0x5CC3, - 2295: 0x5CC5, - 2296: 0x5CC6, - 2297: 0x5CC7, - 2298: 0x5CC8, - 2299: 0x5CC9, - 2300: 0x5CCA, - 2301: 0x5CCC, - 2302: 0x5CCD, - 2303: 0x5CCE, - 2304: 0x5CCF, - 2305: 0x5CD0, - 2306: 0x5CD1, - 2307: 0x5CD3, - 2308: 0x5CD4, - 2309: 0x5CD5, - 2310: 0x5CD6, - 2311: 0x5CD7, - 2312: 0x5CD8, - 2313: 0x5CDA, - 2314: 0x5CDB, - 2315: 0x5CDC, - 2316: 0x5CDD, - 2317: 0x5CDE, - 2318: 0x5CDF, - 2319: 0x5CE0, - 2320: 0x5CE2, - 2321: 0x5CE3, - 2322: 0x5CE7, - 2323: 0x5CE9, - 2324: 0x5CEB, - 2325: 0x5CEC, - 2326: 0x5CEE, - 2327: 0x5CEF, - 2328: 0x5CF1, - 2329: 0x5CF2, - 2330: 0x5CF3, - 2331: 0x5CF4, - 2332: 0x5CF5, - 2333: 0x5CF6, - 2334: 0x5CF7, - 2335: 0x5CF8, - 2336: 0x5CF9, - 2337: 0x5CFA, - 2338: 0x5CFC, - 2339: 0x5CFD, - 2340: 0x5CFE, - 2341: 0x5CFF, - 2342: 0x5D00, - 2343: 0x5D01, - 2344: 0x5D04, - 2345: 0x5D05, - 2346: 0x5D08, - 2347: 0x5D09, - 2348: 0x5D0A, - 2349: 0x5D0B, - 2350: 0x5D0C, - 2351: 0x5D0D, - 2352: 0x5D0F, - 2353: 0x5D10, - 2354: 0x5D11, - 2355: 0x5D12, - 2356: 0x5D13, - 2357: 0x5D15, - 2358: 0x5D17, - 2359: 0x5D18, - 2360: 0x5D19, - 2361: 0x5D1A, - 2362: 0x5D1C, - 2363: 0x5D1D, - 2364: 0x5D1F, - 2365: 0x5D20, - 2366: 0x5D21, - 2367: 0x5D22, - 2368: 0x5D23, - 2369: 0x5D25, - 2370: 0x5D28, - 2371: 0x5D2A, - 2372: 0x5D2B, - 2373: 0x5D2C, - 2374: 0x5D2F, - 2375: 0x5D30, - 2376: 0x5D31, - 2377: 0x5D32, - 2378: 0x5D33, - 2379: 0x5D35, - 2380: 0x5D36, - 2381: 0x5D37, - 2382: 0x5D38, - 2383: 0x5D39, - 2384: 0x5D3A, - 2385: 0x5D3B, - 2386: 0x5D3C, - 2387: 0x5D3F, - 2388: 0x5D40, - 2389: 0x5D41, - 2390: 0x5D42, - 2391: 0x5D43, - 2392: 0x5D44, - 2393: 0x5D45, - 2394: 0x5D46, - 2395: 0x5D48, - 2396: 0x5D49, - 2397: 0x5D4D, - 2398: 0x5D4E, - 2399: 0x5D4F, - 2400: 0x5D50, - 2401: 0x5D51, - 2402: 0x5D52, - 2403: 0x5D53, - 2404: 0x5D54, - 2405: 0x5D55, - 2406: 0x5D56, - 2407: 0x5D57, - 2408: 0x5D59, - 2409: 0x5D5A, - 2410: 0x5D5C, - 2411: 0x5D5E, - 2412: 0x5D5F, - 2413: 0x5D60, - 2414: 0x5D61, - 2415: 0x5D62, - 2416: 0x5D63, - 2417: 0x5D64, - 2418: 0x5D65, - 2419: 0x5D66, - 2420: 0x5D67, - 2421: 0x5D68, - 2422: 0x5D6A, - 2423: 0x5D6D, - 2424: 0x5D6E, - 2425: 0x5D70, - 2426: 0x5D71, - 2427: 0x5D72, - 2428: 0x5D73, - 2429: 0x5D75, - 2430: 0x5D76, - 2431: 0x5D77, - 2432: 0x5D78, - 2433: 0x5D79, - 2434: 0x5D7A, - 2435: 0x5D7B, - 2436: 0x5D7C, - 2437: 0x5D7D, - 2438: 0x5D7E, - 2439: 0x5D7F, - 2440: 0x5D80, - 2441: 0x5D81, - 2442: 0x5D83, - 2443: 0x5D84, - 2444: 0x5D85, - 2445: 0x5D86, - 2446: 0x5D87, - 2447: 0x5D88, - 2448: 0x5D89, - 2449: 0x5D8A, - 2450: 0x5D8B, - 2451: 0x5D8C, - 2452: 0x5D8D, - 2453: 0x5D8E, - 2454: 0x5D8F, - 2455: 0x5D90, - 2456: 0x5D91, - 2457: 0x5D92, - 2458: 0x5D93, - 2459: 0x5D94, - 2460: 0x5D95, - 2461: 0x5D96, - 2462: 0x5D97, - 2463: 0x5D98, - 2464: 0x5D9A, - 2465: 0x5D9B, - 2466: 0x5D9C, - 2467: 0x5D9E, - 2468: 0x5D9F, - 2469: 0x5DA0, - 2470: 0x5DA1, - 2471: 0x5DA2, - 2472: 0x5DA3, - 2473: 0x5DA4, - 2474: 0x5DA5, - 2475: 0x5DA6, - 2476: 0x5DA7, - 2477: 0x5DA8, - 2478: 0x5DA9, - 2479: 0x5DAA, - 2480: 0x5DAB, - 2481: 0x5DAC, - 2482: 0x5DAD, - 2483: 0x5DAE, - 2484: 0x5DAF, - 2485: 0x5DB0, - 2486: 0x5DB1, - 2487: 0x5DB2, - 2488: 0x5DB3, - 2489: 0x5DB4, - 2490: 0x5DB5, - 2491: 0x5DB6, - 2492: 0x5DB8, - 2493: 0x5DB9, - 2494: 0x5DBA, - 2495: 0x5DBB, - 2496: 0x5DBC, - 2497: 0x5DBD, - 2498: 0x5DBE, - 2499: 0x5DBF, - 2500: 0x5DC0, - 2501: 0x5DC1, - 2502: 0x5DC2, - 2503: 0x5DC3, - 2504: 0x5DC4, - 2505: 0x5DC6, - 2506: 0x5DC7, - 2507: 0x5DC8, - 2508: 0x5DC9, - 2509: 0x5DCA, - 2510: 0x5DCB, - 2511: 0x5DCC, - 2512: 0x5DCE, - 2513: 0x5DCF, - 2514: 0x5DD0, - 2515: 0x5DD1, - 2516: 0x5DD2, - 2517: 0x5DD3, - 2518: 0x5DD4, - 2519: 0x5DD5, - 2520: 0x5DD6, - 2521: 0x5DD7, - 2522: 0x5DD8, - 2523: 0x5DD9, - 2524: 0x5DDA, - 2525: 0x5DDC, - 2526: 0x5DDF, - 2527: 0x5DE0, - 2528: 0x5DE3, - 2529: 0x5DE4, - 2530: 0x5DEA, - 2531: 0x5DEC, - 2532: 0x5DED, - 2533: 0x5DF0, - 2534: 0x5DF5, - 2535: 0x5DF6, - 2536: 0x5DF8, - 2537: 0x5DF9, - 2538: 0x5DFA, - 2539: 0x5DFB, - 2540: 0x5DFC, - 2541: 0x5DFF, - 2542: 0x5E00, - 2543: 0x5E04, - 2544: 0x5E07, - 2545: 0x5E09, - 2546: 0x5E0A, - 2547: 0x5E0B, - 2548: 0x5E0D, - 2549: 0x5E0E, - 2550: 0x5E12, - 2551: 0x5E13, - 2552: 0x5E17, - 2553: 0x5E1E, - 2554: 0x5E1F, - 2555: 0x5E20, - 2556: 0x5E21, - 2557: 0x5E22, - 2558: 0x5E23, - 2559: 0x5E24, - 2560: 0x5E25, - 2561: 0x5E28, - 2562: 0x5E29, - 2563: 0x5E2A, - 2564: 0x5E2B, - 2565: 0x5E2C, - 2566: 0x5E2F, - 2567: 0x5E30, - 2568: 0x5E32, - 2569: 0x5E33, - 2570: 0x5E34, - 2571: 0x5E35, - 2572: 0x5E36, - 2573: 0x5E39, - 2574: 0x5E3A, - 2575: 0x5E3E, - 2576: 0x5E3F, - 2577: 0x5E40, - 2578: 0x5E41, - 2579: 0x5E43, - 2580: 0x5E46, - 2581: 0x5E47, - 2582: 0x5E48, - 2583: 0x5E49, - 2584: 0x5E4A, - 2585: 0x5E4B, - 2586: 0x5E4D, - 2587: 0x5E4E, - 2588: 0x5E4F, - 2589: 0x5E50, - 2590: 0x5E51, - 2591: 0x5E52, - 2592: 0x5E53, - 2593: 0x5E56, - 2594: 0x5E57, - 2595: 0x5E58, - 2596: 0x5E59, - 2597: 0x5E5A, - 2598: 0x5E5C, - 2599: 0x5E5D, - 2600: 0x5E5F, - 2601: 0x5E60, - 2602: 0x5E63, - 2603: 0x5E64, - 2604: 0x5E65, - 2605: 0x5E66, - 2606: 0x5E67, - 2607: 0x5E68, - 2608: 0x5E69, - 2609: 0x5E6A, - 2610: 0x5E6B, - 2611: 0x5E6C, - 2612: 0x5E6D, - 2613: 0x5E6E, - 2614: 0x5E6F, - 2615: 0x5E70, - 2616: 0x5E71, - 2617: 0x5E75, - 2618: 0x5E77, - 2619: 0x5E79, - 2620: 0x5E7E, - 2621: 0x5E81, - 2622: 0x5E82, - 2623: 0x5E83, - 2624: 0x5E85, - 2625: 0x5E88, - 2626: 0x5E89, - 2627: 0x5E8C, - 2628: 0x5E8D, - 2629: 0x5E8E, - 2630: 0x5E92, - 2631: 0x5E98, - 2632: 0x5E9B, - 2633: 0x5E9D, - 2634: 0x5EA1, - 2635: 0x5EA2, - 2636: 0x5EA3, - 2637: 0x5EA4, - 2638: 0x5EA8, - 2639: 0x5EA9, - 2640: 0x5EAA, - 2641: 0x5EAB, - 2642: 0x5EAC, - 2643: 0x5EAE, - 2644: 0x5EAF, - 2645: 0x5EB0, - 2646: 0x5EB1, - 2647: 0x5EB2, - 2648: 0x5EB4, - 2649: 0x5EBA, - 2650: 0x5EBB, - 2651: 0x5EBC, - 2652: 0x5EBD, - 2653: 0x5EBF, - 2654: 0x5EC0, - 2655: 0x5EC1, - 2656: 0x5EC2, - 2657: 0x5EC3, - 2658: 0x5EC4, - 2659: 0x5EC5, - 2660: 0x5EC6, - 2661: 0x5EC7, - 2662: 0x5EC8, - 2663: 0x5ECB, - 2664: 0x5ECC, - 2665: 0x5ECD, - 2666: 0x5ECE, - 2667: 0x5ECF, - 2668: 0x5ED0, - 2669: 0x5ED4, - 2670: 0x5ED5, - 2671: 0x5ED7, - 2672: 0x5ED8, - 2673: 0x5ED9, - 2674: 0x5EDA, - 2675: 0x5EDC, - 2676: 0x5EDD, - 2677: 0x5EDE, - 2678: 0x5EDF, - 2679: 0x5EE0, - 2680: 0x5EE1, - 2681: 0x5EE2, - 2682: 0x5EE3, - 2683: 0x5EE4, - 2684: 0x5EE5, - 2685: 0x5EE6, - 2686: 0x5EE7, - 2687: 0x5EE9, - 2688: 0x5EEB, - 2689: 0x5EEC, - 2690: 0x5EED, - 2691: 0x5EEE, - 2692: 0x5EEF, - 2693: 0x5EF0, - 2694: 0x5EF1, - 2695: 0x5EF2, - 2696: 0x5EF3, - 2697: 0x5EF5, - 2698: 0x5EF8, - 2699: 0x5EF9, - 2700: 0x5EFB, - 2701: 0x5EFC, - 2702: 0x5EFD, - 2703: 0x5F05, - 2704: 0x5F06, - 2705: 0x5F07, - 2706: 0x5F09, - 2707: 0x5F0C, - 2708: 0x5F0D, - 2709: 0x5F0E, - 2710: 0x5F10, - 2711: 0x5F12, - 2712: 0x5F14, - 2713: 0x5F16, - 2714: 0x5F19, - 2715: 0x5F1A, - 2716: 0x5F1C, - 2717: 0x5F1D, - 2718: 0x5F1E, - 2719: 0x5F21, - 2720: 0x5F22, - 2721: 0x5F23, - 2722: 0x5F24, - 2723: 0x5F28, - 2724: 0x5F2B, - 2725: 0x5F2C, - 2726: 0x5F2E, - 2727: 0x5F30, - 2728: 0x5F32, - 2729: 0x5F33, - 2730: 0x5F34, - 2731: 0x5F35, - 2732: 0x5F36, - 2733: 0x5F37, - 2734: 0x5F38, - 2735: 0x5F3B, - 2736: 0x5F3D, - 2737: 0x5F3E, - 2738: 0x5F3F, - 2739: 0x5F41, - 2740: 0x5F42, - 2741: 0x5F43, - 2742: 0x5F44, - 2743: 0x5F45, - 2744: 0x5F46, - 2745: 0x5F47, - 2746: 0x5F48, - 2747: 0x5F49, - 2748: 0x5F4A, - 2749: 0x5F4B, - 2750: 0x5F4C, - 2751: 0x5F4D, - 2752: 0x5F4E, - 2753: 0x5F4F, - 2754: 0x5F51, - 2755: 0x5F54, - 2756: 0x5F59, - 2757: 0x5F5A, - 2758: 0x5F5B, - 2759: 0x5F5C, - 2760: 0x5F5E, - 2761: 0x5F5F, - 2762: 0x5F60, - 2763: 0x5F63, - 2764: 0x5F65, - 2765: 0x5F67, - 2766: 0x5F68, - 2767: 0x5F6B, - 2768: 0x5F6E, - 2769: 0x5F6F, - 2770: 0x5F72, - 2771: 0x5F74, - 2772: 0x5F75, - 2773: 0x5F76, - 2774: 0x5F78, - 2775: 0x5F7A, - 2776: 0x5F7D, - 2777: 0x5F7E, - 2778: 0x5F7F, - 2779: 0x5F83, - 2780: 0x5F86, - 2781: 0x5F8D, - 2782: 0x5F8E, - 2783: 0x5F8F, - 2784: 0x5F91, - 2785: 0x5F93, - 2786: 0x5F94, - 2787: 0x5F96, - 2788: 0x5F9A, - 2789: 0x5F9B, - 2790: 0x5F9D, - 2791: 0x5F9E, - 2792: 0x5F9F, - 2793: 0x5FA0, - 2794: 0x5FA2, - 2795: 0x5FA3, - 2796: 0x5FA4, - 2797: 0x5FA5, - 2798: 0x5FA6, - 2799: 0x5FA7, - 2800: 0x5FA9, - 2801: 0x5FAB, - 2802: 0x5FAC, - 2803: 0x5FAF, - 2804: 0x5FB0, - 2805: 0x5FB1, - 2806: 0x5FB2, - 2807: 0x5FB3, - 2808: 0x5FB4, - 2809: 0x5FB6, - 2810: 0x5FB8, - 2811: 0x5FB9, - 2812: 0x5FBA, - 2813: 0x5FBB, - 2814: 0x5FBE, - 2815: 0x5FBF, - 2816: 0x5FC0, - 2817: 0x5FC1, - 2818: 0x5FC2, - 2819: 0x5FC7, - 2820: 0x5FC8, - 2821: 0x5FCA, - 2822: 0x5FCB, - 2823: 0x5FCE, - 2824: 0x5FD3, - 2825: 0x5FD4, - 2826: 0x5FD5, - 2827: 0x5FDA, - 2828: 0x5FDB, - 2829: 0x5FDC, - 2830: 0x5FDE, - 2831: 0x5FDF, - 2832: 0x5FE2, - 2833: 0x5FE3, - 2834: 0x5FE5, - 2835: 0x5FE6, - 2836: 0x5FE8, - 2837: 0x5FE9, - 2838: 0x5FEC, - 2839: 0x5FEF, - 2840: 0x5FF0, - 2841: 0x5FF2, - 2842: 0x5FF3, - 2843: 0x5FF4, - 2844: 0x5FF6, - 2845: 0x5FF7, - 2846: 0x5FF9, - 2847: 0x5FFA, - 2848: 0x5FFC, - 2849: 0x6007, - 2850: 0x6008, - 2851: 0x6009, - 2852: 0x600B, - 2853: 0x600C, - 2854: 0x6010, - 2855: 0x6011, - 2856: 0x6013, - 2857: 0x6017, - 2858: 0x6018, - 2859: 0x601A, - 2860: 0x601E, - 2861: 0x601F, - 2862: 0x6022, - 2863: 0x6023, - 2864: 0x6024, - 2865: 0x602C, - 2866: 0x602D, - 2867: 0x602E, - 2868: 0x6030, - 2869: 0x6031, - 2870: 0x6032, - 2871: 0x6033, - 2872: 0x6034, - 2873: 0x6036, - 2874: 0x6037, - 2875: 0x6038, - 2876: 0x6039, - 2877: 0x603A, - 2878: 0x603D, - 2879: 0x603E, - 2880: 0x6040, - 2881: 0x6044, - 2882: 0x6045, - 2883: 0x6046, - 2884: 0x6047, - 2885: 0x6048, - 2886: 0x6049, - 2887: 0x604A, - 2888: 0x604C, - 2889: 0x604E, - 2890: 0x604F, - 2891: 0x6051, - 2892: 0x6053, - 2893: 0x6054, - 2894: 0x6056, - 2895: 0x6057, - 2896: 0x6058, - 2897: 0x605B, - 2898: 0x605C, - 2899: 0x605E, - 2900: 0x605F, - 2901: 0x6060, - 2902: 0x6061, - 2903: 0x6065, - 2904: 0x6066, - 2905: 0x606E, - 2906: 0x6071, - 2907: 0x6072, - 2908: 0x6074, - 2909: 0x6075, - 2910: 0x6077, - 2911: 0x607E, - 2912: 0x6080, - 2913: 0x6081, - 2914: 0x6082, - 2915: 0x6085, - 2916: 0x6086, - 2917: 0x6087, - 2918: 0x6088, - 2919: 0x608A, - 2920: 0x608B, - 2921: 0x608E, - 2922: 0x608F, - 2923: 0x6090, - 2924: 0x6091, - 2925: 0x6093, - 2926: 0x6095, - 2927: 0x6097, - 2928: 0x6098, - 2929: 0x6099, - 2930: 0x609C, - 2931: 0x609E, - 2932: 0x60A1, - 2933: 0x60A2, - 2934: 0x60A4, - 2935: 0x60A5, - 2936: 0x60A7, - 2937: 0x60A9, - 2938: 0x60AA, - 2939: 0x60AE, - 2940: 0x60B0, - 2941: 0x60B3, - 2942: 0x60B5, - 2943: 0x60B6, - 2944: 0x60B7, - 2945: 0x60B9, - 2946: 0x60BA, - 2947: 0x60BD, - 2948: 0x60BE, - 2949: 0x60BF, - 2950: 0x60C0, - 2951: 0x60C1, - 2952: 0x60C2, - 2953: 0x60C3, - 2954: 0x60C4, - 2955: 0x60C7, - 2956: 0x60C8, - 2957: 0x60C9, - 2958: 0x60CC, - 2959: 0x60CD, - 2960: 0x60CE, - 2961: 0x60CF, - 2962: 0x60D0, - 2963: 0x60D2, - 2964: 0x60D3, - 2965: 0x60D4, - 2966: 0x60D6, - 2967: 0x60D7, - 2968: 0x60D9, - 2969: 0x60DB, - 2970: 0x60DE, - 2971: 0x60E1, - 2972: 0x60E2, - 2973: 0x60E3, - 2974: 0x60E4, - 2975: 0x60E5, - 2976: 0x60EA, - 2977: 0x60F1, - 2978: 0x60F2, - 2979: 0x60F5, - 2980: 0x60F7, - 2981: 0x60F8, - 2982: 0x60FB, - 2983: 0x60FC, - 2984: 0x60FD, - 2985: 0x60FE, - 2986: 0x60FF, - 2987: 0x6102, - 2988: 0x6103, - 2989: 0x6104, - 2990: 0x6105, - 2991: 0x6107, - 2992: 0x610A, - 2993: 0x610B, - 2994: 0x610C, - 2995: 0x6110, - 2996: 0x6111, - 2997: 0x6112, - 2998: 0x6113, - 2999: 0x6114, - 3000: 0x6116, - 3001: 0x6117, - 3002: 0x6118, - 3003: 0x6119, - 3004: 0x611B, - 3005: 0x611C, - 3006: 0x611D, - 3007: 0x611E, - 3008: 0x6121, - 3009: 0x6122, - 3010: 0x6125, - 3011: 0x6128, - 3012: 0x6129, - 3013: 0x612A, - 3014: 0x612C, - 3015: 0x612D, - 3016: 0x612E, - 3017: 0x612F, - 3018: 0x6130, - 3019: 0x6131, - 3020: 0x6132, - 3021: 0x6133, - 3022: 0x6134, - 3023: 0x6135, - 3024: 0x6136, - 3025: 0x6137, - 3026: 0x6138, - 3027: 0x6139, - 3028: 0x613A, - 3029: 0x613B, - 3030: 0x613C, - 3031: 0x613D, - 3032: 0x613E, - 3033: 0x6140, - 3034: 0x6141, - 3035: 0x6142, - 3036: 0x6143, - 3037: 0x6144, - 3038: 0x6145, - 3039: 0x6146, - 3040: 0x6147, - 3041: 0x6149, - 3042: 0x614B, - 3043: 0x614D, - 3044: 0x614F, - 3045: 0x6150, - 3046: 0x6152, - 3047: 0x6153, - 3048: 0x6154, - 3049: 0x6156, - 3050: 0x6157, - 3051: 0x6158, - 3052: 0x6159, - 3053: 0x615A, - 3054: 0x615B, - 3055: 0x615C, - 3056: 0x615E, - 3057: 0x615F, - 3058: 0x6160, - 3059: 0x6161, - 3060: 0x6163, - 3061: 0x6164, - 3062: 0x6165, - 3063: 0x6166, - 3064: 0x6169, - 3065: 0x616A, - 3066: 0x616B, - 3067: 0x616C, - 3068: 0x616D, - 3069: 0x616E, - 3070: 0x616F, - 3071: 0x6171, - 3072: 0x6172, - 3073: 0x6173, - 3074: 0x6174, - 3075: 0x6176, - 3076: 0x6178, - 3077: 0x6179, - 3078: 0x617A, - 3079: 0x617B, - 3080: 0x617C, - 3081: 0x617D, - 3082: 0x617E, - 3083: 0x617F, - 3084: 0x6180, - 3085: 0x6181, - 3086: 0x6182, - 3087: 0x6183, - 3088: 0x6184, - 3089: 0x6185, - 3090: 0x6186, - 3091: 0x6187, - 3092: 0x6188, - 3093: 0x6189, - 3094: 0x618A, - 3095: 0x618C, - 3096: 0x618D, - 3097: 0x618F, - 3098: 0x6190, - 3099: 0x6191, - 3100: 0x6192, - 3101: 0x6193, - 3102: 0x6195, - 3103: 0x6196, - 3104: 0x6197, - 3105: 0x6198, - 3106: 0x6199, - 3107: 0x619A, - 3108: 0x619B, - 3109: 0x619C, - 3110: 0x619E, - 3111: 0x619F, - 3112: 0x61A0, - 3113: 0x61A1, - 3114: 0x61A2, - 3115: 0x61A3, - 3116: 0x61A4, - 3117: 0x61A5, - 3118: 0x61A6, - 3119: 0x61AA, - 3120: 0x61AB, - 3121: 0x61AD, - 3122: 0x61AE, - 3123: 0x61AF, - 3124: 0x61B0, - 3125: 0x61B1, - 3126: 0x61B2, - 3127: 0x61B3, - 3128: 0x61B4, - 3129: 0x61B5, - 3130: 0x61B6, - 3131: 0x61B8, - 3132: 0x61B9, - 3133: 0x61BA, - 3134: 0x61BB, - 3135: 0x61BC, - 3136: 0x61BD, - 3137: 0x61BF, - 3138: 0x61C0, - 3139: 0x61C1, - 3140: 0x61C3, - 3141: 0x61C4, - 3142: 0x61C5, - 3143: 0x61C6, - 3144: 0x61C7, - 3145: 0x61C9, - 3146: 0x61CC, - 3147: 0x61CD, - 3148: 0x61CE, - 3149: 0x61CF, - 3150: 0x61D0, - 3151: 0x61D3, - 3152: 0x61D5, - 3153: 0x61D6, - 3154: 0x61D7, - 3155: 0x61D8, - 3156: 0x61D9, - 3157: 0x61DA, - 3158: 0x61DB, - 3159: 0x61DC, - 3160: 0x61DD, - 3161: 0x61DE, - 3162: 0x61DF, - 3163: 0x61E0, - 3164: 0x61E1, - 3165: 0x61E2, - 3166: 0x61E3, - 3167: 0x61E4, - 3168: 0x61E5, - 3169: 0x61E7, - 3170: 0x61E8, - 3171: 0x61E9, - 3172: 0x61EA, - 3173: 0x61EB, - 3174: 0x61EC, - 3175: 0x61ED, - 3176: 0x61EE, - 3177: 0x61EF, - 3178: 0x61F0, - 3179: 0x61F1, - 3180: 0x61F2, - 3181: 0x61F3, - 3182: 0x61F4, - 3183: 0x61F6, - 3184: 0x61F7, - 3185: 0x61F8, - 3186: 0x61F9, - 3187: 0x61FA, - 3188: 0x61FB, - 3189: 0x61FC, - 3190: 0x61FD, - 3191: 0x61FE, - 3192: 0x6200, - 3193: 0x6201, - 3194: 0x6202, - 3195: 0x6203, - 3196: 0x6204, - 3197: 0x6205, - 3198: 0x6207, - 3199: 0x6209, - 3200: 0x6213, - 3201: 0x6214, - 3202: 0x6219, - 3203: 0x621C, - 3204: 0x621D, - 3205: 0x621E, - 3206: 0x6220, - 3207: 0x6223, - 3208: 0x6226, - 3209: 0x6227, - 3210: 0x6228, - 3211: 0x6229, - 3212: 0x622B, - 3213: 0x622D, - 3214: 0x622F, - 3215: 0x6230, - 3216: 0x6231, - 3217: 0x6232, - 3218: 0x6235, - 3219: 0x6236, - 3220: 0x6238, - 3221: 0x6239, - 3222: 0x623A, - 3223: 0x623B, - 3224: 0x623C, - 3225: 0x6242, - 3226: 0x6244, - 3227: 0x6245, - 3228: 0x6246, - 3229: 0x624A, - 3230: 0x624F, - 3231: 0x6250, - 3232: 0x6255, - 3233: 0x6256, - 3234: 0x6257, - 3235: 0x6259, - 3236: 0x625A, - 3237: 0x625C, - 3238: 0x625D, - 3239: 0x625E, - 3240: 0x625F, - 3241: 0x6260, - 3242: 0x6261, - 3243: 0x6262, - 3244: 0x6264, - 3245: 0x6265, - 3246: 0x6268, - 3247: 0x6271, - 3248: 0x6272, - 3249: 0x6274, - 3250: 0x6275, - 3251: 0x6277, - 3252: 0x6278, - 3253: 0x627A, - 3254: 0x627B, - 3255: 0x627D, - 3256: 0x6281, - 3257: 0x6282, - 3258: 0x6283, - 3259: 0x6285, - 3260: 0x6286, - 3261: 0x6287, - 3262: 0x6288, - 3263: 0x628B, - 3264: 0x628C, - 3265: 0x628D, - 3266: 0x628E, - 3267: 0x628F, - 3268: 0x6290, - 3269: 0x6294, - 3270: 0x6299, - 3271: 0x629C, - 3272: 0x629D, - 3273: 0x629E, - 3274: 0x62A3, - 3275: 0x62A6, - 3276: 0x62A7, - 3277: 0x62A9, - 3278: 0x62AA, - 3279: 0x62AD, - 3280: 0x62AE, - 3281: 0x62AF, - 3282: 0x62B0, - 3283: 0x62B2, - 3284: 0x62B3, - 3285: 0x62B4, - 3286: 0x62B6, - 3287: 0x62B7, - 3288: 0x62B8, - 3289: 0x62BA, - 3290: 0x62BE, - 3291: 0x62C0, - 3292: 0x62C1, - 3293: 0x62C3, - 3294: 0x62CB, - 3295: 0x62CF, - 3296: 0x62D1, - 3297: 0x62D5, - 3298: 0x62DD, - 3299: 0x62DE, - 3300: 0x62E0, - 3301: 0x62E1, - 3302: 0x62E4, - 3303: 0x62EA, - 3304: 0x62EB, - 3305: 0x62F0, - 3306: 0x62F2, - 3307: 0x62F5, - 3308: 0x62F8, - 3309: 0x62F9, - 3310: 0x62FA, - 3311: 0x62FB, - 3312: 0x6300, - 3313: 0x6303, - 3314: 0x6304, - 3315: 0x6305, - 3316: 0x6306, - 3317: 0x630A, - 3318: 0x630B, - 3319: 0x630C, - 3320: 0x630D, - 3321: 0x630F, - 3322: 0x6310, - 3323: 0x6312, - 3324: 0x6313, - 3325: 0x6314, - 3326: 0x6315, - 3327: 0x6317, - 3328: 0x6318, - 3329: 0x6319, - 3330: 0x631C, - 3331: 0x6326, - 3332: 0x6327, - 3333: 0x6329, - 3334: 0x632C, - 3335: 0x632D, - 3336: 0x632E, - 3337: 0x6330, - 3338: 0x6331, - 3339: 0x6333, - 3340: 0x6334, - 3341: 0x6335, - 3342: 0x6336, - 3343: 0x6337, - 3344: 0x6338, - 3345: 0x633B, - 3346: 0x633C, - 3347: 0x633E, - 3348: 0x633F, - 3349: 0x6340, - 3350: 0x6341, - 3351: 0x6344, - 3352: 0x6347, - 3353: 0x6348, - 3354: 0x634A, - 3355: 0x6351, - 3356: 0x6352, - 3357: 0x6353, - 3358: 0x6354, - 3359: 0x6356, - 3360: 0x6357, - 3361: 0x6358, - 3362: 0x6359, - 3363: 0x635A, - 3364: 0x635B, - 3365: 0x635C, - 3366: 0x635D, - 3367: 0x6360, - 3368: 0x6364, - 3369: 0x6365, - 3370: 0x6366, - 3371: 0x6368, - 3372: 0x636A, - 3373: 0x636B, - 3374: 0x636C, - 3375: 0x636F, - 3376: 0x6370, - 3377: 0x6372, - 3378: 0x6373, - 3379: 0x6374, - 3380: 0x6375, - 3381: 0x6378, - 3382: 0x6379, - 3383: 0x637C, - 3384: 0x637D, - 3385: 0x637E, - 3386: 0x637F, - 3387: 0x6381, - 3388: 0x6383, - 3389: 0x6384, - 3390: 0x6385, - 3391: 0x6386, - 3392: 0x638B, - 3393: 0x638D, - 3394: 0x6391, - 3395: 0x6393, - 3396: 0x6394, - 3397: 0x6395, - 3398: 0x6397, - 3399: 0x6399, - 3400: 0x639A, - 3401: 0x639B, - 3402: 0x639C, - 3403: 0x639D, - 3404: 0x639E, - 3405: 0x639F, - 3406: 0x63A1, - 3407: 0x63A4, - 3408: 0x63A6, - 3409: 0x63AB, - 3410: 0x63AF, - 3411: 0x63B1, - 3412: 0x63B2, - 3413: 0x63B5, - 3414: 0x63B6, - 3415: 0x63B9, - 3416: 0x63BB, - 3417: 0x63BD, - 3418: 0x63BF, - 3419: 0x63C0, - 3420: 0x63C1, - 3421: 0x63C2, - 3422: 0x63C3, - 3423: 0x63C5, - 3424: 0x63C7, - 3425: 0x63C8, - 3426: 0x63CA, - 3427: 0x63CB, - 3428: 0x63CC, - 3429: 0x63D1, - 3430: 0x63D3, - 3431: 0x63D4, - 3432: 0x63D5, - 3433: 0x63D7, - 3434: 0x63D8, - 3435: 0x63D9, - 3436: 0x63DA, - 3437: 0x63DB, - 3438: 0x63DC, - 3439: 0x63DD, - 3440: 0x63DF, - 3441: 0x63E2, - 3442: 0x63E4, - 3443: 0x63E5, - 3444: 0x63E6, - 3445: 0x63E7, - 3446: 0x63E8, - 3447: 0x63EB, - 3448: 0x63EC, - 3449: 0x63EE, - 3450: 0x63EF, - 3451: 0x63F0, - 3452: 0x63F1, - 3453: 0x63F3, - 3454: 0x63F5, - 3455: 0x63F7, - 3456: 0x63F9, - 3457: 0x63FA, - 3458: 0x63FB, - 3459: 0x63FC, - 3460: 0x63FE, - 3461: 0x6403, - 3462: 0x6404, - 3463: 0x6406, - 3464: 0x6407, - 3465: 0x6408, - 3466: 0x6409, - 3467: 0x640A, - 3468: 0x640D, - 3469: 0x640E, - 3470: 0x6411, - 3471: 0x6412, - 3472: 0x6415, - 3473: 0x6416, - 3474: 0x6417, - 3475: 0x6418, - 3476: 0x6419, - 3477: 0x641A, - 3478: 0x641D, - 3479: 0x641F, - 3480: 0x6422, - 3481: 0x6423, - 3482: 0x6424, - 3483: 0x6425, - 3484: 0x6427, - 3485: 0x6428, - 3486: 0x6429, - 3487: 0x642B, - 3488: 0x642E, - 3489: 0x642F, - 3490: 0x6430, - 3491: 0x6431, - 3492: 0x6432, - 3493: 0x6433, - 3494: 0x6435, - 3495: 0x6436, - 3496: 0x6437, - 3497: 0x6438, - 3498: 0x6439, - 3499: 0x643B, - 3500: 0x643C, - 3501: 0x643E, - 3502: 0x6440, - 3503: 0x6442, - 3504: 0x6443, - 3505: 0x6449, - 3506: 0x644B, - 3507: 0x644C, - 3508: 0x644D, - 3509: 0x644E, - 3510: 0x644F, - 3511: 0x6450, - 3512: 0x6451, - 3513: 0x6453, - 3514: 0x6455, - 3515: 0x6456, - 3516: 0x6457, - 3517: 0x6459, - 3518: 0x645A, - 3519: 0x645B, - 3520: 0x645C, - 3521: 0x645D, - 3522: 0x645F, - 3523: 0x6460, - 3524: 0x6461, - 3525: 0x6462, - 3526: 0x6463, - 3527: 0x6464, - 3528: 0x6465, - 3529: 0x6466, - 3530: 0x6468, - 3531: 0x646A, - 3532: 0x646B, - 3533: 0x646C, - 3534: 0x646E, - 3535: 0x646F, - 3536: 0x6470, - 3537: 0x6471, - 3538: 0x6472, - 3539: 0x6473, - 3540: 0x6474, - 3541: 0x6475, - 3542: 0x6476, - 3543: 0x6477, - 3544: 0x647B, - 3545: 0x647C, - 3546: 0x647D, - 3547: 0x647E, - 3548: 0x647F, - 3549: 0x6480, - 3550: 0x6481, - 3551: 0x6483, - 3552: 0x6486, - 3553: 0x6488, - 3554: 0x6489, - 3555: 0x648A, - 3556: 0x648B, - 3557: 0x648C, - 3558: 0x648D, - 3559: 0x648E, - 3560: 0x648F, - 3561: 0x6490, - 3562: 0x6493, - 3563: 0x6494, - 3564: 0x6497, - 3565: 0x6498, - 3566: 0x649A, - 3567: 0x649B, - 3568: 0x649C, - 3569: 0x649D, - 3570: 0x649F, - 3571: 0x64A0, - 3572: 0x64A1, - 3573: 0x64A2, - 3574: 0x64A3, - 3575: 0x64A5, - 3576: 0x64A6, - 3577: 0x64A7, - 3578: 0x64A8, - 3579: 0x64AA, - 3580: 0x64AB, - 3581: 0x64AF, - 3582: 0x64B1, - 3583: 0x64B2, - 3584: 0x64B3, - 3585: 0x64B4, - 3586: 0x64B6, - 3587: 0x64B9, - 3588: 0x64BB, - 3589: 0x64BD, - 3590: 0x64BE, - 3591: 0x64BF, - 3592: 0x64C1, - 3593: 0x64C3, - 3594: 0x64C4, - 3595: 0x64C6, - 3596: 0x64C7, - 3597: 0x64C8, - 3598: 0x64C9, - 3599: 0x64CA, - 3600: 0x64CB, - 3601: 0x64CC, - 3602: 0x64CF, - 3603: 0x64D1, - 3604: 0x64D3, - 3605: 0x64D4, - 3606: 0x64D5, - 3607: 0x64D6, - 3608: 0x64D9, - 3609: 0x64DA, - 3610: 0x64DB, - 3611: 0x64DC, - 3612: 0x64DD, - 3613: 0x64DF, - 3614: 0x64E0, - 3615: 0x64E1, - 3616: 0x64E3, - 3617: 0x64E5, - 3618: 0x64E7, - 3619: 0x64E8, - 3620: 0x64E9, - 3621: 0x64EA, - 3622: 0x64EB, - 3623: 0x64EC, - 3624: 0x64ED, - 3625: 0x64EE, - 3626: 0x64EF, - 3627: 0x64F0, - 3628: 0x64F1, - 3629: 0x64F2, - 3630: 0x64F3, - 3631: 0x64F4, - 3632: 0x64F5, - 3633: 0x64F6, - 3634: 0x64F7, - 3635: 0x64F8, - 3636: 0x64F9, - 3637: 0x64FA, - 3638: 0x64FB, - 3639: 0x64FC, - 3640: 0x64FD, - 3641: 0x64FE, - 3642: 0x64FF, - 3643: 0x6501, - 3644: 0x6502, - 3645: 0x6503, - 3646: 0x6504, - 3647: 0x6505, - 3648: 0x6506, - 3649: 0x6507, - 3650: 0x6508, - 3651: 0x650A, - 3652: 0x650B, - 3653: 0x650C, - 3654: 0x650D, - 3655: 0x650E, - 3656: 0x650F, - 3657: 0x6510, - 3658: 0x6511, - 3659: 0x6513, - 3660: 0x6514, - 3661: 0x6515, - 3662: 0x6516, - 3663: 0x6517, - 3664: 0x6519, - 3665: 0x651A, - 3666: 0x651B, - 3667: 0x651C, - 3668: 0x651D, - 3669: 0x651E, - 3670: 0x651F, - 3671: 0x6520, - 3672: 0x6521, - 3673: 0x6522, - 3674: 0x6523, - 3675: 0x6524, - 3676: 0x6526, - 3677: 0x6527, - 3678: 0x6528, - 3679: 0x6529, - 3680: 0x652A, - 3681: 0x652C, - 3682: 0x652D, - 3683: 0x6530, - 3684: 0x6531, - 3685: 0x6532, - 3686: 0x6533, - 3687: 0x6537, - 3688: 0x653A, - 3689: 0x653C, - 3690: 0x653D, - 3691: 0x6540, - 3692: 0x6541, - 3693: 0x6542, - 3694: 0x6543, - 3695: 0x6544, - 3696: 0x6546, - 3697: 0x6547, - 3698: 0x654A, - 3699: 0x654B, - 3700: 0x654D, - 3701: 0x654E, - 3702: 0x6550, - 3703: 0x6552, - 3704: 0x6553, - 3705: 0x6554, - 3706: 0x6557, - 3707: 0x6558, - 3708: 0x655A, - 3709: 0x655C, - 3710: 0x655F, - 3711: 0x6560, - 3712: 0x6561, - 3713: 0x6564, - 3714: 0x6565, - 3715: 0x6567, - 3716: 0x6568, - 3717: 0x6569, - 3718: 0x656A, - 3719: 0x656D, - 3720: 0x656E, - 3721: 0x656F, - 3722: 0x6571, - 3723: 0x6573, - 3724: 0x6575, - 3725: 0x6576, - 3726: 0x6578, - 3727: 0x6579, - 3728: 0x657A, - 3729: 0x657B, - 3730: 0x657C, - 3731: 0x657D, - 3732: 0x657E, - 3733: 0x657F, - 3734: 0x6580, - 3735: 0x6581, - 3736: 0x6582, - 3737: 0x6583, - 3738: 0x6584, - 3739: 0x6585, - 3740: 0x6586, - 3741: 0x6588, - 3742: 0x6589, - 3743: 0x658A, - 3744: 0x658D, - 3745: 0x658E, - 3746: 0x658F, - 3747: 0x6592, - 3748: 0x6594, - 3749: 0x6595, - 3750: 0x6596, - 3751: 0x6598, - 3752: 0x659A, - 3753: 0x659D, - 3754: 0x659E, - 3755: 0x65A0, - 3756: 0x65A2, - 3757: 0x65A3, - 3758: 0x65A6, - 3759: 0x65A8, - 3760: 0x65AA, - 3761: 0x65AC, - 3762: 0x65AE, - 3763: 0x65B1, - 3764: 0x65B2, - 3765: 0x65B3, - 3766: 0x65B4, - 3767: 0x65B5, - 3768: 0x65B6, - 3769: 0x65B7, - 3770: 0x65B8, - 3771: 0x65BA, - 3772: 0x65BB, - 3773: 0x65BE, - 3774: 0x65BF, - 3775: 0x65C0, - 3776: 0x65C2, - 3777: 0x65C7, - 3778: 0x65C8, - 3779: 0x65C9, - 3780: 0x65CA, - 3781: 0x65CD, - 3782: 0x65D0, - 3783: 0x65D1, - 3784: 0x65D3, - 3785: 0x65D4, - 3786: 0x65D5, - 3787: 0x65D8, - 3788: 0x65D9, - 3789: 0x65DA, - 3790: 0x65DB, - 3791: 0x65DC, - 3792: 0x65DD, - 3793: 0x65DE, - 3794: 0x65DF, - 3795: 0x65E1, - 3796: 0x65E3, - 3797: 0x65E4, - 3798: 0x65EA, - 3799: 0x65EB, - 3800: 0x65F2, - 3801: 0x65F3, - 3802: 0x65F4, - 3803: 0x65F5, - 3804: 0x65F8, - 3805: 0x65F9, - 3806: 0x65FB, - 3807: 0x65FC, - 3808: 0x65FD, - 3809: 0x65FE, - 3810: 0x65FF, - 3811: 0x6601, - 3812: 0x6604, - 3813: 0x6605, - 3814: 0x6607, - 3815: 0x6608, - 3816: 0x6609, - 3817: 0x660B, - 3818: 0x660D, - 3819: 0x6610, - 3820: 0x6611, - 3821: 0x6612, - 3822: 0x6616, - 3823: 0x6617, - 3824: 0x6618, - 3825: 0x661A, - 3826: 0x661B, - 3827: 0x661C, - 3828: 0x661E, - 3829: 0x6621, - 3830: 0x6622, - 3831: 0x6623, - 3832: 0x6624, - 3833: 0x6626, - 3834: 0x6629, - 3835: 0x662A, - 3836: 0x662B, - 3837: 0x662C, - 3838: 0x662E, - 3839: 0x6630, - 3840: 0x6632, - 3841: 0x6633, - 3842: 0x6637, - 3843: 0x6638, - 3844: 0x6639, - 3845: 0x663A, - 3846: 0x663B, - 3847: 0x663D, - 3848: 0x663F, - 3849: 0x6640, - 3850: 0x6642, - 3851: 0x6644, - 3852: 0x6645, - 3853: 0x6646, - 3854: 0x6647, - 3855: 0x6648, - 3856: 0x6649, - 3857: 0x664A, - 3858: 0x664D, - 3859: 0x664E, - 3860: 0x6650, - 3861: 0x6651, - 3862: 0x6658, - 3863: 0x6659, - 3864: 0x665B, - 3865: 0x665C, - 3866: 0x665D, - 3867: 0x665E, - 3868: 0x6660, - 3869: 0x6662, - 3870: 0x6663, - 3871: 0x6665, - 3872: 0x6667, - 3873: 0x6669, - 3874: 0x666A, - 3875: 0x666B, - 3876: 0x666C, - 3877: 0x666D, - 3878: 0x6671, - 3879: 0x6672, - 3880: 0x6673, - 3881: 0x6675, - 3882: 0x6678, - 3883: 0x6679, - 3884: 0x667B, - 3885: 0x667C, - 3886: 0x667D, - 3887: 0x667F, - 3888: 0x6680, - 3889: 0x6681, - 3890: 0x6683, - 3891: 0x6685, - 3892: 0x6686, - 3893: 0x6688, - 3894: 0x6689, - 3895: 0x668A, - 3896: 0x668B, - 3897: 0x668D, - 3898: 0x668E, - 3899: 0x668F, - 3900: 0x6690, - 3901: 0x6692, - 3902: 0x6693, - 3903: 0x6694, - 3904: 0x6695, - 3905: 0x6698, - 3906: 0x6699, - 3907: 0x669A, - 3908: 0x669B, - 3909: 0x669C, - 3910: 0x669E, - 3911: 0x669F, - 3912: 0x66A0, - 3913: 0x66A1, - 3914: 0x66A2, - 3915: 0x66A3, - 3916: 0x66A4, - 3917: 0x66A5, - 3918: 0x66A6, - 3919: 0x66A9, - 3920: 0x66AA, - 3921: 0x66AB, - 3922: 0x66AC, - 3923: 0x66AD, - 3924: 0x66AF, - 3925: 0x66B0, - 3926: 0x66B1, - 3927: 0x66B2, - 3928: 0x66B3, - 3929: 0x66B5, - 3930: 0x66B6, - 3931: 0x66B7, - 3932: 0x66B8, - 3933: 0x66BA, - 3934: 0x66BB, - 3935: 0x66BC, - 3936: 0x66BD, - 3937: 0x66BF, - 3938: 0x66C0, - 3939: 0x66C1, - 3940: 0x66C2, - 3941: 0x66C3, - 3942: 0x66C4, - 3943: 0x66C5, - 3944: 0x66C6, - 3945: 0x66C7, - 3946: 0x66C8, - 3947: 0x66C9, - 3948: 0x66CA, - 3949: 0x66CB, - 3950: 0x66CC, - 3951: 0x66CD, - 3952: 0x66CE, - 3953: 0x66CF, - 3954: 0x66D0, - 3955: 0x66D1, - 3956: 0x66D2, - 3957: 0x66D3, - 3958: 0x66D4, - 3959: 0x66D5, - 3960: 0x66D6, - 3961: 0x66D7, - 3962: 0x66D8, - 3963: 0x66DA, - 3964: 0x66DE, - 3965: 0x66DF, - 3966: 0x66E0, - 3967: 0x66E1, - 3968: 0x66E2, - 3969: 0x66E3, - 3970: 0x66E4, - 3971: 0x66E5, - 3972: 0x66E7, - 3973: 0x66E8, - 3974: 0x66EA, - 3975: 0x66EB, - 3976: 0x66EC, - 3977: 0x66ED, - 3978: 0x66EE, - 3979: 0x66EF, - 3980: 0x66F1, - 3981: 0x66F5, - 3982: 0x66F6, - 3983: 0x66F8, - 3984: 0x66FA, - 3985: 0x66FB, - 3986: 0x66FD, - 3987: 0x6701, - 3988: 0x6702, - 3989: 0x6703, - 3990: 0x6704, - 3991: 0x6705, - 3992: 0x6706, - 3993: 0x6707, - 3994: 0x670C, - 3995: 0x670E, - 3996: 0x670F, - 3997: 0x6711, - 3998: 0x6712, - 3999: 0x6713, - 4000: 0x6716, - 4001: 0x6718, - 4002: 0x6719, - 4003: 0x671A, - 4004: 0x671C, - 4005: 0x671E, - 4006: 0x6720, - 4007: 0x6721, - 4008: 0x6722, - 4009: 0x6723, - 4010: 0x6724, - 4011: 0x6725, - 4012: 0x6727, - 4013: 0x6729, - 4014: 0x672E, - 4015: 0x6730, - 4016: 0x6732, - 4017: 0x6733, - 4018: 0x6736, - 4019: 0x6737, - 4020: 0x6738, - 4021: 0x6739, - 4022: 0x673B, - 4023: 0x673C, - 4024: 0x673E, - 4025: 0x673F, - 4026: 0x6741, - 4027: 0x6744, - 4028: 0x6745, - 4029: 0x6747, - 4030: 0x674A, - 4031: 0x674B, - 4032: 0x674D, - 4033: 0x6752, - 4034: 0x6754, - 4035: 0x6755, - 4036: 0x6757, - 4037: 0x6758, - 4038: 0x6759, - 4039: 0x675A, - 4040: 0x675B, - 4041: 0x675D, - 4042: 0x6762, - 4043: 0x6763, - 4044: 0x6764, - 4045: 0x6766, - 4046: 0x6767, - 4047: 0x676B, - 4048: 0x676C, - 4049: 0x676E, - 4050: 0x6771, - 4051: 0x6774, - 4052: 0x6776, - 4053: 0x6778, - 4054: 0x6779, - 4055: 0x677A, - 4056: 0x677B, - 4057: 0x677D, - 4058: 0x6780, - 4059: 0x6782, - 4060: 0x6783, - 4061: 0x6785, - 4062: 0x6786, - 4063: 0x6788, - 4064: 0x678A, - 4065: 0x678C, - 4066: 0x678D, - 4067: 0x678E, - 4068: 0x678F, - 4069: 0x6791, - 4070: 0x6792, - 4071: 0x6793, - 4072: 0x6794, - 4073: 0x6796, - 4074: 0x6799, - 4075: 0x679B, - 4076: 0x679F, - 4077: 0x67A0, - 4078: 0x67A1, - 4079: 0x67A4, - 4080: 0x67A6, - 4081: 0x67A9, - 4082: 0x67AC, - 4083: 0x67AE, - 4084: 0x67B1, - 4085: 0x67B2, - 4086: 0x67B4, - 4087: 0x67B9, - 4088: 0x67BA, - 4089: 0x67BB, - 4090: 0x67BC, - 4091: 0x67BD, - 4092: 0x67BE, - 4093: 0x67BF, - 4094: 0x67C0, - 4095: 0x67C2, - 4096: 0x67C5, - 4097: 0x67C6, - 4098: 0x67C7, - 4099: 0x67C8, - 4100: 0x67C9, - 4101: 0x67CA, - 4102: 0x67CB, - 4103: 0x67CC, - 4104: 0x67CD, - 4105: 0x67CE, - 4106: 0x67D5, - 4107: 0x67D6, - 4108: 0x67D7, - 4109: 0x67DB, - 4110: 0x67DF, - 4111: 0x67E1, - 4112: 0x67E3, - 4113: 0x67E4, - 4114: 0x67E6, - 4115: 0x67E7, - 4116: 0x67E8, - 4117: 0x67EA, - 4118: 0x67EB, - 4119: 0x67ED, - 4120: 0x67EE, - 4121: 0x67F2, - 4122: 0x67F5, - 4123: 0x67F6, - 4124: 0x67F7, - 4125: 0x67F8, - 4126: 0x67F9, - 4127: 0x67FA, - 4128: 0x67FB, - 4129: 0x67FC, - 4130: 0x67FE, - 4131: 0x6801, - 4132: 0x6802, - 4133: 0x6803, - 4134: 0x6804, - 4135: 0x6806, - 4136: 0x680D, - 4137: 0x6810, - 4138: 0x6812, - 4139: 0x6814, - 4140: 0x6815, - 4141: 0x6818, - 4142: 0x6819, - 4143: 0x681A, - 4144: 0x681B, - 4145: 0x681C, - 4146: 0x681E, - 4147: 0x681F, - 4148: 0x6820, - 4149: 0x6822, - 4150: 0x6823, - 4151: 0x6824, - 4152: 0x6825, - 4153: 0x6826, - 4154: 0x6827, - 4155: 0x6828, - 4156: 0x682B, - 4157: 0x682C, - 4158: 0x682D, - 4159: 0x682E, - 4160: 0x682F, - 4161: 0x6830, - 4162: 0x6831, - 4163: 0x6834, - 4164: 0x6835, - 4165: 0x6836, - 4166: 0x683A, - 4167: 0x683B, - 4168: 0x683F, - 4169: 0x6847, - 4170: 0x684B, - 4171: 0x684D, - 4172: 0x684F, - 4173: 0x6852, - 4174: 0x6856, - 4175: 0x6857, - 4176: 0x6858, - 4177: 0x6859, - 4178: 0x685A, - 4179: 0x685B, - 4180: 0x685C, - 4181: 0x685D, - 4182: 0x685E, - 4183: 0x685F, - 4184: 0x686A, - 4185: 0x686C, - 4186: 0x686D, - 4187: 0x686E, - 4188: 0x686F, - 4189: 0x6870, - 4190: 0x6871, - 4191: 0x6872, - 4192: 0x6873, - 4193: 0x6875, - 4194: 0x6878, - 4195: 0x6879, - 4196: 0x687A, - 4197: 0x687B, - 4198: 0x687C, - 4199: 0x687D, - 4200: 0x687E, - 4201: 0x687F, - 4202: 0x6880, - 4203: 0x6882, - 4204: 0x6884, - 4205: 0x6887, - 4206: 0x6888, - 4207: 0x6889, - 4208: 0x688A, - 4209: 0x688B, - 4210: 0x688C, - 4211: 0x688D, - 4212: 0x688E, - 4213: 0x6890, - 4214: 0x6891, - 4215: 0x6892, - 4216: 0x6894, - 4217: 0x6895, - 4218: 0x6896, - 4219: 0x6898, - 4220: 0x6899, - 4221: 0x689A, - 4222: 0x689B, - 4223: 0x689C, - 4224: 0x689D, - 4225: 0x689E, - 4226: 0x689F, - 4227: 0x68A0, - 4228: 0x68A1, - 4229: 0x68A3, - 4230: 0x68A4, - 4231: 0x68A5, - 4232: 0x68A9, - 4233: 0x68AA, - 4234: 0x68AB, - 4235: 0x68AC, - 4236: 0x68AE, - 4237: 0x68B1, - 4238: 0x68B2, - 4239: 0x68B4, - 4240: 0x68B6, - 4241: 0x68B7, - 4242: 0x68B8, - 4243: 0x68B9, - 4244: 0x68BA, - 4245: 0x68BB, - 4246: 0x68BC, - 4247: 0x68BD, - 4248: 0x68BE, - 4249: 0x68BF, - 4250: 0x68C1, - 4251: 0x68C3, - 4252: 0x68C4, - 4253: 0x68C5, - 4254: 0x68C6, - 4255: 0x68C7, - 4256: 0x68C8, - 4257: 0x68CA, - 4258: 0x68CC, - 4259: 0x68CE, - 4260: 0x68CF, - 4261: 0x68D0, - 4262: 0x68D1, - 4263: 0x68D3, - 4264: 0x68D4, - 4265: 0x68D6, - 4266: 0x68D7, - 4267: 0x68D9, - 4268: 0x68DB, - 4269: 0x68DC, - 4270: 0x68DD, - 4271: 0x68DE, - 4272: 0x68DF, - 4273: 0x68E1, - 4274: 0x68E2, - 4275: 0x68E4, - 4276: 0x68E5, - 4277: 0x68E6, - 4278: 0x68E7, - 4279: 0x68E8, - 4280: 0x68E9, - 4281: 0x68EA, - 4282: 0x68EB, - 4283: 0x68EC, - 4284: 0x68ED, - 4285: 0x68EF, - 4286: 0x68F2, - 4287: 0x68F3, - 4288: 0x68F4, - 4289: 0x68F6, - 4290: 0x68F7, - 4291: 0x68F8, - 4292: 0x68FB, - 4293: 0x68FD, - 4294: 0x68FE, - 4295: 0x68FF, - 4296: 0x6900, - 4297: 0x6902, - 4298: 0x6903, - 4299: 0x6904, - 4300: 0x6906, - 4301: 0x6907, - 4302: 0x6908, - 4303: 0x6909, - 4304: 0x690A, - 4305: 0x690C, - 4306: 0x690F, - 4307: 0x6911, - 4308: 0x6913, - 4309: 0x6914, - 4310: 0x6915, - 4311: 0x6916, - 4312: 0x6917, - 4313: 0x6918, - 4314: 0x6919, - 4315: 0x691A, - 4316: 0x691B, - 4317: 0x691C, - 4318: 0x691D, - 4319: 0x691E, - 4320: 0x6921, - 4321: 0x6922, - 4322: 0x6923, - 4323: 0x6925, - 4324: 0x6926, - 4325: 0x6927, - 4326: 0x6928, - 4327: 0x6929, - 4328: 0x692A, - 4329: 0x692B, - 4330: 0x692C, - 4331: 0x692E, - 4332: 0x692F, - 4333: 0x6931, - 4334: 0x6932, - 4335: 0x6933, - 4336: 0x6935, - 4337: 0x6936, - 4338: 0x6937, - 4339: 0x6938, - 4340: 0x693A, - 4341: 0x693B, - 4342: 0x693C, - 4343: 0x693E, - 4344: 0x6940, - 4345: 0x6941, - 4346: 0x6943, - 4347: 0x6944, - 4348: 0x6945, - 4349: 0x6946, - 4350: 0x6947, - 4351: 0x6948, - 4352: 0x6949, - 4353: 0x694A, - 4354: 0x694B, - 4355: 0x694C, - 4356: 0x694D, - 4357: 0x694E, - 4358: 0x694F, - 4359: 0x6950, - 4360: 0x6951, - 4361: 0x6952, - 4362: 0x6953, - 4363: 0x6955, - 4364: 0x6956, - 4365: 0x6958, - 4366: 0x6959, - 4367: 0x695B, - 4368: 0x695C, - 4369: 0x695F, - 4370: 0x6961, - 4371: 0x6962, - 4372: 0x6964, - 4373: 0x6965, - 4374: 0x6967, - 4375: 0x6968, - 4376: 0x6969, - 4377: 0x696A, - 4378: 0x696C, - 4379: 0x696D, - 4380: 0x696F, - 4381: 0x6970, - 4382: 0x6972, - 4383: 0x6973, - 4384: 0x6974, - 4385: 0x6975, - 4386: 0x6976, - 4387: 0x697A, - 4388: 0x697B, - 4389: 0x697D, - 4390: 0x697E, - 4391: 0x697F, - 4392: 0x6981, - 4393: 0x6983, - 4394: 0x6985, - 4395: 0x698A, - 4396: 0x698B, - 4397: 0x698C, - 4398: 0x698E, - 4399: 0x698F, - 4400: 0x6990, - 4401: 0x6991, - 4402: 0x6992, - 4403: 0x6993, - 4404: 0x6996, - 4405: 0x6997, - 4406: 0x6999, - 4407: 0x699A, - 4408: 0x699D, - 4409: 0x699E, - 4410: 0x699F, - 4411: 0x69A0, - 4412: 0x69A1, - 4413: 0x69A2, - 4414: 0x69A3, - 4415: 0x69A4, - 4416: 0x69A5, - 4417: 0x69A6, - 4418: 0x69A9, - 4419: 0x69AA, - 4420: 0x69AC, - 4421: 0x69AE, - 4422: 0x69AF, - 4423: 0x69B0, - 4424: 0x69B2, - 4425: 0x69B3, - 4426: 0x69B5, - 4427: 0x69B6, - 4428: 0x69B8, - 4429: 0x69B9, - 4430: 0x69BA, - 4431: 0x69BC, - 4432: 0x69BD, - 4433: 0x69BE, - 4434: 0x69BF, - 4435: 0x69C0, - 4436: 0x69C2, - 4437: 0x69C3, - 4438: 0x69C4, - 4439: 0x69C5, - 4440: 0x69C6, - 4441: 0x69C7, - 4442: 0x69C8, - 4443: 0x69C9, - 4444: 0x69CB, - 4445: 0x69CD, - 4446: 0x69CF, - 4447: 0x69D1, - 4448: 0x69D2, - 4449: 0x69D3, - 4450: 0x69D5, - 4451: 0x69D6, - 4452: 0x69D7, - 4453: 0x69D8, - 4454: 0x69D9, - 4455: 0x69DA, - 4456: 0x69DC, - 4457: 0x69DD, - 4458: 0x69DE, - 4459: 0x69E1, - 4460: 0x69E2, - 4461: 0x69E3, - 4462: 0x69E4, - 4463: 0x69E5, - 4464: 0x69E6, - 4465: 0x69E7, - 4466: 0x69E8, - 4467: 0x69E9, - 4468: 0x69EA, - 4469: 0x69EB, - 4470: 0x69EC, - 4471: 0x69EE, - 4472: 0x69EF, - 4473: 0x69F0, - 4474: 0x69F1, - 4475: 0x69F3, - 4476: 0x69F4, - 4477: 0x69F5, - 4478: 0x69F6, - 4479: 0x69F7, - 4480: 0x69F8, - 4481: 0x69F9, - 4482: 0x69FA, - 4483: 0x69FB, - 4484: 0x69FC, - 4485: 0x69FE, - 4486: 0x6A00, - 4487: 0x6A01, - 4488: 0x6A02, - 4489: 0x6A03, - 4490: 0x6A04, - 4491: 0x6A05, - 4492: 0x6A06, - 4493: 0x6A07, - 4494: 0x6A08, - 4495: 0x6A09, - 4496: 0x6A0B, - 4497: 0x6A0C, - 4498: 0x6A0D, - 4499: 0x6A0E, - 4500: 0x6A0F, - 4501: 0x6A10, - 4502: 0x6A11, - 4503: 0x6A12, - 4504: 0x6A13, - 4505: 0x6A14, - 4506: 0x6A15, - 4507: 0x6A16, - 4508: 0x6A19, - 4509: 0x6A1A, - 4510: 0x6A1B, - 4511: 0x6A1C, - 4512: 0x6A1D, - 4513: 0x6A1E, - 4514: 0x6A20, - 4515: 0x6A22, - 4516: 0x6A23, - 4517: 0x6A24, - 4518: 0x6A25, - 4519: 0x6A26, - 4520: 0x6A27, - 4521: 0x6A29, - 4522: 0x6A2B, - 4523: 0x6A2C, - 4524: 0x6A2D, - 4525: 0x6A2E, - 4526: 0x6A30, - 4527: 0x6A32, - 4528: 0x6A33, - 4529: 0x6A34, - 4530: 0x6A36, - 4531: 0x6A37, - 4532: 0x6A38, - 4533: 0x6A39, - 4534: 0x6A3A, - 4535: 0x6A3B, - 4536: 0x6A3C, - 4537: 0x6A3F, - 4538: 0x6A40, - 4539: 0x6A41, - 4540: 0x6A42, - 4541: 0x6A43, - 4542: 0x6A45, - 4543: 0x6A46, - 4544: 0x6A48, - 4545: 0x6A49, - 4546: 0x6A4A, - 4547: 0x6A4B, - 4548: 0x6A4C, - 4549: 0x6A4D, - 4550: 0x6A4E, - 4551: 0x6A4F, - 4552: 0x6A51, - 4553: 0x6A52, - 4554: 0x6A53, - 4555: 0x6A54, - 4556: 0x6A55, - 4557: 0x6A56, - 4558: 0x6A57, - 4559: 0x6A5A, - 4560: 0x6A5C, - 4561: 0x6A5D, - 4562: 0x6A5E, - 4563: 0x6A5F, - 4564: 0x6A60, - 4565: 0x6A62, - 4566: 0x6A63, - 4567: 0x6A64, - 4568: 0x6A66, - 4569: 0x6A67, - 4570: 0x6A68, - 4571: 0x6A69, - 4572: 0x6A6A, - 4573: 0x6A6B, - 4574: 0x6A6C, - 4575: 0x6A6D, - 4576: 0x6A6E, - 4577: 0x6A6F, - 4578: 0x6A70, - 4579: 0x6A72, - 4580: 0x6A73, - 4581: 0x6A74, - 4582: 0x6A75, - 4583: 0x6A76, - 4584: 0x6A77, - 4585: 0x6A78, - 4586: 0x6A7A, - 4587: 0x6A7B, - 4588: 0x6A7D, - 4589: 0x6A7E, - 4590: 0x6A7F, - 4591: 0x6A81, - 4592: 0x6A82, - 4593: 0x6A83, - 4594: 0x6A85, - 4595: 0x6A86, - 4596: 0x6A87, - 4597: 0x6A88, - 4598: 0x6A89, - 4599: 0x6A8A, - 4600: 0x6A8B, - 4601: 0x6A8C, - 4602: 0x6A8D, - 4603: 0x6A8F, - 4604: 0x6A92, - 4605: 0x6A93, - 4606: 0x6A94, - 4607: 0x6A95, - 4608: 0x6A96, - 4609: 0x6A98, - 4610: 0x6A99, - 4611: 0x6A9A, - 4612: 0x6A9B, - 4613: 0x6A9C, - 4614: 0x6A9D, - 4615: 0x6A9E, - 4616: 0x6A9F, - 4617: 0x6AA1, - 4618: 0x6AA2, - 4619: 0x6AA3, - 4620: 0x6AA4, - 4621: 0x6AA5, - 4622: 0x6AA6, - 4623: 0x6AA7, - 4624: 0x6AA8, - 4625: 0x6AAA, - 4626: 0x6AAD, - 4627: 0x6AAE, - 4628: 0x6AAF, - 4629: 0x6AB0, - 4630: 0x6AB1, - 4631: 0x6AB2, - 4632: 0x6AB3, - 4633: 0x6AB4, - 4634: 0x6AB5, - 4635: 0x6AB6, - 4636: 0x6AB7, - 4637: 0x6AB8, - 4638: 0x6AB9, - 4639: 0x6ABA, - 4640: 0x6ABB, - 4641: 0x6ABC, - 4642: 0x6ABD, - 4643: 0x6ABE, - 4644: 0x6ABF, - 4645: 0x6AC0, - 4646: 0x6AC1, - 4647: 0x6AC2, - 4648: 0x6AC3, - 4649: 0x6AC4, - 4650: 0x6AC5, - 4651: 0x6AC6, - 4652: 0x6AC7, - 4653: 0x6AC8, - 4654: 0x6AC9, - 4655: 0x6ACA, - 4656: 0x6ACB, - 4657: 0x6ACC, - 4658: 0x6ACD, - 4659: 0x6ACE, - 4660: 0x6ACF, - 4661: 0x6AD0, - 4662: 0x6AD1, - 4663: 0x6AD2, - 4664: 0x6AD3, - 4665: 0x6AD4, - 4666: 0x6AD5, - 4667: 0x6AD6, - 4668: 0x6AD7, - 4669: 0x6AD8, - 4670: 0x6AD9, - 4671: 0x6ADA, - 4672: 0x6ADB, - 4673: 0x6ADC, - 4674: 0x6ADD, - 4675: 0x6ADE, - 4676: 0x6ADF, - 4677: 0x6AE0, - 4678: 0x6AE1, - 4679: 0x6AE2, - 4680: 0x6AE3, - 4681: 0x6AE4, - 4682: 0x6AE5, - 4683: 0x6AE6, - 4684: 0x6AE7, - 4685: 0x6AE8, - 4686: 0x6AE9, - 4687: 0x6AEA, - 4688: 0x6AEB, - 4689: 0x6AEC, - 4690: 0x6AED, - 4691: 0x6AEE, - 4692: 0x6AEF, - 4693: 0x6AF0, - 4694: 0x6AF1, - 4695: 0x6AF2, - 4696: 0x6AF3, - 4697: 0x6AF4, - 4698: 0x6AF5, - 4699: 0x6AF6, - 4700: 0x6AF7, - 4701: 0x6AF8, - 4702: 0x6AF9, - 4703: 0x6AFA, - 4704: 0x6AFB, - 4705: 0x6AFC, - 4706: 0x6AFD, - 4707: 0x6AFE, - 4708: 0x6AFF, - 4709: 0x6B00, - 4710: 0x6B01, - 4711: 0x6B02, - 4712: 0x6B03, - 4713: 0x6B04, - 4714: 0x6B05, - 4715: 0x6B06, - 4716: 0x6B07, - 4717: 0x6B08, - 4718: 0x6B09, - 4719: 0x6B0A, - 4720: 0x6B0B, - 4721: 0x6B0C, - 4722: 0x6B0D, - 4723: 0x6B0E, - 4724: 0x6B0F, - 4725: 0x6B10, - 4726: 0x6B11, - 4727: 0x6B12, - 4728: 0x6B13, - 4729: 0x6B14, - 4730: 0x6B15, - 4731: 0x6B16, - 4732: 0x6B17, - 4733: 0x6B18, - 4734: 0x6B19, - 4735: 0x6B1A, - 4736: 0x6B1B, - 4737: 0x6B1C, - 4738: 0x6B1D, - 4739: 0x6B1E, - 4740: 0x6B1F, - 4741: 0x6B25, - 4742: 0x6B26, - 4743: 0x6B28, - 4744: 0x6B29, - 4745: 0x6B2A, - 4746: 0x6B2B, - 4747: 0x6B2C, - 4748: 0x6B2D, - 4749: 0x6B2E, - 4750: 0x6B2F, - 4751: 0x6B30, - 4752: 0x6B31, - 4753: 0x6B33, - 4754: 0x6B34, - 4755: 0x6B35, - 4756: 0x6B36, - 4757: 0x6B38, - 4758: 0x6B3B, - 4759: 0x6B3C, - 4760: 0x6B3D, - 4761: 0x6B3F, - 4762: 0x6B40, - 4763: 0x6B41, - 4764: 0x6B42, - 4765: 0x6B44, - 4766: 0x6B45, - 4767: 0x6B48, - 4768: 0x6B4A, - 4769: 0x6B4B, - 4770: 0x6B4D, - 4771: 0x6B4E, - 4772: 0x6B4F, - 4773: 0x6B50, - 4774: 0x6B51, - 4775: 0x6B52, - 4776: 0x6B53, - 4777: 0x6B54, - 4778: 0x6B55, - 4779: 0x6B56, - 4780: 0x6B57, - 4781: 0x6B58, - 4782: 0x6B5A, - 4783: 0x6B5B, - 4784: 0x6B5C, - 4785: 0x6B5D, - 4786: 0x6B5E, - 4787: 0x6B5F, - 4788: 0x6B60, - 4789: 0x6B61, - 4790: 0x6B68, - 4791: 0x6B69, - 4792: 0x6B6B, - 4793: 0x6B6C, - 4794: 0x6B6D, - 4795: 0x6B6E, - 4796: 0x6B6F, - 4797: 0x6B70, - 4798: 0x6B71, - 4799: 0x6B72, - 4800: 0x6B73, - 4801: 0x6B74, - 4802: 0x6B75, - 4803: 0x6B76, - 4804: 0x6B77, - 4805: 0x6B78, - 4806: 0x6B7A, - 4807: 0x6B7D, - 4808: 0x6B7E, - 4809: 0x6B7F, - 4810: 0x6B80, - 4811: 0x6B85, - 4812: 0x6B88, - 4813: 0x6B8C, - 4814: 0x6B8E, - 4815: 0x6B8F, - 4816: 0x6B90, - 4817: 0x6B91, - 4818: 0x6B94, - 4819: 0x6B95, - 4820: 0x6B97, - 4821: 0x6B98, - 4822: 0x6B99, - 4823: 0x6B9C, - 4824: 0x6B9D, - 4825: 0x6B9E, - 4826: 0x6B9F, - 4827: 0x6BA0, - 4828: 0x6BA2, - 4829: 0x6BA3, - 4830: 0x6BA4, - 4831: 0x6BA5, - 4832: 0x6BA6, - 4833: 0x6BA7, - 4834: 0x6BA8, - 4835: 0x6BA9, - 4836: 0x6BAB, - 4837: 0x6BAC, - 4838: 0x6BAD, - 4839: 0x6BAE, - 4840: 0x6BAF, - 4841: 0x6BB0, - 4842: 0x6BB1, - 4843: 0x6BB2, - 4844: 0x6BB6, - 4845: 0x6BB8, - 4846: 0x6BB9, - 4847: 0x6BBA, - 4848: 0x6BBB, - 4849: 0x6BBC, - 4850: 0x6BBD, - 4851: 0x6BBE, - 4852: 0x6BC0, - 4853: 0x6BC3, - 4854: 0x6BC4, - 4855: 0x6BC6, - 4856: 0x6BC7, - 4857: 0x6BC8, - 4858: 0x6BC9, - 4859: 0x6BCA, - 4860: 0x6BCC, - 4861: 0x6BCE, - 4862: 0x6BD0, - 4863: 0x6BD1, - 4864: 0x6BD8, - 4865: 0x6BDA, - 4866: 0x6BDC, - 4867: 0x6BDD, - 4868: 0x6BDE, - 4869: 0x6BDF, - 4870: 0x6BE0, - 4871: 0x6BE2, - 4872: 0x6BE3, - 4873: 0x6BE4, - 4874: 0x6BE5, - 4875: 0x6BE6, - 4876: 0x6BE7, - 4877: 0x6BE8, - 4878: 0x6BE9, - 4879: 0x6BEC, - 4880: 0x6BED, - 4881: 0x6BEE, - 4882: 0x6BF0, - 4883: 0x6BF1, - 4884: 0x6BF2, - 4885: 0x6BF4, - 4886: 0x6BF6, - 4887: 0x6BF7, - 4888: 0x6BF8, - 4889: 0x6BFA, - 4890: 0x6BFB, - 4891: 0x6BFC, - 4892: 0x6BFE, - 4893: 0x6BFF, - 4894: 0x6C00, - 4895: 0x6C01, - 4896: 0x6C02, - 4897: 0x6C03, - 4898: 0x6C04, - 4899: 0x6C08, - 4900: 0x6C09, - 4901: 0x6C0A, - 4902: 0x6C0B, - 4903: 0x6C0C, - 4904: 0x6C0E, - 4905: 0x6C12, - 4906: 0x6C17, - 4907: 0x6C1C, - 4908: 0x6C1D, - 4909: 0x6C1E, - 4910: 0x6C20, - 4911: 0x6C23, - 4912: 0x6C25, - 4913: 0x6C2B, - 4914: 0x6C2C, - 4915: 0x6C2D, - 4916: 0x6C31, - 4917: 0x6C33, - 4918: 0x6C36, - 4919: 0x6C37, - 4920: 0x6C39, - 4921: 0x6C3A, - 4922: 0x6C3B, - 4923: 0x6C3C, - 4924: 0x6C3E, - 4925: 0x6C3F, - 4926: 0x6C43, - 4927: 0x6C44, - 4928: 0x6C45, - 4929: 0x6C48, - 4930: 0x6C4B, - 4931: 0x6C4C, - 4932: 0x6C4D, - 4933: 0x6C4E, - 4934: 0x6C4F, - 4935: 0x6C51, - 4936: 0x6C52, - 4937: 0x6C53, - 4938: 0x6C56, - 4939: 0x6C58, - 4940: 0x6C59, - 4941: 0x6C5A, - 4942: 0x6C62, - 4943: 0x6C63, - 4944: 0x6C65, - 4945: 0x6C66, - 4946: 0x6C67, - 4947: 0x6C6B, - 4948: 0x6C6C, - 4949: 0x6C6D, - 4950: 0x6C6E, - 4951: 0x6C6F, - 4952: 0x6C71, - 4953: 0x6C73, - 4954: 0x6C75, - 4955: 0x6C77, - 4956: 0x6C78, - 4957: 0x6C7A, - 4958: 0x6C7B, - 4959: 0x6C7C, - 4960: 0x6C7F, - 4961: 0x6C80, - 4962: 0x6C84, - 4963: 0x6C87, - 4964: 0x6C8A, - 4965: 0x6C8B, - 4966: 0x6C8D, - 4967: 0x6C8E, - 4968: 0x6C91, - 4969: 0x6C92, - 4970: 0x6C95, - 4971: 0x6C96, - 4972: 0x6C97, - 4973: 0x6C98, - 4974: 0x6C9A, - 4975: 0x6C9C, - 4976: 0x6C9D, - 4977: 0x6C9E, - 4978: 0x6CA0, - 4979: 0x6CA2, - 4980: 0x6CA8, - 4981: 0x6CAC, - 4982: 0x6CAF, - 4983: 0x6CB0, - 4984: 0x6CB4, - 4985: 0x6CB5, - 4986: 0x6CB6, - 4987: 0x6CB7, - 4988: 0x6CBA, - 4989: 0x6CC0, - 4990: 0x6CC1, - 4991: 0x6CC2, - 4992: 0x6CC3, - 4993: 0x6CC6, - 4994: 0x6CC7, - 4995: 0x6CC8, - 4996: 0x6CCB, - 4997: 0x6CCD, - 4998: 0x6CCE, - 4999: 0x6CCF, - 5000: 0x6CD1, - 5001: 0x6CD2, - 5002: 0x6CD8, - 5003: 0x6CD9, - 5004: 0x6CDA, - 5005: 0x6CDC, - 5006: 0x6CDD, - 5007: 0x6CDF, - 5008: 0x6CE4, - 5009: 0x6CE6, - 5010: 0x6CE7, - 5011: 0x6CE9, - 5012: 0x6CEC, - 5013: 0x6CED, - 5014: 0x6CF2, - 5015: 0x6CF4, - 5016: 0x6CF9, - 5017: 0x6CFF, - 5018: 0x6D00, - 5019: 0x6D02, - 5020: 0x6D03, - 5021: 0x6D05, - 5022: 0x6D06, - 5023: 0x6D08, - 5024: 0x6D09, - 5025: 0x6D0A, - 5026: 0x6D0D, - 5027: 0x6D0F, - 5028: 0x6D10, - 5029: 0x6D11, - 5030: 0x6D13, - 5031: 0x6D14, - 5032: 0x6D15, - 5033: 0x6D16, - 5034: 0x6D18, - 5035: 0x6D1C, - 5036: 0x6D1D, - 5037: 0x6D1F, - 5038: 0x6D20, - 5039: 0x6D21, - 5040: 0x6D22, - 5041: 0x6D23, - 5042: 0x6D24, - 5043: 0x6D26, - 5044: 0x6D28, - 5045: 0x6D29, - 5046: 0x6D2C, - 5047: 0x6D2D, - 5048: 0x6D2F, - 5049: 0x6D30, - 5050: 0x6D34, - 5051: 0x6D36, - 5052: 0x6D37, - 5053: 0x6D38, - 5054: 0x6D3A, - 5055: 0x6D3F, - 5056: 0x6D40, - 5057: 0x6D42, - 5058: 0x6D44, - 5059: 0x6D49, - 5060: 0x6D4C, - 5061: 0x6D50, - 5062: 0x6D55, - 5063: 0x6D56, - 5064: 0x6D57, - 5065: 0x6D58, - 5066: 0x6D5B, - 5067: 0x6D5D, - 5068: 0x6D5F, - 5069: 0x6D61, - 5070: 0x6D62, - 5071: 0x6D64, - 5072: 0x6D65, - 5073: 0x6D67, - 5074: 0x6D68, - 5075: 0x6D6B, - 5076: 0x6D6C, - 5077: 0x6D6D, - 5078: 0x6D70, - 5079: 0x6D71, - 5080: 0x6D72, - 5081: 0x6D73, - 5082: 0x6D75, - 5083: 0x6D76, - 5084: 0x6D79, - 5085: 0x6D7A, - 5086: 0x6D7B, - 5087: 0x6D7D, - 5088: 0x6D7E, - 5089: 0x6D7F, - 5090: 0x6D80, - 5091: 0x6D81, - 5092: 0x6D83, - 5093: 0x6D84, - 5094: 0x6D86, - 5095: 0x6D87, - 5096: 0x6D8A, - 5097: 0x6D8B, - 5098: 0x6D8D, - 5099: 0x6D8F, - 5100: 0x6D90, - 5101: 0x6D92, - 5102: 0x6D96, - 5103: 0x6D97, - 5104: 0x6D98, - 5105: 0x6D99, - 5106: 0x6D9A, - 5107: 0x6D9C, - 5108: 0x6DA2, - 5109: 0x6DA5, - 5110: 0x6DAC, - 5111: 0x6DAD, - 5112: 0x6DB0, - 5113: 0x6DB1, - 5114: 0x6DB3, - 5115: 0x6DB4, - 5116: 0x6DB6, - 5117: 0x6DB7, - 5118: 0x6DB9, - 5119: 0x6DBA, - 5120: 0x6DBB, - 5121: 0x6DBC, - 5122: 0x6DBD, - 5123: 0x6DBE, - 5124: 0x6DC1, - 5125: 0x6DC2, - 5126: 0x6DC3, - 5127: 0x6DC8, - 5128: 0x6DC9, - 5129: 0x6DCA, - 5130: 0x6DCD, - 5131: 0x6DCE, - 5132: 0x6DCF, - 5133: 0x6DD0, - 5134: 0x6DD2, - 5135: 0x6DD3, - 5136: 0x6DD4, - 5137: 0x6DD5, - 5138: 0x6DD7, - 5139: 0x6DDA, - 5140: 0x6DDB, - 5141: 0x6DDC, - 5142: 0x6DDF, - 5143: 0x6DE2, - 5144: 0x6DE3, - 5145: 0x6DE5, - 5146: 0x6DE7, - 5147: 0x6DE8, - 5148: 0x6DE9, - 5149: 0x6DEA, - 5150: 0x6DED, - 5151: 0x6DEF, - 5152: 0x6DF0, - 5153: 0x6DF2, - 5154: 0x6DF4, - 5155: 0x6DF5, - 5156: 0x6DF6, - 5157: 0x6DF8, - 5158: 0x6DFA, - 5159: 0x6DFD, - 5160: 0x6DFE, - 5161: 0x6DFF, - 5162: 0x6E00, - 5163: 0x6E01, - 5164: 0x6E02, - 5165: 0x6E03, - 5166: 0x6E04, - 5167: 0x6E06, - 5168: 0x6E07, - 5169: 0x6E08, - 5170: 0x6E09, - 5171: 0x6E0B, - 5172: 0x6E0F, - 5173: 0x6E12, - 5174: 0x6E13, - 5175: 0x6E15, - 5176: 0x6E18, - 5177: 0x6E19, - 5178: 0x6E1B, - 5179: 0x6E1C, - 5180: 0x6E1E, - 5181: 0x6E1F, - 5182: 0x6E22, - 5183: 0x6E26, - 5184: 0x6E27, - 5185: 0x6E28, - 5186: 0x6E2A, - 5187: 0x6E2C, - 5188: 0x6E2E, - 5189: 0x6E30, - 5190: 0x6E31, - 5191: 0x6E33, - 5192: 0x6E35, - 5193: 0x6E36, - 5194: 0x6E37, - 5195: 0x6E39, - 5196: 0x6E3B, - 5197: 0x6E3C, - 5198: 0x6E3D, - 5199: 0x6E3E, - 5200: 0x6E3F, - 5201: 0x6E40, - 5202: 0x6E41, - 5203: 0x6E42, - 5204: 0x6E45, - 5205: 0x6E46, - 5206: 0x6E47, - 5207: 0x6E48, - 5208: 0x6E49, - 5209: 0x6E4A, - 5210: 0x6E4B, - 5211: 0x6E4C, - 5212: 0x6E4F, - 5213: 0x6E50, - 5214: 0x6E51, - 5215: 0x6E52, - 5216: 0x6E55, - 5217: 0x6E57, - 5218: 0x6E59, - 5219: 0x6E5A, - 5220: 0x6E5C, - 5221: 0x6E5D, - 5222: 0x6E5E, - 5223: 0x6E60, - 5224: 0x6E61, - 5225: 0x6E62, - 5226: 0x6E63, - 5227: 0x6E64, - 5228: 0x6E65, - 5229: 0x6E66, - 5230: 0x6E67, - 5231: 0x6E68, - 5232: 0x6E69, - 5233: 0x6E6A, - 5234: 0x6E6C, - 5235: 0x6E6D, - 5236: 0x6E6F, - 5237: 0x6E70, - 5238: 0x6E71, - 5239: 0x6E72, - 5240: 0x6E73, - 5241: 0x6E74, - 5242: 0x6E75, - 5243: 0x6E76, - 5244: 0x6E77, - 5245: 0x6E78, - 5246: 0x6E79, - 5247: 0x6E7A, - 5248: 0x6E7B, - 5249: 0x6E7C, - 5250: 0x6E7D, - 5251: 0x6E80, - 5252: 0x6E81, - 5253: 0x6E82, - 5254: 0x6E84, - 5255: 0x6E87, - 5256: 0x6E88, - 5257: 0x6E8A, - 5258: 0x6E8B, - 5259: 0x6E8C, - 5260: 0x6E8D, - 5261: 0x6E8E, - 5262: 0x6E91, - 5263: 0x6E92, - 5264: 0x6E93, - 5265: 0x6E94, - 5266: 0x6E95, - 5267: 0x6E96, - 5268: 0x6E97, - 5269: 0x6E99, - 5270: 0x6E9A, - 5271: 0x6E9B, - 5272: 0x6E9D, - 5273: 0x6E9E, - 5274: 0x6EA0, - 5275: 0x6EA1, - 5276: 0x6EA3, - 5277: 0x6EA4, - 5278: 0x6EA6, - 5279: 0x6EA8, - 5280: 0x6EA9, - 5281: 0x6EAB, - 5282: 0x6EAC, - 5283: 0x6EAD, - 5284: 0x6EAE, - 5285: 0x6EB0, - 5286: 0x6EB3, - 5287: 0x6EB5, - 5288: 0x6EB8, - 5289: 0x6EB9, - 5290: 0x6EBC, - 5291: 0x6EBE, - 5292: 0x6EBF, - 5293: 0x6EC0, - 5294: 0x6EC3, - 5295: 0x6EC4, - 5296: 0x6EC5, - 5297: 0x6EC6, - 5298: 0x6EC8, - 5299: 0x6EC9, - 5300: 0x6ECA, - 5301: 0x6ECC, - 5302: 0x6ECD, - 5303: 0x6ECE, - 5304: 0x6ED0, - 5305: 0x6ED2, - 5306: 0x6ED6, - 5307: 0x6ED8, - 5308: 0x6ED9, - 5309: 0x6EDB, - 5310: 0x6EDC, - 5311: 0x6EDD, - 5312: 0x6EE3, - 5313: 0x6EE7, - 5314: 0x6EEA, - 5315: 0x6EEB, - 5316: 0x6EEC, - 5317: 0x6EED, - 5318: 0x6EEE, - 5319: 0x6EEF, - 5320: 0x6EF0, - 5321: 0x6EF1, - 5322: 0x6EF2, - 5323: 0x6EF3, - 5324: 0x6EF5, - 5325: 0x6EF6, - 5326: 0x6EF7, - 5327: 0x6EF8, - 5328: 0x6EFA, - 5329: 0x6EFB, - 5330: 0x6EFC, - 5331: 0x6EFD, - 5332: 0x6EFE, - 5333: 0x6EFF, - 5334: 0x6F00, - 5335: 0x6F01, - 5336: 0x6F03, - 5337: 0x6F04, - 5338: 0x6F05, - 5339: 0x6F07, - 5340: 0x6F08, - 5341: 0x6F0A, - 5342: 0x6F0B, - 5343: 0x6F0C, - 5344: 0x6F0D, - 5345: 0x6F0E, - 5346: 0x6F10, - 5347: 0x6F11, - 5348: 0x6F12, - 5349: 0x6F16, - 5350: 0x6F17, - 5351: 0x6F18, - 5352: 0x6F19, - 5353: 0x6F1A, - 5354: 0x6F1B, - 5355: 0x6F1C, - 5356: 0x6F1D, - 5357: 0x6F1E, - 5358: 0x6F1F, - 5359: 0x6F21, - 5360: 0x6F22, - 5361: 0x6F23, - 5362: 0x6F25, - 5363: 0x6F26, - 5364: 0x6F27, - 5365: 0x6F28, - 5366: 0x6F2C, - 5367: 0x6F2E, - 5368: 0x6F30, - 5369: 0x6F32, - 5370: 0x6F34, - 5371: 0x6F35, - 5372: 0x6F37, - 5373: 0x6F38, - 5374: 0x6F39, - 5375: 0x6F3A, - 5376: 0x6F3B, - 5377: 0x6F3C, - 5378: 0x6F3D, - 5379: 0x6F3F, - 5380: 0x6F40, - 5381: 0x6F41, - 5382: 0x6F42, - 5383: 0x6F43, - 5384: 0x6F44, - 5385: 0x6F45, - 5386: 0x6F48, - 5387: 0x6F49, - 5388: 0x6F4A, - 5389: 0x6F4C, - 5390: 0x6F4E, - 5391: 0x6F4F, - 5392: 0x6F50, - 5393: 0x6F51, - 5394: 0x6F52, - 5395: 0x6F53, - 5396: 0x6F54, - 5397: 0x6F55, - 5398: 0x6F56, - 5399: 0x6F57, - 5400: 0x6F59, - 5401: 0x6F5A, - 5402: 0x6F5B, - 5403: 0x6F5D, - 5404: 0x6F5F, - 5405: 0x6F60, - 5406: 0x6F61, - 5407: 0x6F63, - 5408: 0x6F64, - 5409: 0x6F65, - 5410: 0x6F67, - 5411: 0x6F68, - 5412: 0x6F69, - 5413: 0x6F6A, - 5414: 0x6F6B, - 5415: 0x6F6C, - 5416: 0x6F6F, - 5417: 0x6F70, - 5418: 0x6F71, - 5419: 0x6F73, - 5420: 0x6F75, - 5421: 0x6F76, - 5422: 0x6F77, - 5423: 0x6F79, - 5424: 0x6F7B, - 5425: 0x6F7D, - 5426: 0x6F7E, - 5427: 0x6F7F, - 5428: 0x6F80, - 5429: 0x6F81, - 5430: 0x6F82, - 5431: 0x6F83, - 5432: 0x6F85, - 5433: 0x6F86, - 5434: 0x6F87, - 5435: 0x6F8A, - 5436: 0x6F8B, - 5437: 0x6F8F, - 5438: 0x6F90, - 5439: 0x6F91, - 5440: 0x6F92, - 5441: 0x6F93, - 5442: 0x6F94, - 5443: 0x6F95, - 5444: 0x6F96, - 5445: 0x6F97, - 5446: 0x6F98, - 5447: 0x6F99, - 5448: 0x6F9A, - 5449: 0x6F9B, - 5450: 0x6F9D, - 5451: 0x6F9E, - 5452: 0x6F9F, - 5453: 0x6FA0, - 5454: 0x6FA2, - 5455: 0x6FA3, - 5456: 0x6FA4, - 5457: 0x6FA5, - 5458: 0x6FA6, - 5459: 0x6FA8, - 5460: 0x6FA9, - 5461: 0x6FAA, - 5462: 0x6FAB, - 5463: 0x6FAC, - 5464: 0x6FAD, - 5465: 0x6FAE, - 5466: 0x6FAF, - 5467: 0x6FB0, - 5468: 0x6FB1, - 5469: 0x6FB2, - 5470: 0x6FB4, - 5471: 0x6FB5, - 5472: 0x6FB7, - 5473: 0x6FB8, - 5474: 0x6FBA, - 5475: 0x6FBB, - 5476: 0x6FBC, - 5477: 0x6FBD, - 5478: 0x6FBE, - 5479: 0x6FBF, - 5480: 0x6FC1, - 5481: 0x6FC3, - 5482: 0x6FC4, - 5483: 0x6FC5, - 5484: 0x6FC6, - 5485: 0x6FC7, - 5486: 0x6FC8, - 5487: 0x6FCA, - 5488: 0x6FCB, - 5489: 0x6FCC, - 5490: 0x6FCD, - 5491: 0x6FCE, - 5492: 0x6FCF, - 5493: 0x6FD0, - 5494: 0x6FD3, - 5495: 0x6FD4, - 5496: 0x6FD5, - 5497: 0x6FD6, - 5498: 0x6FD7, - 5499: 0x6FD8, - 5500: 0x6FD9, - 5501: 0x6FDA, - 5502: 0x6FDB, - 5503: 0x6FDC, - 5504: 0x6FDD, - 5505: 0x6FDF, - 5506: 0x6FE2, - 5507: 0x6FE3, - 5508: 0x6FE4, - 5509: 0x6FE5, - 5510: 0x6FE6, - 5511: 0x6FE7, - 5512: 0x6FE8, - 5513: 0x6FE9, - 5514: 0x6FEA, - 5515: 0x6FEB, - 5516: 0x6FEC, - 5517: 0x6FED, - 5518: 0x6FF0, - 5519: 0x6FF1, - 5520: 0x6FF2, - 5521: 0x6FF3, - 5522: 0x6FF4, - 5523: 0x6FF5, - 5524: 0x6FF6, - 5525: 0x6FF7, - 5526: 0x6FF8, - 5527: 0x6FF9, - 5528: 0x6FFA, - 5529: 0x6FFB, - 5530: 0x6FFC, - 5531: 0x6FFD, - 5532: 0x6FFE, - 5533: 0x6FFF, - 5534: 0x7000, - 5535: 0x7001, - 5536: 0x7002, - 5537: 0x7003, - 5538: 0x7004, - 5539: 0x7005, - 5540: 0x7006, - 5541: 0x7007, - 5542: 0x7008, - 5543: 0x7009, - 5544: 0x700A, - 5545: 0x700B, - 5546: 0x700C, - 5547: 0x700D, - 5548: 0x700E, - 5549: 0x700F, - 5550: 0x7010, - 5551: 0x7012, - 5552: 0x7013, - 5553: 0x7014, - 5554: 0x7015, - 5555: 0x7016, - 5556: 0x7017, - 5557: 0x7018, - 5558: 0x7019, - 5559: 0x701C, - 5560: 0x701D, - 5561: 0x701E, - 5562: 0x701F, - 5563: 0x7020, - 5564: 0x7021, - 5565: 0x7022, - 5566: 0x7024, - 5567: 0x7025, - 5568: 0x7026, - 5569: 0x7027, - 5570: 0x7028, - 5571: 0x7029, - 5572: 0x702A, - 5573: 0x702B, - 5574: 0x702C, - 5575: 0x702D, - 5576: 0x702E, - 5577: 0x702F, - 5578: 0x7030, - 5579: 0x7031, - 5580: 0x7032, - 5581: 0x7033, - 5582: 0x7034, - 5583: 0x7036, - 5584: 0x7037, - 5585: 0x7038, - 5586: 0x703A, - 5587: 0x703B, - 5588: 0x703C, - 5589: 0x703D, - 5590: 0x703E, - 5591: 0x703F, - 5592: 0x7040, - 5593: 0x7041, - 5594: 0x7042, - 5595: 0x7043, - 5596: 0x7044, - 5597: 0x7045, - 5598: 0x7046, - 5599: 0x7047, - 5600: 0x7048, - 5601: 0x7049, - 5602: 0x704A, - 5603: 0x704B, - 5604: 0x704D, - 5605: 0x704E, - 5606: 0x7050, - 5607: 0x7051, - 5608: 0x7052, - 5609: 0x7053, - 5610: 0x7054, - 5611: 0x7055, - 5612: 0x7056, - 5613: 0x7057, - 5614: 0x7058, - 5615: 0x7059, - 5616: 0x705A, - 5617: 0x705B, - 5618: 0x705C, - 5619: 0x705D, - 5620: 0x705F, - 5621: 0x7060, - 5622: 0x7061, - 5623: 0x7062, - 5624: 0x7063, - 5625: 0x7064, - 5626: 0x7065, - 5627: 0x7066, - 5628: 0x7067, - 5629: 0x7068, - 5630: 0x7069, - 5631: 0x706A, - 5632: 0x706E, - 5633: 0x7071, - 5634: 0x7072, - 5635: 0x7073, - 5636: 0x7074, - 5637: 0x7077, - 5638: 0x7079, - 5639: 0x707A, - 5640: 0x707B, - 5641: 0x707D, - 5642: 0x7081, - 5643: 0x7082, - 5644: 0x7083, - 5645: 0x7084, - 5646: 0x7086, - 5647: 0x7087, - 5648: 0x7088, - 5649: 0x708B, - 5650: 0x708C, - 5651: 0x708D, - 5652: 0x708F, - 5653: 0x7090, - 5654: 0x7091, - 5655: 0x7093, - 5656: 0x7097, - 5657: 0x7098, - 5658: 0x709A, - 5659: 0x709B, - 5660: 0x709E, - 5661: 0x709F, - 5662: 0x70A0, - 5663: 0x70A1, - 5664: 0x70A2, - 5665: 0x70A3, - 5666: 0x70A4, - 5667: 0x70A5, - 5668: 0x70A6, - 5669: 0x70A7, - 5670: 0x70A8, - 5671: 0x70A9, - 5672: 0x70AA, - 5673: 0x70B0, - 5674: 0x70B2, - 5675: 0x70B4, - 5676: 0x70B5, - 5677: 0x70B6, - 5678: 0x70BA, - 5679: 0x70BE, - 5680: 0x70BF, - 5681: 0x70C4, - 5682: 0x70C5, - 5683: 0x70C6, - 5684: 0x70C7, - 5685: 0x70C9, - 5686: 0x70CB, - 5687: 0x70CC, - 5688: 0x70CD, - 5689: 0x70CE, - 5690: 0x70CF, - 5691: 0x70D0, - 5692: 0x70D1, - 5693: 0x70D2, - 5694: 0x70D3, - 5695: 0x70D4, - 5696: 0x70D5, - 5697: 0x70D6, - 5698: 0x70D7, - 5699: 0x70DA, - 5700: 0x70DC, - 5701: 0x70DD, - 5702: 0x70DE, - 5703: 0x70E0, - 5704: 0x70E1, - 5705: 0x70E2, - 5706: 0x70E3, - 5707: 0x70E5, - 5708: 0x70EA, - 5709: 0x70EE, - 5710: 0x70F0, - 5711: 0x70F1, - 5712: 0x70F2, - 5713: 0x70F3, - 5714: 0x70F4, - 5715: 0x70F5, - 5716: 0x70F6, - 5717: 0x70F8, - 5718: 0x70FA, - 5719: 0x70FB, - 5720: 0x70FC, - 5721: 0x70FE, - 5722: 0x70FF, - 5723: 0x7100, - 5724: 0x7101, - 5725: 0x7102, - 5726: 0x7103, - 5727: 0x7104, - 5728: 0x7105, - 5729: 0x7106, - 5730: 0x7107, - 5731: 0x7108, - 5732: 0x710B, - 5733: 0x710C, - 5734: 0x710D, - 5735: 0x710E, - 5736: 0x710F, - 5737: 0x7111, - 5738: 0x7112, - 5739: 0x7114, - 5740: 0x7117, - 5741: 0x711B, - 5742: 0x711C, - 5743: 0x711D, - 5744: 0x711E, - 5745: 0x711F, - 5746: 0x7120, - 5747: 0x7121, - 5748: 0x7122, - 5749: 0x7123, - 5750: 0x7124, - 5751: 0x7125, - 5752: 0x7127, - 5753: 0x7128, - 5754: 0x7129, - 5755: 0x712A, - 5756: 0x712B, - 5757: 0x712C, - 5758: 0x712D, - 5759: 0x712E, - 5760: 0x7132, - 5761: 0x7133, - 5762: 0x7134, - 5763: 0x7135, - 5764: 0x7137, - 5765: 0x7138, - 5766: 0x7139, - 5767: 0x713A, - 5768: 0x713B, - 5769: 0x713C, - 5770: 0x713D, - 5771: 0x713E, - 5772: 0x713F, - 5773: 0x7140, - 5774: 0x7141, - 5775: 0x7142, - 5776: 0x7143, - 5777: 0x7144, - 5778: 0x7146, - 5779: 0x7147, - 5780: 0x7148, - 5781: 0x7149, - 5782: 0x714B, - 5783: 0x714D, - 5784: 0x714F, - 5785: 0x7150, - 5786: 0x7151, - 5787: 0x7152, - 5788: 0x7153, - 5789: 0x7154, - 5790: 0x7155, - 5791: 0x7156, - 5792: 0x7157, - 5793: 0x7158, - 5794: 0x7159, - 5795: 0x715A, - 5796: 0x715B, - 5797: 0x715D, - 5798: 0x715F, - 5799: 0x7160, - 5800: 0x7161, - 5801: 0x7162, - 5802: 0x7163, - 5803: 0x7165, - 5804: 0x7169, - 5805: 0x716A, - 5806: 0x716B, - 5807: 0x716C, - 5808: 0x716D, - 5809: 0x716F, - 5810: 0x7170, - 5811: 0x7171, - 5812: 0x7174, - 5813: 0x7175, - 5814: 0x7176, - 5815: 0x7177, - 5816: 0x7179, - 5817: 0x717B, - 5818: 0x717C, - 5819: 0x717E, - 5820: 0x717F, - 5821: 0x7180, - 5822: 0x7181, - 5823: 0x7182, - 5824: 0x7183, - 5825: 0x7185, - 5826: 0x7186, - 5827: 0x7187, - 5828: 0x7188, - 5829: 0x7189, - 5830: 0x718B, - 5831: 0x718C, - 5832: 0x718D, - 5833: 0x718E, - 5834: 0x7190, - 5835: 0x7191, - 5836: 0x7192, - 5837: 0x7193, - 5838: 0x7195, - 5839: 0x7196, - 5840: 0x7197, - 5841: 0x719A, - 5842: 0x719B, - 5843: 0x719C, - 5844: 0x719D, - 5845: 0x719E, - 5846: 0x71A1, - 5847: 0x71A2, - 5848: 0x71A3, - 5849: 0x71A4, - 5850: 0x71A5, - 5851: 0x71A6, - 5852: 0x71A7, - 5853: 0x71A9, - 5854: 0x71AA, - 5855: 0x71AB, - 5856: 0x71AD, - 5857: 0x71AE, - 5858: 0x71AF, - 5859: 0x71B0, - 5860: 0x71B1, - 5861: 0x71B2, - 5862: 0x71B4, - 5863: 0x71B6, - 5864: 0x71B7, - 5865: 0x71B8, - 5866: 0x71BA, - 5867: 0x71BB, - 5868: 0x71BC, - 5869: 0x71BD, - 5870: 0x71BE, - 5871: 0x71BF, - 5872: 0x71C0, - 5873: 0x71C1, - 5874: 0x71C2, - 5875: 0x71C4, - 5876: 0x71C5, - 5877: 0x71C6, - 5878: 0x71C7, - 5879: 0x71C8, - 5880: 0x71C9, - 5881: 0x71CA, - 5882: 0x71CB, - 5883: 0x71CC, - 5884: 0x71CD, - 5885: 0x71CF, - 5886: 0x71D0, - 5887: 0x71D1, - 5888: 0x71D2, - 5889: 0x71D3, - 5890: 0x71D6, - 5891: 0x71D7, - 5892: 0x71D8, - 5893: 0x71D9, - 5894: 0x71DA, - 5895: 0x71DB, - 5896: 0x71DC, - 5897: 0x71DD, - 5898: 0x71DE, - 5899: 0x71DF, - 5900: 0x71E1, - 5901: 0x71E2, - 5902: 0x71E3, - 5903: 0x71E4, - 5904: 0x71E6, - 5905: 0x71E8, - 5906: 0x71E9, - 5907: 0x71EA, - 5908: 0x71EB, - 5909: 0x71EC, - 5910: 0x71ED, - 5911: 0x71EF, - 5912: 0x71F0, - 5913: 0x71F1, - 5914: 0x71F2, - 5915: 0x71F3, - 5916: 0x71F4, - 5917: 0x71F5, - 5918: 0x71F6, - 5919: 0x71F7, - 5920: 0x71F8, - 5921: 0x71FA, - 5922: 0x71FB, - 5923: 0x71FC, - 5924: 0x71FD, - 5925: 0x71FE, - 5926: 0x71FF, - 5927: 0x7200, - 5928: 0x7201, - 5929: 0x7202, - 5930: 0x7203, - 5931: 0x7204, - 5932: 0x7205, - 5933: 0x7207, - 5934: 0x7208, - 5935: 0x7209, - 5936: 0x720A, - 5937: 0x720B, - 5938: 0x720C, - 5939: 0x720D, - 5940: 0x720E, - 5941: 0x720F, - 5942: 0x7210, - 5943: 0x7211, - 5944: 0x7212, - 5945: 0x7213, - 5946: 0x7214, - 5947: 0x7215, - 5948: 0x7216, - 5949: 0x7217, - 5950: 0x7218, - 5951: 0x7219, - 5952: 0x721A, - 5953: 0x721B, - 5954: 0x721C, - 5955: 0x721E, - 5956: 0x721F, - 5957: 0x7220, - 5958: 0x7221, - 5959: 0x7222, - 5960: 0x7223, - 5961: 0x7224, - 5962: 0x7225, - 5963: 0x7226, - 5964: 0x7227, - 5965: 0x7229, - 5966: 0x722B, - 5967: 0x722D, - 5968: 0x722E, - 5969: 0x722F, - 5970: 0x7232, - 5971: 0x7233, - 5972: 0x7234, - 5973: 0x723A, - 5974: 0x723C, - 5975: 0x723E, - 5976: 0x7240, - 5977: 0x7241, - 5978: 0x7242, - 5979: 0x7243, - 5980: 0x7244, - 5981: 0x7245, - 5982: 0x7246, - 5983: 0x7249, - 5984: 0x724A, - 5985: 0x724B, - 5986: 0x724E, - 5987: 0x724F, - 5988: 0x7250, - 5989: 0x7251, - 5990: 0x7253, - 5991: 0x7254, - 5992: 0x7255, - 5993: 0x7257, - 5994: 0x7258, - 5995: 0x725A, - 5996: 0x725C, - 5997: 0x725E, - 5998: 0x7260, - 5999: 0x7263, - 6000: 0x7264, - 6001: 0x7265, - 6002: 0x7268, - 6003: 0x726A, - 6004: 0x726B, - 6005: 0x726C, - 6006: 0x726D, - 6007: 0x7270, - 6008: 0x7271, - 6009: 0x7273, - 6010: 0x7274, - 6011: 0x7276, - 6012: 0x7277, - 6013: 0x7278, - 6014: 0x727B, - 6015: 0x727C, - 6016: 0x727D, - 6017: 0x7282, - 6018: 0x7283, - 6019: 0x7285, - 6020: 0x7286, - 6021: 0x7287, - 6022: 0x7288, - 6023: 0x7289, - 6024: 0x728C, - 6025: 0x728E, - 6026: 0x7290, - 6027: 0x7291, - 6028: 0x7293, - 6029: 0x7294, - 6030: 0x7295, - 6031: 0x7296, - 6032: 0x7297, - 6033: 0x7298, - 6034: 0x7299, - 6035: 0x729A, - 6036: 0x729B, - 6037: 0x729C, - 6038: 0x729D, - 6039: 0x729E, - 6040: 0x72A0, - 6041: 0x72A1, - 6042: 0x72A2, - 6043: 0x72A3, - 6044: 0x72A4, - 6045: 0x72A5, - 6046: 0x72A6, - 6047: 0x72A7, - 6048: 0x72A8, - 6049: 0x72A9, - 6050: 0x72AA, - 6051: 0x72AB, - 6052: 0x72AE, - 6053: 0x72B1, - 6054: 0x72B2, - 6055: 0x72B3, - 6056: 0x72B5, - 6057: 0x72BA, - 6058: 0x72BB, - 6059: 0x72BC, - 6060: 0x72BD, - 6061: 0x72BE, - 6062: 0x72BF, - 6063: 0x72C0, - 6064: 0x72C5, - 6065: 0x72C6, - 6066: 0x72C7, - 6067: 0x72C9, - 6068: 0x72CA, - 6069: 0x72CB, - 6070: 0x72CC, - 6071: 0x72CF, - 6072: 0x72D1, - 6073: 0x72D3, - 6074: 0x72D4, - 6075: 0x72D5, - 6076: 0x72D6, - 6077: 0x72D8, - 6078: 0x72DA, - 6079: 0x72DB, - 6176: 0x3000, - 6177: 0x3001, - 6178: 0x3002, - 6179: 0x00B7, - 6180: 0x02C9, - 6181: 0x02C7, - 6182: 0x00A8, - 6183: 0x3003, - 6184: 0x3005, - 6185: 0x2014, - 6186: 0xFF5E, - 6187: 0x2016, - 6188: 0x2026, - 6189: 0x2018, - 6190: 0x2019, - 6191: 0x201C, - 6192: 0x201D, - 6193: 0x3014, - 6194: 0x3015, - 6195: 0x3008, - 6196: 0x3009, - 6197: 0x300A, - 6198: 0x300B, - 6199: 0x300C, - 6200: 0x300D, - 6201: 0x300E, - 6202: 0x300F, - 6203: 0x3016, - 6204: 0x3017, - 6205: 0x3010, - 6206: 0x3011, - 6207: 0x00B1, - 6208: 0x00D7, - 6209: 0x00F7, - 6210: 0x2236, - 6211: 0x2227, - 6212: 0x2228, - 6213: 0x2211, - 6214: 0x220F, - 6215: 0x222A, - 6216: 0x2229, - 6217: 0x2208, - 6218: 0x2237, - 6219: 0x221A, - 6220: 0x22A5, - 6221: 0x2225, - 6222: 0x2220, - 6223: 0x2312, - 6224: 0x2299, - 6225: 0x222B, - 6226: 0x222E, - 6227: 0x2261, - 6228: 0x224C, - 6229: 0x2248, - 6230: 0x223D, - 6231: 0x221D, - 6232: 0x2260, - 6233: 0x226E, - 6234: 0x226F, - 6235: 0x2264, - 6236: 0x2265, - 6237: 0x221E, - 6238: 0x2235, - 6239: 0x2234, - 6240: 0x2642, - 6241: 0x2640, - 6242: 0x00B0, - 6243: 0x2032, - 6244: 0x2033, - 6245: 0x2103, - 6246: 0xFF04, - 6247: 0x00A4, - 6248: 0xFFE0, - 6249: 0xFFE1, - 6250: 0x2030, - 6251: 0x00A7, - 6252: 0x2116, - 6253: 0x2606, - 6254: 0x2605, - 6255: 0x25CB, - 6256: 0x25CF, - 6257: 0x25CE, - 6258: 0x25C7, - 6259: 0x25C6, - 6260: 0x25A1, - 6261: 0x25A0, - 6262: 0x25B3, - 6263: 0x25B2, - 6264: 0x203B, - 6265: 0x2192, - 6266: 0x2190, - 6267: 0x2191, - 6268: 0x2193, - 6269: 0x3013, - 6366: 0x2170, - 6367: 0x2171, - 6368: 0x2172, - 6369: 0x2173, - 6370: 0x2174, - 6371: 0x2175, - 6372: 0x2176, - 6373: 0x2177, - 6374: 0x2178, - 6375: 0x2179, - 6382: 0x2488, - 6383: 0x2489, - 6384: 0x248A, - 6385: 0x248B, - 6386: 0x248C, - 6387: 0x248D, - 6388: 0x248E, - 6389: 0x248F, - 6390: 0x2490, - 6391: 0x2491, - 6392: 0x2492, - 6393: 0x2493, - 6394: 0x2494, - 6395: 0x2495, - 6396: 0x2496, - 6397: 0x2497, - 6398: 0x2498, - 6399: 0x2499, - 6400: 0x249A, - 6401: 0x249B, - 6402: 0x2474, - 6403: 0x2475, - 6404: 0x2476, - 6405: 0x2477, - 6406: 0x2478, - 6407: 0x2479, - 6408: 0x247A, - 6409: 0x247B, - 6410: 0x247C, - 6411: 0x247D, - 6412: 0x247E, - 6413: 0x247F, - 6414: 0x2480, - 6415: 0x2481, - 6416: 0x2482, - 6417: 0x2483, - 6418: 0x2484, - 6419: 0x2485, - 6420: 0x2486, - 6421: 0x2487, - 6422: 0x2460, - 6423: 0x2461, - 6424: 0x2462, - 6425: 0x2463, - 6426: 0x2464, - 6427: 0x2465, - 6428: 0x2466, - 6429: 0x2467, - 6430: 0x2468, - 6431: 0x2469, - 6432: 0x20AC, - 6434: 0x3220, - 6435: 0x3221, - 6436: 0x3222, - 6437: 0x3223, - 6438: 0x3224, - 6439: 0x3225, - 6440: 0x3226, - 6441: 0x3227, - 6442: 0x3228, - 6443: 0x3229, - 6446: 0x2160, - 6447: 0x2161, - 6448: 0x2162, - 6449: 0x2163, - 6450: 0x2164, - 6451: 0x2165, - 6452: 0x2166, - 6453: 0x2167, - 6454: 0x2168, - 6455: 0x2169, - 6456: 0x216A, - 6457: 0x216B, - 6555: 0x3000, - 6556: 0xFF01, - 6557: 0xFF02, - 6558: 0xFF03, - 6559: 0xFFE5, - 6560: 0xFF05, - 6561: 0xFF06, - 6562: 0xFF07, - 6563: 0xFF08, - 6564: 0xFF09, - 6565: 0xFF0A, - 6566: 0xFF0B, - 6567: 0xFF0C, - 6568: 0xFF0D, - 6569: 0xFF0E, - 6570: 0xFF0F, - 6571: 0xFF10, - 6572: 0xFF11, - 6573: 0xFF12, - 6574: 0xFF13, - 6575: 0xFF14, - 6576: 0xFF15, - 6577: 0xFF16, - 6578: 0xFF17, - 6579: 0xFF18, - 6580: 0xFF19, - 6581: 0xFF1A, - 6582: 0xFF1B, - 6583: 0xFF1C, - 6584: 0xFF1D, - 6585: 0xFF1E, - 6586: 0xFF1F, - 6587: 0xFF20, - 6588: 0xFF21, - 6589: 0xFF22, - 6590: 0xFF23, - 6591: 0xFF24, - 6592: 0xFF25, - 6593: 0xFF26, - 6594: 0xFF27, - 6595: 0xFF28, - 6596: 0xFF29, - 6597: 0xFF2A, - 6598: 0xFF2B, - 6599: 0xFF2C, - 6600: 0xFF2D, - 6601: 0xFF2E, - 6602: 0xFF2F, - 6603: 0xFF30, - 6604: 0xFF31, - 6605: 0xFF32, - 6606: 0xFF33, - 6607: 0xFF34, - 6608: 0xFF35, - 6609: 0xFF36, - 6610: 0xFF37, - 6611: 0xFF38, - 6612: 0xFF39, - 6613: 0xFF3A, - 6614: 0xFF3B, - 6615: 0xFF3C, - 6616: 0xFF3D, - 6617: 0xFF3E, - 6618: 0xFF3F, - 6619: 0xFF40, - 6620: 0xFF41, - 6621: 0xFF42, - 6622: 0xFF43, - 6623: 0xFF44, - 6624: 0xFF45, - 6625: 0xFF46, - 6626: 0xFF47, - 6627: 0xFF48, - 6628: 0xFF49, - 6629: 0xFF4A, - 6630: 0xFF4B, - 6631: 0xFF4C, - 6632: 0xFF4D, - 6633: 0xFF4E, - 6634: 0xFF4F, - 6635: 0xFF50, - 6636: 0xFF51, - 6637: 0xFF52, - 6638: 0xFF53, - 6639: 0xFF54, - 6640: 0xFF55, - 6641: 0xFF56, - 6642: 0xFF57, - 6643: 0xFF58, - 6644: 0xFF59, - 6645: 0xFF5A, - 6646: 0xFF5B, - 6647: 0xFF5C, - 6648: 0xFF5D, - 6649: 0xFFE3, - 6746: 0x3041, - 6747: 0x3042, - 6748: 0x3043, - 6749: 0x3044, - 6750: 0x3045, - 6751: 0x3046, - 6752: 0x3047, - 6753: 0x3048, - 6754: 0x3049, - 6755: 0x304A, - 6756: 0x304B, - 6757: 0x304C, - 6758: 0x304D, - 6759: 0x304E, - 6760: 0x304F, - 6761: 0x3050, - 6762: 0x3051, - 6763: 0x3052, - 6764: 0x3053, - 6765: 0x3054, - 6766: 0x3055, - 6767: 0x3056, - 6768: 0x3057, - 6769: 0x3058, - 6770: 0x3059, - 6771: 0x305A, - 6772: 0x305B, - 6773: 0x305C, - 6774: 0x305D, - 6775: 0x305E, - 6776: 0x305F, - 6777: 0x3060, - 6778: 0x3061, - 6779: 0x3062, - 6780: 0x3063, - 6781: 0x3064, - 6782: 0x3065, - 6783: 0x3066, - 6784: 0x3067, - 6785: 0x3068, - 6786: 0x3069, - 6787: 0x306A, - 6788: 0x306B, - 6789: 0x306C, - 6790: 0x306D, - 6791: 0x306E, - 6792: 0x306F, - 6793: 0x3070, - 6794: 0x3071, - 6795: 0x3072, - 6796: 0x3073, - 6797: 0x3074, - 6798: 0x3075, - 6799: 0x3076, - 6800: 0x3077, - 6801: 0x3078, - 6802: 0x3079, - 6803: 0x307A, - 6804: 0x307B, - 6805: 0x307C, - 6806: 0x307D, - 6807: 0x307E, - 6808: 0x307F, - 6809: 0x3080, - 6810: 0x3081, - 6811: 0x3082, - 6812: 0x3083, - 6813: 0x3084, - 6814: 0x3085, - 6815: 0x3086, - 6816: 0x3087, - 6817: 0x3088, - 6818: 0x3089, - 6819: 0x308A, - 6820: 0x308B, - 6821: 0x308C, - 6822: 0x308D, - 6823: 0x308E, - 6824: 0x308F, - 6825: 0x3090, - 6826: 0x3091, - 6827: 0x3092, - 6828: 0x3093, - 6936: 0x30A1, - 6937: 0x30A2, - 6938: 0x30A3, - 6939: 0x30A4, - 6940: 0x30A5, - 6941: 0x30A6, - 6942: 0x30A7, - 6943: 0x30A8, - 6944: 0x30A9, - 6945: 0x30AA, - 6946: 0x30AB, - 6947: 0x30AC, - 6948: 0x30AD, - 6949: 0x30AE, - 6950: 0x30AF, - 6951: 0x30B0, - 6952: 0x30B1, - 6953: 0x30B2, - 6954: 0x30B3, - 6955: 0x30B4, - 6956: 0x30B5, - 6957: 0x30B6, - 6958: 0x30B7, - 6959: 0x30B8, - 6960: 0x30B9, - 6961: 0x30BA, - 6962: 0x30BB, - 6963: 0x30BC, - 6964: 0x30BD, - 6965: 0x30BE, - 6966: 0x30BF, - 6967: 0x30C0, - 6968: 0x30C1, - 6969: 0x30C2, - 6970: 0x30C3, - 6971: 0x30C4, - 6972: 0x30C5, - 6973: 0x30C6, - 6974: 0x30C7, - 6975: 0x30C8, - 6976: 0x30C9, - 6977: 0x30CA, - 6978: 0x30CB, - 6979: 0x30CC, - 6980: 0x30CD, - 6981: 0x30CE, - 6982: 0x30CF, - 6983: 0x30D0, - 6984: 0x30D1, - 6985: 0x30D2, - 6986: 0x30D3, - 6987: 0x30D4, - 6988: 0x30D5, - 6989: 0x30D6, - 6990: 0x30D7, - 6991: 0x30D8, - 6992: 0x30D9, - 6993: 0x30DA, - 6994: 0x30DB, - 6995: 0x30DC, - 6996: 0x30DD, - 6997: 0x30DE, - 6998: 0x30DF, - 6999: 0x30E0, - 7000: 0x30E1, - 7001: 0x30E2, - 7002: 0x30E3, - 7003: 0x30E4, - 7004: 0x30E5, - 7005: 0x30E6, - 7006: 0x30E7, - 7007: 0x30E8, - 7008: 0x30E9, - 7009: 0x30EA, - 7010: 0x30EB, - 7011: 0x30EC, - 7012: 0x30ED, - 7013: 0x30EE, - 7014: 0x30EF, - 7015: 0x30F0, - 7016: 0x30F1, - 7017: 0x30F2, - 7018: 0x30F3, - 7019: 0x30F4, - 7020: 0x30F5, - 7021: 0x30F6, - 7126: 0x0391, - 7127: 0x0392, - 7128: 0x0393, - 7129: 0x0394, - 7130: 0x0395, - 7131: 0x0396, - 7132: 0x0397, - 7133: 0x0398, - 7134: 0x0399, - 7135: 0x039A, - 7136: 0x039B, - 7137: 0x039C, - 7138: 0x039D, - 7139: 0x039E, - 7140: 0x039F, - 7141: 0x03A0, - 7142: 0x03A1, - 7143: 0x03A3, - 7144: 0x03A4, - 7145: 0x03A5, - 7146: 0x03A6, - 7147: 0x03A7, - 7148: 0x03A8, - 7149: 0x03A9, - 7158: 0x03B1, - 7159: 0x03B2, - 7160: 0x03B3, - 7161: 0x03B4, - 7162: 0x03B5, - 7163: 0x03B6, - 7164: 0x03B7, - 7165: 0x03B8, - 7166: 0x03B9, - 7167: 0x03BA, - 7168: 0x03BB, - 7169: 0x03BC, - 7170: 0x03BD, - 7171: 0x03BE, - 7172: 0x03BF, - 7173: 0x03C0, - 7174: 0x03C1, - 7175: 0x03C3, - 7176: 0x03C4, - 7177: 0x03C5, - 7178: 0x03C6, - 7179: 0x03C7, - 7180: 0x03C8, - 7181: 0x03C9, - 7189: 0xFE35, - 7190: 0xFE36, - 7191: 0xFE39, - 7192: 0xFE3A, - 7193: 0xFE3F, - 7194: 0xFE40, - 7195: 0xFE3D, - 7196: 0xFE3E, - 7197: 0xFE41, - 7198: 0xFE42, - 7199: 0xFE43, - 7200: 0xFE44, - 7203: 0xFE3B, - 7204: 0xFE3C, - 7205: 0xFE37, - 7206: 0xFE38, - 7207: 0xFE31, - 7209: 0xFE33, - 7210: 0xFE34, - 7316: 0x0410, - 7317: 0x0411, - 7318: 0x0412, - 7319: 0x0413, - 7320: 0x0414, - 7321: 0x0415, - 7322: 0x0401, - 7323: 0x0416, - 7324: 0x0417, - 7325: 0x0418, - 7326: 0x0419, - 7327: 0x041A, - 7328: 0x041B, - 7329: 0x041C, - 7330: 0x041D, - 7331: 0x041E, - 7332: 0x041F, - 7333: 0x0420, - 7334: 0x0421, - 7335: 0x0422, - 7336: 0x0423, - 7337: 0x0424, - 7338: 0x0425, - 7339: 0x0426, - 7340: 0x0427, - 7341: 0x0428, - 7342: 0x0429, - 7343: 0x042A, - 7344: 0x042B, - 7345: 0x042C, - 7346: 0x042D, - 7347: 0x042E, - 7348: 0x042F, - 7364: 0x0430, - 7365: 0x0431, - 7366: 0x0432, - 7367: 0x0433, - 7368: 0x0434, - 7369: 0x0435, - 7370: 0x0451, - 7371: 0x0436, - 7372: 0x0437, - 7373: 0x0438, - 7374: 0x0439, - 7375: 0x043A, - 7376: 0x043B, - 7377: 0x043C, - 7378: 0x043D, - 7379: 0x043E, - 7380: 0x043F, - 7381: 0x0440, - 7382: 0x0441, - 7383: 0x0442, - 7384: 0x0443, - 7385: 0x0444, - 7386: 0x0445, - 7387: 0x0446, - 7388: 0x0447, - 7389: 0x0448, - 7390: 0x0449, - 7391: 0x044A, - 7392: 0x044B, - 7393: 0x044C, - 7394: 0x044D, - 7395: 0x044E, - 7396: 0x044F, - 7410: 0x02CA, - 7411: 0x02CB, - 7412: 0x02D9, - 7413: 0x2013, - 7414: 0x2015, - 7415: 0x2025, - 7416: 0x2035, - 7417: 0x2105, - 7418: 0x2109, - 7419: 0x2196, - 7420: 0x2197, - 7421: 0x2198, - 7422: 0x2199, - 7423: 0x2215, - 7424: 0x221F, - 7425: 0x2223, - 7426: 0x2252, - 7427: 0x2266, - 7428: 0x2267, - 7429: 0x22BF, - 7430: 0x2550, - 7431: 0x2551, - 7432: 0x2552, - 7433: 0x2553, - 7434: 0x2554, - 7435: 0x2555, - 7436: 0x2556, - 7437: 0x2557, - 7438: 0x2558, - 7439: 0x2559, - 7440: 0x255A, - 7441: 0x255B, - 7442: 0x255C, - 7443: 0x255D, - 7444: 0x255E, - 7445: 0x255F, - 7446: 0x2560, - 7447: 0x2561, - 7448: 0x2562, - 7449: 0x2563, - 7450: 0x2564, - 7451: 0x2565, - 7452: 0x2566, - 7453: 0x2567, - 7454: 0x2568, - 7455: 0x2569, - 7456: 0x256A, - 7457: 0x256B, - 7458: 0x256C, - 7459: 0x256D, - 7460: 0x256E, - 7461: 0x256F, - 7462: 0x2570, - 7463: 0x2571, - 7464: 0x2572, - 7465: 0x2573, - 7466: 0x2581, - 7467: 0x2582, - 7468: 0x2583, - 7469: 0x2584, - 7470: 0x2585, - 7471: 0x2586, - 7472: 0x2587, - 7473: 0x2588, - 7474: 0x2589, - 7475: 0x258A, - 7476: 0x258B, - 7477: 0x258C, - 7478: 0x258D, - 7479: 0x258E, - 7480: 0x258F, - 7481: 0x2593, - 7482: 0x2594, - 7483: 0x2595, - 7484: 0x25BC, - 7485: 0x25BD, - 7486: 0x25E2, - 7487: 0x25E3, - 7488: 0x25E4, - 7489: 0x25E5, - 7490: 0x2609, - 7491: 0x2295, - 7492: 0x3012, - 7493: 0x301D, - 7494: 0x301E, - 7506: 0x0101, - 7507: 0x00E1, - 7508: 0x01CE, - 7509: 0x00E0, - 7510: 0x0113, - 7511: 0x00E9, - 7512: 0x011B, - 7513: 0x00E8, - 7514: 0x012B, - 7515: 0x00ED, - 7516: 0x01D0, - 7517: 0x00EC, - 7518: 0x014D, - 7519: 0x00F3, - 7520: 0x01D2, - 7521: 0x00F2, - 7522: 0x016B, - 7523: 0x00FA, - 7524: 0x01D4, - 7525: 0x00F9, - 7526: 0x01D6, - 7527: 0x01D8, - 7528: 0x01DA, - 7529: 0x01DC, - 7530: 0x00FC, - 7531: 0x00EA, - 7532: 0x0251, - 7534: 0x0144, - 7535: 0x0148, - 7536: 0x01F9, - 7537: 0x0261, - 7542: 0x3105, - 7543: 0x3106, - 7544: 0x3107, - 7545: 0x3108, - 7546: 0x3109, - 7547: 0x310A, - 7548: 0x310B, - 7549: 0x310C, - 7550: 0x310D, - 7551: 0x310E, - 7552: 0x310F, - 7553: 0x3110, - 7554: 0x3111, - 7555: 0x3112, - 7556: 0x3113, - 7557: 0x3114, - 7558: 0x3115, - 7559: 0x3116, - 7560: 0x3117, - 7561: 0x3118, - 7562: 0x3119, - 7563: 0x311A, - 7564: 0x311B, - 7565: 0x311C, - 7566: 0x311D, - 7567: 0x311E, - 7568: 0x311F, - 7569: 0x3120, - 7570: 0x3121, - 7571: 0x3122, - 7572: 0x3123, - 7573: 0x3124, - 7574: 0x3125, - 7575: 0x3126, - 7576: 0x3127, - 7577: 0x3128, - 7578: 0x3129, - 7600: 0x3021, - 7601: 0x3022, - 7602: 0x3023, - 7603: 0x3024, - 7604: 0x3025, - 7605: 0x3026, - 7606: 0x3027, - 7607: 0x3028, - 7608: 0x3029, - 7609: 0x32A3, - 7610: 0x338E, - 7611: 0x338F, - 7612: 0x339C, - 7613: 0x339D, - 7614: 0x339E, - 7615: 0x33A1, - 7616: 0x33C4, - 7617: 0x33CE, - 7618: 0x33D1, - 7619: 0x33D2, - 7620: 0x33D5, - 7621: 0xFE30, - 7622: 0xFFE2, - 7623: 0xFFE4, - 7625: 0x2121, - 7626: 0x3231, - 7628: 0x2010, - 7632: 0x30FC, - 7633: 0x309B, - 7634: 0x309C, - 7635: 0x30FD, - 7636: 0x30FE, - 7637: 0x3006, - 7638: 0x309D, - 7639: 0x309E, - 7640: 0xFE49, - 7641: 0xFE4A, - 7642: 0xFE4B, - 7643: 0xFE4C, - 7644: 0xFE4D, - 7645: 0xFE4E, - 7646: 0xFE4F, - 7647: 0xFE50, - 7648: 0xFE51, - 7649: 0xFE52, - 7650: 0xFE54, - 7651: 0xFE55, - 7652: 0xFE56, - 7653: 0xFE57, - 7654: 0xFE59, - 7655: 0xFE5A, - 7656: 0xFE5B, - 7657: 0xFE5C, - 7658: 0xFE5D, - 7659: 0xFE5E, - 7660: 0xFE5F, - 7661: 0xFE60, - 7662: 0xFE61, - 7663: 0xFE62, - 7664: 0xFE63, - 7665: 0xFE64, - 7666: 0xFE65, - 7667: 0xFE66, - 7668: 0xFE68, - 7669: 0xFE69, - 7670: 0xFE6A, - 7671: 0xFE6B, - 7672: 0x303E, - 7673: 0x2FF0, - 7674: 0x2FF1, - 7675: 0x2FF2, - 7676: 0x2FF3, - 7677: 0x2FF4, - 7678: 0x2FF5, - 7679: 0x2FF6, - 7680: 0x2FF7, - 7681: 0x2FF8, - 7682: 0x2FF9, - 7683: 0x2FFA, - 7684: 0x2FFB, - 7685: 0x3007, - 7699: 0x2500, - 7700: 0x2501, - 7701: 0x2502, - 7702: 0x2503, - 7703: 0x2504, - 7704: 0x2505, - 7705: 0x2506, - 7706: 0x2507, - 7707: 0x2508, - 7708: 0x2509, - 7709: 0x250A, - 7710: 0x250B, - 7711: 0x250C, - 7712: 0x250D, - 7713: 0x250E, - 7714: 0x250F, - 7715: 0x2510, - 7716: 0x2511, - 7717: 0x2512, - 7718: 0x2513, - 7719: 0x2514, - 7720: 0x2515, - 7721: 0x2516, - 7722: 0x2517, - 7723: 0x2518, - 7724: 0x2519, - 7725: 0x251A, - 7726: 0x251B, - 7727: 0x251C, - 7728: 0x251D, - 7729: 0x251E, - 7730: 0x251F, - 7731: 0x2520, - 7732: 0x2521, - 7733: 0x2522, - 7734: 0x2523, - 7735: 0x2524, - 7736: 0x2525, - 7737: 0x2526, - 7738: 0x2527, - 7739: 0x2528, - 7740: 0x2529, - 7741: 0x252A, - 7742: 0x252B, - 7743: 0x252C, - 7744: 0x252D, - 7745: 0x252E, - 7746: 0x252F, - 7747: 0x2530, - 7748: 0x2531, - 7749: 0x2532, - 7750: 0x2533, - 7751: 0x2534, - 7752: 0x2535, - 7753: 0x2536, - 7754: 0x2537, - 7755: 0x2538, - 7756: 0x2539, - 7757: 0x253A, - 7758: 0x253B, - 7759: 0x253C, - 7760: 0x253D, - 7761: 0x253E, - 7762: 0x253F, - 7763: 0x2540, - 7764: 0x2541, - 7765: 0x2542, - 7766: 0x2543, - 7767: 0x2544, - 7768: 0x2545, - 7769: 0x2546, - 7770: 0x2547, - 7771: 0x2548, - 7772: 0x2549, - 7773: 0x254A, - 7774: 0x254B, - 7790: 0x72DC, - 7791: 0x72DD, - 7792: 0x72DF, - 7793: 0x72E2, - 7794: 0x72E3, - 7795: 0x72E4, - 7796: 0x72E5, - 7797: 0x72E6, - 7798: 0x72E7, - 7799: 0x72EA, - 7800: 0x72EB, - 7801: 0x72F5, - 7802: 0x72F6, - 7803: 0x72F9, - 7804: 0x72FD, - 7805: 0x72FE, - 7806: 0x72FF, - 7807: 0x7300, - 7808: 0x7302, - 7809: 0x7304, - 7810: 0x7305, - 7811: 0x7306, - 7812: 0x7307, - 7813: 0x7308, - 7814: 0x7309, - 7815: 0x730B, - 7816: 0x730C, - 7817: 0x730D, - 7818: 0x730F, - 7819: 0x7310, - 7820: 0x7311, - 7821: 0x7312, - 7822: 0x7314, - 7823: 0x7318, - 7824: 0x7319, - 7825: 0x731A, - 7826: 0x731F, - 7827: 0x7320, - 7828: 0x7323, - 7829: 0x7324, - 7830: 0x7326, - 7831: 0x7327, - 7832: 0x7328, - 7833: 0x732D, - 7834: 0x732F, - 7835: 0x7330, - 7836: 0x7332, - 7837: 0x7333, - 7838: 0x7335, - 7839: 0x7336, - 7840: 0x733A, - 7841: 0x733B, - 7842: 0x733C, - 7843: 0x733D, - 7844: 0x7340, - 7845: 0x7341, - 7846: 0x7342, - 7847: 0x7343, - 7848: 0x7344, - 7849: 0x7345, - 7850: 0x7346, - 7851: 0x7347, - 7852: 0x7348, - 7853: 0x7349, - 7854: 0x734A, - 7855: 0x734B, - 7856: 0x734C, - 7857: 0x734E, - 7858: 0x734F, - 7859: 0x7351, - 7860: 0x7353, - 7861: 0x7354, - 7862: 0x7355, - 7863: 0x7356, - 7864: 0x7358, - 7865: 0x7359, - 7866: 0x735A, - 7867: 0x735B, - 7868: 0x735C, - 7869: 0x735D, - 7870: 0x735E, - 7871: 0x735F, - 7872: 0x7361, - 7873: 0x7362, - 7874: 0x7363, - 7875: 0x7364, - 7876: 0x7365, - 7877: 0x7366, - 7878: 0x7367, - 7879: 0x7368, - 7880: 0x7369, - 7881: 0x736A, - 7882: 0x736B, - 7883: 0x736E, - 7884: 0x7370, - 7885: 0x7371, - 7980: 0x7372, - 7981: 0x7373, - 7982: 0x7374, - 7983: 0x7375, - 7984: 0x7376, - 7985: 0x7377, - 7986: 0x7378, - 7987: 0x7379, - 7988: 0x737A, - 7989: 0x737B, - 7990: 0x737C, - 7991: 0x737D, - 7992: 0x737F, - 7993: 0x7380, - 7994: 0x7381, - 7995: 0x7382, - 7996: 0x7383, - 7997: 0x7385, - 7998: 0x7386, - 7999: 0x7388, - 8000: 0x738A, - 8001: 0x738C, - 8002: 0x738D, - 8003: 0x738F, - 8004: 0x7390, - 8005: 0x7392, - 8006: 0x7393, - 8007: 0x7394, - 8008: 0x7395, - 8009: 0x7397, - 8010: 0x7398, - 8011: 0x7399, - 8012: 0x739A, - 8013: 0x739C, - 8014: 0x739D, - 8015: 0x739E, - 8016: 0x73A0, - 8017: 0x73A1, - 8018: 0x73A3, - 8019: 0x73A4, - 8020: 0x73A5, - 8021: 0x73A6, - 8022: 0x73A7, - 8023: 0x73A8, - 8024: 0x73AA, - 8025: 0x73AC, - 8026: 0x73AD, - 8027: 0x73B1, - 8028: 0x73B4, - 8029: 0x73B5, - 8030: 0x73B6, - 8031: 0x73B8, - 8032: 0x73B9, - 8033: 0x73BC, - 8034: 0x73BD, - 8035: 0x73BE, - 8036: 0x73BF, - 8037: 0x73C1, - 8038: 0x73C3, - 8039: 0x73C4, - 8040: 0x73C5, - 8041: 0x73C6, - 8042: 0x73C7, - 8043: 0x73CB, - 8044: 0x73CC, - 8045: 0x73CE, - 8046: 0x73D2, - 8047: 0x73D3, - 8048: 0x73D4, - 8049: 0x73D5, - 8050: 0x73D6, - 8051: 0x73D7, - 8052: 0x73D8, - 8053: 0x73DA, - 8054: 0x73DB, - 8055: 0x73DC, - 8056: 0x73DD, - 8057: 0x73DF, - 8058: 0x73E1, - 8059: 0x73E2, - 8060: 0x73E3, - 8061: 0x73E4, - 8062: 0x73E6, - 8063: 0x73E8, - 8064: 0x73EA, - 8065: 0x73EB, - 8066: 0x73EC, - 8067: 0x73EE, - 8068: 0x73EF, - 8069: 0x73F0, - 8070: 0x73F1, - 8071: 0x73F3, - 8072: 0x73F4, - 8073: 0x73F5, - 8074: 0x73F6, - 8075: 0x73F7, - 8170: 0x73F8, - 8171: 0x73F9, - 8172: 0x73FA, - 8173: 0x73FB, - 8174: 0x73FC, - 8175: 0x73FD, - 8176: 0x73FE, - 8177: 0x73FF, - 8178: 0x7400, - 8179: 0x7401, - 8180: 0x7402, - 8181: 0x7404, - 8182: 0x7407, - 8183: 0x7408, - 8184: 0x740B, - 8185: 0x740C, - 8186: 0x740D, - 8187: 0x740E, - 8188: 0x7411, - 8189: 0x7412, - 8190: 0x7413, - 8191: 0x7414, - 8192: 0x7415, - 8193: 0x7416, - 8194: 0x7417, - 8195: 0x7418, - 8196: 0x7419, - 8197: 0x741C, - 8198: 0x741D, - 8199: 0x741E, - 8200: 0x741F, - 8201: 0x7420, - 8202: 0x7421, - 8203: 0x7423, - 8204: 0x7424, - 8205: 0x7427, - 8206: 0x7429, - 8207: 0x742B, - 8208: 0x742D, - 8209: 0x742F, - 8210: 0x7431, - 8211: 0x7432, - 8212: 0x7437, - 8213: 0x7438, - 8214: 0x7439, - 8215: 0x743A, - 8216: 0x743B, - 8217: 0x743D, - 8218: 0x743E, - 8219: 0x743F, - 8220: 0x7440, - 8221: 0x7442, - 8222: 0x7443, - 8223: 0x7444, - 8224: 0x7445, - 8225: 0x7446, - 8226: 0x7447, - 8227: 0x7448, - 8228: 0x7449, - 8229: 0x744A, - 8230: 0x744B, - 8231: 0x744C, - 8232: 0x744D, - 8233: 0x744E, - 8234: 0x744F, - 8235: 0x7450, - 8236: 0x7451, - 8237: 0x7452, - 8238: 0x7453, - 8239: 0x7454, - 8240: 0x7456, - 8241: 0x7458, - 8242: 0x745D, - 8243: 0x7460, - 8244: 0x7461, - 8245: 0x7462, - 8246: 0x7463, - 8247: 0x7464, - 8248: 0x7465, - 8249: 0x7466, - 8250: 0x7467, - 8251: 0x7468, - 8252: 0x7469, - 8253: 0x746A, - 8254: 0x746B, - 8255: 0x746C, - 8256: 0x746E, - 8257: 0x746F, - 8258: 0x7471, - 8259: 0x7472, - 8260: 0x7473, - 8261: 0x7474, - 8262: 0x7475, - 8263: 0x7478, - 8264: 0x7479, - 8265: 0x747A, - 8360: 0x747B, - 8361: 0x747C, - 8362: 0x747D, - 8363: 0x747F, - 8364: 0x7482, - 8365: 0x7484, - 8366: 0x7485, - 8367: 0x7486, - 8368: 0x7488, - 8369: 0x7489, - 8370: 0x748A, - 8371: 0x748C, - 8372: 0x748D, - 8373: 0x748F, - 8374: 0x7491, - 8375: 0x7492, - 8376: 0x7493, - 8377: 0x7494, - 8378: 0x7495, - 8379: 0x7496, - 8380: 0x7497, - 8381: 0x7498, - 8382: 0x7499, - 8383: 0x749A, - 8384: 0x749B, - 8385: 0x749D, - 8386: 0x749F, - 8387: 0x74A0, - 8388: 0x74A1, - 8389: 0x74A2, - 8390: 0x74A3, - 8391: 0x74A4, - 8392: 0x74A5, - 8393: 0x74A6, - 8394: 0x74AA, - 8395: 0x74AB, - 8396: 0x74AC, - 8397: 0x74AD, - 8398: 0x74AE, - 8399: 0x74AF, - 8400: 0x74B0, - 8401: 0x74B1, - 8402: 0x74B2, - 8403: 0x74B3, - 8404: 0x74B4, - 8405: 0x74B5, - 8406: 0x74B6, - 8407: 0x74B7, - 8408: 0x74B8, - 8409: 0x74B9, - 8410: 0x74BB, - 8411: 0x74BC, - 8412: 0x74BD, - 8413: 0x74BE, - 8414: 0x74BF, - 8415: 0x74C0, - 8416: 0x74C1, - 8417: 0x74C2, - 8418: 0x74C3, - 8419: 0x74C4, - 8420: 0x74C5, - 8421: 0x74C6, - 8422: 0x74C7, - 8423: 0x74C8, - 8424: 0x74C9, - 8425: 0x74CA, - 8426: 0x74CB, - 8427: 0x74CC, - 8428: 0x74CD, - 8429: 0x74CE, - 8430: 0x74CF, - 8431: 0x74D0, - 8432: 0x74D1, - 8433: 0x74D3, - 8434: 0x74D4, - 8435: 0x74D5, - 8436: 0x74D6, - 8437: 0x74D7, - 8438: 0x74D8, - 8439: 0x74D9, - 8440: 0x74DA, - 8441: 0x74DB, - 8442: 0x74DD, - 8443: 0x74DF, - 8444: 0x74E1, - 8445: 0x74E5, - 8446: 0x74E7, - 8447: 0x74E8, - 8448: 0x74E9, - 8449: 0x74EA, - 8450: 0x74EB, - 8451: 0x74EC, - 8452: 0x74ED, - 8453: 0x74F0, - 8454: 0x74F1, - 8455: 0x74F2, - 8550: 0x74F3, - 8551: 0x74F5, - 8552: 0x74F8, - 8553: 0x74F9, - 8554: 0x74FA, - 8555: 0x74FB, - 8556: 0x74FC, - 8557: 0x74FD, - 8558: 0x74FE, - 8559: 0x7500, - 8560: 0x7501, - 8561: 0x7502, - 8562: 0x7503, - 8563: 0x7505, - 8564: 0x7506, - 8565: 0x7507, - 8566: 0x7508, - 8567: 0x7509, - 8568: 0x750A, - 8569: 0x750B, - 8570: 0x750C, - 8571: 0x750E, - 8572: 0x7510, - 8573: 0x7512, - 8574: 0x7514, - 8575: 0x7515, - 8576: 0x7516, - 8577: 0x7517, - 8578: 0x751B, - 8579: 0x751D, - 8580: 0x751E, - 8581: 0x7520, - 8582: 0x7521, - 8583: 0x7522, - 8584: 0x7523, - 8585: 0x7524, - 8586: 0x7526, - 8587: 0x7527, - 8588: 0x752A, - 8589: 0x752E, - 8590: 0x7534, - 8591: 0x7536, - 8592: 0x7539, - 8593: 0x753C, - 8594: 0x753D, - 8595: 0x753F, - 8596: 0x7541, - 8597: 0x7542, - 8598: 0x7543, - 8599: 0x7544, - 8600: 0x7546, - 8601: 0x7547, - 8602: 0x7549, - 8603: 0x754A, - 8604: 0x754D, - 8605: 0x7550, - 8606: 0x7551, - 8607: 0x7552, - 8608: 0x7553, - 8609: 0x7555, - 8610: 0x7556, - 8611: 0x7557, - 8612: 0x7558, - 8613: 0x755D, - 8614: 0x755E, - 8615: 0x755F, - 8616: 0x7560, - 8617: 0x7561, - 8618: 0x7562, - 8619: 0x7563, - 8620: 0x7564, - 8621: 0x7567, - 8622: 0x7568, - 8623: 0x7569, - 8624: 0x756B, - 8625: 0x756C, - 8626: 0x756D, - 8627: 0x756E, - 8628: 0x756F, - 8629: 0x7570, - 8630: 0x7571, - 8631: 0x7573, - 8632: 0x7575, - 8633: 0x7576, - 8634: 0x7577, - 8635: 0x757A, - 8636: 0x757B, - 8637: 0x757C, - 8638: 0x757D, - 8639: 0x757E, - 8640: 0x7580, - 8641: 0x7581, - 8642: 0x7582, - 8643: 0x7584, - 8644: 0x7585, - 8645: 0x7587, - 8740: 0x7588, - 8741: 0x7589, - 8742: 0x758A, - 8743: 0x758C, - 8744: 0x758D, - 8745: 0x758E, - 8746: 0x7590, - 8747: 0x7593, - 8748: 0x7595, - 8749: 0x7598, - 8750: 0x759B, - 8751: 0x759C, - 8752: 0x759E, - 8753: 0x75A2, - 8754: 0x75A6, - 8755: 0x75A7, - 8756: 0x75A8, - 8757: 0x75A9, - 8758: 0x75AA, - 8759: 0x75AD, - 8760: 0x75B6, - 8761: 0x75B7, - 8762: 0x75BA, - 8763: 0x75BB, - 8764: 0x75BF, - 8765: 0x75C0, - 8766: 0x75C1, - 8767: 0x75C6, - 8768: 0x75CB, - 8769: 0x75CC, - 8770: 0x75CE, - 8771: 0x75CF, - 8772: 0x75D0, - 8773: 0x75D1, - 8774: 0x75D3, - 8775: 0x75D7, - 8776: 0x75D9, - 8777: 0x75DA, - 8778: 0x75DC, - 8779: 0x75DD, - 8780: 0x75DF, - 8781: 0x75E0, - 8782: 0x75E1, - 8783: 0x75E5, - 8784: 0x75E9, - 8785: 0x75EC, - 8786: 0x75ED, - 8787: 0x75EE, - 8788: 0x75EF, - 8789: 0x75F2, - 8790: 0x75F3, - 8791: 0x75F5, - 8792: 0x75F6, - 8793: 0x75F7, - 8794: 0x75F8, - 8795: 0x75FA, - 8796: 0x75FB, - 8797: 0x75FD, - 8798: 0x75FE, - 8799: 0x7602, - 8800: 0x7604, - 8801: 0x7606, - 8802: 0x7607, - 8803: 0x7608, - 8804: 0x7609, - 8805: 0x760B, - 8806: 0x760D, - 8807: 0x760E, - 8808: 0x760F, - 8809: 0x7611, - 8810: 0x7612, - 8811: 0x7613, - 8812: 0x7614, - 8813: 0x7616, - 8814: 0x761A, - 8815: 0x761C, - 8816: 0x761D, - 8817: 0x761E, - 8818: 0x7621, - 8819: 0x7623, - 8820: 0x7627, - 8821: 0x7628, - 8822: 0x762C, - 8823: 0x762E, - 8824: 0x762F, - 8825: 0x7631, - 8826: 0x7632, - 8827: 0x7636, - 8828: 0x7637, - 8829: 0x7639, - 8830: 0x763A, - 8831: 0x763B, - 8832: 0x763D, - 8833: 0x7641, - 8834: 0x7642, - 8835: 0x7644, - 8930: 0x7645, - 8931: 0x7646, - 8932: 0x7647, - 8933: 0x7648, - 8934: 0x7649, - 8935: 0x764A, - 8936: 0x764B, - 8937: 0x764E, - 8938: 0x764F, - 8939: 0x7650, - 8940: 0x7651, - 8941: 0x7652, - 8942: 0x7653, - 8943: 0x7655, - 8944: 0x7657, - 8945: 0x7658, - 8946: 0x7659, - 8947: 0x765A, - 8948: 0x765B, - 8949: 0x765D, - 8950: 0x765F, - 8951: 0x7660, - 8952: 0x7661, - 8953: 0x7662, - 8954: 0x7664, - 8955: 0x7665, - 8956: 0x7666, - 8957: 0x7667, - 8958: 0x7668, - 8959: 0x7669, - 8960: 0x766A, - 8961: 0x766C, - 8962: 0x766D, - 8963: 0x766E, - 8964: 0x7670, - 8965: 0x7671, - 8966: 0x7672, - 8967: 0x7673, - 8968: 0x7674, - 8969: 0x7675, - 8970: 0x7676, - 8971: 0x7677, - 8972: 0x7679, - 8973: 0x767A, - 8974: 0x767C, - 8975: 0x767F, - 8976: 0x7680, - 8977: 0x7681, - 8978: 0x7683, - 8979: 0x7685, - 8980: 0x7689, - 8981: 0x768A, - 8982: 0x768C, - 8983: 0x768D, - 8984: 0x768F, - 8985: 0x7690, - 8986: 0x7692, - 8987: 0x7694, - 8988: 0x7695, - 8989: 0x7697, - 8990: 0x7698, - 8991: 0x769A, - 8992: 0x769B, - 8993: 0x769C, - 8994: 0x769D, - 8995: 0x769E, - 8996: 0x769F, - 8997: 0x76A0, - 8998: 0x76A1, - 8999: 0x76A2, - 9000: 0x76A3, - 9001: 0x76A5, - 9002: 0x76A6, - 9003: 0x76A7, - 9004: 0x76A8, - 9005: 0x76A9, - 9006: 0x76AA, - 9007: 0x76AB, - 9008: 0x76AC, - 9009: 0x76AD, - 9010: 0x76AF, - 9011: 0x76B0, - 9012: 0x76B3, - 9013: 0x76B5, - 9014: 0x76B6, - 9015: 0x76B7, - 9016: 0x76B8, - 9017: 0x76B9, - 9018: 0x76BA, - 9019: 0x76BB, - 9020: 0x76BC, - 9021: 0x76BD, - 9022: 0x76BE, - 9023: 0x76C0, - 9024: 0x76C1, - 9025: 0x76C3, - 9026: 0x554A, - 9027: 0x963F, - 9028: 0x57C3, - 9029: 0x6328, - 9030: 0x54CE, - 9031: 0x5509, - 9032: 0x54C0, - 9033: 0x7691, - 9034: 0x764C, - 9035: 0x853C, - 9036: 0x77EE, - 9037: 0x827E, - 9038: 0x788D, - 9039: 0x7231, - 9040: 0x9698, - 9041: 0x978D, - 9042: 0x6C28, - 9043: 0x5B89, - 9044: 0x4FFA, - 9045: 0x6309, - 9046: 0x6697, - 9047: 0x5CB8, - 9048: 0x80FA, - 9049: 0x6848, - 9050: 0x80AE, - 9051: 0x6602, - 9052: 0x76CE, - 9053: 0x51F9, - 9054: 0x6556, - 9055: 0x71AC, - 9056: 0x7FF1, - 9057: 0x8884, - 9058: 0x50B2, - 9059: 0x5965, - 9060: 0x61CA, - 9061: 0x6FB3, - 9062: 0x82AD, - 9063: 0x634C, - 9064: 0x6252, - 9065: 0x53ED, - 9066: 0x5427, - 9067: 0x7B06, - 9068: 0x516B, - 9069: 0x75A4, - 9070: 0x5DF4, - 9071: 0x62D4, - 9072: 0x8DCB, - 9073: 0x9776, - 9074: 0x628A, - 9075: 0x8019, - 9076: 0x575D, - 9077: 0x9738, - 9078: 0x7F62, - 9079: 0x7238, - 9080: 0x767D, - 9081: 0x67CF, - 9082: 0x767E, - 9083: 0x6446, - 9084: 0x4F70, - 9085: 0x8D25, - 9086: 0x62DC, - 9087: 0x7A17, - 9088: 0x6591, - 9089: 0x73ED, - 9090: 0x642C, - 9091: 0x6273, - 9092: 0x822C, - 9093: 0x9881, - 9094: 0x677F, - 9095: 0x7248, - 9096: 0x626E, - 9097: 0x62CC, - 9098: 0x4F34, - 9099: 0x74E3, - 9100: 0x534A, - 9101: 0x529E, - 9102: 0x7ECA, - 9103: 0x90A6, - 9104: 0x5E2E, - 9105: 0x6886, - 9106: 0x699C, - 9107: 0x8180, - 9108: 0x7ED1, - 9109: 0x68D2, - 9110: 0x78C5, - 9111: 0x868C, - 9112: 0x9551, - 9113: 0x508D, - 9114: 0x8C24, - 9115: 0x82DE, - 9116: 0x80DE, - 9117: 0x5305, - 9118: 0x8912, - 9119: 0x5265, - 9120: 0x76C4, - 9121: 0x76C7, - 9122: 0x76C9, - 9123: 0x76CB, - 9124: 0x76CC, - 9125: 0x76D3, - 9126: 0x76D5, - 9127: 0x76D9, - 9128: 0x76DA, - 9129: 0x76DC, - 9130: 0x76DD, - 9131: 0x76DE, - 9132: 0x76E0, - 9133: 0x76E1, - 9134: 0x76E2, - 9135: 0x76E3, - 9136: 0x76E4, - 9137: 0x76E6, - 9138: 0x76E7, - 9139: 0x76E8, - 9140: 0x76E9, - 9141: 0x76EA, - 9142: 0x76EB, - 9143: 0x76EC, - 9144: 0x76ED, - 9145: 0x76F0, - 9146: 0x76F3, - 9147: 0x76F5, - 9148: 0x76F6, - 9149: 0x76F7, - 9150: 0x76FA, - 9151: 0x76FB, - 9152: 0x76FD, - 9153: 0x76FF, - 9154: 0x7700, - 9155: 0x7702, - 9156: 0x7703, - 9157: 0x7705, - 9158: 0x7706, - 9159: 0x770A, - 9160: 0x770C, - 9161: 0x770E, - 9162: 0x770F, - 9163: 0x7710, - 9164: 0x7711, - 9165: 0x7712, - 9166: 0x7713, - 9167: 0x7714, - 9168: 0x7715, - 9169: 0x7716, - 9170: 0x7717, - 9171: 0x7718, - 9172: 0x771B, - 9173: 0x771C, - 9174: 0x771D, - 9175: 0x771E, - 9176: 0x7721, - 9177: 0x7723, - 9178: 0x7724, - 9179: 0x7725, - 9180: 0x7727, - 9181: 0x772A, - 9182: 0x772B, - 9183: 0x772C, - 9184: 0x772E, - 9185: 0x7730, - 9186: 0x7731, - 9187: 0x7732, - 9188: 0x7733, - 9189: 0x7734, - 9190: 0x7739, - 9191: 0x773B, - 9192: 0x773D, - 9193: 0x773E, - 9194: 0x773F, - 9195: 0x7742, - 9196: 0x7744, - 9197: 0x7745, - 9198: 0x7746, - 9199: 0x7748, - 9200: 0x7749, - 9201: 0x774A, - 9202: 0x774B, - 9203: 0x774C, - 9204: 0x774D, - 9205: 0x774E, - 9206: 0x774F, - 9207: 0x7752, - 9208: 0x7753, - 9209: 0x7754, - 9210: 0x7755, - 9211: 0x7756, - 9212: 0x7757, - 9213: 0x7758, - 9214: 0x7759, - 9215: 0x775C, - 9216: 0x8584, - 9217: 0x96F9, - 9218: 0x4FDD, - 9219: 0x5821, - 9220: 0x9971, - 9221: 0x5B9D, - 9222: 0x62B1, - 9223: 0x62A5, - 9224: 0x66B4, - 9225: 0x8C79, - 9226: 0x9C8D, - 9227: 0x7206, - 9228: 0x676F, - 9229: 0x7891, - 9230: 0x60B2, - 9231: 0x5351, - 9232: 0x5317, - 9233: 0x8F88, - 9234: 0x80CC, - 9235: 0x8D1D, - 9236: 0x94A1, - 9237: 0x500D, - 9238: 0x72C8, - 9239: 0x5907, - 9240: 0x60EB, - 9241: 0x7119, - 9242: 0x88AB, - 9243: 0x5954, - 9244: 0x82EF, - 9245: 0x672C, - 9246: 0x7B28, - 9247: 0x5D29, - 9248: 0x7EF7, - 9249: 0x752D, - 9250: 0x6CF5, - 9251: 0x8E66, - 9252: 0x8FF8, - 9253: 0x903C, - 9254: 0x9F3B, - 9255: 0x6BD4, - 9256: 0x9119, - 9257: 0x7B14, - 9258: 0x5F7C, - 9259: 0x78A7, - 9260: 0x84D6, - 9261: 0x853D, - 9262: 0x6BD5, - 9263: 0x6BD9, - 9264: 0x6BD6, - 9265: 0x5E01, - 9266: 0x5E87, - 9267: 0x75F9, - 9268: 0x95ED, - 9269: 0x655D, - 9270: 0x5F0A, - 9271: 0x5FC5, - 9272: 0x8F9F, - 9273: 0x58C1, - 9274: 0x81C2, - 9275: 0x907F, - 9276: 0x965B, - 9277: 0x97AD, - 9278: 0x8FB9, - 9279: 0x7F16, - 9280: 0x8D2C, - 9281: 0x6241, - 9282: 0x4FBF, - 9283: 0x53D8, - 9284: 0x535E, - 9285: 0x8FA8, - 9286: 0x8FA9, - 9287: 0x8FAB, - 9288: 0x904D, - 9289: 0x6807, - 9290: 0x5F6A, - 9291: 0x8198, - 9292: 0x8868, - 9293: 0x9CD6, - 9294: 0x618B, - 9295: 0x522B, - 9296: 0x762A, - 9297: 0x5F6C, - 9298: 0x658C, - 9299: 0x6FD2, - 9300: 0x6EE8, - 9301: 0x5BBE, - 9302: 0x6448, - 9303: 0x5175, - 9304: 0x51B0, - 9305: 0x67C4, - 9306: 0x4E19, - 9307: 0x79C9, - 9308: 0x997C, - 9309: 0x70B3, - 9310: 0x775D, - 9311: 0x775E, - 9312: 0x775F, - 9313: 0x7760, - 9314: 0x7764, - 9315: 0x7767, - 9316: 0x7769, - 9317: 0x776A, - 9318: 0x776D, - 9319: 0x776E, - 9320: 0x776F, - 9321: 0x7770, - 9322: 0x7771, - 9323: 0x7772, - 9324: 0x7773, - 9325: 0x7774, - 9326: 0x7775, - 9327: 0x7776, - 9328: 0x7777, - 9329: 0x7778, - 9330: 0x777A, - 9331: 0x777B, - 9332: 0x777C, - 9333: 0x7781, - 9334: 0x7782, - 9335: 0x7783, - 9336: 0x7786, - 9337: 0x7787, - 9338: 0x7788, - 9339: 0x7789, - 9340: 0x778A, - 9341: 0x778B, - 9342: 0x778F, - 9343: 0x7790, - 9344: 0x7793, - 9345: 0x7794, - 9346: 0x7795, - 9347: 0x7796, - 9348: 0x7797, - 9349: 0x7798, - 9350: 0x7799, - 9351: 0x779A, - 9352: 0x779B, - 9353: 0x779C, - 9354: 0x779D, - 9355: 0x779E, - 9356: 0x77A1, - 9357: 0x77A3, - 9358: 0x77A4, - 9359: 0x77A6, - 9360: 0x77A8, - 9361: 0x77AB, - 9362: 0x77AD, - 9363: 0x77AE, - 9364: 0x77AF, - 9365: 0x77B1, - 9366: 0x77B2, - 9367: 0x77B4, - 9368: 0x77B6, - 9369: 0x77B7, - 9370: 0x77B8, - 9371: 0x77B9, - 9372: 0x77BA, - 9373: 0x77BC, - 9374: 0x77BE, - 9375: 0x77C0, - 9376: 0x77C1, - 9377: 0x77C2, - 9378: 0x77C3, - 9379: 0x77C4, - 9380: 0x77C5, - 9381: 0x77C6, - 9382: 0x77C7, - 9383: 0x77C8, - 9384: 0x77C9, - 9385: 0x77CA, - 9386: 0x77CB, - 9387: 0x77CC, - 9388: 0x77CE, - 9389: 0x77CF, - 9390: 0x77D0, - 9391: 0x77D1, - 9392: 0x77D2, - 9393: 0x77D3, - 9394: 0x77D4, - 9395: 0x77D5, - 9396: 0x77D6, - 9397: 0x77D8, - 9398: 0x77D9, - 9399: 0x77DA, - 9400: 0x77DD, - 9401: 0x77DE, - 9402: 0x77DF, - 9403: 0x77E0, - 9404: 0x77E1, - 9405: 0x77E4, - 9406: 0x75C5, - 9407: 0x5E76, - 9408: 0x73BB, - 9409: 0x83E0, - 9410: 0x64AD, - 9411: 0x62E8, - 9412: 0x94B5, - 9413: 0x6CE2, - 9414: 0x535A, - 9415: 0x52C3, - 9416: 0x640F, - 9417: 0x94C2, - 9418: 0x7B94, - 9419: 0x4F2F, - 9420: 0x5E1B, - 9421: 0x8236, - 9422: 0x8116, - 9423: 0x818A, - 9424: 0x6E24, - 9425: 0x6CCA, - 9426: 0x9A73, - 9427: 0x6355, - 9428: 0x535C, - 9429: 0x54FA, - 9430: 0x8865, - 9431: 0x57E0, - 9432: 0x4E0D, - 9433: 0x5E03, - 9434: 0x6B65, - 9435: 0x7C3F, - 9436: 0x90E8, - 9437: 0x6016, - 9438: 0x64E6, - 9439: 0x731C, - 9440: 0x88C1, - 9441: 0x6750, - 9442: 0x624D, - 9443: 0x8D22, - 9444: 0x776C, - 9445: 0x8E29, - 9446: 0x91C7, - 9447: 0x5F69, - 9448: 0x83DC, - 9449: 0x8521, - 9450: 0x9910, - 9451: 0x53C2, - 9452: 0x8695, - 9453: 0x6B8B, - 9454: 0x60ED, - 9455: 0x60E8, - 9456: 0x707F, - 9457: 0x82CD, - 9458: 0x8231, - 9459: 0x4ED3, - 9460: 0x6CA7, - 9461: 0x85CF, - 9462: 0x64CD, - 9463: 0x7CD9, - 9464: 0x69FD, - 9465: 0x66F9, - 9466: 0x8349, - 9467: 0x5395, - 9468: 0x7B56, - 9469: 0x4FA7, - 9470: 0x518C, - 9471: 0x6D4B, - 9472: 0x5C42, - 9473: 0x8E6D, - 9474: 0x63D2, - 9475: 0x53C9, - 9476: 0x832C, - 9477: 0x8336, - 9478: 0x67E5, - 9479: 0x78B4, - 9480: 0x643D, - 9481: 0x5BDF, - 9482: 0x5C94, - 9483: 0x5DEE, - 9484: 0x8BE7, - 9485: 0x62C6, - 9486: 0x67F4, - 9487: 0x8C7A, - 9488: 0x6400, - 9489: 0x63BA, - 9490: 0x8749, - 9491: 0x998B, - 9492: 0x8C17, - 9493: 0x7F20, - 9494: 0x94F2, - 9495: 0x4EA7, - 9496: 0x9610, - 9497: 0x98A4, - 9498: 0x660C, - 9499: 0x7316, - 9500: 0x77E6, - 9501: 0x77E8, - 9502: 0x77EA, - 9503: 0x77EF, - 9504: 0x77F0, - 9505: 0x77F1, - 9506: 0x77F2, - 9507: 0x77F4, - 9508: 0x77F5, - 9509: 0x77F7, - 9510: 0x77F9, - 9511: 0x77FA, - 9512: 0x77FB, - 9513: 0x77FC, - 9514: 0x7803, - 9515: 0x7804, - 9516: 0x7805, - 9517: 0x7806, - 9518: 0x7807, - 9519: 0x7808, - 9520: 0x780A, - 9521: 0x780B, - 9522: 0x780E, - 9523: 0x780F, - 9524: 0x7810, - 9525: 0x7813, - 9526: 0x7815, - 9527: 0x7819, - 9528: 0x781B, - 9529: 0x781E, - 9530: 0x7820, - 9531: 0x7821, - 9532: 0x7822, - 9533: 0x7824, - 9534: 0x7828, - 9535: 0x782A, - 9536: 0x782B, - 9537: 0x782E, - 9538: 0x782F, - 9539: 0x7831, - 9540: 0x7832, - 9541: 0x7833, - 9542: 0x7835, - 9543: 0x7836, - 9544: 0x783D, - 9545: 0x783F, - 9546: 0x7841, - 9547: 0x7842, - 9548: 0x7843, - 9549: 0x7844, - 9550: 0x7846, - 9551: 0x7848, - 9552: 0x7849, - 9553: 0x784A, - 9554: 0x784B, - 9555: 0x784D, - 9556: 0x784F, - 9557: 0x7851, - 9558: 0x7853, - 9559: 0x7854, - 9560: 0x7858, - 9561: 0x7859, - 9562: 0x785A, - 9563: 0x785B, - 9564: 0x785C, - 9565: 0x785E, - 9566: 0x785F, - 9567: 0x7860, - 9568: 0x7861, - 9569: 0x7862, - 9570: 0x7863, - 9571: 0x7864, - 9572: 0x7865, - 9573: 0x7866, - 9574: 0x7867, - 9575: 0x7868, - 9576: 0x7869, - 9577: 0x786F, - 9578: 0x7870, - 9579: 0x7871, - 9580: 0x7872, - 9581: 0x7873, - 9582: 0x7874, - 9583: 0x7875, - 9584: 0x7876, - 9585: 0x7878, - 9586: 0x7879, - 9587: 0x787A, - 9588: 0x787B, - 9589: 0x787D, - 9590: 0x787E, - 9591: 0x787F, - 9592: 0x7880, - 9593: 0x7881, - 9594: 0x7882, - 9595: 0x7883, - 9596: 0x573A, - 9597: 0x5C1D, - 9598: 0x5E38, - 9599: 0x957F, - 9600: 0x507F, - 9601: 0x80A0, - 9602: 0x5382, - 9603: 0x655E, - 9604: 0x7545, - 9605: 0x5531, - 9606: 0x5021, - 9607: 0x8D85, - 9608: 0x6284, - 9609: 0x949E, - 9610: 0x671D, - 9611: 0x5632, - 9612: 0x6F6E, - 9613: 0x5DE2, - 9614: 0x5435, - 9615: 0x7092, - 9616: 0x8F66, - 9617: 0x626F, - 9618: 0x64A4, - 9619: 0x63A3, - 9620: 0x5F7B, - 9621: 0x6F88, - 9622: 0x90F4, - 9623: 0x81E3, - 9624: 0x8FB0, - 9625: 0x5C18, - 9626: 0x6668, - 9627: 0x5FF1, - 9628: 0x6C89, - 9629: 0x9648, - 9630: 0x8D81, - 9631: 0x886C, - 9632: 0x6491, - 9633: 0x79F0, - 9634: 0x57CE, - 9635: 0x6A59, - 9636: 0x6210, - 9637: 0x5448, - 9638: 0x4E58, - 9639: 0x7A0B, - 9640: 0x60E9, - 9641: 0x6F84, - 9642: 0x8BDA, - 9643: 0x627F, - 9644: 0x901E, - 9645: 0x9A8B, - 9646: 0x79E4, - 9647: 0x5403, - 9648: 0x75F4, - 9649: 0x6301, - 9650: 0x5319, - 9651: 0x6C60, - 9652: 0x8FDF, - 9653: 0x5F1B, - 9654: 0x9A70, - 9655: 0x803B, - 9656: 0x9F7F, - 9657: 0x4F88, - 9658: 0x5C3A, - 9659: 0x8D64, - 9660: 0x7FC5, - 9661: 0x65A5, - 9662: 0x70BD, - 9663: 0x5145, - 9664: 0x51B2, - 9665: 0x866B, - 9666: 0x5D07, - 9667: 0x5BA0, - 9668: 0x62BD, - 9669: 0x916C, - 9670: 0x7574, - 9671: 0x8E0C, - 9672: 0x7A20, - 9673: 0x6101, - 9674: 0x7B79, - 9675: 0x4EC7, - 9676: 0x7EF8, - 9677: 0x7785, - 9678: 0x4E11, - 9679: 0x81ED, - 9680: 0x521D, - 9681: 0x51FA, - 9682: 0x6A71, - 9683: 0x53A8, - 9684: 0x8E87, - 9685: 0x9504, - 9686: 0x96CF, - 9687: 0x6EC1, - 9688: 0x9664, - 9689: 0x695A, - 9690: 0x7884, - 9691: 0x7885, - 9692: 0x7886, - 9693: 0x7888, - 9694: 0x788A, - 9695: 0x788B, - 9696: 0x788F, - 9697: 0x7890, - 9698: 0x7892, - 9699: 0x7894, - 9700: 0x7895, - 9701: 0x7896, - 9702: 0x7899, - 9703: 0x789D, - 9704: 0x789E, - 9705: 0x78A0, - 9706: 0x78A2, - 9707: 0x78A4, - 9708: 0x78A6, - 9709: 0x78A8, - 9710: 0x78A9, - 9711: 0x78AA, - 9712: 0x78AB, - 9713: 0x78AC, - 9714: 0x78AD, - 9715: 0x78AE, - 9716: 0x78AF, - 9717: 0x78B5, - 9718: 0x78B6, - 9719: 0x78B7, - 9720: 0x78B8, - 9721: 0x78BA, - 9722: 0x78BB, - 9723: 0x78BC, - 9724: 0x78BD, - 9725: 0x78BF, - 9726: 0x78C0, - 9727: 0x78C2, - 9728: 0x78C3, - 9729: 0x78C4, - 9730: 0x78C6, - 9731: 0x78C7, - 9732: 0x78C8, - 9733: 0x78CC, - 9734: 0x78CD, - 9735: 0x78CE, - 9736: 0x78CF, - 9737: 0x78D1, - 9738: 0x78D2, - 9739: 0x78D3, - 9740: 0x78D6, - 9741: 0x78D7, - 9742: 0x78D8, - 9743: 0x78DA, - 9744: 0x78DB, - 9745: 0x78DC, - 9746: 0x78DD, - 9747: 0x78DE, - 9748: 0x78DF, - 9749: 0x78E0, - 9750: 0x78E1, - 9751: 0x78E2, - 9752: 0x78E3, - 9753: 0x78E4, - 9754: 0x78E5, - 9755: 0x78E6, - 9756: 0x78E7, - 9757: 0x78E9, - 9758: 0x78EA, - 9759: 0x78EB, - 9760: 0x78ED, - 9761: 0x78EE, - 9762: 0x78EF, - 9763: 0x78F0, - 9764: 0x78F1, - 9765: 0x78F3, - 9766: 0x78F5, - 9767: 0x78F6, - 9768: 0x78F8, - 9769: 0x78F9, - 9770: 0x78FB, - 9771: 0x78FC, - 9772: 0x78FD, - 9773: 0x78FE, - 9774: 0x78FF, - 9775: 0x7900, - 9776: 0x7902, - 9777: 0x7903, - 9778: 0x7904, - 9779: 0x7906, - 9780: 0x7907, - 9781: 0x7908, - 9782: 0x7909, - 9783: 0x790A, - 9784: 0x790B, - 9785: 0x790C, - 9786: 0x7840, - 9787: 0x50A8, - 9788: 0x77D7, - 9789: 0x6410, - 9790: 0x89E6, - 9791: 0x5904, - 9792: 0x63E3, - 9793: 0x5DDD, - 9794: 0x7A7F, - 9795: 0x693D, - 9796: 0x4F20, - 9797: 0x8239, - 9798: 0x5598, - 9799: 0x4E32, - 9800: 0x75AE, - 9801: 0x7A97, - 9802: 0x5E62, - 9803: 0x5E8A, - 9804: 0x95EF, - 9805: 0x521B, - 9806: 0x5439, - 9807: 0x708A, - 9808: 0x6376, - 9809: 0x9524, - 9810: 0x5782, - 9811: 0x6625, - 9812: 0x693F, - 9813: 0x9187, - 9814: 0x5507, - 9815: 0x6DF3, - 9816: 0x7EAF, - 9817: 0x8822, - 9818: 0x6233, - 9819: 0x7EF0, - 9820: 0x75B5, - 9821: 0x8328, - 9822: 0x78C1, - 9823: 0x96CC, - 9824: 0x8F9E, - 9825: 0x6148, - 9826: 0x74F7, - 9827: 0x8BCD, - 9828: 0x6B64, - 9829: 0x523A, - 9830: 0x8D50, - 9831: 0x6B21, - 9832: 0x806A, - 9833: 0x8471, - 9834: 0x56F1, - 9835: 0x5306, - 9836: 0x4ECE, - 9837: 0x4E1B, - 9838: 0x51D1, - 9839: 0x7C97, - 9840: 0x918B, - 9841: 0x7C07, - 9842: 0x4FC3, - 9843: 0x8E7F, - 9844: 0x7BE1, - 9845: 0x7A9C, - 9846: 0x6467, - 9847: 0x5D14, - 9848: 0x50AC, - 9849: 0x8106, - 9850: 0x7601, - 9851: 0x7CB9, - 9852: 0x6DEC, - 9853: 0x7FE0, - 9854: 0x6751, - 9855: 0x5B58, - 9856: 0x5BF8, - 9857: 0x78CB, - 9858: 0x64AE, - 9859: 0x6413, - 9860: 0x63AA, - 9861: 0x632B, - 9862: 0x9519, - 9863: 0x642D, - 9864: 0x8FBE, - 9865: 0x7B54, - 9866: 0x7629, - 9867: 0x6253, - 9868: 0x5927, - 9869: 0x5446, - 9870: 0x6B79, - 9871: 0x50A3, - 9872: 0x6234, - 9873: 0x5E26, - 9874: 0x6B86, - 9875: 0x4EE3, - 9876: 0x8D37, - 9877: 0x888B, - 9878: 0x5F85, - 9879: 0x902E, - 9880: 0x790D, - 9881: 0x790E, - 9882: 0x790F, - 9883: 0x7910, - 9884: 0x7911, - 9885: 0x7912, - 9886: 0x7914, - 9887: 0x7915, - 9888: 0x7916, - 9889: 0x7917, - 9890: 0x7918, - 9891: 0x7919, - 9892: 0x791A, - 9893: 0x791B, - 9894: 0x791C, - 9895: 0x791D, - 9896: 0x791F, - 9897: 0x7920, - 9898: 0x7921, - 9899: 0x7922, - 9900: 0x7923, - 9901: 0x7925, - 9902: 0x7926, - 9903: 0x7927, - 9904: 0x7928, - 9905: 0x7929, - 9906: 0x792A, - 9907: 0x792B, - 9908: 0x792C, - 9909: 0x792D, - 9910: 0x792E, - 9911: 0x792F, - 9912: 0x7930, - 9913: 0x7931, - 9914: 0x7932, - 9915: 0x7933, - 9916: 0x7935, - 9917: 0x7936, - 9918: 0x7937, - 9919: 0x7938, - 9920: 0x7939, - 9921: 0x793D, - 9922: 0x793F, - 9923: 0x7942, - 9924: 0x7943, - 9925: 0x7944, - 9926: 0x7945, - 9927: 0x7947, - 9928: 0x794A, - 9929: 0x794B, - 9930: 0x794C, - 9931: 0x794D, - 9932: 0x794E, - 9933: 0x794F, - 9934: 0x7950, - 9935: 0x7951, - 9936: 0x7952, - 9937: 0x7954, - 9938: 0x7955, - 9939: 0x7958, - 9940: 0x7959, - 9941: 0x7961, - 9942: 0x7963, - 9943: 0x7964, - 9944: 0x7966, - 9945: 0x7969, - 9946: 0x796A, - 9947: 0x796B, - 9948: 0x796C, - 9949: 0x796E, - 9950: 0x7970, - 9951: 0x7971, - 9952: 0x7972, - 9953: 0x7973, - 9954: 0x7974, - 9955: 0x7975, - 9956: 0x7976, - 9957: 0x7979, - 9958: 0x797B, - 9959: 0x797C, - 9960: 0x797D, - 9961: 0x797E, - 9962: 0x797F, - 9963: 0x7982, - 9964: 0x7983, - 9965: 0x7986, - 9966: 0x7987, - 9967: 0x7988, - 9968: 0x7989, - 9969: 0x798B, - 9970: 0x798C, - 9971: 0x798D, - 9972: 0x798E, - 9973: 0x7990, - 9974: 0x7991, - 9975: 0x7992, - 9976: 0x6020, - 9977: 0x803D, - 9978: 0x62C5, - 9979: 0x4E39, - 9980: 0x5355, - 9981: 0x90F8, - 9982: 0x63B8, - 9983: 0x80C6, - 9984: 0x65E6, - 9985: 0x6C2E, - 9986: 0x4F46, - 9987: 0x60EE, - 9988: 0x6DE1, - 9989: 0x8BDE, - 9990: 0x5F39, - 9991: 0x86CB, - 9992: 0x5F53, - 9993: 0x6321, - 9994: 0x515A, - 9995: 0x8361, - 9996: 0x6863, - 9997: 0x5200, - 9998: 0x6363, - 9999: 0x8E48, - 10000: 0x5012, - 10001: 0x5C9B, - 10002: 0x7977, - 10003: 0x5BFC, - 10004: 0x5230, - 10005: 0x7A3B, - 10006: 0x60BC, - 10007: 0x9053, - 10008: 0x76D7, - 10009: 0x5FB7, - 10010: 0x5F97, - 10011: 0x7684, - 10012: 0x8E6C, - 10013: 0x706F, - 10014: 0x767B, - 10015: 0x7B49, - 10016: 0x77AA, - 10017: 0x51F3, - 10018: 0x9093, - 10019: 0x5824, - 10020: 0x4F4E, - 10021: 0x6EF4, - 10022: 0x8FEA, - 10023: 0x654C, - 10024: 0x7B1B, - 10025: 0x72C4, - 10026: 0x6DA4, - 10027: 0x7FDF, - 10028: 0x5AE1, - 10029: 0x62B5, - 10030: 0x5E95, - 10031: 0x5730, - 10032: 0x8482, - 10033: 0x7B2C, - 10034: 0x5E1D, - 10035: 0x5F1F, - 10036: 0x9012, - 10037: 0x7F14, - 10038: 0x98A0, - 10039: 0x6382, - 10040: 0x6EC7, - 10041: 0x7898, - 10042: 0x70B9, - 10043: 0x5178, - 10044: 0x975B, - 10045: 0x57AB, - 10046: 0x7535, - 10047: 0x4F43, - 10048: 0x7538, - 10049: 0x5E97, - 10050: 0x60E6, - 10051: 0x5960, - 10052: 0x6DC0, - 10053: 0x6BBF, - 10054: 0x7889, - 10055: 0x53FC, - 10056: 0x96D5, - 10057: 0x51CB, - 10058: 0x5201, - 10059: 0x6389, - 10060: 0x540A, - 10061: 0x9493, - 10062: 0x8C03, - 10063: 0x8DCC, - 10064: 0x7239, - 10065: 0x789F, - 10066: 0x8776, - 10067: 0x8FED, - 10068: 0x8C0D, - 10069: 0x53E0, - 10070: 0x7993, - 10071: 0x7994, - 10072: 0x7995, - 10073: 0x7996, - 10074: 0x7997, - 10075: 0x7998, - 10076: 0x7999, - 10077: 0x799B, - 10078: 0x799C, - 10079: 0x799D, - 10080: 0x799E, - 10081: 0x799F, - 10082: 0x79A0, - 10083: 0x79A1, - 10084: 0x79A2, - 10085: 0x79A3, - 10086: 0x79A4, - 10087: 0x79A5, - 10088: 0x79A6, - 10089: 0x79A8, - 10090: 0x79A9, - 10091: 0x79AA, - 10092: 0x79AB, - 10093: 0x79AC, - 10094: 0x79AD, - 10095: 0x79AE, - 10096: 0x79AF, - 10097: 0x79B0, - 10098: 0x79B1, - 10099: 0x79B2, - 10100: 0x79B4, - 10101: 0x79B5, - 10102: 0x79B6, - 10103: 0x79B7, - 10104: 0x79B8, - 10105: 0x79BC, - 10106: 0x79BF, - 10107: 0x79C2, - 10108: 0x79C4, - 10109: 0x79C5, - 10110: 0x79C7, - 10111: 0x79C8, - 10112: 0x79CA, - 10113: 0x79CC, - 10114: 0x79CE, - 10115: 0x79CF, - 10116: 0x79D0, - 10117: 0x79D3, - 10118: 0x79D4, - 10119: 0x79D6, - 10120: 0x79D7, - 10121: 0x79D9, - 10122: 0x79DA, - 10123: 0x79DB, - 10124: 0x79DC, - 10125: 0x79DD, - 10126: 0x79DE, - 10127: 0x79E0, - 10128: 0x79E1, - 10129: 0x79E2, - 10130: 0x79E5, - 10131: 0x79E8, - 10132: 0x79EA, - 10133: 0x79EC, - 10134: 0x79EE, - 10135: 0x79F1, - 10136: 0x79F2, - 10137: 0x79F3, - 10138: 0x79F4, - 10139: 0x79F5, - 10140: 0x79F6, - 10141: 0x79F7, - 10142: 0x79F9, - 10143: 0x79FA, - 10144: 0x79FC, - 10145: 0x79FE, - 10146: 0x79FF, - 10147: 0x7A01, - 10148: 0x7A04, - 10149: 0x7A05, - 10150: 0x7A07, - 10151: 0x7A08, - 10152: 0x7A09, - 10153: 0x7A0A, - 10154: 0x7A0C, - 10155: 0x7A0F, - 10156: 0x7A10, - 10157: 0x7A11, - 10158: 0x7A12, - 10159: 0x7A13, - 10160: 0x7A15, - 10161: 0x7A16, - 10162: 0x7A18, - 10163: 0x7A19, - 10164: 0x7A1B, - 10165: 0x7A1C, - 10166: 0x4E01, - 10167: 0x76EF, - 10168: 0x53EE, - 10169: 0x9489, - 10170: 0x9876, - 10171: 0x9F0E, - 10172: 0x952D, - 10173: 0x5B9A, - 10174: 0x8BA2, - 10175: 0x4E22, - 10176: 0x4E1C, - 10177: 0x51AC, - 10178: 0x8463, - 10179: 0x61C2, - 10180: 0x52A8, - 10181: 0x680B, - 10182: 0x4F97, - 10183: 0x606B, - 10184: 0x51BB, - 10185: 0x6D1E, - 10186: 0x515C, - 10187: 0x6296, - 10188: 0x6597, - 10189: 0x9661, - 10190: 0x8C46, - 10191: 0x9017, - 10192: 0x75D8, - 10193: 0x90FD, - 10194: 0x7763, - 10195: 0x6BD2, - 10196: 0x728A, - 10197: 0x72EC, - 10198: 0x8BFB, - 10199: 0x5835, - 10200: 0x7779, - 10201: 0x8D4C, - 10202: 0x675C, - 10203: 0x9540, - 10204: 0x809A, - 10205: 0x5EA6, - 10206: 0x6E21, - 10207: 0x5992, - 10208: 0x7AEF, - 10209: 0x77ED, - 10210: 0x953B, - 10211: 0x6BB5, - 10212: 0x65AD, - 10213: 0x7F0E, - 10214: 0x5806, - 10215: 0x5151, - 10216: 0x961F, - 10217: 0x5BF9, - 10218: 0x58A9, - 10219: 0x5428, - 10220: 0x8E72, - 10221: 0x6566, - 10222: 0x987F, - 10223: 0x56E4, - 10224: 0x949D, - 10225: 0x76FE, - 10226: 0x9041, - 10227: 0x6387, - 10228: 0x54C6, - 10229: 0x591A, - 10230: 0x593A, - 10231: 0x579B, - 10232: 0x8EB2, - 10233: 0x6735, - 10234: 0x8DFA, - 10235: 0x8235, - 10236: 0x5241, - 10237: 0x60F0, - 10238: 0x5815, - 10239: 0x86FE, - 10240: 0x5CE8, - 10241: 0x9E45, - 10242: 0x4FC4, - 10243: 0x989D, - 10244: 0x8BB9, - 10245: 0x5A25, - 10246: 0x6076, - 10247: 0x5384, - 10248: 0x627C, - 10249: 0x904F, - 10250: 0x9102, - 10251: 0x997F, - 10252: 0x6069, - 10253: 0x800C, - 10254: 0x513F, - 10255: 0x8033, - 10256: 0x5C14, - 10257: 0x9975, - 10258: 0x6D31, - 10259: 0x4E8C, - 10260: 0x7A1D, - 10261: 0x7A1F, - 10262: 0x7A21, - 10263: 0x7A22, - 10264: 0x7A24, - 10265: 0x7A25, - 10266: 0x7A26, - 10267: 0x7A27, - 10268: 0x7A28, - 10269: 0x7A29, - 10270: 0x7A2A, - 10271: 0x7A2B, - 10272: 0x7A2C, - 10273: 0x7A2D, - 10274: 0x7A2E, - 10275: 0x7A2F, - 10276: 0x7A30, - 10277: 0x7A31, - 10278: 0x7A32, - 10279: 0x7A34, - 10280: 0x7A35, - 10281: 0x7A36, - 10282: 0x7A38, - 10283: 0x7A3A, - 10284: 0x7A3E, - 10285: 0x7A40, - 10286: 0x7A41, - 10287: 0x7A42, - 10288: 0x7A43, - 10289: 0x7A44, - 10290: 0x7A45, - 10291: 0x7A47, - 10292: 0x7A48, - 10293: 0x7A49, - 10294: 0x7A4A, - 10295: 0x7A4B, - 10296: 0x7A4C, - 10297: 0x7A4D, - 10298: 0x7A4E, - 10299: 0x7A4F, - 10300: 0x7A50, - 10301: 0x7A52, - 10302: 0x7A53, - 10303: 0x7A54, - 10304: 0x7A55, - 10305: 0x7A56, - 10306: 0x7A58, - 10307: 0x7A59, - 10308: 0x7A5A, - 10309: 0x7A5B, - 10310: 0x7A5C, - 10311: 0x7A5D, - 10312: 0x7A5E, - 10313: 0x7A5F, - 10314: 0x7A60, - 10315: 0x7A61, - 10316: 0x7A62, - 10317: 0x7A63, - 10318: 0x7A64, - 10319: 0x7A65, - 10320: 0x7A66, - 10321: 0x7A67, - 10322: 0x7A68, - 10323: 0x7A69, - 10324: 0x7A6A, - 10325: 0x7A6B, - 10326: 0x7A6C, - 10327: 0x7A6D, - 10328: 0x7A6E, - 10329: 0x7A6F, - 10330: 0x7A71, - 10331: 0x7A72, - 10332: 0x7A73, - 10333: 0x7A75, - 10334: 0x7A7B, - 10335: 0x7A7C, - 10336: 0x7A7D, - 10337: 0x7A7E, - 10338: 0x7A82, - 10339: 0x7A85, - 10340: 0x7A87, - 10341: 0x7A89, - 10342: 0x7A8A, - 10343: 0x7A8B, - 10344: 0x7A8C, - 10345: 0x7A8E, - 10346: 0x7A8F, - 10347: 0x7A90, - 10348: 0x7A93, - 10349: 0x7A94, - 10350: 0x7A99, - 10351: 0x7A9A, - 10352: 0x7A9B, - 10353: 0x7A9E, - 10354: 0x7AA1, - 10355: 0x7AA2, - 10356: 0x8D30, - 10357: 0x53D1, - 10358: 0x7F5A, - 10359: 0x7B4F, - 10360: 0x4F10, - 10361: 0x4E4F, - 10362: 0x9600, - 10363: 0x6CD5, - 10364: 0x73D0, - 10365: 0x85E9, - 10366: 0x5E06, - 10367: 0x756A, - 10368: 0x7FFB, - 10369: 0x6A0A, - 10370: 0x77FE, - 10371: 0x9492, - 10372: 0x7E41, - 10373: 0x51E1, - 10374: 0x70E6, - 10375: 0x53CD, - 10376: 0x8FD4, - 10377: 0x8303, - 10378: 0x8D29, - 10379: 0x72AF, - 10380: 0x996D, - 10381: 0x6CDB, - 10382: 0x574A, - 10383: 0x82B3, - 10384: 0x65B9, - 10385: 0x80AA, - 10386: 0x623F, - 10387: 0x9632, - 10388: 0x59A8, - 10389: 0x4EFF, - 10390: 0x8BBF, - 10391: 0x7EBA, - 10392: 0x653E, - 10393: 0x83F2, - 10394: 0x975E, - 10395: 0x5561, - 10396: 0x98DE, - 10397: 0x80A5, - 10398: 0x532A, - 10399: 0x8BFD, - 10400: 0x5420, - 10401: 0x80BA, - 10402: 0x5E9F, - 10403: 0x6CB8, - 10404: 0x8D39, - 10405: 0x82AC, - 10406: 0x915A, - 10407: 0x5429, - 10408: 0x6C1B, - 10409: 0x5206, - 10410: 0x7EB7, - 10411: 0x575F, - 10412: 0x711A, - 10413: 0x6C7E, - 10414: 0x7C89, - 10415: 0x594B, - 10416: 0x4EFD, - 10417: 0x5FFF, - 10418: 0x6124, - 10419: 0x7CAA, - 10420: 0x4E30, - 10421: 0x5C01, - 10422: 0x67AB, - 10423: 0x8702, - 10424: 0x5CF0, - 10425: 0x950B, - 10426: 0x98CE, - 10427: 0x75AF, - 10428: 0x70FD, - 10429: 0x9022, - 10430: 0x51AF, - 10431: 0x7F1D, - 10432: 0x8BBD, - 10433: 0x5949, - 10434: 0x51E4, - 10435: 0x4F5B, - 10436: 0x5426, - 10437: 0x592B, - 10438: 0x6577, - 10439: 0x80A4, - 10440: 0x5B75, - 10441: 0x6276, - 10442: 0x62C2, - 10443: 0x8F90, - 10444: 0x5E45, - 10445: 0x6C1F, - 10446: 0x7B26, - 10447: 0x4F0F, - 10448: 0x4FD8, - 10449: 0x670D, - 10450: 0x7AA3, - 10451: 0x7AA4, - 10452: 0x7AA7, - 10453: 0x7AA9, - 10454: 0x7AAA, - 10455: 0x7AAB, - 10456: 0x7AAE, - 10457: 0x7AAF, - 10458: 0x7AB0, - 10459: 0x7AB1, - 10460: 0x7AB2, - 10461: 0x7AB4, - 10462: 0x7AB5, - 10463: 0x7AB6, - 10464: 0x7AB7, - 10465: 0x7AB8, - 10466: 0x7AB9, - 10467: 0x7ABA, - 10468: 0x7ABB, - 10469: 0x7ABC, - 10470: 0x7ABD, - 10471: 0x7ABE, - 10472: 0x7AC0, - 10473: 0x7AC1, - 10474: 0x7AC2, - 10475: 0x7AC3, - 10476: 0x7AC4, - 10477: 0x7AC5, - 10478: 0x7AC6, - 10479: 0x7AC7, - 10480: 0x7AC8, - 10481: 0x7AC9, - 10482: 0x7ACA, - 10483: 0x7ACC, - 10484: 0x7ACD, - 10485: 0x7ACE, - 10486: 0x7ACF, - 10487: 0x7AD0, - 10488: 0x7AD1, - 10489: 0x7AD2, - 10490: 0x7AD3, - 10491: 0x7AD4, - 10492: 0x7AD5, - 10493: 0x7AD7, - 10494: 0x7AD8, - 10495: 0x7ADA, - 10496: 0x7ADB, - 10497: 0x7ADC, - 10498: 0x7ADD, - 10499: 0x7AE1, - 10500: 0x7AE2, - 10501: 0x7AE4, - 10502: 0x7AE7, - 10503: 0x7AE8, - 10504: 0x7AE9, - 10505: 0x7AEA, - 10506: 0x7AEB, - 10507: 0x7AEC, - 10508: 0x7AEE, - 10509: 0x7AF0, - 10510: 0x7AF1, - 10511: 0x7AF2, - 10512: 0x7AF3, - 10513: 0x7AF4, - 10514: 0x7AF5, - 10515: 0x7AF6, - 10516: 0x7AF7, - 10517: 0x7AF8, - 10518: 0x7AFB, - 10519: 0x7AFC, - 10520: 0x7AFE, - 10521: 0x7B00, - 10522: 0x7B01, - 10523: 0x7B02, - 10524: 0x7B05, - 10525: 0x7B07, - 10526: 0x7B09, - 10527: 0x7B0C, - 10528: 0x7B0D, - 10529: 0x7B0E, - 10530: 0x7B10, - 10531: 0x7B12, - 10532: 0x7B13, - 10533: 0x7B16, - 10534: 0x7B17, - 10535: 0x7B18, - 10536: 0x7B1A, - 10537: 0x7B1C, - 10538: 0x7B1D, - 10539: 0x7B1F, - 10540: 0x7B21, - 10541: 0x7B22, - 10542: 0x7B23, - 10543: 0x7B27, - 10544: 0x7B29, - 10545: 0x7B2D, - 10546: 0x6D6E, - 10547: 0x6DAA, - 10548: 0x798F, - 10549: 0x88B1, - 10550: 0x5F17, - 10551: 0x752B, - 10552: 0x629A, - 10553: 0x8F85, - 10554: 0x4FEF, - 10555: 0x91DC, - 10556: 0x65A7, - 10557: 0x812F, - 10558: 0x8151, - 10559: 0x5E9C, - 10560: 0x8150, - 10561: 0x8D74, - 10562: 0x526F, - 10563: 0x8986, - 10564: 0x8D4B, - 10565: 0x590D, - 10566: 0x5085, - 10567: 0x4ED8, - 10568: 0x961C, - 10569: 0x7236, - 10570: 0x8179, - 10571: 0x8D1F, - 10572: 0x5BCC, - 10573: 0x8BA3, - 10574: 0x9644, - 10575: 0x5987, - 10576: 0x7F1A, - 10577: 0x5490, - 10578: 0x5676, - 10579: 0x560E, - 10580: 0x8BE5, - 10581: 0x6539, - 10582: 0x6982, - 10583: 0x9499, - 10584: 0x76D6, - 10585: 0x6E89, - 10586: 0x5E72, - 10587: 0x7518, - 10588: 0x6746, - 10589: 0x67D1, - 10590: 0x7AFF, - 10591: 0x809D, - 10592: 0x8D76, - 10593: 0x611F, - 10594: 0x79C6, - 10595: 0x6562, - 10596: 0x8D63, - 10597: 0x5188, - 10598: 0x521A, - 10599: 0x94A2, - 10600: 0x7F38, - 10601: 0x809B, - 10602: 0x7EB2, - 10603: 0x5C97, - 10604: 0x6E2F, - 10605: 0x6760, - 10606: 0x7BD9, - 10607: 0x768B, - 10608: 0x9AD8, - 10609: 0x818F, - 10610: 0x7F94, - 10611: 0x7CD5, - 10612: 0x641E, - 10613: 0x9550, - 10614: 0x7A3F, - 10615: 0x544A, - 10616: 0x54E5, - 10617: 0x6B4C, - 10618: 0x6401, - 10619: 0x6208, - 10620: 0x9E3D, - 10621: 0x80F3, - 10622: 0x7599, - 10623: 0x5272, - 10624: 0x9769, - 10625: 0x845B, - 10626: 0x683C, - 10627: 0x86E4, - 10628: 0x9601, - 10629: 0x9694, - 10630: 0x94EC, - 10631: 0x4E2A, - 10632: 0x5404, - 10633: 0x7ED9, - 10634: 0x6839, - 10635: 0x8DDF, - 10636: 0x8015, - 10637: 0x66F4, - 10638: 0x5E9A, - 10639: 0x7FB9, - 10640: 0x7B2F, - 10641: 0x7B30, - 10642: 0x7B32, - 10643: 0x7B34, - 10644: 0x7B35, - 10645: 0x7B36, - 10646: 0x7B37, - 10647: 0x7B39, - 10648: 0x7B3B, - 10649: 0x7B3D, - 10650: 0x7B3F, - 10651: 0x7B40, - 10652: 0x7B41, - 10653: 0x7B42, - 10654: 0x7B43, - 10655: 0x7B44, - 10656: 0x7B46, - 10657: 0x7B48, - 10658: 0x7B4A, - 10659: 0x7B4D, - 10660: 0x7B4E, - 10661: 0x7B53, - 10662: 0x7B55, - 10663: 0x7B57, - 10664: 0x7B59, - 10665: 0x7B5C, - 10666: 0x7B5E, - 10667: 0x7B5F, - 10668: 0x7B61, - 10669: 0x7B63, - 10670: 0x7B64, - 10671: 0x7B65, - 10672: 0x7B66, - 10673: 0x7B67, - 10674: 0x7B68, - 10675: 0x7B69, - 10676: 0x7B6A, - 10677: 0x7B6B, - 10678: 0x7B6C, - 10679: 0x7B6D, - 10680: 0x7B6F, - 10681: 0x7B70, - 10682: 0x7B73, - 10683: 0x7B74, - 10684: 0x7B76, - 10685: 0x7B78, - 10686: 0x7B7A, - 10687: 0x7B7C, - 10688: 0x7B7D, - 10689: 0x7B7F, - 10690: 0x7B81, - 10691: 0x7B82, - 10692: 0x7B83, - 10693: 0x7B84, - 10694: 0x7B86, - 10695: 0x7B87, - 10696: 0x7B88, - 10697: 0x7B89, - 10698: 0x7B8A, - 10699: 0x7B8B, - 10700: 0x7B8C, - 10701: 0x7B8E, - 10702: 0x7B8F, - 10703: 0x7B91, - 10704: 0x7B92, - 10705: 0x7B93, - 10706: 0x7B96, - 10707: 0x7B98, - 10708: 0x7B99, - 10709: 0x7B9A, - 10710: 0x7B9B, - 10711: 0x7B9E, - 10712: 0x7B9F, - 10713: 0x7BA0, - 10714: 0x7BA3, - 10715: 0x7BA4, - 10716: 0x7BA5, - 10717: 0x7BAE, - 10718: 0x7BAF, - 10719: 0x7BB0, - 10720: 0x7BB2, - 10721: 0x7BB3, - 10722: 0x7BB5, - 10723: 0x7BB6, - 10724: 0x7BB7, - 10725: 0x7BB9, - 10726: 0x7BBA, - 10727: 0x7BBB, - 10728: 0x7BBC, - 10729: 0x7BBD, - 10730: 0x7BBE, - 10731: 0x7BBF, - 10732: 0x7BC0, - 10733: 0x7BC2, - 10734: 0x7BC3, - 10735: 0x7BC4, - 10736: 0x57C2, - 10737: 0x803F, - 10738: 0x6897, - 10739: 0x5DE5, - 10740: 0x653B, - 10741: 0x529F, - 10742: 0x606D, - 10743: 0x9F9A, - 10744: 0x4F9B, - 10745: 0x8EAC, - 10746: 0x516C, - 10747: 0x5BAB, - 10748: 0x5F13, - 10749: 0x5DE9, - 10750: 0x6C5E, - 10751: 0x62F1, - 10752: 0x8D21, - 10753: 0x5171, - 10754: 0x94A9, - 10755: 0x52FE, - 10756: 0x6C9F, - 10757: 0x82DF, - 10758: 0x72D7, - 10759: 0x57A2, - 10760: 0x6784, - 10761: 0x8D2D, - 10762: 0x591F, - 10763: 0x8F9C, - 10764: 0x83C7, - 10765: 0x5495, - 10766: 0x7B8D, - 10767: 0x4F30, - 10768: 0x6CBD, - 10769: 0x5B64, - 10770: 0x59D1, - 10771: 0x9F13, - 10772: 0x53E4, - 10773: 0x86CA, - 10774: 0x9AA8, - 10775: 0x8C37, - 10776: 0x80A1, - 10777: 0x6545, - 10778: 0x987E, - 10779: 0x56FA, - 10780: 0x96C7, - 10781: 0x522E, - 10782: 0x74DC, - 10783: 0x5250, - 10784: 0x5BE1, - 10785: 0x6302, - 10786: 0x8902, - 10787: 0x4E56, - 10788: 0x62D0, - 10789: 0x602A, - 10790: 0x68FA, - 10791: 0x5173, - 10792: 0x5B98, - 10793: 0x51A0, - 10794: 0x89C2, - 10795: 0x7BA1, - 10796: 0x9986, - 10797: 0x7F50, - 10798: 0x60EF, - 10799: 0x704C, - 10800: 0x8D2F, - 10801: 0x5149, - 10802: 0x5E7F, - 10803: 0x901B, - 10804: 0x7470, - 10805: 0x89C4, - 10806: 0x572D, - 10807: 0x7845, - 10808: 0x5F52, - 10809: 0x9F9F, - 10810: 0x95FA, - 10811: 0x8F68, - 10812: 0x9B3C, - 10813: 0x8BE1, - 10814: 0x7678, - 10815: 0x6842, - 10816: 0x67DC, - 10817: 0x8DEA, - 10818: 0x8D35, - 10819: 0x523D, - 10820: 0x8F8A, - 10821: 0x6EDA, - 10822: 0x68CD, - 10823: 0x9505, - 10824: 0x90ED, - 10825: 0x56FD, - 10826: 0x679C, - 10827: 0x88F9, - 10828: 0x8FC7, - 10829: 0x54C8, - 10830: 0x7BC5, - 10831: 0x7BC8, - 10832: 0x7BC9, - 10833: 0x7BCA, - 10834: 0x7BCB, - 10835: 0x7BCD, - 10836: 0x7BCE, - 10837: 0x7BCF, - 10838: 0x7BD0, - 10839: 0x7BD2, - 10840: 0x7BD4, - 10841: 0x7BD5, - 10842: 0x7BD6, - 10843: 0x7BD7, - 10844: 0x7BD8, - 10845: 0x7BDB, - 10846: 0x7BDC, - 10847: 0x7BDE, - 10848: 0x7BDF, - 10849: 0x7BE0, - 10850: 0x7BE2, - 10851: 0x7BE3, - 10852: 0x7BE4, - 10853: 0x7BE7, - 10854: 0x7BE8, - 10855: 0x7BE9, - 10856: 0x7BEB, - 10857: 0x7BEC, - 10858: 0x7BED, - 10859: 0x7BEF, - 10860: 0x7BF0, - 10861: 0x7BF2, - 10862: 0x7BF3, - 10863: 0x7BF4, - 10864: 0x7BF5, - 10865: 0x7BF6, - 10866: 0x7BF8, - 10867: 0x7BF9, - 10868: 0x7BFA, - 10869: 0x7BFB, - 10870: 0x7BFD, - 10871: 0x7BFF, - 10872: 0x7C00, - 10873: 0x7C01, - 10874: 0x7C02, - 10875: 0x7C03, - 10876: 0x7C04, - 10877: 0x7C05, - 10878: 0x7C06, - 10879: 0x7C08, - 10880: 0x7C09, - 10881: 0x7C0A, - 10882: 0x7C0D, - 10883: 0x7C0E, - 10884: 0x7C10, - 10885: 0x7C11, - 10886: 0x7C12, - 10887: 0x7C13, - 10888: 0x7C14, - 10889: 0x7C15, - 10890: 0x7C17, - 10891: 0x7C18, - 10892: 0x7C19, - 10893: 0x7C1A, - 10894: 0x7C1B, - 10895: 0x7C1C, - 10896: 0x7C1D, - 10897: 0x7C1E, - 10898: 0x7C20, - 10899: 0x7C21, - 10900: 0x7C22, - 10901: 0x7C23, - 10902: 0x7C24, - 10903: 0x7C25, - 10904: 0x7C28, - 10905: 0x7C29, - 10906: 0x7C2B, - 10907: 0x7C2C, - 10908: 0x7C2D, - 10909: 0x7C2E, - 10910: 0x7C2F, - 10911: 0x7C30, - 10912: 0x7C31, - 10913: 0x7C32, - 10914: 0x7C33, - 10915: 0x7C34, - 10916: 0x7C35, - 10917: 0x7C36, - 10918: 0x7C37, - 10919: 0x7C39, - 10920: 0x7C3A, - 10921: 0x7C3B, - 10922: 0x7C3C, - 10923: 0x7C3D, - 10924: 0x7C3E, - 10925: 0x7C42, - 10926: 0x9AB8, - 10927: 0x5B69, - 10928: 0x6D77, - 10929: 0x6C26, - 10930: 0x4EA5, - 10931: 0x5BB3, - 10932: 0x9A87, - 10933: 0x9163, - 10934: 0x61A8, - 10935: 0x90AF, - 10936: 0x97E9, - 10937: 0x542B, - 10938: 0x6DB5, - 10939: 0x5BD2, - 10940: 0x51FD, - 10941: 0x558A, - 10942: 0x7F55, - 10943: 0x7FF0, - 10944: 0x64BC, - 10945: 0x634D, - 10946: 0x65F1, - 10947: 0x61BE, - 10948: 0x608D, - 10949: 0x710A, - 10950: 0x6C57, - 10951: 0x6C49, - 10952: 0x592F, - 10953: 0x676D, - 10954: 0x822A, - 10955: 0x58D5, - 10956: 0x568E, - 10957: 0x8C6A, - 10958: 0x6BEB, - 10959: 0x90DD, - 10960: 0x597D, - 10961: 0x8017, - 10962: 0x53F7, - 10963: 0x6D69, - 10964: 0x5475, - 10965: 0x559D, - 10966: 0x8377, - 10967: 0x83CF, - 10968: 0x6838, - 10969: 0x79BE, - 10970: 0x548C, - 10971: 0x4F55, - 10972: 0x5408, - 10973: 0x76D2, - 10974: 0x8C89, - 10975: 0x9602, - 10976: 0x6CB3, - 10977: 0x6DB8, - 10978: 0x8D6B, - 10979: 0x8910, - 10980: 0x9E64, - 10981: 0x8D3A, - 10982: 0x563F, - 10983: 0x9ED1, - 10984: 0x75D5, - 10985: 0x5F88, - 10986: 0x72E0, - 10987: 0x6068, - 10988: 0x54FC, - 10989: 0x4EA8, - 10990: 0x6A2A, - 10991: 0x8861, - 10992: 0x6052, - 10993: 0x8F70, - 10994: 0x54C4, - 10995: 0x70D8, - 10996: 0x8679, - 10997: 0x9E3F, - 10998: 0x6D2A, - 10999: 0x5B8F, - 11000: 0x5F18, - 11001: 0x7EA2, - 11002: 0x5589, - 11003: 0x4FAF, - 11004: 0x7334, - 11005: 0x543C, - 11006: 0x539A, - 11007: 0x5019, - 11008: 0x540E, - 11009: 0x547C, - 11010: 0x4E4E, - 11011: 0x5FFD, - 11012: 0x745A, - 11013: 0x58F6, - 11014: 0x846B, - 11015: 0x80E1, - 11016: 0x8774, - 11017: 0x72D0, - 11018: 0x7CCA, - 11019: 0x6E56, - 11020: 0x7C43, - 11021: 0x7C44, - 11022: 0x7C45, - 11023: 0x7C46, - 11024: 0x7C47, - 11025: 0x7C48, - 11026: 0x7C49, - 11027: 0x7C4A, - 11028: 0x7C4B, - 11029: 0x7C4C, - 11030: 0x7C4E, - 11031: 0x7C4F, - 11032: 0x7C50, - 11033: 0x7C51, - 11034: 0x7C52, - 11035: 0x7C53, - 11036: 0x7C54, - 11037: 0x7C55, - 11038: 0x7C56, - 11039: 0x7C57, - 11040: 0x7C58, - 11041: 0x7C59, - 11042: 0x7C5A, - 11043: 0x7C5B, - 11044: 0x7C5C, - 11045: 0x7C5D, - 11046: 0x7C5E, - 11047: 0x7C5F, - 11048: 0x7C60, - 11049: 0x7C61, - 11050: 0x7C62, - 11051: 0x7C63, - 11052: 0x7C64, - 11053: 0x7C65, - 11054: 0x7C66, - 11055: 0x7C67, - 11056: 0x7C68, - 11057: 0x7C69, - 11058: 0x7C6A, - 11059: 0x7C6B, - 11060: 0x7C6C, - 11061: 0x7C6D, - 11062: 0x7C6E, - 11063: 0x7C6F, - 11064: 0x7C70, - 11065: 0x7C71, - 11066: 0x7C72, - 11067: 0x7C75, - 11068: 0x7C76, - 11069: 0x7C77, - 11070: 0x7C78, - 11071: 0x7C79, - 11072: 0x7C7A, - 11073: 0x7C7E, - 11074: 0x7C7F, - 11075: 0x7C80, - 11076: 0x7C81, - 11077: 0x7C82, - 11078: 0x7C83, - 11079: 0x7C84, - 11080: 0x7C85, - 11081: 0x7C86, - 11082: 0x7C87, - 11083: 0x7C88, - 11084: 0x7C8A, - 11085: 0x7C8B, - 11086: 0x7C8C, - 11087: 0x7C8D, - 11088: 0x7C8E, - 11089: 0x7C8F, - 11090: 0x7C90, - 11091: 0x7C93, - 11092: 0x7C94, - 11093: 0x7C96, - 11094: 0x7C99, - 11095: 0x7C9A, - 11096: 0x7C9B, - 11097: 0x7CA0, - 11098: 0x7CA1, - 11099: 0x7CA3, - 11100: 0x7CA6, - 11101: 0x7CA7, - 11102: 0x7CA8, - 11103: 0x7CA9, - 11104: 0x7CAB, - 11105: 0x7CAC, - 11106: 0x7CAD, - 11107: 0x7CAF, - 11108: 0x7CB0, - 11109: 0x7CB4, - 11110: 0x7CB5, - 11111: 0x7CB6, - 11112: 0x7CB7, - 11113: 0x7CB8, - 11114: 0x7CBA, - 11115: 0x7CBB, - 11116: 0x5F27, - 11117: 0x864E, - 11118: 0x552C, - 11119: 0x62A4, - 11120: 0x4E92, - 11121: 0x6CAA, - 11122: 0x6237, - 11123: 0x82B1, - 11124: 0x54D7, - 11125: 0x534E, - 11126: 0x733E, - 11127: 0x6ED1, - 11128: 0x753B, - 11129: 0x5212, - 11130: 0x5316, - 11131: 0x8BDD, - 11132: 0x69D0, - 11133: 0x5F8A, - 11134: 0x6000, - 11135: 0x6DEE, - 11136: 0x574F, - 11137: 0x6B22, - 11138: 0x73AF, - 11139: 0x6853, - 11140: 0x8FD8, - 11141: 0x7F13, - 11142: 0x6362, - 11143: 0x60A3, - 11144: 0x5524, - 11145: 0x75EA, - 11146: 0x8C62, - 11147: 0x7115, - 11148: 0x6DA3, - 11149: 0x5BA6, - 11150: 0x5E7B, - 11151: 0x8352, - 11152: 0x614C, - 11153: 0x9EC4, - 11154: 0x78FA, - 11155: 0x8757, - 11156: 0x7C27, - 11157: 0x7687, - 11158: 0x51F0, - 11159: 0x60F6, - 11160: 0x714C, - 11161: 0x6643, - 11162: 0x5E4C, - 11163: 0x604D, - 11164: 0x8C0E, - 11165: 0x7070, - 11166: 0x6325, - 11167: 0x8F89, - 11168: 0x5FBD, - 11169: 0x6062, - 11170: 0x86D4, - 11171: 0x56DE, - 11172: 0x6BC1, - 11173: 0x6094, - 11174: 0x6167, - 11175: 0x5349, - 11176: 0x60E0, - 11177: 0x6666, - 11178: 0x8D3F, - 11179: 0x79FD, - 11180: 0x4F1A, - 11181: 0x70E9, - 11182: 0x6C47, - 11183: 0x8BB3, - 11184: 0x8BF2, - 11185: 0x7ED8, - 11186: 0x8364, - 11187: 0x660F, - 11188: 0x5A5A, - 11189: 0x9B42, - 11190: 0x6D51, - 11191: 0x6DF7, - 11192: 0x8C41, - 11193: 0x6D3B, - 11194: 0x4F19, - 11195: 0x706B, - 11196: 0x83B7, - 11197: 0x6216, - 11198: 0x60D1, - 11199: 0x970D, - 11200: 0x8D27, - 11201: 0x7978, - 11202: 0x51FB, - 11203: 0x573E, - 11204: 0x57FA, - 11205: 0x673A, - 11206: 0x7578, - 11207: 0x7A3D, - 11208: 0x79EF, - 11209: 0x7B95, - 11210: 0x7CBF, - 11211: 0x7CC0, - 11212: 0x7CC2, - 11213: 0x7CC3, - 11214: 0x7CC4, - 11215: 0x7CC6, - 11216: 0x7CC9, - 11217: 0x7CCB, - 11218: 0x7CCE, - 11219: 0x7CCF, - 11220: 0x7CD0, - 11221: 0x7CD1, - 11222: 0x7CD2, - 11223: 0x7CD3, - 11224: 0x7CD4, - 11225: 0x7CD8, - 11226: 0x7CDA, - 11227: 0x7CDB, - 11228: 0x7CDD, - 11229: 0x7CDE, - 11230: 0x7CE1, - 11231: 0x7CE2, - 11232: 0x7CE3, - 11233: 0x7CE4, - 11234: 0x7CE5, - 11235: 0x7CE6, - 11236: 0x7CE7, - 11237: 0x7CE9, - 11238: 0x7CEA, - 11239: 0x7CEB, - 11240: 0x7CEC, - 11241: 0x7CED, - 11242: 0x7CEE, - 11243: 0x7CF0, - 11244: 0x7CF1, - 11245: 0x7CF2, - 11246: 0x7CF3, - 11247: 0x7CF4, - 11248: 0x7CF5, - 11249: 0x7CF6, - 11250: 0x7CF7, - 11251: 0x7CF9, - 11252: 0x7CFA, - 11253: 0x7CFC, - 11254: 0x7CFD, - 11255: 0x7CFE, - 11256: 0x7CFF, - 11257: 0x7D00, - 11258: 0x7D01, - 11259: 0x7D02, - 11260: 0x7D03, - 11261: 0x7D04, - 11262: 0x7D05, - 11263: 0x7D06, - 11264: 0x7D07, - 11265: 0x7D08, - 11266: 0x7D09, - 11267: 0x7D0B, - 11268: 0x7D0C, - 11269: 0x7D0D, - 11270: 0x7D0E, - 11271: 0x7D0F, - 11272: 0x7D10, - 11273: 0x7D11, - 11274: 0x7D12, - 11275: 0x7D13, - 11276: 0x7D14, - 11277: 0x7D15, - 11278: 0x7D16, - 11279: 0x7D17, - 11280: 0x7D18, - 11281: 0x7D19, - 11282: 0x7D1A, - 11283: 0x7D1B, - 11284: 0x7D1C, - 11285: 0x7D1D, - 11286: 0x7D1E, - 11287: 0x7D1F, - 11288: 0x7D21, - 11289: 0x7D23, - 11290: 0x7D24, - 11291: 0x7D25, - 11292: 0x7D26, - 11293: 0x7D28, - 11294: 0x7D29, - 11295: 0x7D2A, - 11296: 0x7D2C, - 11297: 0x7D2D, - 11298: 0x7D2E, - 11299: 0x7D30, - 11300: 0x7D31, - 11301: 0x7D32, - 11302: 0x7D33, - 11303: 0x7D34, - 11304: 0x7D35, - 11305: 0x7D36, - 11306: 0x808C, - 11307: 0x9965, - 11308: 0x8FF9, - 11309: 0x6FC0, - 11310: 0x8BA5, - 11311: 0x9E21, - 11312: 0x59EC, - 11313: 0x7EE9, - 11314: 0x7F09, - 11315: 0x5409, - 11316: 0x6781, - 11317: 0x68D8, - 11318: 0x8F91, - 11319: 0x7C4D, - 11320: 0x96C6, - 11321: 0x53CA, - 11322: 0x6025, - 11323: 0x75BE, - 11324: 0x6C72, - 11325: 0x5373, - 11326: 0x5AC9, - 11327: 0x7EA7, - 11328: 0x6324, - 11329: 0x51E0, - 11330: 0x810A, - 11331: 0x5DF1, - 11332: 0x84DF, - 11333: 0x6280, - 11334: 0x5180, - 11335: 0x5B63, - 11336: 0x4F0E, - 11337: 0x796D, - 11338: 0x5242, - 11339: 0x60B8, - 11340: 0x6D4E, - 11341: 0x5BC4, - 11342: 0x5BC2, - 11343: 0x8BA1, - 11344: 0x8BB0, - 11345: 0x65E2, - 11346: 0x5FCC, - 11347: 0x9645, - 11348: 0x5993, - 11349: 0x7EE7, - 11350: 0x7EAA, - 11351: 0x5609, - 11352: 0x67B7, - 11353: 0x5939, - 11354: 0x4F73, - 11355: 0x5BB6, - 11356: 0x52A0, - 11357: 0x835A, - 11358: 0x988A, - 11359: 0x8D3E, - 11360: 0x7532, - 11361: 0x94BE, - 11362: 0x5047, - 11363: 0x7A3C, - 11364: 0x4EF7, - 11365: 0x67B6, - 11366: 0x9A7E, - 11367: 0x5AC1, - 11368: 0x6B7C, - 11369: 0x76D1, - 11370: 0x575A, - 11371: 0x5C16, - 11372: 0x7B3A, - 11373: 0x95F4, - 11374: 0x714E, - 11375: 0x517C, - 11376: 0x80A9, - 11377: 0x8270, - 11378: 0x5978, - 11379: 0x7F04, - 11380: 0x8327, - 11381: 0x68C0, - 11382: 0x67EC, - 11383: 0x78B1, - 11384: 0x7877, - 11385: 0x62E3, - 11386: 0x6361, - 11387: 0x7B80, - 11388: 0x4FED, - 11389: 0x526A, - 11390: 0x51CF, - 11391: 0x8350, - 11392: 0x69DB, - 11393: 0x9274, - 11394: 0x8DF5, - 11395: 0x8D31, - 11396: 0x89C1, - 11397: 0x952E, - 11398: 0x7BAD, - 11399: 0x4EF6, - 11400: 0x7D37, - 11401: 0x7D38, - 11402: 0x7D39, - 11403: 0x7D3A, - 11404: 0x7D3B, - 11405: 0x7D3C, - 11406: 0x7D3D, - 11407: 0x7D3E, - 11408: 0x7D3F, - 11409: 0x7D40, - 11410: 0x7D41, - 11411: 0x7D42, - 11412: 0x7D43, - 11413: 0x7D44, - 11414: 0x7D45, - 11415: 0x7D46, - 11416: 0x7D47, - 11417: 0x7D48, - 11418: 0x7D49, - 11419: 0x7D4A, - 11420: 0x7D4B, - 11421: 0x7D4C, - 11422: 0x7D4D, - 11423: 0x7D4E, - 11424: 0x7D4F, - 11425: 0x7D50, - 11426: 0x7D51, - 11427: 0x7D52, - 11428: 0x7D53, - 11429: 0x7D54, - 11430: 0x7D55, - 11431: 0x7D56, - 11432: 0x7D57, - 11433: 0x7D58, - 11434: 0x7D59, - 11435: 0x7D5A, - 11436: 0x7D5B, - 11437: 0x7D5C, - 11438: 0x7D5D, - 11439: 0x7D5E, - 11440: 0x7D5F, - 11441: 0x7D60, - 11442: 0x7D61, - 11443: 0x7D62, - 11444: 0x7D63, - 11445: 0x7D64, - 11446: 0x7D65, - 11447: 0x7D66, - 11448: 0x7D67, - 11449: 0x7D68, - 11450: 0x7D69, - 11451: 0x7D6A, - 11452: 0x7D6B, - 11453: 0x7D6C, - 11454: 0x7D6D, - 11455: 0x7D6F, - 11456: 0x7D70, - 11457: 0x7D71, - 11458: 0x7D72, - 11459: 0x7D73, - 11460: 0x7D74, - 11461: 0x7D75, - 11462: 0x7D76, - 11463: 0x7D78, - 11464: 0x7D79, - 11465: 0x7D7A, - 11466: 0x7D7B, - 11467: 0x7D7C, - 11468: 0x7D7D, - 11469: 0x7D7E, - 11470: 0x7D7F, - 11471: 0x7D80, - 11472: 0x7D81, - 11473: 0x7D82, - 11474: 0x7D83, - 11475: 0x7D84, - 11476: 0x7D85, - 11477: 0x7D86, - 11478: 0x7D87, - 11479: 0x7D88, - 11480: 0x7D89, - 11481: 0x7D8A, - 11482: 0x7D8B, - 11483: 0x7D8C, - 11484: 0x7D8D, - 11485: 0x7D8E, - 11486: 0x7D8F, - 11487: 0x7D90, - 11488: 0x7D91, - 11489: 0x7D92, - 11490: 0x7D93, - 11491: 0x7D94, - 11492: 0x7D95, - 11493: 0x7D96, - 11494: 0x7D97, - 11495: 0x7D98, - 11496: 0x5065, - 11497: 0x8230, - 11498: 0x5251, - 11499: 0x996F, - 11500: 0x6E10, - 11501: 0x6E85, - 11502: 0x6DA7, - 11503: 0x5EFA, - 11504: 0x50F5, - 11505: 0x59DC, - 11506: 0x5C06, - 11507: 0x6D46, - 11508: 0x6C5F, - 11509: 0x7586, - 11510: 0x848B, - 11511: 0x6868, - 11512: 0x5956, - 11513: 0x8BB2, - 11514: 0x5320, - 11515: 0x9171, - 11516: 0x964D, - 11517: 0x8549, - 11518: 0x6912, - 11519: 0x7901, - 11520: 0x7126, - 11521: 0x80F6, - 11522: 0x4EA4, - 11523: 0x90CA, - 11524: 0x6D47, - 11525: 0x9A84, - 11526: 0x5A07, - 11527: 0x56BC, - 11528: 0x6405, - 11529: 0x94F0, - 11530: 0x77EB, - 11531: 0x4FA5, - 11532: 0x811A, - 11533: 0x72E1, - 11534: 0x89D2, - 11535: 0x997A, - 11536: 0x7F34, - 11537: 0x7EDE, - 11538: 0x527F, - 11539: 0x6559, - 11540: 0x9175, - 11541: 0x8F7F, - 11542: 0x8F83, - 11543: 0x53EB, - 11544: 0x7A96, - 11545: 0x63ED, - 11546: 0x63A5, - 11547: 0x7686, - 11548: 0x79F8, - 11549: 0x8857, - 11550: 0x9636, - 11551: 0x622A, - 11552: 0x52AB, - 11553: 0x8282, - 11554: 0x6854, - 11555: 0x6770, - 11556: 0x6377, - 11557: 0x776B, - 11558: 0x7AED, - 11559: 0x6D01, - 11560: 0x7ED3, - 11561: 0x89E3, - 11562: 0x59D0, - 11563: 0x6212, - 11564: 0x85C9, - 11565: 0x82A5, - 11566: 0x754C, - 11567: 0x501F, - 11568: 0x4ECB, - 11569: 0x75A5, - 11570: 0x8BEB, - 11571: 0x5C4A, - 11572: 0x5DFE, - 11573: 0x7B4B, - 11574: 0x65A4, - 11575: 0x91D1, - 11576: 0x4ECA, - 11577: 0x6D25, - 11578: 0x895F, - 11579: 0x7D27, - 11580: 0x9526, - 11581: 0x4EC5, - 11582: 0x8C28, - 11583: 0x8FDB, - 11584: 0x9773, - 11585: 0x664B, - 11586: 0x7981, - 11587: 0x8FD1, - 11588: 0x70EC, - 11589: 0x6D78, - 11590: 0x7D99, - 11591: 0x7D9A, - 11592: 0x7D9B, - 11593: 0x7D9C, - 11594: 0x7D9D, - 11595: 0x7D9E, - 11596: 0x7D9F, - 11597: 0x7DA0, - 11598: 0x7DA1, - 11599: 0x7DA2, - 11600: 0x7DA3, - 11601: 0x7DA4, - 11602: 0x7DA5, - 11603: 0x7DA7, - 11604: 0x7DA8, - 11605: 0x7DA9, - 11606: 0x7DAA, - 11607: 0x7DAB, - 11608: 0x7DAC, - 11609: 0x7DAD, - 11610: 0x7DAF, - 11611: 0x7DB0, - 11612: 0x7DB1, - 11613: 0x7DB2, - 11614: 0x7DB3, - 11615: 0x7DB4, - 11616: 0x7DB5, - 11617: 0x7DB6, - 11618: 0x7DB7, - 11619: 0x7DB8, - 11620: 0x7DB9, - 11621: 0x7DBA, - 11622: 0x7DBB, - 11623: 0x7DBC, - 11624: 0x7DBD, - 11625: 0x7DBE, - 11626: 0x7DBF, - 11627: 0x7DC0, - 11628: 0x7DC1, - 11629: 0x7DC2, - 11630: 0x7DC3, - 11631: 0x7DC4, - 11632: 0x7DC5, - 11633: 0x7DC6, - 11634: 0x7DC7, - 11635: 0x7DC8, - 11636: 0x7DC9, - 11637: 0x7DCA, - 11638: 0x7DCB, - 11639: 0x7DCC, - 11640: 0x7DCD, - 11641: 0x7DCE, - 11642: 0x7DCF, - 11643: 0x7DD0, - 11644: 0x7DD1, - 11645: 0x7DD2, - 11646: 0x7DD3, - 11647: 0x7DD4, - 11648: 0x7DD5, - 11649: 0x7DD6, - 11650: 0x7DD7, - 11651: 0x7DD8, - 11652: 0x7DD9, - 11653: 0x7DDA, - 11654: 0x7DDB, - 11655: 0x7DDC, - 11656: 0x7DDD, - 11657: 0x7DDE, - 11658: 0x7DDF, - 11659: 0x7DE0, - 11660: 0x7DE1, - 11661: 0x7DE2, - 11662: 0x7DE3, - 11663: 0x7DE4, - 11664: 0x7DE5, - 11665: 0x7DE6, - 11666: 0x7DE7, - 11667: 0x7DE8, - 11668: 0x7DE9, - 11669: 0x7DEA, - 11670: 0x7DEB, - 11671: 0x7DEC, - 11672: 0x7DED, - 11673: 0x7DEE, - 11674: 0x7DEF, - 11675: 0x7DF0, - 11676: 0x7DF1, - 11677: 0x7DF2, - 11678: 0x7DF3, - 11679: 0x7DF4, - 11680: 0x7DF5, - 11681: 0x7DF6, - 11682: 0x7DF7, - 11683: 0x7DF8, - 11684: 0x7DF9, - 11685: 0x7DFA, - 11686: 0x5C3D, - 11687: 0x52B2, - 11688: 0x8346, - 11689: 0x5162, - 11690: 0x830E, - 11691: 0x775B, - 11692: 0x6676, - 11693: 0x9CB8, - 11694: 0x4EAC, - 11695: 0x60CA, - 11696: 0x7CBE, - 11697: 0x7CB3, - 11698: 0x7ECF, - 11699: 0x4E95, - 11700: 0x8B66, - 11701: 0x666F, - 11702: 0x9888, - 11703: 0x9759, - 11704: 0x5883, - 11705: 0x656C, - 11706: 0x955C, - 11707: 0x5F84, - 11708: 0x75C9, - 11709: 0x9756, - 11710: 0x7ADF, - 11711: 0x7ADE, - 11712: 0x51C0, - 11713: 0x70AF, - 11714: 0x7A98, - 11715: 0x63EA, - 11716: 0x7A76, - 11717: 0x7EA0, - 11718: 0x7396, - 11719: 0x97ED, - 11720: 0x4E45, - 11721: 0x7078, - 11722: 0x4E5D, - 11723: 0x9152, - 11724: 0x53A9, - 11725: 0x6551, - 11726: 0x65E7, - 11727: 0x81FC, - 11728: 0x8205, - 11729: 0x548E, - 11730: 0x5C31, - 11731: 0x759A, - 11732: 0x97A0, - 11733: 0x62D8, - 11734: 0x72D9, - 11735: 0x75BD, - 11736: 0x5C45, - 11737: 0x9A79, - 11738: 0x83CA, - 11739: 0x5C40, - 11740: 0x5480, - 11741: 0x77E9, - 11742: 0x4E3E, - 11743: 0x6CAE, - 11744: 0x805A, - 11745: 0x62D2, - 11746: 0x636E, - 11747: 0x5DE8, - 11748: 0x5177, - 11749: 0x8DDD, - 11750: 0x8E1E, - 11751: 0x952F, - 11752: 0x4FF1, - 11753: 0x53E5, - 11754: 0x60E7, - 11755: 0x70AC, - 11756: 0x5267, - 11757: 0x6350, - 11758: 0x9E43, - 11759: 0x5A1F, - 11760: 0x5026, - 11761: 0x7737, - 11762: 0x5377, - 11763: 0x7EE2, - 11764: 0x6485, - 11765: 0x652B, - 11766: 0x6289, - 11767: 0x6398, - 11768: 0x5014, - 11769: 0x7235, - 11770: 0x89C9, - 11771: 0x51B3, - 11772: 0x8BC0, - 11773: 0x7EDD, - 11774: 0x5747, - 11775: 0x83CC, - 11776: 0x94A7, - 11777: 0x519B, - 11778: 0x541B, - 11779: 0x5CFB, - 11780: 0x7DFB, - 11781: 0x7DFC, - 11782: 0x7DFD, - 11783: 0x7DFE, - 11784: 0x7DFF, - 11785: 0x7E00, - 11786: 0x7E01, - 11787: 0x7E02, - 11788: 0x7E03, - 11789: 0x7E04, - 11790: 0x7E05, - 11791: 0x7E06, - 11792: 0x7E07, - 11793: 0x7E08, - 11794: 0x7E09, - 11795: 0x7E0A, - 11796: 0x7E0B, - 11797: 0x7E0C, - 11798: 0x7E0D, - 11799: 0x7E0E, - 11800: 0x7E0F, - 11801: 0x7E10, - 11802: 0x7E11, - 11803: 0x7E12, - 11804: 0x7E13, - 11805: 0x7E14, - 11806: 0x7E15, - 11807: 0x7E16, - 11808: 0x7E17, - 11809: 0x7E18, - 11810: 0x7E19, - 11811: 0x7E1A, - 11812: 0x7E1B, - 11813: 0x7E1C, - 11814: 0x7E1D, - 11815: 0x7E1E, - 11816: 0x7E1F, - 11817: 0x7E20, - 11818: 0x7E21, - 11819: 0x7E22, - 11820: 0x7E23, - 11821: 0x7E24, - 11822: 0x7E25, - 11823: 0x7E26, - 11824: 0x7E27, - 11825: 0x7E28, - 11826: 0x7E29, - 11827: 0x7E2A, - 11828: 0x7E2B, - 11829: 0x7E2C, - 11830: 0x7E2D, - 11831: 0x7E2E, - 11832: 0x7E2F, - 11833: 0x7E30, - 11834: 0x7E31, - 11835: 0x7E32, - 11836: 0x7E33, - 11837: 0x7E34, - 11838: 0x7E35, - 11839: 0x7E36, - 11840: 0x7E37, - 11841: 0x7E38, - 11842: 0x7E39, - 11843: 0x7E3A, - 11844: 0x7E3C, - 11845: 0x7E3D, - 11846: 0x7E3E, - 11847: 0x7E3F, - 11848: 0x7E40, - 11849: 0x7E42, - 11850: 0x7E43, - 11851: 0x7E44, - 11852: 0x7E45, - 11853: 0x7E46, - 11854: 0x7E48, - 11855: 0x7E49, - 11856: 0x7E4A, - 11857: 0x7E4B, - 11858: 0x7E4C, - 11859: 0x7E4D, - 11860: 0x7E4E, - 11861: 0x7E4F, - 11862: 0x7E50, - 11863: 0x7E51, - 11864: 0x7E52, - 11865: 0x7E53, - 11866: 0x7E54, - 11867: 0x7E55, - 11868: 0x7E56, - 11869: 0x7E57, - 11870: 0x7E58, - 11871: 0x7E59, - 11872: 0x7E5A, - 11873: 0x7E5B, - 11874: 0x7E5C, - 11875: 0x7E5D, - 11876: 0x4FCA, - 11877: 0x7AE3, - 11878: 0x6D5A, - 11879: 0x90E1, - 11880: 0x9A8F, - 11881: 0x5580, - 11882: 0x5496, - 11883: 0x5361, - 11884: 0x54AF, - 11885: 0x5F00, - 11886: 0x63E9, - 11887: 0x6977, - 11888: 0x51EF, - 11889: 0x6168, - 11890: 0x520A, - 11891: 0x582A, - 11892: 0x52D8, - 11893: 0x574E, - 11894: 0x780D, - 11895: 0x770B, - 11896: 0x5EB7, - 11897: 0x6177, - 11898: 0x7CE0, - 11899: 0x625B, - 11900: 0x6297, - 11901: 0x4EA2, - 11902: 0x7095, - 11903: 0x8003, - 11904: 0x62F7, - 11905: 0x70E4, - 11906: 0x9760, - 11907: 0x5777, - 11908: 0x82DB, - 11909: 0x67EF, - 11910: 0x68F5, - 11911: 0x78D5, - 11912: 0x9897, - 11913: 0x79D1, - 11914: 0x58F3, - 11915: 0x54B3, - 11916: 0x53EF, - 11917: 0x6E34, - 11918: 0x514B, - 11919: 0x523B, - 11920: 0x5BA2, - 11921: 0x8BFE, - 11922: 0x80AF, - 11923: 0x5543, - 11924: 0x57A6, - 11925: 0x6073, - 11926: 0x5751, - 11927: 0x542D, - 11928: 0x7A7A, - 11929: 0x6050, - 11930: 0x5B54, - 11931: 0x63A7, - 11932: 0x62A0, - 11933: 0x53E3, - 11934: 0x6263, - 11935: 0x5BC7, - 11936: 0x67AF, - 11937: 0x54ED, - 11938: 0x7A9F, - 11939: 0x82E6, - 11940: 0x9177, - 11941: 0x5E93, - 11942: 0x88E4, - 11943: 0x5938, - 11944: 0x57AE, - 11945: 0x630E, - 11946: 0x8DE8, - 11947: 0x80EF, - 11948: 0x5757, - 11949: 0x7B77, - 11950: 0x4FA9, - 11951: 0x5FEB, - 11952: 0x5BBD, - 11953: 0x6B3E, - 11954: 0x5321, - 11955: 0x7B50, - 11956: 0x72C2, - 11957: 0x6846, - 11958: 0x77FF, - 11959: 0x7736, - 11960: 0x65F7, - 11961: 0x51B5, - 11962: 0x4E8F, - 11963: 0x76D4, - 11964: 0x5CBF, - 11965: 0x7AA5, - 11966: 0x8475, - 11967: 0x594E, - 11968: 0x9B41, - 11969: 0x5080, - 11970: 0x7E5E, - 11971: 0x7E5F, - 11972: 0x7E60, - 11973: 0x7E61, - 11974: 0x7E62, - 11975: 0x7E63, - 11976: 0x7E64, - 11977: 0x7E65, - 11978: 0x7E66, - 11979: 0x7E67, - 11980: 0x7E68, - 11981: 0x7E69, - 11982: 0x7E6A, - 11983: 0x7E6B, - 11984: 0x7E6C, - 11985: 0x7E6D, - 11986: 0x7E6E, - 11987: 0x7E6F, - 11988: 0x7E70, - 11989: 0x7E71, - 11990: 0x7E72, - 11991: 0x7E73, - 11992: 0x7E74, - 11993: 0x7E75, - 11994: 0x7E76, - 11995: 0x7E77, - 11996: 0x7E78, - 11997: 0x7E79, - 11998: 0x7E7A, - 11999: 0x7E7B, - 12000: 0x7E7C, - 12001: 0x7E7D, - 12002: 0x7E7E, - 12003: 0x7E7F, - 12004: 0x7E80, - 12005: 0x7E81, - 12006: 0x7E83, - 12007: 0x7E84, - 12008: 0x7E85, - 12009: 0x7E86, - 12010: 0x7E87, - 12011: 0x7E88, - 12012: 0x7E89, - 12013: 0x7E8A, - 12014: 0x7E8B, - 12015: 0x7E8C, - 12016: 0x7E8D, - 12017: 0x7E8E, - 12018: 0x7E8F, - 12019: 0x7E90, - 12020: 0x7E91, - 12021: 0x7E92, - 12022: 0x7E93, - 12023: 0x7E94, - 12024: 0x7E95, - 12025: 0x7E96, - 12026: 0x7E97, - 12027: 0x7E98, - 12028: 0x7E99, - 12029: 0x7E9A, - 12030: 0x7E9C, - 12031: 0x7E9D, - 12032: 0x7E9E, - 12033: 0x7EAE, - 12034: 0x7EB4, - 12035: 0x7EBB, - 12036: 0x7EBC, - 12037: 0x7ED6, - 12038: 0x7EE4, - 12039: 0x7EEC, - 12040: 0x7EF9, - 12041: 0x7F0A, - 12042: 0x7F10, - 12043: 0x7F1E, - 12044: 0x7F37, - 12045: 0x7F39, - 12046: 0x7F3B, - 12047: 0x7F3C, - 12048: 0x7F3D, - 12049: 0x7F3E, - 12050: 0x7F3F, - 12051: 0x7F40, - 12052: 0x7F41, - 12053: 0x7F43, - 12054: 0x7F46, - 12055: 0x7F47, - 12056: 0x7F48, - 12057: 0x7F49, - 12058: 0x7F4A, - 12059: 0x7F4B, - 12060: 0x7F4C, - 12061: 0x7F4D, - 12062: 0x7F4E, - 12063: 0x7F4F, - 12064: 0x7F52, - 12065: 0x7F53, - 12066: 0x9988, - 12067: 0x6127, - 12068: 0x6E83, - 12069: 0x5764, - 12070: 0x6606, - 12071: 0x6346, - 12072: 0x56F0, - 12073: 0x62EC, - 12074: 0x6269, - 12075: 0x5ED3, - 12076: 0x9614, - 12077: 0x5783, - 12078: 0x62C9, - 12079: 0x5587, - 12080: 0x8721, - 12081: 0x814A, - 12082: 0x8FA3, - 12083: 0x5566, - 12084: 0x83B1, - 12085: 0x6765, - 12086: 0x8D56, - 12087: 0x84DD, - 12088: 0x5A6A, - 12089: 0x680F, - 12090: 0x62E6, - 12091: 0x7BEE, - 12092: 0x9611, - 12093: 0x5170, - 12094: 0x6F9C, - 12095: 0x8C30, - 12096: 0x63FD, - 12097: 0x89C8, - 12098: 0x61D2, - 12099: 0x7F06, - 12100: 0x70C2, - 12101: 0x6EE5, - 12102: 0x7405, - 12103: 0x6994, - 12104: 0x72FC, - 12105: 0x5ECA, - 12106: 0x90CE, - 12107: 0x6717, - 12108: 0x6D6A, - 12109: 0x635E, - 12110: 0x52B3, - 12111: 0x7262, - 12112: 0x8001, - 12113: 0x4F6C, - 12114: 0x59E5, - 12115: 0x916A, - 12116: 0x70D9, - 12117: 0x6D9D, - 12118: 0x52D2, - 12119: 0x4E50, - 12120: 0x96F7, - 12121: 0x956D, - 12122: 0x857E, - 12123: 0x78CA, - 12124: 0x7D2F, - 12125: 0x5121, - 12126: 0x5792, - 12127: 0x64C2, - 12128: 0x808B, - 12129: 0x7C7B, - 12130: 0x6CEA, - 12131: 0x68F1, - 12132: 0x695E, - 12133: 0x51B7, - 12134: 0x5398, - 12135: 0x68A8, - 12136: 0x7281, - 12137: 0x9ECE, - 12138: 0x7BF1, - 12139: 0x72F8, - 12140: 0x79BB, - 12141: 0x6F13, - 12142: 0x7406, - 12143: 0x674E, - 12144: 0x91CC, - 12145: 0x9CA4, - 12146: 0x793C, - 12147: 0x8389, - 12148: 0x8354, - 12149: 0x540F, - 12150: 0x6817, - 12151: 0x4E3D, - 12152: 0x5389, - 12153: 0x52B1, - 12154: 0x783E, - 12155: 0x5386, - 12156: 0x5229, - 12157: 0x5088, - 12158: 0x4F8B, - 12159: 0x4FD0, - 12160: 0x7F56, - 12161: 0x7F59, - 12162: 0x7F5B, - 12163: 0x7F5C, - 12164: 0x7F5D, - 12165: 0x7F5E, - 12166: 0x7F60, - 12167: 0x7F63, - 12168: 0x7F64, - 12169: 0x7F65, - 12170: 0x7F66, - 12171: 0x7F67, - 12172: 0x7F6B, - 12173: 0x7F6C, - 12174: 0x7F6D, - 12175: 0x7F6F, - 12176: 0x7F70, - 12177: 0x7F73, - 12178: 0x7F75, - 12179: 0x7F76, - 12180: 0x7F77, - 12181: 0x7F78, - 12182: 0x7F7A, - 12183: 0x7F7B, - 12184: 0x7F7C, - 12185: 0x7F7D, - 12186: 0x7F7F, - 12187: 0x7F80, - 12188: 0x7F82, - 12189: 0x7F83, - 12190: 0x7F84, - 12191: 0x7F85, - 12192: 0x7F86, - 12193: 0x7F87, - 12194: 0x7F88, - 12195: 0x7F89, - 12196: 0x7F8B, - 12197: 0x7F8D, - 12198: 0x7F8F, - 12199: 0x7F90, - 12200: 0x7F91, - 12201: 0x7F92, - 12202: 0x7F93, - 12203: 0x7F95, - 12204: 0x7F96, - 12205: 0x7F97, - 12206: 0x7F98, - 12207: 0x7F99, - 12208: 0x7F9B, - 12209: 0x7F9C, - 12210: 0x7FA0, - 12211: 0x7FA2, - 12212: 0x7FA3, - 12213: 0x7FA5, - 12214: 0x7FA6, - 12215: 0x7FA8, - 12216: 0x7FA9, - 12217: 0x7FAA, - 12218: 0x7FAB, - 12219: 0x7FAC, - 12220: 0x7FAD, - 12221: 0x7FAE, - 12222: 0x7FB1, - 12223: 0x7FB3, - 12224: 0x7FB4, - 12225: 0x7FB5, - 12226: 0x7FB6, - 12227: 0x7FB7, - 12228: 0x7FBA, - 12229: 0x7FBB, - 12230: 0x7FBE, - 12231: 0x7FC0, - 12232: 0x7FC2, - 12233: 0x7FC3, - 12234: 0x7FC4, - 12235: 0x7FC6, - 12236: 0x7FC7, - 12237: 0x7FC8, - 12238: 0x7FC9, - 12239: 0x7FCB, - 12240: 0x7FCD, - 12241: 0x7FCF, - 12242: 0x7FD0, - 12243: 0x7FD1, - 12244: 0x7FD2, - 12245: 0x7FD3, - 12246: 0x7FD6, - 12247: 0x7FD7, - 12248: 0x7FD9, - 12249: 0x7FDA, - 12250: 0x7FDB, - 12251: 0x7FDC, - 12252: 0x7FDD, - 12253: 0x7FDE, - 12254: 0x7FE2, - 12255: 0x7FE3, - 12256: 0x75E2, - 12257: 0x7ACB, - 12258: 0x7C92, - 12259: 0x6CA5, - 12260: 0x96B6, - 12261: 0x529B, - 12262: 0x7483, - 12263: 0x54E9, - 12264: 0x4FE9, - 12265: 0x8054, - 12266: 0x83B2, - 12267: 0x8FDE, - 12268: 0x9570, - 12269: 0x5EC9, - 12270: 0x601C, - 12271: 0x6D9F, - 12272: 0x5E18, - 12273: 0x655B, - 12274: 0x8138, - 12275: 0x94FE, - 12276: 0x604B, - 12277: 0x70BC, - 12278: 0x7EC3, - 12279: 0x7CAE, - 12280: 0x51C9, - 12281: 0x6881, - 12282: 0x7CB1, - 12283: 0x826F, - 12284: 0x4E24, - 12285: 0x8F86, - 12286: 0x91CF, - 12287: 0x667E, - 12288: 0x4EAE, - 12289: 0x8C05, - 12290: 0x64A9, - 12291: 0x804A, - 12292: 0x50DA, - 12293: 0x7597, - 12294: 0x71CE, - 12295: 0x5BE5, - 12296: 0x8FBD, - 12297: 0x6F66, - 12298: 0x4E86, - 12299: 0x6482, - 12300: 0x9563, - 12301: 0x5ED6, - 12302: 0x6599, - 12303: 0x5217, - 12304: 0x88C2, - 12305: 0x70C8, - 12306: 0x52A3, - 12307: 0x730E, - 12308: 0x7433, - 12309: 0x6797, - 12310: 0x78F7, - 12311: 0x9716, - 12312: 0x4E34, - 12313: 0x90BB, - 12314: 0x9CDE, - 12315: 0x6DCB, - 12316: 0x51DB, - 12317: 0x8D41, - 12318: 0x541D, - 12319: 0x62CE, - 12320: 0x73B2, - 12321: 0x83F1, - 12322: 0x96F6, - 12323: 0x9F84, - 12324: 0x94C3, - 12325: 0x4F36, - 12326: 0x7F9A, - 12327: 0x51CC, - 12328: 0x7075, - 12329: 0x9675, - 12330: 0x5CAD, - 12331: 0x9886, - 12332: 0x53E6, - 12333: 0x4EE4, - 12334: 0x6E9C, - 12335: 0x7409, - 12336: 0x69B4, - 12337: 0x786B, - 12338: 0x998F, - 12339: 0x7559, - 12340: 0x5218, - 12341: 0x7624, - 12342: 0x6D41, - 12343: 0x67F3, - 12344: 0x516D, - 12345: 0x9F99, - 12346: 0x804B, - 12347: 0x5499, - 12348: 0x7B3C, - 12349: 0x7ABF, - 12350: 0x7FE4, - 12351: 0x7FE7, - 12352: 0x7FE8, - 12353: 0x7FEA, - 12354: 0x7FEB, - 12355: 0x7FEC, - 12356: 0x7FED, - 12357: 0x7FEF, - 12358: 0x7FF2, - 12359: 0x7FF4, - 12360: 0x7FF5, - 12361: 0x7FF6, - 12362: 0x7FF7, - 12363: 0x7FF8, - 12364: 0x7FF9, - 12365: 0x7FFA, - 12366: 0x7FFD, - 12367: 0x7FFE, - 12368: 0x7FFF, - 12369: 0x8002, - 12370: 0x8007, - 12371: 0x8008, - 12372: 0x8009, - 12373: 0x800A, - 12374: 0x800E, - 12375: 0x800F, - 12376: 0x8011, - 12377: 0x8013, - 12378: 0x801A, - 12379: 0x801B, - 12380: 0x801D, - 12381: 0x801E, - 12382: 0x801F, - 12383: 0x8021, - 12384: 0x8023, - 12385: 0x8024, - 12386: 0x802B, - 12387: 0x802C, - 12388: 0x802D, - 12389: 0x802E, - 12390: 0x802F, - 12391: 0x8030, - 12392: 0x8032, - 12393: 0x8034, - 12394: 0x8039, - 12395: 0x803A, - 12396: 0x803C, - 12397: 0x803E, - 12398: 0x8040, - 12399: 0x8041, - 12400: 0x8044, - 12401: 0x8045, - 12402: 0x8047, - 12403: 0x8048, - 12404: 0x8049, - 12405: 0x804E, - 12406: 0x804F, - 12407: 0x8050, - 12408: 0x8051, - 12409: 0x8053, - 12410: 0x8055, - 12411: 0x8056, - 12412: 0x8057, - 12413: 0x8059, - 12414: 0x805B, - 12415: 0x805C, - 12416: 0x805D, - 12417: 0x805E, - 12418: 0x805F, - 12419: 0x8060, - 12420: 0x8061, - 12421: 0x8062, - 12422: 0x8063, - 12423: 0x8064, - 12424: 0x8065, - 12425: 0x8066, - 12426: 0x8067, - 12427: 0x8068, - 12428: 0x806B, - 12429: 0x806C, - 12430: 0x806D, - 12431: 0x806E, - 12432: 0x806F, - 12433: 0x8070, - 12434: 0x8072, - 12435: 0x8073, - 12436: 0x8074, - 12437: 0x8075, - 12438: 0x8076, - 12439: 0x8077, - 12440: 0x8078, - 12441: 0x8079, - 12442: 0x807A, - 12443: 0x807B, - 12444: 0x807C, - 12445: 0x807D, - 12446: 0x9686, - 12447: 0x5784, - 12448: 0x62E2, - 12449: 0x9647, - 12450: 0x697C, - 12451: 0x5A04, - 12452: 0x6402, - 12453: 0x7BD3, - 12454: 0x6F0F, - 12455: 0x964B, - 12456: 0x82A6, - 12457: 0x5362, - 12458: 0x9885, - 12459: 0x5E90, - 12460: 0x7089, - 12461: 0x63B3, - 12462: 0x5364, - 12463: 0x864F, - 12464: 0x9C81, - 12465: 0x9E93, - 12466: 0x788C, - 12467: 0x9732, - 12468: 0x8DEF, - 12469: 0x8D42, - 12470: 0x9E7F, - 12471: 0x6F5E, - 12472: 0x7984, - 12473: 0x5F55, - 12474: 0x9646, - 12475: 0x622E, - 12476: 0x9A74, - 12477: 0x5415, - 12478: 0x94DD, - 12479: 0x4FA3, - 12480: 0x65C5, - 12481: 0x5C65, - 12482: 0x5C61, - 12483: 0x7F15, - 12484: 0x8651, - 12485: 0x6C2F, - 12486: 0x5F8B, - 12487: 0x7387, - 12488: 0x6EE4, - 12489: 0x7EFF, - 12490: 0x5CE6, - 12491: 0x631B, - 12492: 0x5B6A, - 12493: 0x6EE6, - 12494: 0x5375, - 12495: 0x4E71, - 12496: 0x63A0, - 12497: 0x7565, - 12498: 0x62A1, - 12499: 0x8F6E, - 12500: 0x4F26, - 12501: 0x4ED1, - 12502: 0x6CA6, - 12503: 0x7EB6, - 12504: 0x8BBA, - 12505: 0x841D, - 12506: 0x87BA, - 12507: 0x7F57, - 12508: 0x903B, - 12509: 0x9523, - 12510: 0x7BA9, - 12511: 0x9AA1, - 12512: 0x88F8, - 12513: 0x843D, - 12514: 0x6D1B, - 12515: 0x9A86, - 12516: 0x7EDC, - 12517: 0x5988, - 12518: 0x9EBB, - 12519: 0x739B, - 12520: 0x7801, - 12521: 0x8682, - 12522: 0x9A6C, - 12523: 0x9A82, - 12524: 0x561B, - 12525: 0x5417, - 12526: 0x57CB, - 12527: 0x4E70, - 12528: 0x9EA6, - 12529: 0x5356, - 12530: 0x8FC8, - 12531: 0x8109, - 12532: 0x7792, - 12533: 0x9992, - 12534: 0x86EE, - 12535: 0x6EE1, - 12536: 0x8513, - 12537: 0x66FC, - 12538: 0x6162, - 12539: 0x6F2B, - 12540: 0x807E, - 12541: 0x8081, - 12542: 0x8082, - 12543: 0x8085, - 12544: 0x8088, - 12545: 0x808A, - 12546: 0x808D, - 12547: 0x808E, - 12548: 0x808F, - 12549: 0x8090, - 12550: 0x8091, - 12551: 0x8092, - 12552: 0x8094, - 12553: 0x8095, - 12554: 0x8097, - 12555: 0x8099, - 12556: 0x809E, - 12557: 0x80A3, - 12558: 0x80A6, - 12559: 0x80A7, - 12560: 0x80A8, - 12561: 0x80AC, - 12562: 0x80B0, - 12563: 0x80B3, - 12564: 0x80B5, - 12565: 0x80B6, - 12566: 0x80B8, - 12567: 0x80B9, - 12568: 0x80BB, - 12569: 0x80C5, - 12570: 0x80C7, - 12571: 0x80C8, - 12572: 0x80C9, - 12573: 0x80CA, - 12574: 0x80CB, - 12575: 0x80CF, - 12576: 0x80D0, - 12577: 0x80D1, - 12578: 0x80D2, - 12579: 0x80D3, - 12580: 0x80D4, - 12581: 0x80D5, - 12582: 0x80D8, - 12583: 0x80DF, - 12584: 0x80E0, - 12585: 0x80E2, - 12586: 0x80E3, - 12587: 0x80E6, - 12588: 0x80EE, - 12589: 0x80F5, - 12590: 0x80F7, - 12591: 0x80F9, - 12592: 0x80FB, - 12593: 0x80FE, - 12594: 0x80FF, - 12595: 0x8100, - 12596: 0x8101, - 12597: 0x8103, - 12598: 0x8104, - 12599: 0x8105, - 12600: 0x8107, - 12601: 0x8108, - 12602: 0x810B, - 12603: 0x810C, - 12604: 0x8115, - 12605: 0x8117, - 12606: 0x8119, - 12607: 0x811B, - 12608: 0x811C, - 12609: 0x811D, - 12610: 0x811F, - 12611: 0x8120, - 12612: 0x8121, - 12613: 0x8122, - 12614: 0x8123, - 12615: 0x8124, - 12616: 0x8125, - 12617: 0x8126, - 12618: 0x8127, - 12619: 0x8128, - 12620: 0x8129, - 12621: 0x812A, - 12622: 0x812B, - 12623: 0x812D, - 12624: 0x812E, - 12625: 0x8130, - 12626: 0x8133, - 12627: 0x8134, - 12628: 0x8135, - 12629: 0x8137, - 12630: 0x8139, - 12631: 0x813A, - 12632: 0x813B, - 12633: 0x813C, - 12634: 0x813D, - 12635: 0x813F, - 12636: 0x8C29, - 12637: 0x8292, - 12638: 0x832B, - 12639: 0x76F2, - 12640: 0x6C13, - 12641: 0x5FD9, - 12642: 0x83BD, - 12643: 0x732B, - 12644: 0x8305, - 12645: 0x951A, - 12646: 0x6BDB, - 12647: 0x77DB, - 12648: 0x94C6, - 12649: 0x536F, - 12650: 0x8302, - 12651: 0x5192, - 12652: 0x5E3D, - 12653: 0x8C8C, - 12654: 0x8D38, - 12655: 0x4E48, - 12656: 0x73AB, - 12657: 0x679A, - 12658: 0x6885, - 12659: 0x9176, - 12660: 0x9709, - 12661: 0x7164, - 12662: 0x6CA1, - 12663: 0x7709, - 12664: 0x5A92, - 12665: 0x9541, - 12666: 0x6BCF, - 12667: 0x7F8E, - 12668: 0x6627, - 12669: 0x5BD0, - 12670: 0x59B9, - 12671: 0x5A9A, - 12672: 0x95E8, - 12673: 0x95F7, - 12674: 0x4EEC, - 12675: 0x840C, - 12676: 0x8499, - 12677: 0x6AAC, - 12678: 0x76DF, - 12679: 0x9530, - 12680: 0x731B, - 12681: 0x68A6, - 12682: 0x5B5F, - 12683: 0x772F, - 12684: 0x919A, - 12685: 0x9761, - 12686: 0x7CDC, - 12687: 0x8FF7, - 12688: 0x8C1C, - 12689: 0x5F25, - 12690: 0x7C73, - 12691: 0x79D8, - 12692: 0x89C5, - 12693: 0x6CCC, - 12694: 0x871C, - 12695: 0x5BC6, - 12696: 0x5E42, - 12697: 0x68C9, - 12698: 0x7720, - 12699: 0x7EF5, - 12700: 0x5195, - 12701: 0x514D, - 12702: 0x52C9, - 12703: 0x5A29, - 12704: 0x7F05, - 12705: 0x9762, - 12706: 0x82D7, - 12707: 0x63CF, - 12708: 0x7784, - 12709: 0x85D0, - 12710: 0x79D2, - 12711: 0x6E3A, - 12712: 0x5E99, - 12713: 0x5999, - 12714: 0x8511, - 12715: 0x706D, - 12716: 0x6C11, - 12717: 0x62BF, - 12718: 0x76BF, - 12719: 0x654F, - 12720: 0x60AF, - 12721: 0x95FD, - 12722: 0x660E, - 12723: 0x879F, - 12724: 0x9E23, - 12725: 0x94ED, - 12726: 0x540D, - 12727: 0x547D, - 12728: 0x8C2C, - 12729: 0x6478, - 12730: 0x8140, - 12731: 0x8141, - 12732: 0x8142, - 12733: 0x8143, - 12734: 0x8144, - 12735: 0x8145, - 12736: 0x8147, - 12737: 0x8149, - 12738: 0x814D, - 12739: 0x814E, - 12740: 0x814F, - 12741: 0x8152, - 12742: 0x8156, - 12743: 0x8157, - 12744: 0x8158, - 12745: 0x815B, - 12746: 0x815C, - 12747: 0x815D, - 12748: 0x815E, - 12749: 0x815F, - 12750: 0x8161, - 12751: 0x8162, - 12752: 0x8163, - 12753: 0x8164, - 12754: 0x8166, - 12755: 0x8168, - 12756: 0x816A, - 12757: 0x816B, - 12758: 0x816C, - 12759: 0x816F, - 12760: 0x8172, - 12761: 0x8173, - 12762: 0x8175, - 12763: 0x8176, - 12764: 0x8177, - 12765: 0x8178, - 12766: 0x8181, - 12767: 0x8183, - 12768: 0x8184, - 12769: 0x8185, - 12770: 0x8186, - 12771: 0x8187, - 12772: 0x8189, - 12773: 0x818B, - 12774: 0x818C, - 12775: 0x818D, - 12776: 0x818E, - 12777: 0x8190, - 12778: 0x8192, - 12779: 0x8193, - 12780: 0x8194, - 12781: 0x8195, - 12782: 0x8196, - 12783: 0x8197, - 12784: 0x8199, - 12785: 0x819A, - 12786: 0x819E, - 12787: 0x819F, - 12788: 0x81A0, - 12789: 0x81A1, - 12790: 0x81A2, - 12791: 0x81A4, - 12792: 0x81A5, - 12793: 0x81A7, - 12794: 0x81A9, - 12795: 0x81AB, - 12796: 0x81AC, - 12797: 0x81AD, - 12798: 0x81AE, - 12799: 0x81AF, - 12800: 0x81B0, - 12801: 0x81B1, - 12802: 0x81B2, - 12803: 0x81B4, - 12804: 0x81B5, - 12805: 0x81B6, - 12806: 0x81B7, - 12807: 0x81B8, - 12808: 0x81B9, - 12809: 0x81BC, - 12810: 0x81BD, - 12811: 0x81BE, - 12812: 0x81BF, - 12813: 0x81C4, - 12814: 0x81C5, - 12815: 0x81C7, - 12816: 0x81C8, - 12817: 0x81C9, - 12818: 0x81CB, - 12819: 0x81CD, - 12820: 0x81CE, - 12821: 0x81CF, - 12822: 0x81D0, - 12823: 0x81D1, - 12824: 0x81D2, - 12825: 0x81D3, - 12826: 0x6479, - 12827: 0x8611, - 12828: 0x6A21, - 12829: 0x819C, - 12830: 0x78E8, - 12831: 0x6469, - 12832: 0x9B54, - 12833: 0x62B9, - 12834: 0x672B, - 12835: 0x83AB, - 12836: 0x58A8, - 12837: 0x9ED8, - 12838: 0x6CAB, - 12839: 0x6F20, - 12840: 0x5BDE, - 12841: 0x964C, - 12842: 0x8C0B, - 12843: 0x725F, - 12844: 0x67D0, - 12845: 0x62C7, - 12846: 0x7261, - 12847: 0x4EA9, - 12848: 0x59C6, - 12849: 0x6BCD, - 12850: 0x5893, - 12851: 0x66AE, - 12852: 0x5E55, - 12853: 0x52DF, - 12854: 0x6155, - 12855: 0x6728, - 12856: 0x76EE, - 12857: 0x7766, - 12858: 0x7267, - 12859: 0x7A46, - 12860: 0x62FF, - 12861: 0x54EA, - 12862: 0x5450, - 12863: 0x94A0, - 12864: 0x90A3, - 12865: 0x5A1C, - 12866: 0x7EB3, - 12867: 0x6C16, - 12868: 0x4E43, - 12869: 0x5976, - 12870: 0x8010, - 12871: 0x5948, - 12872: 0x5357, - 12873: 0x7537, - 12874: 0x96BE, - 12875: 0x56CA, - 12876: 0x6320, - 12877: 0x8111, - 12878: 0x607C, - 12879: 0x95F9, - 12880: 0x6DD6, - 12881: 0x5462, - 12882: 0x9981, - 12883: 0x5185, - 12884: 0x5AE9, - 12885: 0x80FD, - 12886: 0x59AE, - 12887: 0x9713, - 12888: 0x502A, - 12889: 0x6CE5, - 12890: 0x5C3C, - 12891: 0x62DF, - 12892: 0x4F60, - 12893: 0x533F, - 12894: 0x817B, - 12895: 0x9006, - 12896: 0x6EBA, - 12897: 0x852B, - 12898: 0x62C8, - 12899: 0x5E74, - 12900: 0x78BE, - 12901: 0x64B5, - 12902: 0x637B, - 12903: 0x5FF5, - 12904: 0x5A18, - 12905: 0x917F, - 12906: 0x9E1F, - 12907: 0x5C3F, - 12908: 0x634F, - 12909: 0x8042, - 12910: 0x5B7D, - 12911: 0x556E, - 12912: 0x954A, - 12913: 0x954D, - 12914: 0x6D85, - 12915: 0x60A8, - 12916: 0x67E0, - 12917: 0x72DE, - 12918: 0x51DD, - 12919: 0x5B81, - 12920: 0x81D4, - 12921: 0x81D5, - 12922: 0x81D6, - 12923: 0x81D7, - 12924: 0x81D8, - 12925: 0x81D9, - 12926: 0x81DA, - 12927: 0x81DB, - 12928: 0x81DC, - 12929: 0x81DD, - 12930: 0x81DE, - 12931: 0x81DF, - 12932: 0x81E0, - 12933: 0x81E1, - 12934: 0x81E2, - 12935: 0x81E4, - 12936: 0x81E5, - 12937: 0x81E6, - 12938: 0x81E8, - 12939: 0x81E9, - 12940: 0x81EB, - 12941: 0x81EE, - 12942: 0x81EF, - 12943: 0x81F0, - 12944: 0x81F1, - 12945: 0x81F2, - 12946: 0x81F5, - 12947: 0x81F6, - 12948: 0x81F7, - 12949: 0x81F8, - 12950: 0x81F9, - 12951: 0x81FA, - 12952: 0x81FD, - 12953: 0x81FF, - 12954: 0x8203, - 12955: 0x8207, - 12956: 0x8208, - 12957: 0x8209, - 12958: 0x820A, - 12959: 0x820B, - 12960: 0x820E, - 12961: 0x820F, - 12962: 0x8211, - 12963: 0x8213, - 12964: 0x8215, - 12965: 0x8216, - 12966: 0x8217, - 12967: 0x8218, - 12968: 0x8219, - 12969: 0x821A, - 12970: 0x821D, - 12971: 0x8220, - 12972: 0x8224, - 12973: 0x8225, - 12974: 0x8226, - 12975: 0x8227, - 12976: 0x8229, - 12977: 0x822E, - 12978: 0x8232, - 12979: 0x823A, - 12980: 0x823C, - 12981: 0x823D, - 12982: 0x823F, - 12983: 0x8240, - 12984: 0x8241, - 12985: 0x8242, - 12986: 0x8243, - 12987: 0x8245, - 12988: 0x8246, - 12989: 0x8248, - 12990: 0x824A, - 12991: 0x824C, - 12992: 0x824D, - 12993: 0x824E, - 12994: 0x8250, - 12995: 0x8251, - 12996: 0x8252, - 12997: 0x8253, - 12998: 0x8254, - 12999: 0x8255, - 13000: 0x8256, - 13001: 0x8257, - 13002: 0x8259, - 13003: 0x825B, - 13004: 0x825C, - 13005: 0x825D, - 13006: 0x825E, - 13007: 0x8260, - 13008: 0x8261, - 13009: 0x8262, - 13010: 0x8263, - 13011: 0x8264, - 13012: 0x8265, - 13013: 0x8266, - 13014: 0x8267, - 13015: 0x8269, - 13016: 0x62E7, - 13017: 0x6CDE, - 13018: 0x725B, - 13019: 0x626D, - 13020: 0x94AE, - 13021: 0x7EBD, - 13022: 0x8113, - 13023: 0x6D53, - 13024: 0x519C, - 13025: 0x5F04, - 13026: 0x5974, - 13027: 0x52AA, - 13028: 0x6012, - 13029: 0x5973, - 13030: 0x6696, - 13031: 0x8650, - 13032: 0x759F, - 13033: 0x632A, - 13034: 0x61E6, - 13035: 0x7CEF, - 13036: 0x8BFA, - 13037: 0x54E6, - 13038: 0x6B27, - 13039: 0x9E25, - 13040: 0x6BB4, - 13041: 0x85D5, - 13042: 0x5455, - 13043: 0x5076, - 13044: 0x6CA4, - 13045: 0x556A, - 13046: 0x8DB4, - 13047: 0x722C, - 13048: 0x5E15, - 13049: 0x6015, - 13050: 0x7436, - 13051: 0x62CD, - 13052: 0x6392, - 13053: 0x724C, - 13054: 0x5F98, - 13055: 0x6E43, - 13056: 0x6D3E, - 13057: 0x6500, - 13058: 0x6F58, - 13059: 0x76D8, - 13060: 0x78D0, - 13061: 0x76FC, - 13062: 0x7554, - 13063: 0x5224, - 13064: 0x53DB, - 13065: 0x4E53, - 13066: 0x5E9E, - 13067: 0x65C1, - 13068: 0x802A, - 13069: 0x80D6, - 13070: 0x629B, - 13071: 0x5486, - 13072: 0x5228, - 13073: 0x70AE, - 13074: 0x888D, - 13075: 0x8DD1, - 13076: 0x6CE1, - 13077: 0x5478, - 13078: 0x80DA, - 13079: 0x57F9, - 13080: 0x88F4, - 13081: 0x8D54, - 13082: 0x966A, - 13083: 0x914D, - 13084: 0x4F69, - 13085: 0x6C9B, - 13086: 0x55B7, - 13087: 0x76C6, - 13088: 0x7830, - 13089: 0x62A8, - 13090: 0x70F9, - 13091: 0x6F8E, - 13092: 0x5F6D, - 13093: 0x84EC, - 13094: 0x68DA, - 13095: 0x787C, - 13096: 0x7BF7, - 13097: 0x81A8, - 13098: 0x670B, - 13099: 0x9E4F, - 13100: 0x6367, - 13101: 0x78B0, - 13102: 0x576F, - 13103: 0x7812, - 13104: 0x9739, - 13105: 0x6279, - 13106: 0x62AB, - 13107: 0x5288, - 13108: 0x7435, - 13109: 0x6BD7, - 13110: 0x826A, - 13111: 0x826B, - 13112: 0x826C, - 13113: 0x826D, - 13114: 0x8271, - 13115: 0x8275, - 13116: 0x8276, - 13117: 0x8277, - 13118: 0x8278, - 13119: 0x827B, - 13120: 0x827C, - 13121: 0x8280, - 13122: 0x8281, - 13123: 0x8283, - 13124: 0x8285, - 13125: 0x8286, - 13126: 0x8287, - 13127: 0x8289, - 13128: 0x828C, - 13129: 0x8290, - 13130: 0x8293, - 13131: 0x8294, - 13132: 0x8295, - 13133: 0x8296, - 13134: 0x829A, - 13135: 0x829B, - 13136: 0x829E, - 13137: 0x82A0, - 13138: 0x82A2, - 13139: 0x82A3, - 13140: 0x82A7, - 13141: 0x82B2, - 13142: 0x82B5, - 13143: 0x82B6, - 13144: 0x82BA, - 13145: 0x82BB, - 13146: 0x82BC, - 13147: 0x82BF, - 13148: 0x82C0, - 13149: 0x82C2, - 13150: 0x82C3, - 13151: 0x82C5, - 13152: 0x82C6, - 13153: 0x82C9, - 13154: 0x82D0, - 13155: 0x82D6, - 13156: 0x82D9, - 13157: 0x82DA, - 13158: 0x82DD, - 13159: 0x82E2, - 13160: 0x82E7, - 13161: 0x82E8, - 13162: 0x82E9, - 13163: 0x82EA, - 13164: 0x82EC, - 13165: 0x82ED, - 13166: 0x82EE, - 13167: 0x82F0, - 13168: 0x82F2, - 13169: 0x82F3, - 13170: 0x82F5, - 13171: 0x82F6, - 13172: 0x82F8, - 13173: 0x82FA, - 13174: 0x82FC, - 13175: 0x82FD, - 13176: 0x82FE, - 13177: 0x82FF, - 13178: 0x8300, - 13179: 0x830A, - 13180: 0x830B, - 13181: 0x830D, - 13182: 0x8310, - 13183: 0x8312, - 13184: 0x8313, - 13185: 0x8316, - 13186: 0x8318, - 13187: 0x8319, - 13188: 0x831D, - 13189: 0x831E, - 13190: 0x831F, - 13191: 0x8320, - 13192: 0x8321, - 13193: 0x8322, - 13194: 0x8323, - 13195: 0x8324, - 13196: 0x8325, - 13197: 0x8326, - 13198: 0x8329, - 13199: 0x832A, - 13200: 0x832E, - 13201: 0x8330, - 13202: 0x8332, - 13203: 0x8337, - 13204: 0x833B, - 13205: 0x833D, - 13206: 0x5564, - 13207: 0x813E, - 13208: 0x75B2, - 13209: 0x76AE, - 13210: 0x5339, - 13211: 0x75DE, - 13212: 0x50FB, - 13213: 0x5C41, - 13214: 0x8B6C, - 13215: 0x7BC7, - 13216: 0x504F, - 13217: 0x7247, - 13218: 0x9A97, - 13219: 0x98D8, - 13220: 0x6F02, - 13221: 0x74E2, - 13222: 0x7968, - 13223: 0x6487, - 13224: 0x77A5, - 13225: 0x62FC, - 13226: 0x9891, - 13227: 0x8D2B, - 13228: 0x54C1, - 13229: 0x8058, - 13230: 0x4E52, - 13231: 0x576A, - 13232: 0x82F9, - 13233: 0x840D, - 13234: 0x5E73, - 13235: 0x51ED, - 13236: 0x74F6, - 13237: 0x8BC4, - 13238: 0x5C4F, - 13239: 0x5761, - 13240: 0x6CFC, - 13241: 0x9887, - 13242: 0x5A46, - 13243: 0x7834, - 13244: 0x9B44, - 13245: 0x8FEB, - 13246: 0x7C95, - 13247: 0x5256, - 13248: 0x6251, - 13249: 0x94FA, - 13250: 0x4EC6, - 13251: 0x8386, - 13252: 0x8461, - 13253: 0x83E9, - 13254: 0x84B2, - 13255: 0x57D4, - 13256: 0x6734, - 13257: 0x5703, - 13258: 0x666E, - 13259: 0x6D66, - 13260: 0x8C31, - 13261: 0x66DD, - 13262: 0x7011, - 13263: 0x671F, - 13264: 0x6B3A, - 13265: 0x6816, - 13266: 0x621A, - 13267: 0x59BB, - 13268: 0x4E03, - 13269: 0x51C4, - 13270: 0x6F06, - 13271: 0x67D2, - 13272: 0x6C8F, - 13273: 0x5176, - 13274: 0x68CB, - 13275: 0x5947, - 13276: 0x6B67, - 13277: 0x7566, - 13278: 0x5D0E, - 13279: 0x8110, - 13280: 0x9F50, - 13281: 0x65D7, - 13282: 0x7948, - 13283: 0x7941, - 13284: 0x9A91, - 13285: 0x8D77, - 13286: 0x5C82, - 13287: 0x4E5E, - 13288: 0x4F01, - 13289: 0x542F, - 13290: 0x5951, - 13291: 0x780C, - 13292: 0x5668, - 13293: 0x6C14, - 13294: 0x8FC4, - 13295: 0x5F03, - 13296: 0x6C7D, - 13297: 0x6CE3, - 13298: 0x8BAB, - 13299: 0x6390, - 13300: 0x833E, - 13301: 0x833F, - 13302: 0x8341, - 13303: 0x8342, - 13304: 0x8344, - 13305: 0x8345, - 13306: 0x8348, - 13307: 0x834A, - 13308: 0x834B, - 13309: 0x834C, - 13310: 0x834D, - 13311: 0x834E, - 13312: 0x8353, - 13313: 0x8355, - 13314: 0x8356, - 13315: 0x8357, - 13316: 0x8358, - 13317: 0x8359, - 13318: 0x835D, - 13319: 0x8362, - 13320: 0x8370, - 13321: 0x8371, - 13322: 0x8372, - 13323: 0x8373, - 13324: 0x8374, - 13325: 0x8375, - 13326: 0x8376, - 13327: 0x8379, - 13328: 0x837A, - 13329: 0x837E, - 13330: 0x837F, - 13331: 0x8380, - 13332: 0x8381, - 13333: 0x8382, - 13334: 0x8383, - 13335: 0x8384, - 13336: 0x8387, - 13337: 0x8388, - 13338: 0x838A, - 13339: 0x838B, - 13340: 0x838C, - 13341: 0x838D, - 13342: 0x838F, - 13343: 0x8390, - 13344: 0x8391, - 13345: 0x8394, - 13346: 0x8395, - 13347: 0x8396, - 13348: 0x8397, - 13349: 0x8399, - 13350: 0x839A, - 13351: 0x839D, - 13352: 0x839F, - 13353: 0x83A1, - 13354: 0x83A2, - 13355: 0x83A3, - 13356: 0x83A4, - 13357: 0x83A5, - 13358: 0x83A6, - 13359: 0x83A7, - 13360: 0x83AC, - 13361: 0x83AD, - 13362: 0x83AE, - 13363: 0x83AF, - 13364: 0x83B5, - 13365: 0x83BB, - 13366: 0x83BE, - 13367: 0x83BF, - 13368: 0x83C2, - 13369: 0x83C3, - 13370: 0x83C4, - 13371: 0x83C6, - 13372: 0x83C8, - 13373: 0x83C9, - 13374: 0x83CB, - 13375: 0x83CD, - 13376: 0x83CE, - 13377: 0x83D0, - 13378: 0x83D1, - 13379: 0x83D2, - 13380: 0x83D3, - 13381: 0x83D5, - 13382: 0x83D7, - 13383: 0x83D9, - 13384: 0x83DA, - 13385: 0x83DB, - 13386: 0x83DE, - 13387: 0x83E2, - 13388: 0x83E3, - 13389: 0x83E4, - 13390: 0x83E6, - 13391: 0x83E7, - 13392: 0x83E8, - 13393: 0x83EB, - 13394: 0x83EC, - 13395: 0x83ED, - 13396: 0x6070, - 13397: 0x6D3D, - 13398: 0x7275, - 13399: 0x6266, - 13400: 0x948E, - 13401: 0x94C5, - 13402: 0x5343, - 13403: 0x8FC1, - 13404: 0x7B7E, - 13405: 0x4EDF, - 13406: 0x8C26, - 13407: 0x4E7E, - 13408: 0x9ED4, - 13409: 0x94B1, - 13410: 0x94B3, - 13411: 0x524D, - 13412: 0x6F5C, - 13413: 0x9063, - 13414: 0x6D45, - 13415: 0x8C34, - 13416: 0x5811, - 13417: 0x5D4C, - 13418: 0x6B20, - 13419: 0x6B49, - 13420: 0x67AA, - 13421: 0x545B, - 13422: 0x8154, - 13423: 0x7F8C, - 13424: 0x5899, - 13425: 0x8537, - 13426: 0x5F3A, - 13427: 0x62A2, - 13428: 0x6A47, - 13429: 0x9539, - 13430: 0x6572, - 13431: 0x6084, - 13432: 0x6865, - 13433: 0x77A7, - 13434: 0x4E54, - 13435: 0x4FA8, - 13436: 0x5DE7, - 13437: 0x9798, - 13438: 0x64AC, - 13439: 0x7FD8, - 13440: 0x5CED, - 13441: 0x4FCF, - 13442: 0x7A8D, - 13443: 0x5207, - 13444: 0x8304, - 13445: 0x4E14, - 13446: 0x602F, - 13447: 0x7A83, - 13448: 0x94A6, - 13449: 0x4FB5, - 13450: 0x4EB2, - 13451: 0x79E6, - 13452: 0x7434, - 13453: 0x52E4, - 13454: 0x82B9, - 13455: 0x64D2, - 13456: 0x79BD, - 13457: 0x5BDD, - 13458: 0x6C81, - 13459: 0x9752, - 13460: 0x8F7B, - 13461: 0x6C22, - 13462: 0x503E, - 13463: 0x537F, - 13464: 0x6E05, - 13465: 0x64CE, - 13466: 0x6674, - 13467: 0x6C30, - 13468: 0x60C5, - 13469: 0x9877, - 13470: 0x8BF7, - 13471: 0x5E86, - 13472: 0x743C, - 13473: 0x7A77, - 13474: 0x79CB, - 13475: 0x4E18, - 13476: 0x90B1, - 13477: 0x7403, - 13478: 0x6C42, - 13479: 0x56DA, - 13480: 0x914B, - 13481: 0x6CC5, - 13482: 0x8D8B, - 13483: 0x533A, - 13484: 0x86C6, - 13485: 0x66F2, - 13486: 0x8EAF, - 13487: 0x5C48, - 13488: 0x9A71, - 13489: 0x6E20, - 13490: 0x83EE, - 13491: 0x83EF, - 13492: 0x83F3, - 13493: 0x83F4, - 13494: 0x83F5, - 13495: 0x83F6, - 13496: 0x83F7, - 13497: 0x83FA, - 13498: 0x83FB, - 13499: 0x83FC, - 13500: 0x83FE, - 13501: 0x83FF, - 13502: 0x8400, - 13503: 0x8402, - 13504: 0x8405, - 13505: 0x8407, - 13506: 0x8408, - 13507: 0x8409, - 13508: 0x840A, - 13509: 0x8410, - 13510: 0x8412, - 13511: 0x8413, - 13512: 0x8414, - 13513: 0x8415, - 13514: 0x8416, - 13515: 0x8417, - 13516: 0x8419, - 13517: 0x841A, - 13518: 0x841B, - 13519: 0x841E, - 13520: 0x841F, - 13521: 0x8420, - 13522: 0x8421, - 13523: 0x8422, - 13524: 0x8423, - 13525: 0x8429, - 13526: 0x842A, - 13527: 0x842B, - 13528: 0x842C, - 13529: 0x842D, - 13530: 0x842E, - 13531: 0x842F, - 13532: 0x8430, - 13533: 0x8432, - 13534: 0x8433, - 13535: 0x8434, - 13536: 0x8435, - 13537: 0x8436, - 13538: 0x8437, - 13539: 0x8439, - 13540: 0x843A, - 13541: 0x843B, - 13542: 0x843E, - 13543: 0x843F, - 13544: 0x8440, - 13545: 0x8441, - 13546: 0x8442, - 13547: 0x8443, - 13548: 0x8444, - 13549: 0x8445, - 13550: 0x8447, - 13551: 0x8448, - 13552: 0x8449, - 13553: 0x844A, - 13554: 0x844B, - 13555: 0x844C, - 13556: 0x844D, - 13557: 0x844E, - 13558: 0x844F, - 13559: 0x8450, - 13560: 0x8452, - 13561: 0x8453, - 13562: 0x8454, - 13563: 0x8455, - 13564: 0x8456, - 13565: 0x8458, - 13566: 0x845D, - 13567: 0x845E, - 13568: 0x845F, - 13569: 0x8460, - 13570: 0x8462, - 13571: 0x8464, - 13572: 0x8465, - 13573: 0x8466, - 13574: 0x8467, - 13575: 0x8468, - 13576: 0x846A, - 13577: 0x846E, - 13578: 0x846F, - 13579: 0x8470, - 13580: 0x8472, - 13581: 0x8474, - 13582: 0x8477, - 13583: 0x8479, - 13584: 0x847B, - 13585: 0x847C, - 13586: 0x53D6, - 13587: 0x5A36, - 13588: 0x9F8B, - 13589: 0x8DA3, - 13590: 0x53BB, - 13591: 0x5708, - 13592: 0x98A7, - 13593: 0x6743, - 13594: 0x919B, - 13595: 0x6CC9, - 13596: 0x5168, - 13597: 0x75CA, - 13598: 0x62F3, - 13599: 0x72AC, - 13600: 0x5238, - 13601: 0x529D, - 13602: 0x7F3A, - 13603: 0x7094, - 13604: 0x7638, - 13605: 0x5374, - 13606: 0x9E4A, - 13607: 0x69B7, - 13608: 0x786E, - 13609: 0x96C0, - 13610: 0x88D9, - 13611: 0x7FA4, - 13612: 0x7136, - 13613: 0x71C3, - 13614: 0x5189, - 13615: 0x67D3, - 13616: 0x74E4, - 13617: 0x58E4, - 13618: 0x6518, - 13619: 0x56B7, - 13620: 0x8BA9, - 13621: 0x9976, - 13622: 0x6270, - 13623: 0x7ED5, - 13624: 0x60F9, - 13625: 0x70ED, - 13626: 0x58EC, - 13627: 0x4EC1, - 13628: 0x4EBA, - 13629: 0x5FCD, - 13630: 0x97E7, - 13631: 0x4EFB, - 13632: 0x8BA4, - 13633: 0x5203, - 13634: 0x598A, - 13635: 0x7EAB, - 13636: 0x6254, - 13637: 0x4ECD, - 13638: 0x65E5, - 13639: 0x620E, - 13640: 0x8338, - 13641: 0x84C9, - 13642: 0x8363, - 13643: 0x878D, - 13644: 0x7194, - 13645: 0x6EB6, - 13646: 0x5BB9, - 13647: 0x7ED2, - 13648: 0x5197, - 13649: 0x63C9, - 13650: 0x67D4, - 13651: 0x8089, - 13652: 0x8339, - 13653: 0x8815, - 13654: 0x5112, - 13655: 0x5B7A, - 13656: 0x5982, - 13657: 0x8FB1, - 13658: 0x4E73, - 13659: 0x6C5D, - 13660: 0x5165, - 13661: 0x8925, - 13662: 0x8F6F, - 13663: 0x962E, - 13664: 0x854A, - 13665: 0x745E, - 13666: 0x9510, - 13667: 0x95F0, - 13668: 0x6DA6, - 13669: 0x82E5, - 13670: 0x5F31, - 13671: 0x6492, - 13672: 0x6D12, - 13673: 0x8428, - 13674: 0x816E, - 13675: 0x9CC3, - 13676: 0x585E, - 13677: 0x8D5B, - 13678: 0x4E09, - 13679: 0x53C1, - 13680: 0x847D, - 13681: 0x847E, - 13682: 0x847F, - 13683: 0x8480, - 13684: 0x8481, - 13685: 0x8483, - 13686: 0x8484, - 13687: 0x8485, - 13688: 0x8486, - 13689: 0x848A, - 13690: 0x848D, - 13691: 0x848F, - 13692: 0x8490, - 13693: 0x8491, - 13694: 0x8492, - 13695: 0x8493, - 13696: 0x8494, - 13697: 0x8495, - 13698: 0x8496, - 13699: 0x8498, - 13700: 0x849A, - 13701: 0x849B, - 13702: 0x849D, - 13703: 0x849E, - 13704: 0x849F, - 13705: 0x84A0, - 13706: 0x84A2, - 13707: 0x84A3, - 13708: 0x84A4, - 13709: 0x84A5, - 13710: 0x84A6, - 13711: 0x84A7, - 13712: 0x84A8, - 13713: 0x84A9, - 13714: 0x84AA, - 13715: 0x84AB, - 13716: 0x84AC, - 13717: 0x84AD, - 13718: 0x84AE, - 13719: 0x84B0, - 13720: 0x84B1, - 13721: 0x84B3, - 13722: 0x84B5, - 13723: 0x84B6, - 13724: 0x84B7, - 13725: 0x84BB, - 13726: 0x84BC, - 13727: 0x84BE, - 13728: 0x84C0, - 13729: 0x84C2, - 13730: 0x84C3, - 13731: 0x84C5, - 13732: 0x84C6, - 13733: 0x84C7, - 13734: 0x84C8, - 13735: 0x84CB, - 13736: 0x84CC, - 13737: 0x84CE, - 13738: 0x84CF, - 13739: 0x84D2, - 13740: 0x84D4, - 13741: 0x84D5, - 13742: 0x84D7, - 13743: 0x84D8, - 13744: 0x84D9, - 13745: 0x84DA, - 13746: 0x84DB, - 13747: 0x84DC, - 13748: 0x84DE, - 13749: 0x84E1, - 13750: 0x84E2, - 13751: 0x84E4, - 13752: 0x84E7, - 13753: 0x84E8, - 13754: 0x84E9, - 13755: 0x84EA, - 13756: 0x84EB, - 13757: 0x84ED, - 13758: 0x84EE, - 13759: 0x84EF, - 13760: 0x84F1, - 13761: 0x84F2, - 13762: 0x84F3, - 13763: 0x84F4, - 13764: 0x84F5, - 13765: 0x84F6, - 13766: 0x84F7, - 13767: 0x84F8, - 13768: 0x84F9, - 13769: 0x84FA, - 13770: 0x84FB, - 13771: 0x84FD, - 13772: 0x84FE, - 13773: 0x8500, - 13774: 0x8501, - 13775: 0x8502, - 13776: 0x4F1E, - 13777: 0x6563, - 13778: 0x6851, - 13779: 0x55D3, - 13780: 0x4E27, - 13781: 0x6414, - 13782: 0x9A9A, - 13783: 0x626B, - 13784: 0x5AC2, - 13785: 0x745F, - 13786: 0x8272, - 13787: 0x6DA9, - 13788: 0x68EE, - 13789: 0x50E7, - 13790: 0x838E, - 13791: 0x7802, - 13792: 0x6740, - 13793: 0x5239, - 13794: 0x6C99, - 13795: 0x7EB1, - 13796: 0x50BB, - 13797: 0x5565, - 13798: 0x715E, - 13799: 0x7B5B, - 13800: 0x6652, - 13801: 0x73CA, - 13802: 0x82EB, - 13803: 0x6749, - 13804: 0x5C71, - 13805: 0x5220, - 13806: 0x717D, - 13807: 0x886B, - 13808: 0x95EA, - 13809: 0x9655, - 13810: 0x64C5, - 13811: 0x8D61, - 13812: 0x81B3, - 13813: 0x5584, - 13814: 0x6C55, - 13815: 0x6247, - 13816: 0x7F2E, - 13817: 0x5892, - 13818: 0x4F24, - 13819: 0x5546, - 13820: 0x8D4F, - 13821: 0x664C, - 13822: 0x4E0A, - 13823: 0x5C1A, - 13824: 0x88F3, - 13825: 0x68A2, - 13826: 0x634E, - 13827: 0x7A0D, - 13828: 0x70E7, - 13829: 0x828D, - 13830: 0x52FA, - 13831: 0x97F6, - 13832: 0x5C11, - 13833: 0x54E8, - 13834: 0x90B5, - 13835: 0x7ECD, - 13836: 0x5962, - 13837: 0x8D4A, - 13838: 0x86C7, - 13839: 0x820C, - 13840: 0x820D, - 13841: 0x8D66, - 13842: 0x6444, - 13843: 0x5C04, - 13844: 0x6151, - 13845: 0x6D89, - 13846: 0x793E, - 13847: 0x8BBE, - 13848: 0x7837, - 13849: 0x7533, - 13850: 0x547B, - 13851: 0x4F38, - 13852: 0x8EAB, - 13853: 0x6DF1, - 13854: 0x5A20, - 13855: 0x7EC5, - 13856: 0x795E, - 13857: 0x6C88, - 13858: 0x5BA1, - 13859: 0x5A76, - 13860: 0x751A, - 13861: 0x80BE, - 13862: 0x614E, - 13863: 0x6E17, - 13864: 0x58F0, - 13865: 0x751F, - 13866: 0x7525, - 13867: 0x7272, - 13868: 0x5347, - 13869: 0x7EF3, - 13870: 0x8503, - 13871: 0x8504, - 13872: 0x8505, - 13873: 0x8506, - 13874: 0x8507, - 13875: 0x8508, - 13876: 0x8509, - 13877: 0x850A, - 13878: 0x850B, - 13879: 0x850D, - 13880: 0x850E, - 13881: 0x850F, - 13882: 0x8510, - 13883: 0x8512, - 13884: 0x8514, - 13885: 0x8515, - 13886: 0x8516, - 13887: 0x8518, - 13888: 0x8519, - 13889: 0x851B, - 13890: 0x851C, - 13891: 0x851D, - 13892: 0x851E, - 13893: 0x8520, - 13894: 0x8522, - 13895: 0x8523, - 13896: 0x8524, - 13897: 0x8525, - 13898: 0x8526, - 13899: 0x8527, - 13900: 0x8528, - 13901: 0x8529, - 13902: 0x852A, - 13903: 0x852D, - 13904: 0x852E, - 13905: 0x852F, - 13906: 0x8530, - 13907: 0x8531, - 13908: 0x8532, - 13909: 0x8533, - 13910: 0x8534, - 13911: 0x8535, - 13912: 0x8536, - 13913: 0x853E, - 13914: 0x853F, - 13915: 0x8540, - 13916: 0x8541, - 13917: 0x8542, - 13918: 0x8544, - 13919: 0x8545, - 13920: 0x8546, - 13921: 0x8547, - 13922: 0x854B, - 13923: 0x854C, - 13924: 0x854D, - 13925: 0x854E, - 13926: 0x854F, - 13927: 0x8550, - 13928: 0x8551, - 13929: 0x8552, - 13930: 0x8553, - 13931: 0x8554, - 13932: 0x8555, - 13933: 0x8557, - 13934: 0x8558, - 13935: 0x855A, - 13936: 0x855B, - 13937: 0x855C, - 13938: 0x855D, - 13939: 0x855F, - 13940: 0x8560, - 13941: 0x8561, - 13942: 0x8562, - 13943: 0x8563, - 13944: 0x8565, - 13945: 0x8566, - 13946: 0x8567, - 13947: 0x8569, - 13948: 0x856A, - 13949: 0x856B, - 13950: 0x856C, - 13951: 0x856D, - 13952: 0x856E, - 13953: 0x856F, - 13954: 0x8570, - 13955: 0x8571, - 13956: 0x8573, - 13957: 0x8575, - 13958: 0x8576, - 13959: 0x8577, - 13960: 0x8578, - 13961: 0x857C, - 13962: 0x857D, - 13963: 0x857F, - 13964: 0x8580, - 13965: 0x8581, - 13966: 0x7701, - 13967: 0x76DB, - 13968: 0x5269, - 13969: 0x80DC, - 13970: 0x5723, - 13971: 0x5E08, - 13972: 0x5931, - 13973: 0x72EE, - 13974: 0x65BD, - 13975: 0x6E7F, - 13976: 0x8BD7, - 13977: 0x5C38, - 13978: 0x8671, - 13979: 0x5341, - 13980: 0x77F3, - 13981: 0x62FE, - 13982: 0x65F6, - 13983: 0x4EC0, - 13984: 0x98DF, - 13985: 0x8680, - 13986: 0x5B9E, - 13987: 0x8BC6, - 13988: 0x53F2, - 13989: 0x77E2, - 13990: 0x4F7F, - 13991: 0x5C4E, - 13992: 0x9A76, - 13993: 0x59CB, - 13994: 0x5F0F, - 13995: 0x793A, - 13996: 0x58EB, - 13997: 0x4E16, - 13998: 0x67FF, - 13999: 0x4E8B, - 14000: 0x62ED, - 14001: 0x8A93, - 14002: 0x901D, - 14003: 0x52BF, - 14004: 0x662F, - 14005: 0x55DC, - 14006: 0x566C, - 14007: 0x9002, - 14008: 0x4ED5, - 14009: 0x4F8D, - 14010: 0x91CA, - 14011: 0x9970, - 14012: 0x6C0F, - 14013: 0x5E02, - 14014: 0x6043, - 14015: 0x5BA4, - 14016: 0x89C6, - 14017: 0x8BD5, - 14018: 0x6536, - 14019: 0x624B, - 14020: 0x9996, - 14021: 0x5B88, - 14022: 0x5BFF, - 14023: 0x6388, - 14024: 0x552E, - 14025: 0x53D7, - 14026: 0x7626, - 14027: 0x517D, - 14028: 0x852C, - 14029: 0x67A2, - 14030: 0x68B3, - 14031: 0x6B8A, - 14032: 0x6292, - 14033: 0x8F93, - 14034: 0x53D4, - 14035: 0x8212, - 14036: 0x6DD1, - 14037: 0x758F, - 14038: 0x4E66, - 14039: 0x8D4E, - 14040: 0x5B70, - 14041: 0x719F, - 14042: 0x85AF, - 14043: 0x6691, - 14044: 0x66D9, - 14045: 0x7F72, - 14046: 0x8700, - 14047: 0x9ECD, - 14048: 0x9F20, - 14049: 0x5C5E, - 14050: 0x672F, - 14051: 0x8FF0, - 14052: 0x6811, - 14053: 0x675F, - 14054: 0x620D, - 14055: 0x7AD6, - 14056: 0x5885, - 14057: 0x5EB6, - 14058: 0x6570, - 14059: 0x6F31, - 14060: 0x8582, - 14061: 0x8583, - 14062: 0x8586, - 14063: 0x8588, - 14064: 0x8589, - 14065: 0x858A, - 14066: 0x858B, - 14067: 0x858C, - 14068: 0x858D, - 14069: 0x858E, - 14070: 0x8590, - 14071: 0x8591, - 14072: 0x8592, - 14073: 0x8593, - 14074: 0x8594, - 14075: 0x8595, - 14076: 0x8596, - 14077: 0x8597, - 14078: 0x8598, - 14079: 0x8599, - 14080: 0x859A, - 14081: 0x859D, - 14082: 0x859E, - 14083: 0x859F, - 14084: 0x85A0, - 14085: 0x85A1, - 14086: 0x85A2, - 14087: 0x85A3, - 14088: 0x85A5, - 14089: 0x85A6, - 14090: 0x85A7, - 14091: 0x85A9, - 14092: 0x85AB, - 14093: 0x85AC, - 14094: 0x85AD, - 14095: 0x85B1, - 14096: 0x85B2, - 14097: 0x85B3, - 14098: 0x85B4, - 14099: 0x85B5, - 14100: 0x85B6, - 14101: 0x85B8, - 14102: 0x85BA, - 14103: 0x85BB, - 14104: 0x85BC, - 14105: 0x85BD, - 14106: 0x85BE, - 14107: 0x85BF, - 14108: 0x85C0, - 14109: 0x85C2, - 14110: 0x85C3, - 14111: 0x85C4, - 14112: 0x85C5, - 14113: 0x85C6, - 14114: 0x85C7, - 14115: 0x85C8, - 14116: 0x85CA, - 14117: 0x85CB, - 14118: 0x85CC, - 14119: 0x85CD, - 14120: 0x85CE, - 14121: 0x85D1, - 14122: 0x85D2, - 14123: 0x85D4, - 14124: 0x85D6, - 14125: 0x85D7, - 14126: 0x85D8, - 14127: 0x85D9, - 14128: 0x85DA, - 14129: 0x85DB, - 14130: 0x85DD, - 14131: 0x85DE, - 14132: 0x85DF, - 14133: 0x85E0, - 14134: 0x85E1, - 14135: 0x85E2, - 14136: 0x85E3, - 14137: 0x85E5, - 14138: 0x85E6, - 14139: 0x85E7, - 14140: 0x85E8, - 14141: 0x85EA, - 14142: 0x85EB, - 14143: 0x85EC, - 14144: 0x85ED, - 14145: 0x85EE, - 14146: 0x85EF, - 14147: 0x85F0, - 14148: 0x85F1, - 14149: 0x85F2, - 14150: 0x85F3, - 14151: 0x85F4, - 14152: 0x85F5, - 14153: 0x85F6, - 14154: 0x85F7, - 14155: 0x85F8, - 14156: 0x6055, - 14157: 0x5237, - 14158: 0x800D, - 14159: 0x6454, - 14160: 0x8870, - 14161: 0x7529, - 14162: 0x5E05, - 14163: 0x6813, - 14164: 0x62F4, - 14165: 0x971C, - 14166: 0x53CC, - 14167: 0x723D, - 14168: 0x8C01, - 14169: 0x6C34, - 14170: 0x7761, - 14171: 0x7A0E, - 14172: 0x542E, - 14173: 0x77AC, - 14174: 0x987A, - 14175: 0x821C, - 14176: 0x8BF4, - 14177: 0x7855, - 14178: 0x6714, - 14179: 0x70C1, - 14180: 0x65AF, - 14181: 0x6495, - 14182: 0x5636, - 14183: 0x601D, - 14184: 0x79C1, - 14185: 0x53F8, - 14186: 0x4E1D, - 14187: 0x6B7B, - 14188: 0x8086, - 14189: 0x5BFA, - 14190: 0x55E3, - 14191: 0x56DB, - 14192: 0x4F3A, - 14193: 0x4F3C, - 14194: 0x9972, - 14195: 0x5DF3, - 14196: 0x677E, - 14197: 0x8038, - 14198: 0x6002, - 14199: 0x9882, - 14200: 0x9001, - 14201: 0x5B8B, - 14202: 0x8BBC, - 14203: 0x8BF5, - 14204: 0x641C, - 14205: 0x8258, - 14206: 0x64DE, - 14207: 0x55FD, - 14208: 0x82CF, - 14209: 0x9165, - 14210: 0x4FD7, - 14211: 0x7D20, - 14212: 0x901F, - 14213: 0x7C9F, - 14214: 0x50F3, - 14215: 0x5851, - 14216: 0x6EAF, - 14217: 0x5BBF, - 14218: 0x8BC9, - 14219: 0x8083, - 14220: 0x9178, - 14221: 0x849C, - 14222: 0x7B97, - 14223: 0x867D, - 14224: 0x968B, - 14225: 0x968F, - 14226: 0x7EE5, - 14227: 0x9AD3, - 14228: 0x788E, - 14229: 0x5C81, - 14230: 0x7A57, - 14231: 0x9042, - 14232: 0x96A7, - 14233: 0x795F, - 14234: 0x5B59, - 14235: 0x635F, - 14236: 0x7B0B, - 14237: 0x84D1, - 14238: 0x68AD, - 14239: 0x5506, - 14240: 0x7F29, - 14241: 0x7410, - 14242: 0x7D22, - 14243: 0x9501, - 14244: 0x6240, - 14245: 0x584C, - 14246: 0x4ED6, - 14247: 0x5B83, - 14248: 0x5979, - 14249: 0x5854, - 14250: 0x85F9, - 14251: 0x85FA, - 14252: 0x85FC, - 14253: 0x85FD, - 14254: 0x85FE, - 14255: 0x8600, - 14256: 0x8601, - 14257: 0x8602, - 14258: 0x8603, - 14259: 0x8604, - 14260: 0x8606, - 14261: 0x8607, - 14262: 0x8608, - 14263: 0x8609, - 14264: 0x860A, - 14265: 0x860B, - 14266: 0x860C, - 14267: 0x860D, - 14268: 0x860E, - 14269: 0x860F, - 14270: 0x8610, - 14271: 0x8612, - 14272: 0x8613, - 14273: 0x8614, - 14274: 0x8615, - 14275: 0x8617, - 14276: 0x8618, - 14277: 0x8619, - 14278: 0x861A, - 14279: 0x861B, - 14280: 0x861C, - 14281: 0x861D, - 14282: 0x861E, - 14283: 0x861F, - 14284: 0x8620, - 14285: 0x8621, - 14286: 0x8622, - 14287: 0x8623, - 14288: 0x8624, - 14289: 0x8625, - 14290: 0x8626, - 14291: 0x8628, - 14292: 0x862A, - 14293: 0x862B, - 14294: 0x862C, - 14295: 0x862D, - 14296: 0x862E, - 14297: 0x862F, - 14298: 0x8630, - 14299: 0x8631, - 14300: 0x8632, - 14301: 0x8633, - 14302: 0x8634, - 14303: 0x8635, - 14304: 0x8636, - 14305: 0x8637, - 14306: 0x8639, - 14307: 0x863A, - 14308: 0x863B, - 14309: 0x863D, - 14310: 0x863E, - 14311: 0x863F, - 14312: 0x8640, - 14313: 0x8641, - 14314: 0x8642, - 14315: 0x8643, - 14316: 0x8644, - 14317: 0x8645, - 14318: 0x8646, - 14319: 0x8647, - 14320: 0x8648, - 14321: 0x8649, - 14322: 0x864A, - 14323: 0x864B, - 14324: 0x864C, - 14325: 0x8652, - 14326: 0x8653, - 14327: 0x8655, - 14328: 0x8656, - 14329: 0x8657, - 14330: 0x8658, - 14331: 0x8659, - 14332: 0x865B, - 14333: 0x865C, - 14334: 0x865D, - 14335: 0x865F, - 14336: 0x8660, - 14337: 0x8661, - 14338: 0x8663, - 14339: 0x8664, - 14340: 0x8665, - 14341: 0x8666, - 14342: 0x8667, - 14343: 0x8668, - 14344: 0x8669, - 14345: 0x866A, - 14346: 0x736D, - 14347: 0x631E, - 14348: 0x8E4B, - 14349: 0x8E0F, - 14350: 0x80CE, - 14351: 0x82D4, - 14352: 0x62AC, - 14353: 0x53F0, - 14354: 0x6CF0, - 14355: 0x915E, - 14356: 0x592A, - 14357: 0x6001, - 14358: 0x6C70, - 14359: 0x574D, - 14360: 0x644A, - 14361: 0x8D2A, - 14362: 0x762B, - 14363: 0x6EE9, - 14364: 0x575B, - 14365: 0x6A80, - 14366: 0x75F0, - 14367: 0x6F6D, - 14368: 0x8C2D, - 14369: 0x8C08, - 14370: 0x5766, - 14371: 0x6BEF, - 14372: 0x8892, - 14373: 0x78B3, - 14374: 0x63A2, - 14375: 0x53F9, - 14376: 0x70AD, - 14377: 0x6C64, - 14378: 0x5858, - 14379: 0x642A, - 14380: 0x5802, - 14381: 0x68E0, - 14382: 0x819B, - 14383: 0x5510, - 14384: 0x7CD6, - 14385: 0x5018, - 14386: 0x8EBA, - 14387: 0x6DCC, - 14388: 0x8D9F, - 14389: 0x70EB, - 14390: 0x638F, - 14391: 0x6D9B, - 14392: 0x6ED4, - 14393: 0x7EE6, - 14394: 0x8404, - 14395: 0x6843, - 14396: 0x9003, - 14397: 0x6DD8, - 14398: 0x9676, - 14399: 0x8BA8, - 14400: 0x5957, - 14401: 0x7279, - 14402: 0x85E4, - 14403: 0x817E, - 14404: 0x75BC, - 14405: 0x8A8A, - 14406: 0x68AF, - 14407: 0x5254, - 14408: 0x8E22, - 14409: 0x9511, - 14410: 0x63D0, - 14411: 0x9898, - 14412: 0x8E44, - 14413: 0x557C, - 14414: 0x4F53, - 14415: 0x66FF, - 14416: 0x568F, - 14417: 0x60D5, - 14418: 0x6D95, - 14419: 0x5243, - 14420: 0x5C49, - 14421: 0x5929, - 14422: 0x6DFB, - 14423: 0x586B, - 14424: 0x7530, - 14425: 0x751C, - 14426: 0x606C, - 14427: 0x8214, - 14428: 0x8146, - 14429: 0x6311, - 14430: 0x6761, - 14431: 0x8FE2, - 14432: 0x773A, - 14433: 0x8DF3, - 14434: 0x8D34, - 14435: 0x94C1, - 14436: 0x5E16, - 14437: 0x5385, - 14438: 0x542C, - 14439: 0x70C3, - 14440: 0x866D, - 14441: 0x866F, - 14442: 0x8670, - 14443: 0x8672, - 14444: 0x8673, - 14445: 0x8674, - 14446: 0x8675, - 14447: 0x8676, - 14448: 0x8677, - 14449: 0x8678, - 14450: 0x8683, - 14451: 0x8684, - 14452: 0x8685, - 14453: 0x8686, - 14454: 0x8687, - 14455: 0x8688, - 14456: 0x8689, - 14457: 0x868E, - 14458: 0x868F, - 14459: 0x8690, - 14460: 0x8691, - 14461: 0x8692, - 14462: 0x8694, - 14463: 0x8696, - 14464: 0x8697, - 14465: 0x8698, - 14466: 0x8699, - 14467: 0x869A, - 14468: 0x869B, - 14469: 0x869E, - 14470: 0x869F, - 14471: 0x86A0, - 14472: 0x86A1, - 14473: 0x86A2, - 14474: 0x86A5, - 14475: 0x86A6, - 14476: 0x86AB, - 14477: 0x86AD, - 14478: 0x86AE, - 14479: 0x86B2, - 14480: 0x86B3, - 14481: 0x86B7, - 14482: 0x86B8, - 14483: 0x86B9, - 14484: 0x86BB, - 14485: 0x86BC, - 14486: 0x86BD, - 14487: 0x86BE, - 14488: 0x86BF, - 14489: 0x86C1, - 14490: 0x86C2, - 14491: 0x86C3, - 14492: 0x86C5, - 14493: 0x86C8, - 14494: 0x86CC, - 14495: 0x86CD, - 14496: 0x86D2, - 14497: 0x86D3, - 14498: 0x86D5, - 14499: 0x86D6, - 14500: 0x86D7, - 14501: 0x86DA, - 14502: 0x86DC, - 14503: 0x86DD, - 14504: 0x86E0, - 14505: 0x86E1, - 14506: 0x86E2, - 14507: 0x86E3, - 14508: 0x86E5, - 14509: 0x86E6, - 14510: 0x86E7, - 14511: 0x86E8, - 14512: 0x86EA, - 14513: 0x86EB, - 14514: 0x86EC, - 14515: 0x86EF, - 14516: 0x86F5, - 14517: 0x86F6, - 14518: 0x86F7, - 14519: 0x86FA, - 14520: 0x86FB, - 14521: 0x86FC, - 14522: 0x86FD, - 14523: 0x86FF, - 14524: 0x8701, - 14525: 0x8704, - 14526: 0x8705, - 14527: 0x8706, - 14528: 0x870B, - 14529: 0x870C, - 14530: 0x870E, - 14531: 0x870F, - 14532: 0x8710, - 14533: 0x8711, - 14534: 0x8714, - 14535: 0x8716, - 14536: 0x6C40, - 14537: 0x5EF7, - 14538: 0x505C, - 14539: 0x4EAD, - 14540: 0x5EAD, - 14541: 0x633A, - 14542: 0x8247, - 14543: 0x901A, - 14544: 0x6850, - 14545: 0x916E, - 14546: 0x77B3, - 14547: 0x540C, - 14548: 0x94DC, - 14549: 0x5F64, - 14550: 0x7AE5, - 14551: 0x6876, - 14552: 0x6345, - 14553: 0x7B52, - 14554: 0x7EDF, - 14555: 0x75DB, - 14556: 0x5077, - 14557: 0x6295, - 14558: 0x5934, - 14559: 0x900F, - 14560: 0x51F8, - 14561: 0x79C3, - 14562: 0x7A81, - 14563: 0x56FE, - 14564: 0x5F92, - 14565: 0x9014, - 14566: 0x6D82, - 14567: 0x5C60, - 14568: 0x571F, - 14569: 0x5410, - 14570: 0x5154, - 14571: 0x6E4D, - 14572: 0x56E2, - 14573: 0x63A8, - 14574: 0x9893, - 14575: 0x817F, - 14576: 0x8715, - 14577: 0x892A, - 14578: 0x9000, - 14579: 0x541E, - 14580: 0x5C6F, - 14581: 0x81C0, - 14582: 0x62D6, - 14583: 0x6258, - 14584: 0x8131, - 14585: 0x9E35, - 14586: 0x9640, - 14587: 0x9A6E, - 14588: 0x9A7C, - 14589: 0x692D, - 14590: 0x59A5, - 14591: 0x62D3, - 14592: 0x553E, - 14593: 0x6316, - 14594: 0x54C7, - 14595: 0x86D9, - 14596: 0x6D3C, - 14597: 0x5A03, - 14598: 0x74E6, - 14599: 0x889C, - 14600: 0x6B6A, - 14601: 0x5916, - 14602: 0x8C4C, - 14603: 0x5F2F, - 14604: 0x6E7E, - 14605: 0x73A9, - 14606: 0x987D, - 14607: 0x4E38, - 14608: 0x70F7, - 14609: 0x5B8C, - 14610: 0x7897, - 14611: 0x633D, - 14612: 0x665A, - 14613: 0x7696, - 14614: 0x60CB, - 14615: 0x5B9B, - 14616: 0x5A49, - 14617: 0x4E07, - 14618: 0x8155, - 14619: 0x6C6A, - 14620: 0x738B, - 14621: 0x4EA1, - 14622: 0x6789, - 14623: 0x7F51, - 14624: 0x5F80, - 14625: 0x65FA, - 14626: 0x671B, - 14627: 0x5FD8, - 14628: 0x5984, - 14629: 0x5A01, - 14630: 0x8719, - 14631: 0x871B, - 14632: 0x871D, - 14633: 0x871F, - 14634: 0x8720, - 14635: 0x8724, - 14636: 0x8726, - 14637: 0x8727, - 14638: 0x8728, - 14639: 0x872A, - 14640: 0x872B, - 14641: 0x872C, - 14642: 0x872D, - 14643: 0x872F, - 14644: 0x8730, - 14645: 0x8732, - 14646: 0x8733, - 14647: 0x8735, - 14648: 0x8736, - 14649: 0x8738, - 14650: 0x8739, - 14651: 0x873A, - 14652: 0x873C, - 14653: 0x873D, - 14654: 0x8740, - 14655: 0x8741, - 14656: 0x8742, - 14657: 0x8743, - 14658: 0x8744, - 14659: 0x8745, - 14660: 0x8746, - 14661: 0x874A, - 14662: 0x874B, - 14663: 0x874D, - 14664: 0x874F, - 14665: 0x8750, - 14666: 0x8751, - 14667: 0x8752, - 14668: 0x8754, - 14669: 0x8755, - 14670: 0x8756, - 14671: 0x8758, - 14672: 0x875A, - 14673: 0x875B, - 14674: 0x875C, - 14675: 0x875D, - 14676: 0x875E, - 14677: 0x875F, - 14678: 0x8761, - 14679: 0x8762, - 14680: 0x8766, - 14681: 0x8767, - 14682: 0x8768, - 14683: 0x8769, - 14684: 0x876A, - 14685: 0x876B, - 14686: 0x876C, - 14687: 0x876D, - 14688: 0x876F, - 14689: 0x8771, - 14690: 0x8772, - 14691: 0x8773, - 14692: 0x8775, - 14693: 0x8777, - 14694: 0x8778, - 14695: 0x8779, - 14696: 0x877A, - 14697: 0x877F, - 14698: 0x8780, - 14699: 0x8781, - 14700: 0x8784, - 14701: 0x8786, - 14702: 0x8787, - 14703: 0x8789, - 14704: 0x878A, - 14705: 0x878C, - 14706: 0x878E, - 14707: 0x878F, - 14708: 0x8790, - 14709: 0x8791, - 14710: 0x8792, - 14711: 0x8794, - 14712: 0x8795, - 14713: 0x8796, - 14714: 0x8798, - 14715: 0x8799, - 14716: 0x879A, - 14717: 0x879B, - 14718: 0x879C, - 14719: 0x879D, - 14720: 0x879E, - 14721: 0x87A0, - 14722: 0x87A1, - 14723: 0x87A2, - 14724: 0x87A3, - 14725: 0x87A4, - 14726: 0x5DCD, - 14727: 0x5FAE, - 14728: 0x5371, - 14729: 0x97E6, - 14730: 0x8FDD, - 14731: 0x6845, - 14732: 0x56F4, - 14733: 0x552F, - 14734: 0x60DF, - 14735: 0x4E3A, - 14736: 0x6F4D, - 14737: 0x7EF4, - 14738: 0x82C7, - 14739: 0x840E, - 14740: 0x59D4, - 14741: 0x4F1F, - 14742: 0x4F2A, - 14743: 0x5C3E, - 14744: 0x7EAC, - 14745: 0x672A, - 14746: 0x851A, - 14747: 0x5473, - 14748: 0x754F, - 14749: 0x80C3, - 14750: 0x5582, - 14751: 0x9B4F, - 14752: 0x4F4D, - 14753: 0x6E2D, - 14754: 0x8C13, - 14755: 0x5C09, - 14756: 0x6170, - 14757: 0x536B, - 14758: 0x761F, - 14759: 0x6E29, - 14760: 0x868A, - 14761: 0x6587, - 14762: 0x95FB, - 14763: 0x7EB9, - 14764: 0x543B, - 14765: 0x7A33, - 14766: 0x7D0A, - 14767: 0x95EE, - 14768: 0x55E1, - 14769: 0x7FC1, - 14770: 0x74EE, - 14771: 0x631D, - 14772: 0x8717, - 14773: 0x6DA1, - 14774: 0x7A9D, - 14775: 0x6211, - 14776: 0x65A1, - 14777: 0x5367, - 14778: 0x63E1, - 14779: 0x6C83, - 14780: 0x5DEB, - 14781: 0x545C, - 14782: 0x94A8, - 14783: 0x4E4C, - 14784: 0x6C61, - 14785: 0x8BEC, - 14786: 0x5C4B, - 14787: 0x65E0, - 14788: 0x829C, - 14789: 0x68A7, - 14790: 0x543E, - 14791: 0x5434, - 14792: 0x6BCB, - 14793: 0x6B66, - 14794: 0x4E94, - 14795: 0x6342, - 14796: 0x5348, - 14797: 0x821E, - 14798: 0x4F0D, - 14799: 0x4FAE, - 14800: 0x575E, - 14801: 0x620A, - 14802: 0x96FE, - 14803: 0x6664, - 14804: 0x7269, - 14805: 0x52FF, - 14806: 0x52A1, - 14807: 0x609F, - 14808: 0x8BEF, - 14809: 0x6614, - 14810: 0x7199, - 14811: 0x6790, - 14812: 0x897F, - 14813: 0x7852, - 14814: 0x77FD, - 14815: 0x6670, - 14816: 0x563B, - 14817: 0x5438, - 14818: 0x9521, - 14819: 0x727A, - 14820: 0x87A5, - 14821: 0x87A6, - 14822: 0x87A7, - 14823: 0x87A9, - 14824: 0x87AA, - 14825: 0x87AE, - 14826: 0x87B0, - 14827: 0x87B1, - 14828: 0x87B2, - 14829: 0x87B4, - 14830: 0x87B6, - 14831: 0x87B7, - 14832: 0x87B8, - 14833: 0x87B9, - 14834: 0x87BB, - 14835: 0x87BC, - 14836: 0x87BE, - 14837: 0x87BF, - 14838: 0x87C1, - 14839: 0x87C2, - 14840: 0x87C3, - 14841: 0x87C4, - 14842: 0x87C5, - 14843: 0x87C7, - 14844: 0x87C8, - 14845: 0x87C9, - 14846: 0x87CC, - 14847: 0x87CD, - 14848: 0x87CE, - 14849: 0x87CF, - 14850: 0x87D0, - 14851: 0x87D4, - 14852: 0x87D5, - 14853: 0x87D6, - 14854: 0x87D7, - 14855: 0x87D8, - 14856: 0x87D9, - 14857: 0x87DA, - 14858: 0x87DC, - 14859: 0x87DD, - 14860: 0x87DE, - 14861: 0x87DF, - 14862: 0x87E1, - 14863: 0x87E2, - 14864: 0x87E3, - 14865: 0x87E4, - 14866: 0x87E6, - 14867: 0x87E7, - 14868: 0x87E8, - 14869: 0x87E9, - 14870: 0x87EB, - 14871: 0x87EC, - 14872: 0x87ED, - 14873: 0x87EF, - 14874: 0x87F0, - 14875: 0x87F1, - 14876: 0x87F2, - 14877: 0x87F3, - 14878: 0x87F4, - 14879: 0x87F5, - 14880: 0x87F6, - 14881: 0x87F7, - 14882: 0x87F8, - 14883: 0x87FA, - 14884: 0x87FB, - 14885: 0x87FC, - 14886: 0x87FD, - 14887: 0x87FF, - 14888: 0x8800, - 14889: 0x8801, - 14890: 0x8802, - 14891: 0x8804, - 14892: 0x8805, - 14893: 0x8806, - 14894: 0x8807, - 14895: 0x8808, - 14896: 0x8809, - 14897: 0x880B, - 14898: 0x880C, - 14899: 0x880D, - 14900: 0x880E, - 14901: 0x880F, - 14902: 0x8810, - 14903: 0x8811, - 14904: 0x8812, - 14905: 0x8814, - 14906: 0x8817, - 14907: 0x8818, - 14908: 0x8819, - 14909: 0x881A, - 14910: 0x881C, - 14911: 0x881D, - 14912: 0x881E, - 14913: 0x881F, - 14914: 0x8820, - 14915: 0x8823, - 14916: 0x7A00, - 14917: 0x606F, - 14918: 0x5E0C, - 14919: 0x6089, - 14920: 0x819D, - 14921: 0x5915, - 14922: 0x60DC, - 14923: 0x7184, - 14924: 0x70EF, - 14925: 0x6EAA, - 14926: 0x6C50, - 14927: 0x7280, - 14928: 0x6A84, - 14929: 0x88AD, - 14930: 0x5E2D, - 14931: 0x4E60, - 14932: 0x5AB3, - 14933: 0x559C, - 14934: 0x94E3, - 14935: 0x6D17, - 14936: 0x7CFB, - 14937: 0x9699, - 14938: 0x620F, - 14939: 0x7EC6, - 14940: 0x778E, - 14941: 0x867E, - 14942: 0x5323, - 14943: 0x971E, - 14944: 0x8F96, - 14945: 0x6687, - 14946: 0x5CE1, - 14947: 0x4FA0, - 14948: 0x72ED, - 14949: 0x4E0B, - 14950: 0x53A6, - 14951: 0x590F, - 14952: 0x5413, - 14953: 0x6380, - 14954: 0x9528, - 14955: 0x5148, - 14956: 0x4ED9, - 14957: 0x9C9C, - 14958: 0x7EA4, - 14959: 0x54B8, - 14960: 0x8D24, - 14961: 0x8854, - 14962: 0x8237, - 14963: 0x95F2, - 14964: 0x6D8E, - 14965: 0x5F26, - 14966: 0x5ACC, - 14967: 0x663E, - 14968: 0x9669, - 14969: 0x73B0, - 14970: 0x732E, - 14971: 0x53BF, - 14972: 0x817A, - 14973: 0x9985, - 14974: 0x7FA1, - 14975: 0x5BAA, - 14976: 0x9677, - 14977: 0x9650, - 14978: 0x7EBF, - 14979: 0x76F8, - 14980: 0x53A2, - 14981: 0x9576, - 14982: 0x9999, - 14983: 0x7BB1, - 14984: 0x8944, - 14985: 0x6E58, - 14986: 0x4E61, - 14987: 0x7FD4, - 14988: 0x7965, - 14989: 0x8BE6, - 14990: 0x60F3, - 14991: 0x54CD, - 14992: 0x4EAB, - 14993: 0x9879, - 14994: 0x5DF7, - 14995: 0x6A61, - 14996: 0x50CF, - 14997: 0x5411, - 14998: 0x8C61, - 14999: 0x8427, - 15000: 0x785D, - 15001: 0x9704, - 15002: 0x524A, - 15003: 0x54EE, - 15004: 0x56A3, - 15005: 0x9500, - 15006: 0x6D88, - 15007: 0x5BB5, - 15008: 0x6DC6, - 15009: 0x6653, - 15010: 0x8824, - 15011: 0x8825, - 15012: 0x8826, - 15013: 0x8827, - 15014: 0x8828, - 15015: 0x8829, - 15016: 0x882A, - 15017: 0x882B, - 15018: 0x882C, - 15019: 0x882D, - 15020: 0x882E, - 15021: 0x882F, - 15022: 0x8830, - 15023: 0x8831, - 15024: 0x8833, - 15025: 0x8834, - 15026: 0x8835, - 15027: 0x8836, - 15028: 0x8837, - 15029: 0x8838, - 15030: 0x883A, - 15031: 0x883B, - 15032: 0x883D, - 15033: 0x883E, - 15034: 0x883F, - 15035: 0x8841, - 15036: 0x8842, - 15037: 0x8843, - 15038: 0x8846, - 15039: 0x8847, - 15040: 0x8848, - 15041: 0x8849, - 15042: 0x884A, - 15043: 0x884B, - 15044: 0x884E, - 15045: 0x884F, - 15046: 0x8850, - 15047: 0x8851, - 15048: 0x8852, - 15049: 0x8853, - 15050: 0x8855, - 15051: 0x8856, - 15052: 0x8858, - 15053: 0x885A, - 15054: 0x885B, - 15055: 0x885C, - 15056: 0x885D, - 15057: 0x885E, - 15058: 0x885F, - 15059: 0x8860, - 15060: 0x8866, - 15061: 0x8867, - 15062: 0x886A, - 15063: 0x886D, - 15064: 0x886F, - 15065: 0x8871, - 15066: 0x8873, - 15067: 0x8874, - 15068: 0x8875, - 15069: 0x8876, - 15070: 0x8878, - 15071: 0x8879, - 15072: 0x887A, - 15073: 0x887B, - 15074: 0x887C, - 15075: 0x8880, - 15076: 0x8883, - 15077: 0x8886, - 15078: 0x8887, - 15079: 0x8889, - 15080: 0x888A, - 15081: 0x888C, - 15082: 0x888E, - 15083: 0x888F, - 15084: 0x8890, - 15085: 0x8891, - 15086: 0x8893, - 15087: 0x8894, - 15088: 0x8895, - 15089: 0x8897, - 15090: 0x8898, - 15091: 0x8899, - 15092: 0x889A, - 15093: 0x889B, - 15094: 0x889D, - 15095: 0x889E, - 15096: 0x889F, - 15097: 0x88A0, - 15098: 0x88A1, - 15099: 0x88A3, - 15100: 0x88A5, - 15101: 0x88A6, - 15102: 0x88A7, - 15103: 0x88A8, - 15104: 0x88A9, - 15105: 0x88AA, - 15106: 0x5C0F, - 15107: 0x5B5D, - 15108: 0x6821, - 15109: 0x8096, - 15110: 0x5578, - 15111: 0x7B11, - 15112: 0x6548, - 15113: 0x6954, - 15114: 0x4E9B, - 15115: 0x6B47, - 15116: 0x874E, - 15117: 0x978B, - 15118: 0x534F, - 15119: 0x631F, - 15120: 0x643A, - 15121: 0x90AA, - 15122: 0x659C, - 15123: 0x80C1, - 15124: 0x8C10, - 15125: 0x5199, - 15126: 0x68B0, - 15127: 0x5378, - 15128: 0x87F9, - 15129: 0x61C8, - 15130: 0x6CC4, - 15131: 0x6CFB, - 15132: 0x8C22, - 15133: 0x5C51, - 15134: 0x85AA, - 15135: 0x82AF, - 15136: 0x950C, - 15137: 0x6B23, - 15138: 0x8F9B, - 15139: 0x65B0, - 15140: 0x5FFB, - 15141: 0x5FC3, - 15142: 0x4FE1, - 15143: 0x8845, - 15144: 0x661F, - 15145: 0x8165, - 15146: 0x7329, - 15147: 0x60FA, - 15148: 0x5174, - 15149: 0x5211, - 15150: 0x578B, - 15151: 0x5F62, - 15152: 0x90A2, - 15153: 0x884C, - 15154: 0x9192, - 15155: 0x5E78, - 15156: 0x674F, - 15157: 0x6027, - 15158: 0x59D3, - 15159: 0x5144, - 15160: 0x51F6, - 15161: 0x80F8, - 15162: 0x5308, - 15163: 0x6C79, - 15164: 0x96C4, - 15165: 0x718A, - 15166: 0x4F11, - 15167: 0x4FEE, - 15168: 0x7F9E, - 15169: 0x673D, - 15170: 0x55C5, - 15171: 0x9508, - 15172: 0x79C0, - 15173: 0x8896, - 15174: 0x7EE3, - 15175: 0x589F, - 15176: 0x620C, - 15177: 0x9700, - 15178: 0x865A, - 15179: 0x5618, - 15180: 0x987B, - 15181: 0x5F90, - 15182: 0x8BB8, - 15183: 0x84C4, - 15184: 0x9157, - 15185: 0x53D9, - 15186: 0x65ED, - 15187: 0x5E8F, - 15188: 0x755C, - 15189: 0x6064, - 15190: 0x7D6E, - 15191: 0x5A7F, - 15192: 0x7EEA, - 15193: 0x7EED, - 15194: 0x8F69, - 15195: 0x55A7, - 15196: 0x5BA3, - 15197: 0x60AC, - 15198: 0x65CB, - 15199: 0x7384, - 15200: 0x88AC, - 15201: 0x88AE, - 15202: 0x88AF, - 15203: 0x88B0, - 15204: 0x88B2, - 15205: 0x88B3, - 15206: 0x88B4, - 15207: 0x88B5, - 15208: 0x88B6, - 15209: 0x88B8, - 15210: 0x88B9, - 15211: 0x88BA, - 15212: 0x88BB, - 15213: 0x88BD, - 15214: 0x88BE, - 15215: 0x88BF, - 15216: 0x88C0, - 15217: 0x88C3, - 15218: 0x88C4, - 15219: 0x88C7, - 15220: 0x88C8, - 15221: 0x88CA, - 15222: 0x88CB, - 15223: 0x88CC, - 15224: 0x88CD, - 15225: 0x88CF, - 15226: 0x88D0, - 15227: 0x88D1, - 15228: 0x88D3, - 15229: 0x88D6, - 15230: 0x88D7, - 15231: 0x88DA, - 15232: 0x88DB, - 15233: 0x88DC, - 15234: 0x88DD, - 15235: 0x88DE, - 15236: 0x88E0, - 15237: 0x88E1, - 15238: 0x88E6, - 15239: 0x88E7, - 15240: 0x88E9, - 15241: 0x88EA, - 15242: 0x88EB, - 15243: 0x88EC, - 15244: 0x88ED, - 15245: 0x88EE, - 15246: 0x88EF, - 15247: 0x88F2, - 15248: 0x88F5, - 15249: 0x88F6, - 15250: 0x88F7, - 15251: 0x88FA, - 15252: 0x88FB, - 15253: 0x88FD, - 15254: 0x88FF, - 15255: 0x8900, - 15256: 0x8901, - 15257: 0x8903, - 15258: 0x8904, - 15259: 0x8905, - 15260: 0x8906, - 15261: 0x8907, - 15262: 0x8908, - 15263: 0x8909, - 15264: 0x890B, - 15265: 0x890C, - 15266: 0x890D, - 15267: 0x890E, - 15268: 0x890F, - 15269: 0x8911, - 15270: 0x8914, - 15271: 0x8915, - 15272: 0x8916, - 15273: 0x8917, - 15274: 0x8918, - 15275: 0x891C, - 15276: 0x891D, - 15277: 0x891E, - 15278: 0x891F, - 15279: 0x8920, - 15280: 0x8922, - 15281: 0x8923, - 15282: 0x8924, - 15283: 0x8926, - 15284: 0x8927, - 15285: 0x8928, - 15286: 0x8929, - 15287: 0x892C, - 15288: 0x892D, - 15289: 0x892E, - 15290: 0x892F, - 15291: 0x8931, - 15292: 0x8932, - 15293: 0x8933, - 15294: 0x8935, - 15295: 0x8937, - 15296: 0x9009, - 15297: 0x7663, - 15298: 0x7729, - 15299: 0x7EDA, - 15300: 0x9774, - 15301: 0x859B, - 15302: 0x5B66, - 15303: 0x7A74, - 15304: 0x96EA, - 15305: 0x8840, - 15306: 0x52CB, - 15307: 0x718F, - 15308: 0x5FAA, - 15309: 0x65EC, - 15310: 0x8BE2, - 15311: 0x5BFB, - 15312: 0x9A6F, - 15313: 0x5DE1, - 15314: 0x6B89, - 15315: 0x6C5B, - 15316: 0x8BAD, - 15317: 0x8BAF, - 15318: 0x900A, - 15319: 0x8FC5, - 15320: 0x538B, - 15321: 0x62BC, - 15322: 0x9E26, - 15323: 0x9E2D, - 15324: 0x5440, - 15325: 0x4E2B, - 15326: 0x82BD, - 15327: 0x7259, - 15328: 0x869C, - 15329: 0x5D16, - 15330: 0x8859, - 15331: 0x6DAF, - 15332: 0x96C5, - 15333: 0x54D1, - 15334: 0x4E9A, - 15335: 0x8BB6, - 15336: 0x7109, - 15337: 0x54BD, - 15338: 0x9609, - 15339: 0x70DF, - 15340: 0x6DF9, - 15341: 0x76D0, - 15342: 0x4E25, - 15343: 0x7814, - 15344: 0x8712, - 15345: 0x5CA9, - 15346: 0x5EF6, - 15347: 0x8A00, - 15348: 0x989C, - 15349: 0x960E, - 15350: 0x708E, - 15351: 0x6CBF, - 15352: 0x5944, - 15353: 0x63A9, - 15354: 0x773C, - 15355: 0x884D, - 15356: 0x6F14, - 15357: 0x8273, - 15358: 0x5830, - 15359: 0x71D5, - 15360: 0x538C, - 15361: 0x781A, - 15362: 0x96C1, - 15363: 0x5501, - 15364: 0x5F66, - 15365: 0x7130, - 15366: 0x5BB4, - 15367: 0x8C1A, - 15368: 0x9A8C, - 15369: 0x6B83, - 15370: 0x592E, - 15371: 0x9E2F, - 15372: 0x79E7, - 15373: 0x6768, - 15374: 0x626C, - 15375: 0x4F6F, - 15376: 0x75A1, - 15377: 0x7F8A, - 15378: 0x6D0B, - 15379: 0x9633, - 15380: 0x6C27, - 15381: 0x4EF0, - 15382: 0x75D2, - 15383: 0x517B, - 15384: 0x6837, - 15385: 0x6F3E, - 15386: 0x9080, - 15387: 0x8170, - 15388: 0x5996, - 15389: 0x7476, - 15390: 0x8938, - 15391: 0x8939, - 15392: 0x893A, - 15393: 0x893B, - 15394: 0x893C, - 15395: 0x893D, - 15396: 0x893E, - 15397: 0x893F, - 15398: 0x8940, - 15399: 0x8942, - 15400: 0x8943, - 15401: 0x8945, - 15402: 0x8946, - 15403: 0x8947, - 15404: 0x8948, - 15405: 0x8949, - 15406: 0x894A, - 15407: 0x894B, - 15408: 0x894C, - 15409: 0x894D, - 15410: 0x894E, - 15411: 0x894F, - 15412: 0x8950, - 15413: 0x8951, - 15414: 0x8952, - 15415: 0x8953, - 15416: 0x8954, - 15417: 0x8955, - 15418: 0x8956, - 15419: 0x8957, - 15420: 0x8958, - 15421: 0x8959, - 15422: 0x895A, - 15423: 0x895B, - 15424: 0x895C, - 15425: 0x895D, - 15426: 0x8960, - 15427: 0x8961, - 15428: 0x8962, - 15429: 0x8963, - 15430: 0x8964, - 15431: 0x8965, - 15432: 0x8967, - 15433: 0x8968, - 15434: 0x8969, - 15435: 0x896A, - 15436: 0x896B, - 15437: 0x896C, - 15438: 0x896D, - 15439: 0x896E, - 15440: 0x896F, - 15441: 0x8970, - 15442: 0x8971, - 15443: 0x8972, - 15444: 0x8973, - 15445: 0x8974, - 15446: 0x8975, - 15447: 0x8976, - 15448: 0x8977, - 15449: 0x8978, - 15450: 0x8979, - 15451: 0x897A, - 15452: 0x897C, - 15453: 0x897D, - 15454: 0x897E, - 15455: 0x8980, - 15456: 0x8982, - 15457: 0x8984, - 15458: 0x8985, - 15459: 0x8987, - 15460: 0x8988, - 15461: 0x8989, - 15462: 0x898A, - 15463: 0x898B, - 15464: 0x898C, - 15465: 0x898D, - 15466: 0x898E, - 15467: 0x898F, - 15468: 0x8990, - 15469: 0x8991, - 15470: 0x8992, - 15471: 0x8993, - 15472: 0x8994, - 15473: 0x8995, - 15474: 0x8996, - 15475: 0x8997, - 15476: 0x8998, - 15477: 0x8999, - 15478: 0x899A, - 15479: 0x899B, - 15480: 0x899C, - 15481: 0x899D, - 15482: 0x899E, - 15483: 0x899F, - 15484: 0x89A0, - 15485: 0x89A1, - 15486: 0x6447, - 15487: 0x5C27, - 15488: 0x9065, - 15489: 0x7A91, - 15490: 0x8C23, - 15491: 0x59DA, - 15492: 0x54AC, - 15493: 0x8200, - 15494: 0x836F, - 15495: 0x8981, - 15496: 0x8000, - 15497: 0x6930, - 15498: 0x564E, - 15499: 0x8036, - 15500: 0x7237, - 15501: 0x91CE, - 15502: 0x51B6, - 15503: 0x4E5F, - 15504: 0x9875, - 15505: 0x6396, - 15506: 0x4E1A, - 15507: 0x53F6, - 15508: 0x66F3, - 15509: 0x814B, - 15510: 0x591C, - 15511: 0x6DB2, - 15512: 0x4E00, - 15513: 0x58F9, - 15514: 0x533B, - 15515: 0x63D6, - 15516: 0x94F1, - 15517: 0x4F9D, - 15518: 0x4F0A, - 15519: 0x8863, - 15520: 0x9890, - 15521: 0x5937, - 15522: 0x9057, - 15523: 0x79FB, - 15524: 0x4EEA, - 15525: 0x80F0, - 15526: 0x7591, - 15527: 0x6C82, - 15528: 0x5B9C, - 15529: 0x59E8, - 15530: 0x5F5D, - 15531: 0x6905, - 15532: 0x8681, - 15533: 0x501A, - 15534: 0x5DF2, - 15535: 0x4E59, - 15536: 0x77E3, - 15537: 0x4EE5, - 15538: 0x827A, - 15539: 0x6291, - 15540: 0x6613, - 15541: 0x9091, - 15542: 0x5C79, - 15543: 0x4EBF, - 15544: 0x5F79, - 15545: 0x81C6, - 15546: 0x9038, - 15547: 0x8084, - 15548: 0x75AB, - 15549: 0x4EA6, - 15550: 0x88D4, - 15551: 0x610F, - 15552: 0x6BC5, - 15553: 0x5FC6, - 15554: 0x4E49, - 15555: 0x76CA, - 15556: 0x6EA2, - 15557: 0x8BE3, - 15558: 0x8BAE, - 15559: 0x8C0A, - 15560: 0x8BD1, - 15561: 0x5F02, - 15562: 0x7FFC, - 15563: 0x7FCC, - 15564: 0x7ECE, - 15565: 0x8335, - 15566: 0x836B, - 15567: 0x56E0, - 15568: 0x6BB7, - 15569: 0x97F3, - 15570: 0x9634, - 15571: 0x59FB, - 15572: 0x541F, - 15573: 0x94F6, - 15574: 0x6DEB, - 15575: 0x5BC5, - 15576: 0x996E, - 15577: 0x5C39, - 15578: 0x5F15, - 15579: 0x9690, - 15580: 0x89A2, - 15581: 0x89A3, - 15582: 0x89A4, - 15583: 0x89A5, - 15584: 0x89A6, - 15585: 0x89A7, - 15586: 0x89A8, - 15587: 0x89A9, - 15588: 0x89AA, - 15589: 0x89AB, - 15590: 0x89AC, - 15591: 0x89AD, - 15592: 0x89AE, - 15593: 0x89AF, - 15594: 0x89B0, - 15595: 0x89B1, - 15596: 0x89B2, - 15597: 0x89B3, - 15598: 0x89B4, - 15599: 0x89B5, - 15600: 0x89B6, - 15601: 0x89B7, - 15602: 0x89B8, - 15603: 0x89B9, - 15604: 0x89BA, - 15605: 0x89BB, - 15606: 0x89BC, - 15607: 0x89BD, - 15608: 0x89BE, - 15609: 0x89BF, - 15610: 0x89C0, - 15611: 0x89C3, - 15612: 0x89CD, - 15613: 0x89D3, - 15614: 0x89D4, - 15615: 0x89D5, - 15616: 0x89D7, - 15617: 0x89D8, - 15618: 0x89D9, - 15619: 0x89DB, - 15620: 0x89DD, - 15621: 0x89DF, - 15622: 0x89E0, - 15623: 0x89E1, - 15624: 0x89E2, - 15625: 0x89E4, - 15626: 0x89E7, - 15627: 0x89E8, - 15628: 0x89E9, - 15629: 0x89EA, - 15630: 0x89EC, - 15631: 0x89ED, - 15632: 0x89EE, - 15633: 0x89F0, - 15634: 0x89F1, - 15635: 0x89F2, - 15636: 0x89F4, - 15637: 0x89F5, - 15638: 0x89F6, - 15639: 0x89F7, - 15640: 0x89F8, - 15641: 0x89F9, - 15642: 0x89FA, - 15643: 0x89FB, - 15644: 0x89FC, - 15645: 0x89FD, - 15646: 0x89FE, - 15647: 0x89FF, - 15648: 0x8A01, - 15649: 0x8A02, - 15650: 0x8A03, - 15651: 0x8A04, - 15652: 0x8A05, - 15653: 0x8A06, - 15654: 0x8A08, - 15655: 0x8A09, - 15656: 0x8A0A, - 15657: 0x8A0B, - 15658: 0x8A0C, - 15659: 0x8A0D, - 15660: 0x8A0E, - 15661: 0x8A0F, - 15662: 0x8A10, - 15663: 0x8A11, - 15664: 0x8A12, - 15665: 0x8A13, - 15666: 0x8A14, - 15667: 0x8A15, - 15668: 0x8A16, - 15669: 0x8A17, - 15670: 0x8A18, - 15671: 0x8A19, - 15672: 0x8A1A, - 15673: 0x8A1B, - 15674: 0x8A1C, - 15675: 0x8A1D, - 15676: 0x5370, - 15677: 0x82F1, - 15678: 0x6A31, - 15679: 0x5A74, - 15680: 0x9E70, - 15681: 0x5E94, - 15682: 0x7F28, - 15683: 0x83B9, - 15684: 0x8424, - 15685: 0x8425, - 15686: 0x8367, - 15687: 0x8747, - 15688: 0x8FCE, - 15689: 0x8D62, - 15690: 0x76C8, - 15691: 0x5F71, - 15692: 0x9896, - 15693: 0x786C, - 15694: 0x6620, - 15695: 0x54DF, - 15696: 0x62E5, - 15697: 0x4F63, - 15698: 0x81C3, - 15699: 0x75C8, - 15700: 0x5EB8, - 15701: 0x96CD, - 15702: 0x8E0A, - 15703: 0x86F9, - 15704: 0x548F, - 15705: 0x6CF3, - 15706: 0x6D8C, - 15707: 0x6C38, - 15708: 0x607F, - 15709: 0x52C7, - 15710: 0x7528, - 15711: 0x5E7D, - 15712: 0x4F18, - 15713: 0x60A0, - 15714: 0x5FE7, - 15715: 0x5C24, - 15716: 0x7531, - 15717: 0x90AE, - 15718: 0x94C0, - 15719: 0x72B9, - 15720: 0x6CB9, - 15721: 0x6E38, - 15722: 0x9149, - 15723: 0x6709, - 15724: 0x53CB, - 15725: 0x53F3, - 15726: 0x4F51, - 15727: 0x91C9, - 15728: 0x8BF1, - 15729: 0x53C8, - 15730: 0x5E7C, - 15731: 0x8FC2, - 15732: 0x6DE4, - 15733: 0x4E8E, - 15734: 0x76C2, - 15735: 0x6986, - 15736: 0x865E, - 15737: 0x611A, - 15738: 0x8206, - 15739: 0x4F59, - 15740: 0x4FDE, - 15741: 0x903E, - 15742: 0x9C7C, - 15743: 0x6109, - 15744: 0x6E1D, - 15745: 0x6E14, - 15746: 0x9685, - 15747: 0x4E88, - 15748: 0x5A31, - 15749: 0x96E8, - 15750: 0x4E0E, - 15751: 0x5C7F, - 15752: 0x79B9, - 15753: 0x5B87, - 15754: 0x8BED, - 15755: 0x7FBD, - 15756: 0x7389, - 15757: 0x57DF, - 15758: 0x828B, - 15759: 0x90C1, - 15760: 0x5401, - 15761: 0x9047, - 15762: 0x55BB, - 15763: 0x5CEA, - 15764: 0x5FA1, - 15765: 0x6108, - 15766: 0x6B32, - 15767: 0x72F1, - 15768: 0x80B2, - 15769: 0x8A89, - 15770: 0x8A1E, - 15771: 0x8A1F, - 15772: 0x8A20, - 15773: 0x8A21, - 15774: 0x8A22, - 15775: 0x8A23, - 15776: 0x8A24, - 15777: 0x8A25, - 15778: 0x8A26, - 15779: 0x8A27, - 15780: 0x8A28, - 15781: 0x8A29, - 15782: 0x8A2A, - 15783: 0x8A2B, - 15784: 0x8A2C, - 15785: 0x8A2D, - 15786: 0x8A2E, - 15787: 0x8A2F, - 15788: 0x8A30, - 15789: 0x8A31, - 15790: 0x8A32, - 15791: 0x8A33, - 15792: 0x8A34, - 15793: 0x8A35, - 15794: 0x8A36, - 15795: 0x8A37, - 15796: 0x8A38, - 15797: 0x8A39, - 15798: 0x8A3A, - 15799: 0x8A3B, - 15800: 0x8A3C, - 15801: 0x8A3D, - 15802: 0x8A3F, - 15803: 0x8A40, - 15804: 0x8A41, - 15805: 0x8A42, - 15806: 0x8A43, - 15807: 0x8A44, - 15808: 0x8A45, - 15809: 0x8A46, - 15810: 0x8A47, - 15811: 0x8A49, - 15812: 0x8A4A, - 15813: 0x8A4B, - 15814: 0x8A4C, - 15815: 0x8A4D, - 15816: 0x8A4E, - 15817: 0x8A4F, - 15818: 0x8A50, - 15819: 0x8A51, - 15820: 0x8A52, - 15821: 0x8A53, - 15822: 0x8A54, - 15823: 0x8A55, - 15824: 0x8A56, - 15825: 0x8A57, - 15826: 0x8A58, - 15827: 0x8A59, - 15828: 0x8A5A, - 15829: 0x8A5B, - 15830: 0x8A5C, - 15831: 0x8A5D, - 15832: 0x8A5E, - 15833: 0x8A5F, - 15834: 0x8A60, - 15835: 0x8A61, - 15836: 0x8A62, - 15837: 0x8A63, - 15838: 0x8A64, - 15839: 0x8A65, - 15840: 0x8A66, - 15841: 0x8A67, - 15842: 0x8A68, - 15843: 0x8A69, - 15844: 0x8A6A, - 15845: 0x8A6B, - 15846: 0x8A6C, - 15847: 0x8A6D, - 15848: 0x8A6E, - 15849: 0x8A6F, - 15850: 0x8A70, - 15851: 0x8A71, - 15852: 0x8A72, - 15853: 0x8A73, - 15854: 0x8A74, - 15855: 0x8A75, - 15856: 0x8A76, - 15857: 0x8A77, - 15858: 0x8A78, - 15859: 0x8A7A, - 15860: 0x8A7B, - 15861: 0x8A7C, - 15862: 0x8A7D, - 15863: 0x8A7E, - 15864: 0x8A7F, - 15865: 0x8A80, - 15866: 0x6D74, - 15867: 0x5BD3, - 15868: 0x88D5, - 15869: 0x9884, - 15870: 0x8C6B, - 15871: 0x9A6D, - 15872: 0x9E33, - 15873: 0x6E0A, - 15874: 0x51A4, - 15875: 0x5143, - 15876: 0x57A3, - 15877: 0x8881, - 15878: 0x539F, - 15879: 0x63F4, - 15880: 0x8F95, - 15881: 0x56ED, - 15882: 0x5458, - 15883: 0x5706, - 15884: 0x733F, - 15885: 0x6E90, - 15886: 0x7F18, - 15887: 0x8FDC, - 15888: 0x82D1, - 15889: 0x613F, - 15890: 0x6028, - 15891: 0x9662, - 15892: 0x66F0, - 15893: 0x7EA6, - 15894: 0x8D8A, - 15895: 0x8DC3, - 15896: 0x94A5, - 15897: 0x5CB3, - 15898: 0x7CA4, - 15899: 0x6708, - 15900: 0x60A6, - 15901: 0x9605, - 15902: 0x8018, - 15903: 0x4E91, - 15904: 0x90E7, - 15905: 0x5300, - 15906: 0x9668, - 15907: 0x5141, - 15908: 0x8FD0, - 15909: 0x8574, - 15910: 0x915D, - 15911: 0x6655, - 15912: 0x97F5, - 15913: 0x5B55, - 15914: 0x531D, - 15915: 0x7838, - 15916: 0x6742, - 15917: 0x683D, - 15918: 0x54C9, - 15919: 0x707E, - 15920: 0x5BB0, - 15921: 0x8F7D, - 15922: 0x518D, - 15923: 0x5728, - 15924: 0x54B1, - 15925: 0x6512, - 15926: 0x6682, - 15927: 0x8D5E, - 15928: 0x8D43, - 15929: 0x810F, - 15930: 0x846C, - 15931: 0x906D, - 15932: 0x7CDF, - 15933: 0x51FF, - 15934: 0x85FB, - 15935: 0x67A3, - 15936: 0x65E9, - 15937: 0x6FA1, - 15938: 0x86A4, - 15939: 0x8E81, - 15940: 0x566A, - 15941: 0x9020, - 15942: 0x7682, - 15943: 0x7076, - 15944: 0x71E5, - 15945: 0x8D23, - 15946: 0x62E9, - 15947: 0x5219, - 15948: 0x6CFD, - 15949: 0x8D3C, - 15950: 0x600E, - 15951: 0x589E, - 15952: 0x618E, - 15953: 0x66FE, - 15954: 0x8D60, - 15955: 0x624E, - 15956: 0x55B3, - 15957: 0x6E23, - 15958: 0x672D, - 15959: 0x8F67, - 15960: 0x8A81, - 15961: 0x8A82, - 15962: 0x8A83, - 15963: 0x8A84, - 15964: 0x8A85, - 15965: 0x8A86, - 15966: 0x8A87, - 15967: 0x8A88, - 15968: 0x8A8B, - 15969: 0x8A8C, - 15970: 0x8A8D, - 15971: 0x8A8E, - 15972: 0x8A8F, - 15973: 0x8A90, - 15974: 0x8A91, - 15975: 0x8A92, - 15976: 0x8A94, - 15977: 0x8A95, - 15978: 0x8A96, - 15979: 0x8A97, - 15980: 0x8A98, - 15981: 0x8A99, - 15982: 0x8A9A, - 15983: 0x8A9B, - 15984: 0x8A9C, - 15985: 0x8A9D, - 15986: 0x8A9E, - 15987: 0x8A9F, - 15988: 0x8AA0, - 15989: 0x8AA1, - 15990: 0x8AA2, - 15991: 0x8AA3, - 15992: 0x8AA4, - 15993: 0x8AA5, - 15994: 0x8AA6, - 15995: 0x8AA7, - 15996: 0x8AA8, - 15997: 0x8AA9, - 15998: 0x8AAA, - 15999: 0x8AAB, - 16000: 0x8AAC, - 16001: 0x8AAD, - 16002: 0x8AAE, - 16003: 0x8AAF, - 16004: 0x8AB0, - 16005: 0x8AB1, - 16006: 0x8AB2, - 16007: 0x8AB3, - 16008: 0x8AB4, - 16009: 0x8AB5, - 16010: 0x8AB6, - 16011: 0x8AB7, - 16012: 0x8AB8, - 16013: 0x8AB9, - 16014: 0x8ABA, - 16015: 0x8ABB, - 16016: 0x8ABC, - 16017: 0x8ABD, - 16018: 0x8ABE, - 16019: 0x8ABF, - 16020: 0x8AC0, - 16021: 0x8AC1, - 16022: 0x8AC2, - 16023: 0x8AC3, - 16024: 0x8AC4, - 16025: 0x8AC5, - 16026: 0x8AC6, - 16027: 0x8AC7, - 16028: 0x8AC8, - 16029: 0x8AC9, - 16030: 0x8ACA, - 16031: 0x8ACB, - 16032: 0x8ACC, - 16033: 0x8ACD, - 16034: 0x8ACE, - 16035: 0x8ACF, - 16036: 0x8AD0, - 16037: 0x8AD1, - 16038: 0x8AD2, - 16039: 0x8AD3, - 16040: 0x8AD4, - 16041: 0x8AD5, - 16042: 0x8AD6, - 16043: 0x8AD7, - 16044: 0x8AD8, - 16045: 0x8AD9, - 16046: 0x8ADA, - 16047: 0x8ADB, - 16048: 0x8ADC, - 16049: 0x8ADD, - 16050: 0x8ADE, - 16051: 0x8ADF, - 16052: 0x8AE0, - 16053: 0x8AE1, - 16054: 0x8AE2, - 16055: 0x8AE3, - 16056: 0x94E1, - 16057: 0x95F8, - 16058: 0x7728, - 16059: 0x6805, - 16060: 0x69A8, - 16061: 0x548B, - 16062: 0x4E4D, - 16063: 0x70B8, - 16064: 0x8BC8, - 16065: 0x6458, - 16066: 0x658B, - 16067: 0x5B85, - 16068: 0x7A84, - 16069: 0x503A, - 16070: 0x5BE8, - 16071: 0x77BB, - 16072: 0x6BE1, - 16073: 0x8A79, - 16074: 0x7C98, - 16075: 0x6CBE, - 16076: 0x76CF, - 16077: 0x65A9, - 16078: 0x8F97, - 16079: 0x5D2D, - 16080: 0x5C55, - 16081: 0x8638, - 16082: 0x6808, - 16083: 0x5360, - 16084: 0x6218, - 16085: 0x7AD9, - 16086: 0x6E5B, - 16087: 0x7EFD, - 16088: 0x6A1F, - 16089: 0x7AE0, - 16090: 0x5F70, - 16091: 0x6F33, - 16092: 0x5F20, - 16093: 0x638C, - 16094: 0x6DA8, - 16095: 0x6756, - 16096: 0x4E08, - 16097: 0x5E10, - 16098: 0x8D26, - 16099: 0x4ED7, - 16100: 0x80C0, - 16101: 0x7634, - 16102: 0x969C, - 16103: 0x62DB, - 16104: 0x662D, - 16105: 0x627E, - 16106: 0x6CBC, - 16107: 0x8D75, - 16108: 0x7167, - 16109: 0x7F69, - 16110: 0x5146, - 16111: 0x8087, - 16112: 0x53EC, - 16113: 0x906E, - 16114: 0x6298, - 16115: 0x54F2, - 16116: 0x86F0, - 16117: 0x8F99, - 16118: 0x8005, - 16119: 0x9517, - 16120: 0x8517, - 16121: 0x8FD9, - 16122: 0x6D59, - 16123: 0x73CD, - 16124: 0x659F, - 16125: 0x771F, - 16126: 0x7504, - 16127: 0x7827, - 16128: 0x81FB, - 16129: 0x8D1E, - 16130: 0x9488, - 16131: 0x4FA6, - 16132: 0x6795, - 16133: 0x75B9, - 16134: 0x8BCA, - 16135: 0x9707, - 16136: 0x632F, - 16137: 0x9547, - 16138: 0x9635, - 16139: 0x84B8, - 16140: 0x6323, - 16141: 0x7741, - 16142: 0x5F81, - 16143: 0x72F0, - 16144: 0x4E89, - 16145: 0x6014, - 16146: 0x6574, - 16147: 0x62EF, - 16148: 0x6B63, - 16149: 0x653F, - 16150: 0x8AE4, - 16151: 0x8AE5, - 16152: 0x8AE6, - 16153: 0x8AE7, - 16154: 0x8AE8, - 16155: 0x8AE9, - 16156: 0x8AEA, - 16157: 0x8AEB, - 16158: 0x8AEC, - 16159: 0x8AED, - 16160: 0x8AEE, - 16161: 0x8AEF, - 16162: 0x8AF0, - 16163: 0x8AF1, - 16164: 0x8AF2, - 16165: 0x8AF3, - 16166: 0x8AF4, - 16167: 0x8AF5, - 16168: 0x8AF6, - 16169: 0x8AF7, - 16170: 0x8AF8, - 16171: 0x8AF9, - 16172: 0x8AFA, - 16173: 0x8AFB, - 16174: 0x8AFC, - 16175: 0x8AFD, - 16176: 0x8AFE, - 16177: 0x8AFF, - 16178: 0x8B00, - 16179: 0x8B01, - 16180: 0x8B02, - 16181: 0x8B03, - 16182: 0x8B04, - 16183: 0x8B05, - 16184: 0x8B06, - 16185: 0x8B08, - 16186: 0x8B09, - 16187: 0x8B0A, - 16188: 0x8B0B, - 16189: 0x8B0C, - 16190: 0x8B0D, - 16191: 0x8B0E, - 16192: 0x8B0F, - 16193: 0x8B10, - 16194: 0x8B11, - 16195: 0x8B12, - 16196: 0x8B13, - 16197: 0x8B14, - 16198: 0x8B15, - 16199: 0x8B16, - 16200: 0x8B17, - 16201: 0x8B18, - 16202: 0x8B19, - 16203: 0x8B1A, - 16204: 0x8B1B, - 16205: 0x8B1C, - 16206: 0x8B1D, - 16207: 0x8B1E, - 16208: 0x8B1F, - 16209: 0x8B20, - 16210: 0x8B21, - 16211: 0x8B22, - 16212: 0x8B23, - 16213: 0x8B24, - 16214: 0x8B25, - 16215: 0x8B27, - 16216: 0x8B28, - 16217: 0x8B29, - 16218: 0x8B2A, - 16219: 0x8B2B, - 16220: 0x8B2C, - 16221: 0x8B2D, - 16222: 0x8B2E, - 16223: 0x8B2F, - 16224: 0x8B30, - 16225: 0x8B31, - 16226: 0x8B32, - 16227: 0x8B33, - 16228: 0x8B34, - 16229: 0x8B35, - 16230: 0x8B36, - 16231: 0x8B37, - 16232: 0x8B38, - 16233: 0x8B39, - 16234: 0x8B3A, - 16235: 0x8B3B, - 16236: 0x8B3C, - 16237: 0x8B3D, - 16238: 0x8B3E, - 16239: 0x8B3F, - 16240: 0x8B40, - 16241: 0x8B41, - 16242: 0x8B42, - 16243: 0x8B43, - 16244: 0x8B44, - 16245: 0x8B45, - 16246: 0x5E27, - 16247: 0x75C7, - 16248: 0x90D1, - 16249: 0x8BC1, - 16250: 0x829D, - 16251: 0x679D, - 16252: 0x652F, - 16253: 0x5431, - 16254: 0x8718, - 16255: 0x77E5, - 16256: 0x80A2, - 16257: 0x8102, - 16258: 0x6C41, - 16259: 0x4E4B, - 16260: 0x7EC7, - 16261: 0x804C, - 16262: 0x76F4, - 16263: 0x690D, - 16264: 0x6B96, - 16265: 0x6267, - 16266: 0x503C, - 16267: 0x4F84, - 16268: 0x5740, - 16269: 0x6307, - 16270: 0x6B62, - 16271: 0x8DBE, - 16272: 0x53EA, - 16273: 0x65E8, - 16274: 0x7EB8, - 16275: 0x5FD7, - 16276: 0x631A, - 16277: 0x63B7, - 16278: 0x81F3, - 16279: 0x81F4, - 16280: 0x7F6E, - 16281: 0x5E1C, - 16282: 0x5CD9, - 16283: 0x5236, - 16284: 0x667A, - 16285: 0x79E9, - 16286: 0x7A1A, - 16287: 0x8D28, - 16288: 0x7099, - 16289: 0x75D4, - 16290: 0x6EDE, - 16291: 0x6CBB, - 16292: 0x7A92, - 16293: 0x4E2D, - 16294: 0x76C5, - 16295: 0x5FE0, - 16296: 0x949F, - 16297: 0x8877, - 16298: 0x7EC8, - 16299: 0x79CD, - 16300: 0x80BF, - 16301: 0x91CD, - 16302: 0x4EF2, - 16303: 0x4F17, - 16304: 0x821F, - 16305: 0x5468, - 16306: 0x5DDE, - 16307: 0x6D32, - 16308: 0x8BCC, - 16309: 0x7CA5, - 16310: 0x8F74, - 16311: 0x8098, - 16312: 0x5E1A, - 16313: 0x5492, - 16314: 0x76B1, - 16315: 0x5B99, - 16316: 0x663C, - 16317: 0x9AA4, - 16318: 0x73E0, - 16319: 0x682A, - 16320: 0x86DB, - 16321: 0x6731, - 16322: 0x732A, - 16323: 0x8BF8, - 16324: 0x8BDB, - 16325: 0x9010, - 16326: 0x7AF9, - 16327: 0x70DB, - 16328: 0x716E, - 16329: 0x62C4, - 16330: 0x77A9, - 16331: 0x5631, - 16332: 0x4E3B, - 16333: 0x8457, - 16334: 0x67F1, - 16335: 0x52A9, - 16336: 0x86C0, - 16337: 0x8D2E, - 16338: 0x94F8, - 16339: 0x7B51, - 16340: 0x8B46, - 16341: 0x8B47, - 16342: 0x8B48, - 16343: 0x8B49, - 16344: 0x8B4A, - 16345: 0x8B4B, - 16346: 0x8B4C, - 16347: 0x8B4D, - 16348: 0x8B4E, - 16349: 0x8B4F, - 16350: 0x8B50, - 16351: 0x8B51, - 16352: 0x8B52, - 16353: 0x8B53, - 16354: 0x8B54, - 16355: 0x8B55, - 16356: 0x8B56, - 16357: 0x8B57, - 16358: 0x8B58, - 16359: 0x8B59, - 16360: 0x8B5A, - 16361: 0x8B5B, - 16362: 0x8B5C, - 16363: 0x8B5D, - 16364: 0x8B5E, - 16365: 0x8B5F, - 16366: 0x8B60, - 16367: 0x8B61, - 16368: 0x8B62, - 16369: 0x8B63, - 16370: 0x8B64, - 16371: 0x8B65, - 16372: 0x8B67, - 16373: 0x8B68, - 16374: 0x8B69, - 16375: 0x8B6A, - 16376: 0x8B6B, - 16377: 0x8B6D, - 16378: 0x8B6E, - 16379: 0x8B6F, - 16380: 0x8B70, - 16381: 0x8B71, - 16382: 0x8B72, - 16383: 0x8B73, - 16384: 0x8B74, - 16385: 0x8B75, - 16386: 0x8B76, - 16387: 0x8B77, - 16388: 0x8B78, - 16389: 0x8B79, - 16390: 0x8B7A, - 16391: 0x8B7B, - 16392: 0x8B7C, - 16393: 0x8B7D, - 16394: 0x8B7E, - 16395: 0x8B7F, - 16396: 0x8B80, - 16397: 0x8B81, - 16398: 0x8B82, - 16399: 0x8B83, - 16400: 0x8B84, - 16401: 0x8B85, - 16402: 0x8B86, - 16403: 0x8B87, - 16404: 0x8B88, - 16405: 0x8B89, - 16406: 0x8B8A, - 16407: 0x8B8B, - 16408: 0x8B8C, - 16409: 0x8B8D, - 16410: 0x8B8E, - 16411: 0x8B8F, - 16412: 0x8B90, - 16413: 0x8B91, - 16414: 0x8B92, - 16415: 0x8B93, - 16416: 0x8B94, - 16417: 0x8B95, - 16418: 0x8B96, - 16419: 0x8B97, - 16420: 0x8B98, - 16421: 0x8B99, - 16422: 0x8B9A, - 16423: 0x8B9B, - 16424: 0x8B9C, - 16425: 0x8B9D, - 16426: 0x8B9E, - 16427: 0x8B9F, - 16428: 0x8BAC, - 16429: 0x8BB1, - 16430: 0x8BBB, - 16431: 0x8BC7, - 16432: 0x8BD0, - 16433: 0x8BEA, - 16434: 0x8C09, - 16435: 0x8C1E, - 16436: 0x4F4F, - 16437: 0x6CE8, - 16438: 0x795D, - 16439: 0x9A7B, - 16440: 0x6293, - 16441: 0x722A, - 16442: 0x62FD, - 16443: 0x4E13, - 16444: 0x7816, - 16445: 0x8F6C, - 16446: 0x64B0, - 16447: 0x8D5A, - 16448: 0x7BC6, - 16449: 0x6869, - 16450: 0x5E84, - 16451: 0x88C5, - 16452: 0x5986, - 16453: 0x649E, - 16454: 0x58EE, - 16455: 0x72B6, - 16456: 0x690E, - 16457: 0x9525, - 16458: 0x8FFD, - 16459: 0x8D58, - 16460: 0x5760, - 16461: 0x7F00, - 16462: 0x8C06, - 16463: 0x51C6, - 16464: 0x6349, - 16465: 0x62D9, - 16466: 0x5353, - 16467: 0x684C, - 16468: 0x7422, - 16469: 0x8301, - 16470: 0x914C, - 16471: 0x5544, - 16472: 0x7740, - 16473: 0x707C, - 16474: 0x6D4A, - 16475: 0x5179, - 16476: 0x54A8, - 16477: 0x8D44, - 16478: 0x59FF, - 16479: 0x6ECB, - 16480: 0x6DC4, - 16481: 0x5B5C, - 16482: 0x7D2B, - 16483: 0x4ED4, - 16484: 0x7C7D, - 16485: 0x6ED3, - 16486: 0x5B50, - 16487: 0x81EA, - 16488: 0x6E0D, - 16489: 0x5B57, - 16490: 0x9B03, - 16491: 0x68D5, - 16492: 0x8E2A, - 16493: 0x5B97, - 16494: 0x7EFC, - 16495: 0x603B, - 16496: 0x7EB5, - 16497: 0x90B9, - 16498: 0x8D70, - 16499: 0x594F, - 16500: 0x63CD, - 16501: 0x79DF, - 16502: 0x8DB3, - 16503: 0x5352, - 16504: 0x65CF, - 16505: 0x7956, - 16506: 0x8BC5, - 16507: 0x963B, - 16508: 0x7EC4, - 16509: 0x94BB, - 16510: 0x7E82, - 16511: 0x5634, - 16512: 0x9189, - 16513: 0x6700, - 16514: 0x7F6A, - 16515: 0x5C0A, - 16516: 0x9075, - 16517: 0x6628, - 16518: 0x5DE6, - 16519: 0x4F50, - 16520: 0x67DE, - 16521: 0x505A, - 16522: 0x4F5C, - 16523: 0x5750, - 16524: 0x5EA7, - 16530: 0x8C38, - 16531: 0x8C39, - 16532: 0x8C3A, - 16533: 0x8C3B, - 16534: 0x8C3C, - 16535: 0x8C3D, - 16536: 0x8C3E, - 16537: 0x8C3F, - 16538: 0x8C40, - 16539: 0x8C42, - 16540: 0x8C43, - 16541: 0x8C44, - 16542: 0x8C45, - 16543: 0x8C48, - 16544: 0x8C4A, - 16545: 0x8C4B, - 16546: 0x8C4D, - 16547: 0x8C4E, - 16548: 0x8C4F, - 16549: 0x8C50, - 16550: 0x8C51, - 16551: 0x8C52, - 16552: 0x8C53, - 16553: 0x8C54, - 16554: 0x8C56, - 16555: 0x8C57, - 16556: 0x8C58, - 16557: 0x8C59, - 16558: 0x8C5B, - 16559: 0x8C5C, - 16560: 0x8C5D, - 16561: 0x8C5E, - 16562: 0x8C5F, - 16563: 0x8C60, - 16564: 0x8C63, - 16565: 0x8C64, - 16566: 0x8C65, - 16567: 0x8C66, - 16568: 0x8C67, - 16569: 0x8C68, - 16570: 0x8C69, - 16571: 0x8C6C, - 16572: 0x8C6D, - 16573: 0x8C6E, - 16574: 0x8C6F, - 16575: 0x8C70, - 16576: 0x8C71, - 16577: 0x8C72, - 16578: 0x8C74, - 16579: 0x8C75, - 16580: 0x8C76, - 16581: 0x8C77, - 16582: 0x8C7B, - 16583: 0x8C7C, - 16584: 0x8C7D, - 16585: 0x8C7E, - 16586: 0x8C7F, - 16587: 0x8C80, - 16588: 0x8C81, - 16589: 0x8C83, - 16590: 0x8C84, - 16591: 0x8C86, - 16592: 0x8C87, - 16593: 0x8C88, - 16594: 0x8C8B, - 16595: 0x8C8D, - 16596: 0x8C8E, - 16597: 0x8C8F, - 16598: 0x8C90, - 16599: 0x8C91, - 16600: 0x8C92, - 16601: 0x8C93, - 16602: 0x8C95, - 16603: 0x8C96, - 16604: 0x8C97, - 16605: 0x8C99, - 16606: 0x8C9A, - 16607: 0x8C9B, - 16608: 0x8C9C, - 16609: 0x8C9D, - 16610: 0x8C9E, - 16611: 0x8C9F, - 16612: 0x8CA0, - 16613: 0x8CA1, - 16614: 0x8CA2, - 16615: 0x8CA3, - 16616: 0x8CA4, - 16617: 0x8CA5, - 16618: 0x8CA6, - 16619: 0x8CA7, - 16620: 0x8CA8, - 16621: 0x8CA9, - 16622: 0x8CAA, - 16623: 0x8CAB, - 16624: 0x8CAC, - 16625: 0x8CAD, - 16626: 0x4E8D, - 16627: 0x4E0C, - 16628: 0x5140, - 16629: 0x4E10, - 16630: 0x5EFF, - 16631: 0x5345, - 16632: 0x4E15, - 16633: 0x4E98, - 16634: 0x4E1E, - 16635: 0x9B32, - 16636: 0x5B6C, - 16637: 0x5669, - 16638: 0x4E28, - 16639: 0x79BA, - 16640: 0x4E3F, - 16641: 0x5315, - 16642: 0x4E47, - 16643: 0x592D, - 16644: 0x723B, - 16645: 0x536E, - 16646: 0x6C10, - 16647: 0x56DF, - 16648: 0x80E4, - 16649: 0x9997, - 16650: 0x6BD3, - 16651: 0x777E, - 16652: 0x9F17, - 16653: 0x4E36, - 16654: 0x4E9F, - 16655: 0x9F10, - 16656: 0x4E5C, - 16657: 0x4E69, - 16658: 0x4E93, - 16659: 0x8288, - 16660: 0x5B5B, - 16661: 0x556C, - 16662: 0x560F, - 16663: 0x4EC4, - 16664: 0x538D, - 16665: 0x539D, - 16666: 0x53A3, - 16667: 0x53A5, - 16668: 0x53AE, - 16669: 0x9765, - 16670: 0x8D5D, - 16671: 0x531A, - 16672: 0x53F5, - 16673: 0x5326, - 16674: 0x532E, - 16675: 0x533E, - 16676: 0x8D5C, - 16677: 0x5366, - 16678: 0x5363, - 16679: 0x5202, - 16680: 0x5208, - 16681: 0x520E, - 16682: 0x522D, - 16683: 0x5233, - 16684: 0x523F, - 16685: 0x5240, - 16686: 0x524C, - 16687: 0x525E, - 16688: 0x5261, - 16689: 0x525C, - 16690: 0x84AF, - 16691: 0x527D, - 16692: 0x5282, - 16693: 0x5281, - 16694: 0x5290, - 16695: 0x5293, - 16696: 0x5182, - 16697: 0x7F54, - 16698: 0x4EBB, - 16699: 0x4EC3, - 16700: 0x4EC9, - 16701: 0x4EC2, - 16702: 0x4EE8, - 16703: 0x4EE1, - 16704: 0x4EEB, - 16705: 0x4EDE, - 16706: 0x4F1B, - 16707: 0x4EF3, - 16708: 0x4F22, - 16709: 0x4F64, - 16710: 0x4EF5, - 16711: 0x4F25, - 16712: 0x4F27, - 16713: 0x4F09, - 16714: 0x4F2B, - 16715: 0x4F5E, - 16716: 0x4F67, - 16717: 0x6538, - 16718: 0x4F5A, - 16719: 0x4F5D, - 16720: 0x8CAE, - 16721: 0x8CAF, - 16722: 0x8CB0, - 16723: 0x8CB1, - 16724: 0x8CB2, - 16725: 0x8CB3, - 16726: 0x8CB4, - 16727: 0x8CB5, - 16728: 0x8CB6, - 16729: 0x8CB7, - 16730: 0x8CB8, - 16731: 0x8CB9, - 16732: 0x8CBA, - 16733: 0x8CBB, - 16734: 0x8CBC, - 16735: 0x8CBD, - 16736: 0x8CBE, - 16737: 0x8CBF, - 16738: 0x8CC0, - 16739: 0x8CC1, - 16740: 0x8CC2, - 16741: 0x8CC3, - 16742: 0x8CC4, - 16743: 0x8CC5, - 16744: 0x8CC6, - 16745: 0x8CC7, - 16746: 0x8CC8, - 16747: 0x8CC9, - 16748: 0x8CCA, - 16749: 0x8CCB, - 16750: 0x8CCC, - 16751: 0x8CCD, - 16752: 0x8CCE, - 16753: 0x8CCF, - 16754: 0x8CD0, - 16755: 0x8CD1, - 16756: 0x8CD2, - 16757: 0x8CD3, - 16758: 0x8CD4, - 16759: 0x8CD5, - 16760: 0x8CD6, - 16761: 0x8CD7, - 16762: 0x8CD8, - 16763: 0x8CD9, - 16764: 0x8CDA, - 16765: 0x8CDB, - 16766: 0x8CDC, - 16767: 0x8CDD, - 16768: 0x8CDE, - 16769: 0x8CDF, - 16770: 0x8CE0, - 16771: 0x8CE1, - 16772: 0x8CE2, - 16773: 0x8CE3, - 16774: 0x8CE4, - 16775: 0x8CE5, - 16776: 0x8CE6, - 16777: 0x8CE7, - 16778: 0x8CE8, - 16779: 0x8CE9, - 16780: 0x8CEA, - 16781: 0x8CEB, - 16782: 0x8CEC, - 16783: 0x8CED, - 16784: 0x8CEE, - 16785: 0x8CEF, - 16786: 0x8CF0, - 16787: 0x8CF1, - 16788: 0x8CF2, - 16789: 0x8CF3, - 16790: 0x8CF4, - 16791: 0x8CF5, - 16792: 0x8CF6, - 16793: 0x8CF7, - 16794: 0x8CF8, - 16795: 0x8CF9, - 16796: 0x8CFA, - 16797: 0x8CFB, - 16798: 0x8CFC, - 16799: 0x8CFD, - 16800: 0x8CFE, - 16801: 0x8CFF, - 16802: 0x8D00, - 16803: 0x8D01, - 16804: 0x8D02, - 16805: 0x8D03, - 16806: 0x8D04, - 16807: 0x8D05, - 16808: 0x8D06, - 16809: 0x8D07, - 16810: 0x8D08, - 16811: 0x8D09, - 16812: 0x8D0A, - 16813: 0x8D0B, - 16814: 0x8D0C, - 16815: 0x8D0D, - 16816: 0x4F5F, - 16817: 0x4F57, - 16818: 0x4F32, - 16819: 0x4F3D, - 16820: 0x4F76, - 16821: 0x4F74, - 16822: 0x4F91, - 16823: 0x4F89, - 16824: 0x4F83, - 16825: 0x4F8F, - 16826: 0x4F7E, - 16827: 0x4F7B, - 16828: 0x4FAA, - 16829: 0x4F7C, - 16830: 0x4FAC, - 16831: 0x4F94, - 16832: 0x4FE6, - 16833: 0x4FE8, - 16834: 0x4FEA, - 16835: 0x4FC5, - 16836: 0x4FDA, - 16837: 0x4FE3, - 16838: 0x4FDC, - 16839: 0x4FD1, - 16840: 0x4FDF, - 16841: 0x4FF8, - 16842: 0x5029, - 16843: 0x504C, - 16844: 0x4FF3, - 16845: 0x502C, - 16846: 0x500F, - 16847: 0x502E, - 16848: 0x502D, - 16849: 0x4FFE, - 16850: 0x501C, - 16851: 0x500C, - 16852: 0x5025, - 16853: 0x5028, - 16854: 0x507E, - 16855: 0x5043, - 16856: 0x5055, - 16857: 0x5048, - 16858: 0x504E, - 16859: 0x506C, - 16860: 0x507B, - 16861: 0x50A5, - 16862: 0x50A7, - 16863: 0x50A9, - 16864: 0x50BA, - 16865: 0x50D6, - 16866: 0x5106, - 16867: 0x50ED, - 16868: 0x50EC, - 16869: 0x50E6, - 16870: 0x50EE, - 16871: 0x5107, - 16872: 0x510B, - 16873: 0x4EDD, - 16874: 0x6C3D, - 16875: 0x4F58, - 16876: 0x4F65, - 16877: 0x4FCE, - 16878: 0x9FA0, - 16879: 0x6C46, - 16880: 0x7C74, - 16881: 0x516E, - 16882: 0x5DFD, - 16883: 0x9EC9, - 16884: 0x9998, - 16885: 0x5181, - 16886: 0x5914, - 16887: 0x52F9, - 16888: 0x530D, - 16889: 0x8A07, - 16890: 0x5310, - 16891: 0x51EB, - 16892: 0x5919, - 16893: 0x5155, - 16894: 0x4EA0, - 16895: 0x5156, - 16896: 0x4EB3, - 16897: 0x886E, - 16898: 0x88A4, - 16899: 0x4EB5, - 16900: 0x8114, - 16901: 0x88D2, - 16902: 0x7980, - 16903: 0x5B34, - 16904: 0x8803, - 16905: 0x7FB8, - 16906: 0x51AB, - 16907: 0x51B1, - 16908: 0x51BD, - 16909: 0x51BC, - 16910: 0x8D0E, - 16911: 0x8D0F, - 16912: 0x8D10, - 16913: 0x8D11, - 16914: 0x8D12, - 16915: 0x8D13, - 16916: 0x8D14, - 16917: 0x8D15, - 16918: 0x8D16, - 16919: 0x8D17, - 16920: 0x8D18, - 16921: 0x8D19, - 16922: 0x8D1A, - 16923: 0x8D1B, - 16924: 0x8D1C, - 16925: 0x8D20, - 16926: 0x8D51, - 16927: 0x8D52, - 16928: 0x8D57, - 16929: 0x8D5F, - 16930: 0x8D65, - 16931: 0x8D68, - 16932: 0x8D69, - 16933: 0x8D6A, - 16934: 0x8D6C, - 16935: 0x8D6E, - 16936: 0x8D6F, - 16937: 0x8D71, - 16938: 0x8D72, - 16939: 0x8D78, - 16940: 0x8D79, - 16941: 0x8D7A, - 16942: 0x8D7B, - 16943: 0x8D7C, - 16944: 0x8D7D, - 16945: 0x8D7E, - 16946: 0x8D7F, - 16947: 0x8D80, - 16948: 0x8D82, - 16949: 0x8D83, - 16950: 0x8D86, - 16951: 0x8D87, - 16952: 0x8D88, - 16953: 0x8D89, - 16954: 0x8D8C, - 16955: 0x8D8D, - 16956: 0x8D8E, - 16957: 0x8D8F, - 16958: 0x8D90, - 16959: 0x8D92, - 16960: 0x8D93, - 16961: 0x8D95, - 16962: 0x8D96, - 16963: 0x8D97, - 16964: 0x8D98, - 16965: 0x8D99, - 16966: 0x8D9A, - 16967: 0x8D9B, - 16968: 0x8D9C, - 16969: 0x8D9D, - 16970: 0x8D9E, - 16971: 0x8DA0, - 16972: 0x8DA1, - 16973: 0x8DA2, - 16974: 0x8DA4, - 16975: 0x8DA5, - 16976: 0x8DA6, - 16977: 0x8DA7, - 16978: 0x8DA8, - 16979: 0x8DA9, - 16980: 0x8DAA, - 16981: 0x8DAB, - 16982: 0x8DAC, - 16983: 0x8DAD, - 16984: 0x8DAE, - 16985: 0x8DAF, - 16986: 0x8DB0, - 16987: 0x8DB2, - 16988: 0x8DB6, - 16989: 0x8DB7, - 16990: 0x8DB9, - 16991: 0x8DBB, - 16992: 0x8DBD, - 16993: 0x8DC0, - 16994: 0x8DC1, - 16995: 0x8DC2, - 16996: 0x8DC5, - 16997: 0x8DC7, - 16998: 0x8DC8, - 16999: 0x8DC9, - 17000: 0x8DCA, - 17001: 0x8DCD, - 17002: 0x8DD0, - 17003: 0x8DD2, - 17004: 0x8DD3, - 17005: 0x8DD4, - 17006: 0x51C7, - 17007: 0x5196, - 17008: 0x51A2, - 17009: 0x51A5, - 17010: 0x8BA0, - 17011: 0x8BA6, - 17012: 0x8BA7, - 17013: 0x8BAA, - 17014: 0x8BB4, - 17015: 0x8BB5, - 17016: 0x8BB7, - 17017: 0x8BC2, - 17018: 0x8BC3, - 17019: 0x8BCB, - 17020: 0x8BCF, - 17021: 0x8BCE, - 17022: 0x8BD2, - 17023: 0x8BD3, - 17024: 0x8BD4, - 17025: 0x8BD6, - 17026: 0x8BD8, - 17027: 0x8BD9, - 17028: 0x8BDC, - 17029: 0x8BDF, - 17030: 0x8BE0, - 17031: 0x8BE4, - 17032: 0x8BE8, - 17033: 0x8BE9, - 17034: 0x8BEE, - 17035: 0x8BF0, - 17036: 0x8BF3, - 17037: 0x8BF6, - 17038: 0x8BF9, - 17039: 0x8BFC, - 17040: 0x8BFF, - 17041: 0x8C00, - 17042: 0x8C02, - 17043: 0x8C04, - 17044: 0x8C07, - 17045: 0x8C0C, - 17046: 0x8C0F, - 17047: 0x8C11, - 17048: 0x8C12, - 17049: 0x8C14, - 17050: 0x8C15, - 17051: 0x8C16, - 17052: 0x8C19, - 17053: 0x8C1B, - 17054: 0x8C18, - 17055: 0x8C1D, - 17056: 0x8C1F, - 17057: 0x8C20, - 17058: 0x8C21, - 17059: 0x8C25, - 17060: 0x8C27, - 17061: 0x8C2A, - 17062: 0x8C2B, - 17063: 0x8C2E, - 17064: 0x8C2F, - 17065: 0x8C32, - 17066: 0x8C33, - 17067: 0x8C35, - 17068: 0x8C36, - 17069: 0x5369, - 17070: 0x537A, - 17071: 0x961D, - 17072: 0x9622, - 17073: 0x9621, - 17074: 0x9631, - 17075: 0x962A, - 17076: 0x963D, - 17077: 0x963C, - 17078: 0x9642, - 17079: 0x9649, - 17080: 0x9654, - 17081: 0x965F, - 17082: 0x9667, - 17083: 0x966C, - 17084: 0x9672, - 17085: 0x9674, - 17086: 0x9688, - 17087: 0x968D, - 17088: 0x9697, - 17089: 0x96B0, - 17090: 0x9097, - 17091: 0x909B, - 17092: 0x909D, - 17093: 0x9099, - 17094: 0x90AC, - 17095: 0x90A1, - 17096: 0x90B4, - 17097: 0x90B3, - 17098: 0x90B6, - 17099: 0x90BA, - 17100: 0x8DD5, - 17101: 0x8DD8, - 17102: 0x8DD9, - 17103: 0x8DDC, - 17104: 0x8DE0, - 17105: 0x8DE1, - 17106: 0x8DE2, - 17107: 0x8DE5, - 17108: 0x8DE6, - 17109: 0x8DE7, - 17110: 0x8DE9, - 17111: 0x8DED, - 17112: 0x8DEE, - 17113: 0x8DF0, - 17114: 0x8DF1, - 17115: 0x8DF2, - 17116: 0x8DF4, - 17117: 0x8DF6, - 17118: 0x8DFC, - 17119: 0x8DFE, - 17120: 0x8DFF, - 17121: 0x8E00, - 17122: 0x8E01, - 17123: 0x8E02, - 17124: 0x8E03, - 17125: 0x8E04, - 17126: 0x8E06, - 17127: 0x8E07, - 17128: 0x8E08, - 17129: 0x8E0B, - 17130: 0x8E0D, - 17131: 0x8E0E, - 17132: 0x8E10, - 17133: 0x8E11, - 17134: 0x8E12, - 17135: 0x8E13, - 17136: 0x8E15, - 17137: 0x8E16, - 17138: 0x8E17, - 17139: 0x8E18, - 17140: 0x8E19, - 17141: 0x8E1A, - 17142: 0x8E1B, - 17143: 0x8E1C, - 17144: 0x8E20, - 17145: 0x8E21, - 17146: 0x8E24, - 17147: 0x8E25, - 17148: 0x8E26, - 17149: 0x8E27, - 17150: 0x8E28, - 17151: 0x8E2B, - 17152: 0x8E2D, - 17153: 0x8E30, - 17154: 0x8E32, - 17155: 0x8E33, - 17156: 0x8E34, - 17157: 0x8E36, - 17158: 0x8E37, - 17159: 0x8E38, - 17160: 0x8E3B, - 17161: 0x8E3C, - 17162: 0x8E3E, - 17163: 0x8E3F, - 17164: 0x8E43, - 17165: 0x8E45, - 17166: 0x8E46, - 17167: 0x8E4C, - 17168: 0x8E4D, - 17169: 0x8E4E, - 17170: 0x8E4F, - 17171: 0x8E50, - 17172: 0x8E53, - 17173: 0x8E54, - 17174: 0x8E55, - 17175: 0x8E56, - 17176: 0x8E57, - 17177: 0x8E58, - 17178: 0x8E5A, - 17179: 0x8E5B, - 17180: 0x8E5C, - 17181: 0x8E5D, - 17182: 0x8E5E, - 17183: 0x8E5F, - 17184: 0x8E60, - 17185: 0x8E61, - 17186: 0x8E62, - 17187: 0x8E63, - 17188: 0x8E64, - 17189: 0x8E65, - 17190: 0x8E67, - 17191: 0x8E68, - 17192: 0x8E6A, - 17193: 0x8E6B, - 17194: 0x8E6E, - 17195: 0x8E71, - 17196: 0x90B8, - 17197: 0x90B0, - 17198: 0x90CF, - 17199: 0x90C5, - 17200: 0x90BE, - 17201: 0x90D0, - 17202: 0x90C4, - 17203: 0x90C7, - 17204: 0x90D3, - 17205: 0x90E6, - 17206: 0x90E2, - 17207: 0x90DC, - 17208: 0x90D7, - 17209: 0x90DB, - 17210: 0x90EB, - 17211: 0x90EF, - 17212: 0x90FE, - 17213: 0x9104, - 17214: 0x9122, - 17215: 0x911E, - 17216: 0x9123, - 17217: 0x9131, - 17218: 0x912F, - 17219: 0x9139, - 17220: 0x9143, - 17221: 0x9146, - 17222: 0x520D, - 17223: 0x5942, - 17224: 0x52A2, - 17225: 0x52AC, - 17226: 0x52AD, - 17227: 0x52BE, - 17228: 0x54FF, - 17229: 0x52D0, - 17230: 0x52D6, - 17231: 0x52F0, - 17232: 0x53DF, - 17233: 0x71EE, - 17234: 0x77CD, - 17235: 0x5EF4, - 17236: 0x51F5, - 17237: 0x51FC, - 17238: 0x9B2F, - 17239: 0x53B6, - 17240: 0x5F01, - 17241: 0x755A, - 17242: 0x5DEF, - 17243: 0x574C, - 17244: 0x57A9, - 17245: 0x57A1, - 17246: 0x587E, - 17247: 0x58BC, - 17248: 0x58C5, - 17249: 0x58D1, - 17250: 0x5729, - 17251: 0x572C, - 17252: 0x572A, - 17253: 0x5733, - 17254: 0x5739, - 17255: 0x572E, - 17256: 0x572F, - 17257: 0x575C, - 17258: 0x573B, - 17259: 0x5742, - 17260: 0x5769, - 17261: 0x5785, - 17262: 0x576B, - 17263: 0x5786, - 17264: 0x577C, - 17265: 0x577B, - 17266: 0x5768, - 17267: 0x576D, - 17268: 0x5776, - 17269: 0x5773, - 17270: 0x57AD, - 17271: 0x57A4, - 17272: 0x578C, - 17273: 0x57B2, - 17274: 0x57CF, - 17275: 0x57A7, - 17276: 0x57B4, - 17277: 0x5793, - 17278: 0x57A0, - 17279: 0x57D5, - 17280: 0x57D8, - 17281: 0x57DA, - 17282: 0x57D9, - 17283: 0x57D2, - 17284: 0x57B8, - 17285: 0x57F4, - 17286: 0x57EF, - 17287: 0x57F8, - 17288: 0x57E4, - 17289: 0x57DD, - 17290: 0x8E73, - 17291: 0x8E75, - 17292: 0x8E77, - 17293: 0x8E78, - 17294: 0x8E79, - 17295: 0x8E7A, - 17296: 0x8E7B, - 17297: 0x8E7D, - 17298: 0x8E7E, - 17299: 0x8E80, - 17300: 0x8E82, - 17301: 0x8E83, - 17302: 0x8E84, - 17303: 0x8E86, - 17304: 0x8E88, - 17305: 0x8E89, - 17306: 0x8E8A, - 17307: 0x8E8B, - 17308: 0x8E8C, - 17309: 0x8E8D, - 17310: 0x8E8E, - 17311: 0x8E91, - 17312: 0x8E92, - 17313: 0x8E93, - 17314: 0x8E95, - 17315: 0x8E96, - 17316: 0x8E97, - 17317: 0x8E98, - 17318: 0x8E99, - 17319: 0x8E9A, - 17320: 0x8E9B, - 17321: 0x8E9D, - 17322: 0x8E9F, - 17323: 0x8EA0, - 17324: 0x8EA1, - 17325: 0x8EA2, - 17326: 0x8EA3, - 17327: 0x8EA4, - 17328: 0x8EA5, - 17329: 0x8EA6, - 17330: 0x8EA7, - 17331: 0x8EA8, - 17332: 0x8EA9, - 17333: 0x8EAA, - 17334: 0x8EAD, - 17335: 0x8EAE, - 17336: 0x8EB0, - 17337: 0x8EB1, - 17338: 0x8EB3, - 17339: 0x8EB4, - 17340: 0x8EB5, - 17341: 0x8EB6, - 17342: 0x8EB7, - 17343: 0x8EB8, - 17344: 0x8EB9, - 17345: 0x8EBB, - 17346: 0x8EBC, - 17347: 0x8EBD, - 17348: 0x8EBE, - 17349: 0x8EBF, - 17350: 0x8EC0, - 17351: 0x8EC1, - 17352: 0x8EC2, - 17353: 0x8EC3, - 17354: 0x8EC4, - 17355: 0x8EC5, - 17356: 0x8EC6, - 17357: 0x8EC7, - 17358: 0x8EC8, - 17359: 0x8EC9, - 17360: 0x8ECA, - 17361: 0x8ECB, - 17362: 0x8ECC, - 17363: 0x8ECD, - 17364: 0x8ECF, - 17365: 0x8ED0, - 17366: 0x8ED1, - 17367: 0x8ED2, - 17368: 0x8ED3, - 17369: 0x8ED4, - 17370: 0x8ED5, - 17371: 0x8ED6, - 17372: 0x8ED7, - 17373: 0x8ED8, - 17374: 0x8ED9, - 17375: 0x8EDA, - 17376: 0x8EDB, - 17377: 0x8EDC, - 17378: 0x8EDD, - 17379: 0x8EDE, - 17380: 0x8EDF, - 17381: 0x8EE0, - 17382: 0x8EE1, - 17383: 0x8EE2, - 17384: 0x8EE3, - 17385: 0x8EE4, - 17386: 0x580B, - 17387: 0x580D, - 17388: 0x57FD, - 17389: 0x57ED, - 17390: 0x5800, - 17391: 0x581E, - 17392: 0x5819, - 17393: 0x5844, - 17394: 0x5820, - 17395: 0x5865, - 17396: 0x586C, - 17397: 0x5881, - 17398: 0x5889, - 17399: 0x589A, - 17400: 0x5880, - 17401: 0x99A8, - 17402: 0x9F19, - 17403: 0x61FF, - 17404: 0x8279, - 17405: 0x827D, - 17406: 0x827F, - 17407: 0x828F, - 17408: 0x828A, - 17409: 0x82A8, - 17410: 0x8284, - 17411: 0x828E, - 17412: 0x8291, - 17413: 0x8297, - 17414: 0x8299, - 17415: 0x82AB, - 17416: 0x82B8, - 17417: 0x82BE, - 17418: 0x82B0, - 17419: 0x82C8, - 17420: 0x82CA, - 17421: 0x82E3, - 17422: 0x8298, - 17423: 0x82B7, - 17424: 0x82AE, - 17425: 0x82CB, - 17426: 0x82CC, - 17427: 0x82C1, - 17428: 0x82A9, - 17429: 0x82B4, - 17430: 0x82A1, - 17431: 0x82AA, - 17432: 0x829F, - 17433: 0x82C4, - 17434: 0x82CE, - 17435: 0x82A4, - 17436: 0x82E1, - 17437: 0x8309, - 17438: 0x82F7, - 17439: 0x82E4, - 17440: 0x830F, - 17441: 0x8307, - 17442: 0x82DC, - 17443: 0x82F4, - 17444: 0x82D2, - 17445: 0x82D8, - 17446: 0x830C, - 17447: 0x82FB, - 17448: 0x82D3, - 17449: 0x8311, - 17450: 0x831A, - 17451: 0x8306, - 17452: 0x8314, - 17453: 0x8315, - 17454: 0x82E0, - 17455: 0x82D5, - 17456: 0x831C, - 17457: 0x8351, - 17458: 0x835B, - 17459: 0x835C, - 17460: 0x8308, - 17461: 0x8392, - 17462: 0x833C, - 17463: 0x8334, - 17464: 0x8331, - 17465: 0x839B, - 17466: 0x835E, - 17467: 0x832F, - 17468: 0x834F, - 17469: 0x8347, - 17470: 0x8343, - 17471: 0x835F, - 17472: 0x8340, - 17473: 0x8317, - 17474: 0x8360, - 17475: 0x832D, - 17476: 0x833A, - 17477: 0x8333, - 17478: 0x8366, - 17479: 0x8365, - 17480: 0x8EE5, - 17481: 0x8EE6, - 17482: 0x8EE7, - 17483: 0x8EE8, - 17484: 0x8EE9, - 17485: 0x8EEA, - 17486: 0x8EEB, - 17487: 0x8EEC, - 17488: 0x8EED, - 17489: 0x8EEE, - 17490: 0x8EEF, - 17491: 0x8EF0, - 17492: 0x8EF1, - 17493: 0x8EF2, - 17494: 0x8EF3, - 17495: 0x8EF4, - 17496: 0x8EF5, - 17497: 0x8EF6, - 17498: 0x8EF7, - 17499: 0x8EF8, - 17500: 0x8EF9, - 17501: 0x8EFA, - 17502: 0x8EFB, - 17503: 0x8EFC, - 17504: 0x8EFD, - 17505: 0x8EFE, - 17506: 0x8EFF, - 17507: 0x8F00, - 17508: 0x8F01, - 17509: 0x8F02, - 17510: 0x8F03, - 17511: 0x8F04, - 17512: 0x8F05, - 17513: 0x8F06, - 17514: 0x8F07, - 17515: 0x8F08, - 17516: 0x8F09, - 17517: 0x8F0A, - 17518: 0x8F0B, - 17519: 0x8F0C, - 17520: 0x8F0D, - 17521: 0x8F0E, - 17522: 0x8F0F, - 17523: 0x8F10, - 17524: 0x8F11, - 17525: 0x8F12, - 17526: 0x8F13, - 17527: 0x8F14, - 17528: 0x8F15, - 17529: 0x8F16, - 17530: 0x8F17, - 17531: 0x8F18, - 17532: 0x8F19, - 17533: 0x8F1A, - 17534: 0x8F1B, - 17535: 0x8F1C, - 17536: 0x8F1D, - 17537: 0x8F1E, - 17538: 0x8F1F, - 17539: 0x8F20, - 17540: 0x8F21, - 17541: 0x8F22, - 17542: 0x8F23, - 17543: 0x8F24, - 17544: 0x8F25, - 17545: 0x8F26, - 17546: 0x8F27, - 17547: 0x8F28, - 17548: 0x8F29, - 17549: 0x8F2A, - 17550: 0x8F2B, - 17551: 0x8F2C, - 17552: 0x8F2D, - 17553: 0x8F2E, - 17554: 0x8F2F, - 17555: 0x8F30, - 17556: 0x8F31, - 17557: 0x8F32, - 17558: 0x8F33, - 17559: 0x8F34, - 17560: 0x8F35, - 17561: 0x8F36, - 17562: 0x8F37, - 17563: 0x8F38, - 17564: 0x8F39, - 17565: 0x8F3A, - 17566: 0x8F3B, - 17567: 0x8F3C, - 17568: 0x8F3D, - 17569: 0x8F3E, - 17570: 0x8F3F, - 17571: 0x8F40, - 17572: 0x8F41, - 17573: 0x8F42, - 17574: 0x8F43, - 17575: 0x8F44, - 17576: 0x8368, - 17577: 0x831B, - 17578: 0x8369, - 17579: 0x836C, - 17580: 0x836A, - 17581: 0x836D, - 17582: 0x836E, - 17583: 0x83B0, - 17584: 0x8378, - 17585: 0x83B3, - 17586: 0x83B4, - 17587: 0x83A0, - 17588: 0x83AA, - 17589: 0x8393, - 17590: 0x839C, - 17591: 0x8385, - 17592: 0x837C, - 17593: 0x83B6, - 17594: 0x83A9, - 17595: 0x837D, - 17596: 0x83B8, - 17597: 0x837B, - 17598: 0x8398, - 17599: 0x839E, - 17600: 0x83A8, - 17601: 0x83BA, - 17602: 0x83BC, - 17603: 0x83C1, - 17604: 0x8401, - 17605: 0x83E5, - 17606: 0x83D8, - 17607: 0x5807, - 17608: 0x8418, - 17609: 0x840B, - 17610: 0x83DD, - 17611: 0x83FD, - 17612: 0x83D6, - 17613: 0x841C, - 17614: 0x8438, - 17615: 0x8411, - 17616: 0x8406, - 17617: 0x83D4, - 17618: 0x83DF, - 17619: 0x840F, - 17620: 0x8403, - 17621: 0x83F8, - 17622: 0x83F9, - 17623: 0x83EA, - 17624: 0x83C5, - 17625: 0x83C0, - 17626: 0x8426, - 17627: 0x83F0, - 17628: 0x83E1, - 17629: 0x845C, - 17630: 0x8451, - 17631: 0x845A, - 17632: 0x8459, - 17633: 0x8473, - 17634: 0x8487, - 17635: 0x8488, - 17636: 0x847A, - 17637: 0x8489, - 17638: 0x8478, - 17639: 0x843C, - 17640: 0x8446, - 17641: 0x8469, - 17642: 0x8476, - 17643: 0x848C, - 17644: 0x848E, - 17645: 0x8431, - 17646: 0x846D, - 17647: 0x84C1, - 17648: 0x84CD, - 17649: 0x84D0, - 17650: 0x84E6, - 17651: 0x84BD, - 17652: 0x84D3, - 17653: 0x84CA, - 17654: 0x84BF, - 17655: 0x84BA, - 17656: 0x84E0, - 17657: 0x84A1, - 17658: 0x84B9, - 17659: 0x84B4, - 17660: 0x8497, - 17661: 0x84E5, - 17662: 0x84E3, - 17663: 0x850C, - 17664: 0x750D, - 17665: 0x8538, - 17666: 0x84F0, - 17667: 0x8539, - 17668: 0x851F, - 17669: 0x853A, - 17670: 0x8F45, - 17671: 0x8F46, - 17672: 0x8F47, - 17673: 0x8F48, - 17674: 0x8F49, - 17675: 0x8F4A, - 17676: 0x8F4B, - 17677: 0x8F4C, - 17678: 0x8F4D, - 17679: 0x8F4E, - 17680: 0x8F4F, - 17681: 0x8F50, - 17682: 0x8F51, - 17683: 0x8F52, - 17684: 0x8F53, - 17685: 0x8F54, - 17686: 0x8F55, - 17687: 0x8F56, - 17688: 0x8F57, - 17689: 0x8F58, - 17690: 0x8F59, - 17691: 0x8F5A, - 17692: 0x8F5B, - 17693: 0x8F5C, - 17694: 0x8F5D, - 17695: 0x8F5E, - 17696: 0x8F5F, - 17697: 0x8F60, - 17698: 0x8F61, - 17699: 0x8F62, - 17700: 0x8F63, - 17701: 0x8F64, - 17702: 0x8F65, - 17703: 0x8F6A, - 17704: 0x8F80, - 17705: 0x8F8C, - 17706: 0x8F92, - 17707: 0x8F9D, - 17708: 0x8FA0, - 17709: 0x8FA1, - 17710: 0x8FA2, - 17711: 0x8FA4, - 17712: 0x8FA5, - 17713: 0x8FA6, - 17714: 0x8FA7, - 17715: 0x8FAA, - 17716: 0x8FAC, - 17717: 0x8FAD, - 17718: 0x8FAE, - 17719: 0x8FAF, - 17720: 0x8FB2, - 17721: 0x8FB3, - 17722: 0x8FB4, - 17723: 0x8FB5, - 17724: 0x8FB7, - 17725: 0x8FB8, - 17726: 0x8FBA, - 17727: 0x8FBB, - 17728: 0x8FBC, - 17729: 0x8FBF, - 17730: 0x8FC0, - 17731: 0x8FC3, - 17732: 0x8FC6, - 17733: 0x8FC9, - 17734: 0x8FCA, - 17735: 0x8FCB, - 17736: 0x8FCC, - 17737: 0x8FCD, - 17738: 0x8FCF, - 17739: 0x8FD2, - 17740: 0x8FD6, - 17741: 0x8FD7, - 17742: 0x8FDA, - 17743: 0x8FE0, - 17744: 0x8FE1, - 17745: 0x8FE3, - 17746: 0x8FE7, - 17747: 0x8FEC, - 17748: 0x8FEF, - 17749: 0x8FF1, - 17750: 0x8FF2, - 17751: 0x8FF4, - 17752: 0x8FF5, - 17753: 0x8FF6, - 17754: 0x8FFA, - 17755: 0x8FFB, - 17756: 0x8FFC, - 17757: 0x8FFE, - 17758: 0x8FFF, - 17759: 0x9007, - 17760: 0x9008, - 17761: 0x900C, - 17762: 0x900E, - 17763: 0x9013, - 17764: 0x9015, - 17765: 0x9018, - 17766: 0x8556, - 17767: 0x853B, - 17768: 0x84FF, - 17769: 0x84FC, - 17770: 0x8559, - 17771: 0x8548, - 17772: 0x8568, - 17773: 0x8564, - 17774: 0x855E, - 17775: 0x857A, - 17776: 0x77A2, - 17777: 0x8543, - 17778: 0x8572, - 17779: 0x857B, - 17780: 0x85A4, - 17781: 0x85A8, - 17782: 0x8587, - 17783: 0x858F, - 17784: 0x8579, - 17785: 0x85AE, - 17786: 0x859C, - 17787: 0x8585, - 17788: 0x85B9, - 17789: 0x85B7, - 17790: 0x85B0, - 17791: 0x85D3, - 17792: 0x85C1, - 17793: 0x85DC, - 17794: 0x85FF, - 17795: 0x8627, - 17796: 0x8605, - 17797: 0x8629, - 17798: 0x8616, - 17799: 0x863C, - 17800: 0x5EFE, - 17801: 0x5F08, - 17802: 0x593C, - 17803: 0x5941, - 17804: 0x8037, - 17805: 0x5955, - 17806: 0x595A, - 17807: 0x5958, - 17808: 0x530F, - 17809: 0x5C22, - 17810: 0x5C25, - 17811: 0x5C2C, - 17812: 0x5C34, - 17813: 0x624C, - 17814: 0x626A, - 17815: 0x629F, - 17816: 0x62BB, - 17817: 0x62CA, - 17818: 0x62DA, - 17819: 0x62D7, - 17820: 0x62EE, - 17821: 0x6322, - 17822: 0x62F6, - 17823: 0x6339, - 17824: 0x634B, - 17825: 0x6343, - 17826: 0x63AD, - 17827: 0x63F6, - 17828: 0x6371, - 17829: 0x637A, - 17830: 0x638E, - 17831: 0x63B4, - 17832: 0x636D, - 17833: 0x63AC, - 17834: 0x638A, - 17835: 0x6369, - 17836: 0x63AE, - 17837: 0x63BC, - 17838: 0x63F2, - 17839: 0x63F8, - 17840: 0x63E0, - 17841: 0x63FF, - 17842: 0x63C4, - 17843: 0x63DE, - 17844: 0x63CE, - 17845: 0x6452, - 17846: 0x63C6, - 17847: 0x63BE, - 17848: 0x6445, - 17849: 0x6441, - 17850: 0x640B, - 17851: 0x641B, - 17852: 0x6420, - 17853: 0x640C, - 17854: 0x6426, - 17855: 0x6421, - 17856: 0x645E, - 17857: 0x6484, - 17858: 0x646D, - 17859: 0x6496, - 17860: 0x9019, - 17861: 0x901C, - 17862: 0x9023, - 17863: 0x9024, - 17864: 0x9025, - 17865: 0x9027, - 17866: 0x9028, - 17867: 0x9029, - 17868: 0x902A, - 17869: 0x902B, - 17870: 0x902C, - 17871: 0x9030, - 17872: 0x9031, - 17873: 0x9032, - 17874: 0x9033, - 17875: 0x9034, - 17876: 0x9037, - 17877: 0x9039, - 17878: 0x903A, - 17879: 0x903D, - 17880: 0x903F, - 17881: 0x9040, - 17882: 0x9043, - 17883: 0x9045, - 17884: 0x9046, - 17885: 0x9048, - 17886: 0x9049, - 17887: 0x904A, - 17888: 0x904B, - 17889: 0x904C, - 17890: 0x904E, - 17891: 0x9054, - 17892: 0x9055, - 17893: 0x9056, - 17894: 0x9059, - 17895: 0x905A, - 17896: 0x905C, - 17897: 0x905D, - 17898: 0x905E, - 17899: 0x905F, - 17900: 0x9060, - 17901: 0x9061, - 17902: 0x9064, - 17903: 0x9066, - 17904: 0x9067, - 17905: 0x9069, - 17906: 0x906A, - 17907: 0x906B, - 17908: 0x906C, - 17909: 0x906F, - 17910: 0x9070, - 17911: 0x9071, - 17912: 0x9072, - 17913: 0x9073, - 17914: 0x9076, - 17915: 0x9077, - 17916: 0x9078, - 17917: 0x9079, - 17918: 0x907A, - 17919: 0x907B, - 17920: 0x907C, - 17921: 0x907E, - 17922: 0x9081, - 17923: 0x9084, - 17924: 0x9085, - 17925: 0x9086, - 17926: 0x9087, - 17927: 0x9089, - 17928: 0x908A, - 17929: 0x908C, - 17930: 0x908D, - 17931: 0x908E, - 17932: 0x908F, - 17933: 0x9090, - 17934: 0x9092, - 17935: 0x9094, - 17936: 0x9096, - 17937: 0x9098, - 17938: 0x909A, - 17939: 0x909C, - 17940: 0x909E, - 17941: 0x909F, - 17942: 0x90A0, - 17943: 0x90A4, - 17944: 0x90A5, - 17945: 0x90A7, - 17946: 0x90A8, - 17947: 0x90A9, - 17948: 0x90AB, - 17949: 0x90AD, - 17950: 0x90B2, - 17951: 0x90B7, - 17952: 0x90BC, - 17953: 0x90BD, - 17954: 0x90BF, - 17955: 0x90C0, - 17956: 0x647A, - 17957: 0x64B7, - 17958: 0x64B8, - 17959: 0x6499, - 17960: 0x64BA, - 17961: 0x64C0, - 17962: 0x64D0, - 17963: 0x64D7, - 17964: 0x64E4, - 17965: 0x64E2, - 17966: 0x6509, - 17967: 0x6525, - 17968: 0x652E, - 17969: 0x5F0B, - 17970: 0x5FD2, - 17971: 0x7519, - 17972: 0x5F11, - 17973: 0x535F, - 17974: 0x53F1, - 17975: 0x53FD, - 17976: 0x53E9, - 17977: 0x53E8, - 17978: 0x53FB, - 17979: 0x5412, - 17980: 0x5416, - 17981: 0x5406, - 17982: 0x544B, - 17983: 0x5452, - 17984: 0x5453, - 17985: 0x5454, - 17986: 0x5456, - 17987: 0x5443, - 17988: 0x5421, - 17989: 0x5457, - 17990: 0x5459, - 17991: 0x5423, - 17992: 0x5432, - 17993: 0x5482, - 17994: 0x5494, - 17995: 0x5477, - 17996: 0x5471, - 17997: 0x5464, - 17998: 0x549A, - 17999: 0x549B, - 18000: 0x5484, - 18001: 0x5476, - 18002: 0x5466, - 18003: 0x549D, - 18004: 0x54D0, - 18005: 0x54AD, - 18006: 0x54C2, - 18007: 0x54B4, - 18008: 0x54D2, - 18009: 0x54A7, - 18010: 0x54A6, - 18011: 0x54D3, - 18012: 0x54D4, - 18013: 0x5472, - 18014: 0x54A3, - 18015: 0x54D5, - 18016: 0x54BB, - 18017: 0x54BF, - 18018: 0x54CC, - 18019: 0x54D9, - 18020: 0x54DA, - 18021: 0x54DC, - 18022: 0x54A9, - 18023: 0x54AA, - 18024: 0x54A4, - 18025: 0x54DD, - 18026: 0x54CF, - 18027: 0x54DE, - 18028: 0x551B, - 18029: 0x54E7, - 18030: 0x5520, - 18031: 0x54FD, - 18032: 0x5514, - 18033: 0x54F3, - 18034: 0x5522, - 18035: 0x5523, - 18036: 0x550F, - 18037: 0x5511, - 18038: 0x5527, - 18039: 0x552A, - 18040: 0x5567, - 18041: 0x558F, - 18042: 0x55B5, - 18043: 0x5549, - 18044: 0x556D, - 18045: 0x5541, - 18046: 0x5555, - 18047: 0x553F, - 18048: 0x5550, - 18049: 0x553C, - 18050: 0x90C2, - 18051: 0x90C3, - 18052: 0x90C6, - 18053: 0x90C8, - 18054: 0x90C9, - 18055: 0x90CB, - 18056: 0x90CC, - 18057: 0x90CD, - 18058: 0x90D2, - 18059: 0x90D4, - 18060: 0x90D5, - 18061: 0x90D6, - 18062: 0x90D8, - 18063: 0x90D9, - 18064: 0x90DA, - 18065: 0x90DE, - 18066: 0x90DF, - 18067: 0x90E0, - 18068: 0x90E3, - 18069: 0x90E4, - 18070: 0x90E5, - 18071: 0x90E9, - 18072: 0x90EA, - 18073: 0x90EC, - 18074: 0x90EE, - 18075: 0x90F0, - 18076: 0x90F1, - 18077: 0x90F2, - 18078: 0x90F3, - 18079: 0x90F5, - 18080: 0x90F6, - 18081: 0x90F7, - 18082: 0x90F9, - 18083: 0x90FA, - 18084: 0x90FB, - 18085: 0x90FC, - 18086: 0x90FF, - 18087: 0x9100, - 18088: 0x9101, - 18089: 0x9103, - 18090: 0x9105, - 18091: 0x9106, - 18092: 0x9107, - 18093: 0x9108, - 18094: 0x9109, - 18095: 0x910A, - 18096: 0x910B, - 18097: 0x910C, - 18098: 0x910D, - 18099: 0x910E, - 18100: 0x910F, - 18101: 0x9110, - 18102: 0x9111, - 18103: 0x9112, - 18104: 0x9113, - 18105: 0x9114, - 18106: 0x9115, - 18107: 0x9116, - 18108: 0x9117, - 18109: 0x9118, - 18110: 0x911A, - 18111: 0x911B, - 18112: 0x911C, - 18113: 0x911D, - 18114: 0x911F, - 18115: 0x9120, - 18116: 0x9121, - 18117: 0x9124, - 18118: 0x9125, - 18119: 0x9126, - 18120: 0x9127, - 18121: 0x9128, - 18122: 0x9129, - 18123: 0x912A, - 18124: 0x912B, - 18125: 0x912C, - 18126: 0x912D, - 18127: 0x912E, - 18128: 0x9130, - 18129: 0x9132, - 18130: 0x9133, - 18131: 0x9134, - 18132: 0x9135, - 18133: 0x9136, - 18134: 0x9137, - 18135: 0x9138, - 18136: 0x913A, - 18137: 0x913B, - 18138: 0x913C, - 18139: 0x913D, - 18140: 0x913E, - 18141: 0x913F, - 18142: 0x9140, - 18143: 0x9141, - 18144: 0x9142, - 18145: 0x9144, - 18146: 0x5537, - 18147: 0x5556, - 18148: 0x5575, - 18149: 0x5576, - 18150: 0x5577, - 18151: 0x5533, - 18152: 0x5530, - 18153: 0x555C, - 18154: 0x558B, - 18155: 0x55D2, - 18156: 0x5583, - 18157: 0x55B1, - 18158: 0x55B9, - 18159: 0x5588, - 18160: 0x5581, - 18161: 0x559F, - 18162: 0x557E, - 18163: 0x55D6, - 18164: 0x5591, - 18165: 0x557B, - 18166: 0x55DF, - 18167: 0x55BD, - 18168: 0x55BE, - 18169: 0x5594, - 18170: 0x5599, - 18171: 0x55EA, - 18172: 0x55F7, - 18173: 0x55C9, - 18174: 0x561F, - 18175: 0x55D1, - 18176: 0x55EB, - 18177: 0x55EC, - 18178: 0x55D4, - 18179: 0x55E6, - 18180: 0x55DD, - 18181: 0x55C4, - 18182: 0x55EF, - 18183: 0x55E5, - 18184: 0x55F2, - 18185: 0x55F3, - 18186: 0x55CC, - 18187: 0x55CD, - 18188: 0x55E8, - 18189: 0x55F5, - 18190: 0x55E4, - 18191: 0x8F94, - 18192: 0x561E, - 18193: 0x5608, - 18194: 0x560C, - 18195: 0x5601, - 18196: 0x5624, - 18197: 0x5623, - 18198: 0x55FE, - 18199: 0x5600, - 18200: 0x5627, - 18201: 0x562D, - 18202: 0x5658, - 18203: 0x5639, - 18204: 0x5657, - 18205: 0x562C, - 18206: 0x564D, - 18207: 0x5662, - 18208: 0x5659, - 18209: 0x565C, - 18210: 0x564C, - 18211: 0x5654, - 18212: 0x5686, - 18213: 0x5664, - 18214: 0x5671, - 18215: 0x566B, - 18216: 0x567B, - 18217: 0x567C, - 18218: 0x5685, - 18219: 0x5693, - 18220: 0x56AF, - 18221: 0x56D4, - 18222: 0x56D7, - 18223: 0x56DD, - 18224: 0x56E1, - 18225: 0x56F5, - 18226: 0x56EB, - 18227: 0x56F9, - 18228: 0x56FF, - 18229: 0x5704, - 18230: 0x570A, - 18231: 0x5709, - 18232: 0x571C, - 18233: 0x5E0F, - 18234: 0x5E19, - 18235: 0x5E14, - 18236: 0x5E11, - 18237: 0x5E31, - 18238: 0x5E3B, - 18239: 0x5E3C, - 18240: 0x9145, - 18241: 0x9147, - 18242: 0x9148, - 18243: 0x9151, - 18244: 0x9153, - 18245: 0x9154, - 18246: 0x9155, - 18247: 0x9156, - 18248: 0x9158, - 18249: 0x9159, - 18250: 0x915B, - 18251: 0x915C, - 18252: 0x915F, - 18253: 0x9160, - 18254: 0x9166, - 18255: 0x9167, - 18256: 0x9168, - 18257: 0x916B, - 18258: 0x916D, - 18259: 0x9173, - 18260: 0x917A, - 18261: 0x917B, - 18262: 0x917C, - 18263: 0x9180, - 18264: 0x9181, - 18265: 0x9182, - 18266: 0x9183, - 18267: 0x9184, - 18268: 0x9186, - 18269: 0x9188, - 18270: 0x918A, - 18271: 0x918E, - 18272: 0x918F, - 18273: 0x9193, - 18274: 0x9194, - 18275: 0x9195, - 18276: 0x9196, - 18277: 0x9197, - 18278: 0x9198, - 18279: 0x9199, - 18280: 0x919C, - 18281: 0x919D, - 18282: 0x919E, - 18283: 0x919F, - 18284: 0x91A0, - 18285: 0x91A1, - 18286: 0x91A4, - 18287: 0x91A5, - 18288: 0x91A6, - 18289: 0x91A7, - 18290: 0x91A8, - 18291: 0x91A9, - 18292: 0x91AB, - 18293: 0x91AC, - 18294: 0x91B0, - 18295: 0x91B1, - 18296: 0x91B2, - 18297: 0x91B3, - 18298: 0x91B6, - 18299: 0x91B7, - 18300: 0x91B8, - 18301: 0x91B9, - 18302: 0x91BB, - 18303: 0x91BC, - 18304: 0x91BD, - 18305: 0x91BE, - 18306: 0x91BF, - 18307: 0x91C0, - 18308: 0x91C1, - 18309: 0x91C2, - 18310: 0x91C3, - 18311: 0x91C4, - 18312: 0x91C5, - 18313: 0x91C6, - 18314: 0x91C8, - 18315: 0x91CB, - 18316: 0x91D0, - 18317: 0x91D2, - 18318: 0x91D3, - 18319: 0x91D4, - 18320: 0x91D5, - 18321: 0x91D6, - 18322: 0x91D7, - 18323: 0x91D8, - 18324: 0x91D9, - 18325: 0x91DA, - 18326: 0x91DB, - 18327: 0x91DD, - 18328: 0x91DE, - 18329: 0x91DF, - 18330: 0x91E0, - 18331: 0x91E1, - 18332: 0x91E2, - 18333: 0x91E3, - 18334: 0x91E4, - 18335: 0x91E5, - 18336: 0x5E37, - 18337: 0x5E44, - 18338: 0x5E54, - 18339: 0x5E5B, - 18340: 0x5E5E, - 18341: 0x5E61, - 18342: 0x5C8C, - 18343: 0x5C7A, - 18344: 0x5C8D, - 18345: 0x5C90, - 18346: 0x5C96, - 18347: 0x5C88, - 18348: 0x5C98, - 18349: 0x5C99, - 18350: 0x5C91, - 18351: 0x5C9A, - 18352: 0x5C9C, - 18353: 0x5CB5, - 18354: 0x5CA2, - 18355: 0x5CBD, - 18356: 0x5CAC, - 18357: 0x5CAB, - 18358: 0x5CB1, - 18359: 0x5CA3, - 18360: 0x5CC1, - 18361: 0x5CB7, - 18362: 0x5CC4, - 18363: 0x5CD2, - 18364: 0x5CE4, - 18365: 0x5CCB, - 18366: 0x5CE5, - 18367: 0x5D02, - 18368: 0x5D03, - 18369: 0x5D27, - 18370: 0x5D26, - 18371: 0x5D2E, - 18372: 0x5D24, - 18373: 0x5D1E, - 18374: 0x5D06, - 18375: 0x5D1B, - 18376: 0x5D58, - 18377: 0x5D3E, - 18378: 0x5D34, - 18379: 0x5D3D, - 18380: 0x5D6C, - 18381: 0x5D5B, - 18382: 0x5D6F, - 18383: 0x5D5D, - 18384: 0x5D6B, - 18385: 0x5D4B, - 18386: 0x5D4A, - 18387: 0x5D69, - 18388: 0x5D74, - 18389: 0x5D82, - 18390: 0x5D99, - 18391: 0x5D9D, - 18392: 0x8C73, - 18393: 0x5DB7, - 18394: 0x5DC5, - 18395: 0x5F73, - 18396: 0x5F77, - 18397: 0x5F82, - 18398: 0x5F87, - 18399: 0x5F89, - 18400: 0x5F8C, - 18401: 0x5F95, - 18402: 0x5F99, - 18403: 0x5F9C, - 18404: 0x5FA8, - 18405: 0x5FAD, - 18406: 0x5FB5, - 18407: 0x5FBC, - 18408: 0x8862, - 18409: 0x5F61, - 18410: 0x72AD, - 18411: 0x72B0, - 18412: 0x72B4, - 18413: 0x72B7, - 18414: 0x72B8, - 18415: 0x72C3, - 18416: 0x72C1, - 18417: 0x72CE, - 18418: 0x72CD, - 18419: 0x72D2, - 18420: 0x72E8, - 18421: 0x72EF, - 18422: 0x72E9, - 18423: 0x72F2, - 18424: 0x72F4, - 18425: 0x72F7, - 18426: 0x7301, - 18427: 0x72F3, - 18428: 0x7303, - 18429: 0x72FA, - 18430: 0x91E6, - 18431: 0x91E7, - 18432: 0x91E8, - 18433: 0x91E9, - 18434: 0x91EA, - 18435: 0x91EB, - 18436: 0x91EC, - 18437: 0x91ED, - 18438: 0x91EE, - 18439: 0x91EF, - 18440: 0x91F0, - 18441: 0x91F1, - 18442: 0x91F2, - 18443: 0x91F3, - 18444: 0x91F4, - 18445: 0x91F5, - 18446: 0x91F6, - 18447: 0x91F7, - 18448: 0x91F8, - 18449: 0x91F9, - 18450: 0x91FA, - 18451: 0x91FB, - 18452: 0x91FC, - 18453: 0x91FD, - 18454: 0x91FE, - 18455: 0x91FF, - 18456: 0x9200, - 18457: 0x9201, - 18458: 0x9202, - 18459: 0x9203, - 18460: 0x9204, - 18461: 0x9205, - 18462: 0x9206, - 18463: 0x9207, - 18464: 0x9208, - 18465: 0x9209, - 18466: 0x920A, - 18467: 0x920B, - 18468: 0x920C, - 18469: 0x920D, - 18470: 0x920E, - 18471: 0x920F, - 18472: 0x9210, - 18473: 0x9211, - 18474: 0x9212, - 18475: 0x9213, - 18476: 0x9214, - 18477: 0x9215, - 18478: 0x9216, - 18479: 0x9217, - 18480: 0x9218, - 18481: 0x9219, - 18482: 0x921A, - 18483: 0x921B, - 18484: 0x921C, - 18485: 0x921D, - 18486: 0x921E, - 18487: 0x921F, - 18488: 0x9220, - 18489: 0x9221, - 18490: 0x9222, - 18491: 0x9223, - 18492: 0x9224, - 18493: 0x9225, - 18494: 0x9226, - 18495: 0x9227, - 18496: 0x9228, - 18497: 0x9229, - 18498: 0x922A, - 18499: 0x922B, - 18500: 0x922C, - 18501: 0x922D, - 18502: 0x922E, - 18503: 0x922F, - 18504: 0x9230, - 18505: 0x9231, - 18506: 0x9232, - 18507: 0x9233, - 18508: 0x9234, - 18509: 0x9235, - 18510: 0x9236, - 18511: 0x9237, - 18512: 0x9238, - 18513: 0x9239, - 18514: 0x923A, - 18515: 0x923B, - 18516: 0x923C, - 18517: 0x923D, - 18518: 0x923E, - 18519: 0x923F, - 18520: 0x9240, - 18521: 0x9241, - 18522: 0x9242, - 18523: 0x9243, - 18524: 0x9244, - 18525: 0x9245, - 18526: 0x72FB, - 18527: 0x7317, - 18528: 0x7313, - 18529: 0x7321, - 18530: 0x730A, - 18531: 0x731E, - 18532: 0x731D, - 18533: 0x7315, - 18534: 0x7322, - 18535: 0x7339, - 18536: 0x7325, - 18537: 0x732C, - 18538: 0x7338, - 18539: 0x7331, - 18540: 0x7350, - 18541: 0x734D, - 18542: 0x7357, - 18543: 0x7360, - 18544: 0x736C, - 18545: 0x736F, - 18546: 0x737E, - 18547: 0x821B, - 18548: 0x5925, - 18549: 0x98E7, - 18550: 0x5924, - 18551: 0x5902, - 18552: 0x9963, - 18553: 0x9967, - 18554: 0x9968, - 18555: 0x9969, - 18556: 0x996A, - 18557: 0x996B, - 18558: 0x996C, - 18559: 0x9974, - 18560: 0x9977, - 18561: 0x997D, - 18562: 0x9980, - 18563: 0x9984, - 18564: 0x9987, - 18565: 0x998A, - 18566: 0x998D, - 18567: 0x9990, - 18568: 0x9991, - 18569: 0x9993, - 18570: 0x9994, - 18571: 0x9995, - 18572: 0x5E80, - 18573: 0x5E91, - 18574: 0x5E8B, - 18575: 0x5E96, - 18576: 0x5EA5, - 18577: 0x5EA0, - 18578: 0x5EB9, - 18579: 0x5EB5, - 18580: 0x5EBE, - 18581: 0x5EB3, - 18582: 0x8D53, - 18583: 0x5ED2, - 18584: 0x5ED1, - 18585: 0x5EDB, - 18586: 0x5EE8, - 18587: 0x5EEA, - 18588: 0x81BA, - 18589: 0x5FC4, - 18590: 0x5FC9, - 18591: 0x5FD6, - 18592: 0x5FCF, - 18593: 0x6003, - 18594: 0x5FEE, - 18595: 0x6004, - 18596: 0x5FE1, - 18597: 0x5FE4, - 18598: 0x5FFE, - 18599: 0x6005, - 18600: 0x6006, - 18601: 0x5FEA, - 18602: 0x5FED, - 18603: 0x5FF8, - 18604: 0x6019, - 18605: 0x6035, - 18606: 0x6026, - 18607: 0x601B, - 18608: 0x600F, - 18609: 0x600D, - 18610: 0x6029, - 18611: 0x602B, - 18612: 0x600A, - 18613: 0x603F, - 18614: 0x6021, - 18615: 0x6078, - 18616: 0x6079, - 18617: 0x607B, - 18618: 0x607A, - 18619: 0x6042, - 18620: 0x9246, - 18621: 0x9247, - 18622: 0x9248, - 18623: 0x9249, - 18624: 0x924A, - 18625: 0x924B, - 18626: 0x924C, - 18627: 0x924D, - 18628: 0x924E, - 18629: 0x924F, - 18630: 0x9250, - 18631: 0x9251, - 18632: 0x9252, - 18633: 0x9253, - 18634: 0x9254, - 18635: 0x9255, - 18636: 0x9256, - 18637: 0x9257, - 18638: 0x9258, - 18639: 0x9259, - 18640: 0x925A, - 18641: 0x925B, - 18642: 0x925C, - 18643: 0x925D, - 18644: 0x925E, - 18645: 0x925F, - 18646: 0x9260, - 18647: 0x9261, - 18648: 0x9262, - 18649: 0x9263, - 18650: 0x9264, - 18651: 0x9265, - 18652: 0x9266, - 18653: 0x9267, - 18654: 0x9268, - 18655: 0x9269, - 18656: 0x926A, - 18657: 0x926B, - 18658: 0x926C, - 18659: 0x926D, - 18660: 0x926E, - 18661: 0x926F, - 18662: 0x9270, - 18663: 0x9271, - 18664: 0x9272, - 18665: 0x9273, - 18666: 0x9275, - 18667: 0x9276, - 18668: 0x9277, - 18669: 0x9278, - 18670: 0x9279, - 18671: 0x927A, - 18672: 0x927B, - 18673: 0x927C, - 18674: 0x927D, - 18675: 0x927E, - 18676: 0x927F, - 18677: 0x9280, - 18678: 0x9281, - 18679: 0x9282, - 18680: 0x9283, - 18681: 0x9284, - 18682: 0x9285, - 18683: 0x9286, - 18684: 0x9287, - 18685: 0x9288, - 18686: 0x9289, - 18687: 0x928A, - 18688: 0x928B, - 18689: 0x928C, - 18690: 0x928D, - 18691: 0x928F, - 18692: 0x9290, - 18693: 0x9291, - 18694: 0x9292, - 18695: 0x9293, - 18696: 0x9294, - 18697: 0x9295, - 18698: 0x9296, - 18699: 0x9297, - 18700: 0x9298, - 18701: 0x9299, - 18702: 0x929A, - 18703: 0x929B, - 18704: 0x929C, - 18705: 0x929D, - 18706: 0x929E, - 18707: 0x929F, - 18708: 0x92A0, - 18709: 0x92A1, - 18710: 0x92A2, - 18711: 0x92A3, - 18712: 0x92A4, - 18713: 0x92A5, - 18714: 0x92A6, - 18715: 0x92A7, - 18716: 0x606A, - 18717: 0x607D, - 18718: 0x6096, - 18719: 0x609A, - 18720: 0x60AD, - 18721: 0x609D, - 18722: 0x6083, - 18723: 0x6092, - 18724: 0x608C, - 18725: 0x609B, - 18726: 0x60EC, - 18727: 0x60BB, - 18728: 0x60B1, - 18729: 0x60DD, - 18730: 0x60D8, - 18731: 0x60C6, - 18732: 0x60DA, - 18733: 0x60B4, - 18734: 0x6120, - 18735: 0x6126, - 18736: 0x6115, - 18737: 0x6123, - 18738: 0x60F4, - 18739: 0x6100, - 18740: 0x610E, - 18741: 0x612B, - 18742: 0x614A, - 18743: 0x6175, - 18744: 0x61AC, - 18745: 0x6194, - 18746: 0x61A7, - 18747: 0x61B7, - 18748: 0x61D4, - 18749: 0x61F5, - 18750: 0x5FDD, - 18751: 0x96B3, - 18752: 0x95E9, - 18753: 0x95EB, - 18754: 0x95F1, - 18755: 0x95F3, - 18756: 0x95F5, - 18757: 0x95F6, - 18758: 0x95FC, - 18759: 0x95FE, - 18760: 0x9603, - 18761: 0x9604, - 18762: 0x9606, - 18763: 0x9608, - 18764: 0x960A, - 18765: 0x960B, - 18766: 0x960C, - 18767: 0x960D, - 18768: 0x960F, - 18769: 0x9612, - 18770: 0x9615, - 18771: 0x9616, - 18772: 0x9617, - 18773: 0x9619, - 18774: 0x961A, - 18775: 0x4E2C, - 18776: 0x723F, - 18777: 0x6215, - 18778: 0x6C35, - 18779: 0x6C54, - 18780: 0x6C5C, - 18781: 0x6C4A, - 18782: 0x6CA3, - 18783: 0x6C85, - 18784: 0x6C90, - 18785: 0x6C94, - 18786: 0x6C8C, - 18787: 0x6C68, - 18788: 0x6C69, - 18789: 0x6C74, - 18790: 0x6C76, - 18791: 0x6C86, - 18792: 0x6CA9, - 18793: 0x6CD0, - 18794: 0x6CD4, - 18795: 0x6CAD, - 18796: 0x6CF7, - 18797: 0x6CF8, - 18798: 0x6CF1, - 18799: 0x6CD7, - 18800: 0x6CB2, - 18801: 0x6CE0, - 18802: 0x6CD6, - 18803: 0x6CFA, - 18804: 0x6CEB, - 18805: 0x6CEE, - 18806: 0x6CB1, - 18807: 0x6CD3, - 18808: 0x6CEF, - 18809: 0x6CFE, - 18810: 0x92A8, - 18811: 0x92A9, - 18812: 0x92AA, - 18813: 0x92AB, - 18814: 0x92AC, - 18815: 0x92AD, - 18816: 0x92AF, - 18817: 0x92B0, - 18818: 0x92B1, - 18819: 0x92B2, - 18820: 0x92B3, - 18821: 0x92B4, - 18822: 0x92B5, - 18823: 0x92B6, - 18824: 0x92B7, - 18825: 0x92B8, - 18826: 0x92B9, - 18827: 0x92BA, - 18828: 0x92BB, - 18829: 0x92BC, - 18830: 0x92BD, - 18831: 0x92BE, - 18832: 0x92BF, - 18833: 0x92C0, - 18834: 0x92C1, - 18835: 0x92C2, - 18836: 0x92C3, - 18837: 0x92C4, - 18838: 0x92C5, - 18839: 0x92C6, - 18840: 0x92C7, - 18841: 0x92C9, - 18842: 0x92CA, - 18843: 0x92CB, - 18844: 0x92CC, - 18845: 0x92CD, - 18846: 0x92CE, - 18847: 0x92CF, - 18848: 0x92D0, - 18849: 0x92D1, - 18850: 0x92D2, - 18851: 0x92D3, - 18852: 0x92D4, - 18853: 0x92D5, - 18854: 0x92D6, - 18855: 0x92D7, - 18856: 0x92D8, - 18857: 0x92D9, - 18858: 0x92DA, - 18859: 0x92DB, - 18860: 0x92DC, - 18861: 0x92DD, - 18862: 0x92DE, - 18863: 0x92DF, - 18864: 0x92E0, - 18865: 0x92E1, - 18866: 0x92E2, - 18867: 0x92E3, - 18868: 0x92E4, - 18869: 0x92E5, - 18870: 0x92E6, - 18871: 0x92E7, - 18872: 0x92E8, - 18873: 0x92E9, - 18874: 0x92EA, - 18875: 0x92EB, - 18876: 0x92EC, - 18877: 0x92ED, - 18878: 0x92EE, - 18879: 0x92EF, - 18880: 0x92F0, - 18881: 0x92F1, - 18882: 0x92F2, - 18883: 0x92F3, - 18884: 0x92F4, - 18885: 0x92F5, - 18886: 0x92F6, - 18887: 0x92F7, - 18888: 0x92F8, - 18889: 0x92F9, - 18890: 0x92FA, - 18891: 0x92FB, - 18892: 0x92FC, - 18893: 0x92FD, - 18894: 0x92FE, - 18895: 0x92FF, - 18896: 0x9300, - 18897: 0x9301, - 18898: 0x9302, - 18899: 0x9303, - 18900: 0x9304, - 18901: 0x9305, - 18902: 0x9306, - 18903: 0x9307, - 18904: 0x9308, - 18905: 0x9309, - 18906: 0x6D39, - 18907: 0x6D27, - 18908: 0x6D0C, - 18909: 0x6D43, - 18910: 0x6D48, - 18911: 0x6D07, - 18912: 0x6D04, - 18913: 0x6D19, - 18914: 0x6D0E, - 18915: 0x6D2B, - 18916: 0x6D4D, - 18917: 0x6D2E, - 18918: 0x6D35, - 18919: 0x6D1A, - 18920: 0x6D4F, - 18921: 0x6D52, - 18922: 0x6D54, - 18923: 0x6D33, - 18924: 0x6D91, - 18925: 0x6D6F, - 18926: 0x6D9E, - 18927: 0x6DA0, - 18928: 0x6D5E, - 18929: 0x6D93, - 18930: 0x6D94, - 18931: 0x6D5C, - 18932: 0x6D60, - 18933: 0x6D7C, - 18934: 0x6D63, - 18935: 0x6E1A, - 18936: 0x6DC7, - 18937: 0x6DC5, - 18938: 0x6DDE, - 18939: 0x6E0E, - 18940: 0x6DBF, - 18941: 0x6DE0, - 18942: 0x6E11, - 18943: 0x6DE6, - 18944: 0x6DDD, - 18945: 0x6DD9, - 18946: 0x6E16, - 18947: 0x6DAB, - 18948: 0x6E0C, - 18949: 0x6DAE, - 18950: 0x6E2B, - 18951: 0x6E6E, - 18952: 0x6E4E, - 18953: 0x6E6B, - 18954: 0x6EB2, - 18955: 0x6E5F, - 18956: 0x6E86, - 18957: 0x6E53, - 18958: 0x6E54, - 18959: 0x6E32, - 18960: 0x6E25, - 18961: 0x6E44, - 18962: 0x6EDF, - 18963: 0x6EB1, - 18964: 0x6E98, - 18965: 0x6EE0, - 18966: 0x6F2D, - 18967: 0x6EE2, - 18968: 0x6EA5, - 18969: 0x6EA7, - 18970: 0x6EBD, - 18971: 0x6EBB, - 18972: 0x6EB7, - 18973: 0x6ED7, - 18974: 0x6EB4, - 18975: 0x6ECF, - 18976: 0x6E8F, - 18977: 0x6EC2, - 18978: 0x6E9F, - 18979: 0x6F62, - 18980: 0x6F46, - 18981: 0x6F47, - 18982: 0x6F24, - 18983: 0x6F15, - 18984: 0x6EF9, - 18985: 0x6F2F, - 18986: 0x6F36, - 18987: 0x6F4B, - 18988: 0x6F74, - 18989: 0x6F2A, - 18990: 0x6F09, - 18991: 0x6F29, - 18992: 0x6F89, - 18993: 0x6F8D, - 18994: 0x6F8C, - 18995: 0x6F78, - 18996: 0x6F72, - 18997: 0x6F7C, - 18998: 0x6F7A, - 18999: 0x6FD1, - 19000: 0x930A, - 19001: 0x930B, - 19002: 0x930C, - 19003: 0x930D, - 19004: 0x930E, - 19005: 0x930F, - 19006: 0x9310, - 19007: 0x9311, - 19008: 0x9312, - 19009: 0x9313, - 19010: 0x9314, - 19011: 0x9315, - 19012: 0x9316, - 19013: 0x9317, - 19014: 0x9318, - 19015: 0x9319, - 19016: 0x931A, - 19017: 0x931B, - 19018: 0x931C, - 19019: 0x931D, - 19020: 0x931E, - 19021: 0x931F, - 19022: 0x9320, - 19023: 0x9321, - 19024: 0x9322, - 19025: 0x9323, - 19026: 0x9324, - 19027: 0x9325, - 19028: 0x9326, - 19029: 0x9327, - 19030: 0x9328, - 19031: 0x9329, - 19032: 0x932A, - 19033: 0x932B, - 19034: 0x932C, - 19035: 0x932D, - 19036: 0x932E, - 19037: 0x932F, - 19038: 0x9330, - 19039: 0x9331, - 19040: 0x9332, - 19041: 0x9333, - 19042: 0x9334, - 19043: 0x9335, - 19044: 0x9336, - 19045: 0x9337, - 19046: 0x9338, - 19047: 0x9339, - 19048: 0x933A, - 19049: 0x933B, - 19050: 0x933C, - 19051: 0x933D, - 19052: 0x933F, - 19053: 0x9340, - 19054: 0x9341, - 19055: 0x9342, - 19056: 0x9343, - 19057: 0x9344, - 19058: 0x9345, - 19059: 0x9346, - 19060: 0x9347, - 19061: 0x9348, - 19062: 0x9349, - 19063: 0x934A, - 19064: 0x934B, - 19065: 0x934C, - 19066: 0x934D, - 19067: 0x934E, - 19068: 0x934F, - 19069: 0x9350, - 19070: 0x9351, - 19071: 0x9352, - 19072: 0x9353, - 19073: 0x9354, - 19074: 0x9355, - 19075: 0x9356, - 19076: 0x9357, - 19077: 0x9358, - 19078: 0x9359, - 19079: 0x935A, - 19080: 0x935B, - 19081: 0x935C, - 19082: 0x935D, - 19083: 0x935E, - 19084: 0x935F, - 19085: 0x9360, - 19086: 0x9361, - 19087: 0x9362, - 19088: 0x9363, - 19089: 0x9364, - 19090: 0x9365, - 19091: 0x9366, - 19092: 0x9367, - 19093: 0x9368, - 19094: 0x9369, - 19095: 0x936B, - 19096: 0x6FC9, - 19097: 0x6FA7, - 19098: 0x6FB9, - 19099: 0x6FB6, - 19100: 0x6FC2, - 19101: 0x6FE1, - 19102: 0x6FEE, - 19103: 0x6FDE, - 19104: 0x6FE0, - 19105: 0x6FEF, - 19106: 0x701A, - 19107: 0x7023, - 19108: 0x701B, - 19109: 0x7039, - 19110: 0x7035, - 19111: 0x704F, - 19112: 0x705E, - 19113: 0x5B80, - 19114: 0x5B84, - 19115: 0x5B95, - 19116: 0x5B93, - 19117: 0x5BA5, - 19118: 0x5BB8, - 19119: 0x752F, - 19120: 0x9A9E, - 19121: 0x6434, - 19122: 0x5BE4, - 19123: 0x5BEE, - 19124: 0x8930, - 19125: 0x5BF0, - 19126: 0x8E47, - 19127: 0x8B07, - 19128: 0x8FB6, - 19129: 0x8FD3, - 19130: 0x8FD5, - 19131: 0x8FE5, - 19132: 0x8FEE, - 19133: 0x8FE4, - 19134: 0x8FE9, - 19135: 0x8FE6, - 19136: 0x8FF3, - 19137: 0x8FE8, - 19138: 0x9005, - 19139: 0x9004, - 19140: 0x900B, - 19141: 0x9026, - 19142: 0x9011, - 19143: 0x900D, - 19144: 0x9016, - 19145: 0x9021, - 19146: 0x9035, - 19147: 0x9036, - 19148: 0x902D, - 19149: 0x902F, - 19150: 0x9044, - 19151: 0x9051, - 19152: 0x9052, - 19153: 0x9050, - 19154: 0x9068, - 19155: 0x9058, - 19156: 0x9062, - 19157: 0x905B, - 19158: 0x66B9, - 19159: 0x9074, - 19160: 0x907D, - 19161: 0x9082, - 19162: 0x9088, - 19163: 0x9083, - 19164: 0x908B, - 19165: 0x5F50, - 19166: 0x5F57, - 19167: 0x5F56, - 19168: 0x5F58, - 19169: 0x5C3B, - 19170: 0x54AB, - 19171: 0x5C50, - 19172: 0x5C59, - 19173: 0x5B71, - 19174: 0x5C63, - 19175: 0x5C66, - 19176: 0x7FBC, - 19177: 0x5F2A, - 19178: 0x5F29, - 19179: 0x5F2D, - 19180: 0x8274, - 19181: 0x5F3C, - 19182: 0x9B3B, - 19183: 0x5C6E, - 19184: 0x5981, - 19185: 0x5983, - 19186: 0x598D, - 19187: 0x59A9, - 19188: 0x59AA, - 19189: 0x59A3, - 19190: 0x936C, - 19191: 0x936D, - 19192: 0x936E, - 19193: 0x936F, - 19194: 0x9370, - 19195: 0x9371, - 19196: 0x9372, - 19197: 0x9373, - 19198: 0x9374, - 19199: 0x9375, - 19200: 0x9376, - 19201: 0x9377, - 19202: 0x9378, - 19203: 0x9379, - 19204: 0x937A, - 19205: 0x937B, - 19206: 0x937C, - 19207: 0x937D, - 19208: 0x937E, - 19209: 0x937F, - 19210: 0x9380, - 19211: 0x9381, - 19212: 0x9382, - 19213: 0x9383, - 19214: 0x9384, - 19215: 0x9385, - 19216: 0x9386, - 19217: 0x9387, - 19218: 0x9388, - 19219: 0x9389, - 19220: 0x938A, - 19221: 0x938B, - 19222: 0x938C, - 19223: 0x938D, - 19224: 0x938E, - 19225: 0x9390, - 19226: 0x9391, - 19227: 0x9392, - 19228: 0x9393, - 19229: 0x9394, - 19230: 0x9395, - 19231: 0x9396, - 19232: 0x9397, - 19233: 0x9398, - 19234: 0x9399, - 19235: 0x939A, - 19236: 0x939B, - 19237: 0x939C, - 19238: 0x939D, - 19239: 0x939E, - 19240: 0x939F, - 19241: 0x93A0, - 19242: 0x93A1, - 19243: 0x93A2, - 19244: 0x93A3, - 19245: 0x93A4, - 19246: 0x93A5, - 19247: 0x93A6, - 19248: 0x93A7, - 19249: 0x93A8, - 19250: 0x93A9, - 19251: 0x93AA, - 19252: 0x93AB, - 19253: 0x93AC, - 19254: 0x93AD, - 19255: 0x93AE, - 19256: 0x93AF, - 19257: 0x93B0, - 19258: 0x93B1, - 19259: 0x93B2, - 19260: 0x93B3, - 19261: 0x93B4, - 19262: 0x93B5, - 19263: 0x93B6, - 19264: 0x93B7, - 19265: 0x93B8, - 19266: 0x93B9, - 19267: 0x93BA, - 19268: 0x93BB, - 19269: 0x93BC, - 19270: 0x93BD, - 19271: 0x93BE, - 19272: 0x93BF, - 19273: 0x93C0, - 19274: 0x93C1, - 19275: 0x93C2, - 19276: 0x93C3, - 19277: 0x93C4, - 19278: 0x93C5, - 19279: 0x93C6, - 19280: 0x93C7, - 19281: 0x93C8, - 19282: 0x93C9, - 19283: 0x93CB, - 19284: 0x93CC, - 19285: 0x93CD, - 19286: 0x5997, - 19287: 0x59CA, - 19288: 0x59AB, - 19289: 0x599E, - 19290: 0x59A4, - 19291: 0x59D2, - 19292: 0x59B2, - 19293: 0x59AF, - 19294: 0x59D7, - 19295: 0x59BE, - 19296: 0x5A05, - 19297: 0x5A06, - 19298: 0x59DD, - 19299: 0x5A08, - 19300: 0x59E3, - 19301: 0x59D8, - 19302: 0x59F9, - 19303: 0x5A0C, - 19304: 0x5A09, - 19305: 0x5A32, - 19306: 0x5A34, - 19307: 0x5A11, - 19308: 0x5A23, - 19309: 0x5A13, - 19310: 0x5A40, - 19311: 0x5A67, - 19312: 0x5A4A, - 19313: 0x5A55, - 19314: 0x5A3C, - 19315: 0x5A62, - 19316: 0x5A75, - 19317: 0x80EC, - 19318: 0x5AAA, - 19319: 0x5A9B, - 19320: 0x5A77, - 19321: 0x5A7A, - 19322: 0x5ABE, - 19323: 0x5AEB, - 19324: 0x5AB2, - 19325: 0x5AD2, - 19326: 0x5AD4, - 19327: 0x5AB8, - 19328: 0x5AE0, - 19329: 0x5AE3, - 19330: 0x5AF1, - 19331: 0x5AD6, - 19332: 0x5AE6, - 19333: 0x5AD8, - 19334: 0x5ADC, - 19335: 0x5B09, - 19336: 0x5B17, - 19337: 0x5B16, - 19338: 0x5B32, - 19339: 0x5B37, - 19340: 0x5B40, - 19341: 0x5C15, - 19342: 0x5C1C, - 19343: 0x5B5A, - 19344: 0x5B65, - 19345: 0x5B73, - 19346: 0x5B51, - 19347: 0x5B53, - 19348: 0x5B62, - 19349: 0x9A75, - 19350: 0x9A77, - 19351: 0x9A78, - 19352: 0x9A7A, - 19353: 0x9A7F, - 19354: 0x9A7D, - 19355: 0x9A80, - 19356: 0x9A81, - 19357: 0x9A85, - 19358: 0x9A88, - 19359: 0x9A8A, - 19360: 0x9A90, - 19361: 0x9A92, - 19362: 0x9A93, - 19363: 0x9A96, - 19364: 0x9A98, - 19365: 0x9A9B, - 19366: 0x9A9C, - 19367: 0x9A9D, - 19368: 0x9A9F, - 19369: 0x9AA0, - 19370: 0x9AA2, - 19371: 0x9AA3, - 19372: 0x9AA5, - 19373: 0x9AA7, - 19374: 0x7E9F, - 19375: 0x7EA1, - 19376: 0x7EA3, - 19377: 0x7EA5, - 19378: 0x7EA8, - 19379: 0x7EA9, - 19380: 0x93CE, - 19381: 0x93CF, - 19382: 0x93D0, - 19383: 0x93D1, - 19384: 0x93D2, - 19385: 0x93D3, - 19386: 0x93D4, - 19387: 0x93D5, - 19388: 0x93D7, - 19389: 0x93D8, - 19390: 0x93D9, - 19391: 0x93DA, - 19392: 0x93DB, - 19393: 0x93DC, - 19394: 0x93DD, - 19395: 0x93DE, - 19396: 0x93DF, - 19397: 0x93E0, - 19398: 0x93E1, - 19399: 0x93E2, - 19400: 0x93E3, - 19401: 0x93E4, - 19402: 0x93E5, - 19403: 0x93E6, - 19404: 0x93E7, - 19405: 0x93E8, - 19406: 0x93E9, - 19407: 0x93EA, - 19408: 0x93EB, - 19409: 0x93EC, - 19410: 0x93ED, - 19411: 0x93EE, - 19412: 0x93EF, - 19413: 0x93F0, - 19414: 0x93F1, - 19415: 0x93F2, - 19416: 0x93F3, - 19417: 0x93F4, - 19418: 0x93F5, - 19419: 0x93F6, - 19420: 0x93F7, - 19421: 0x93F8, - 19422: 0x93F9, - 19423: 0x93FA, - 19424: 0x93FB, - 19425: 0x93FC, - 19426: 0x93FD, - 19427: 0x93FE, - 19428: 0x93FF, - 19429: 0x9400, - 19430: 0x9401, - 19431: 0x9402, - 19432: 0x9403, - 19433: 0x9404, - 19434: 0x9405, - 19435: 0x9406, - 19436: 0x9407, - 19437: 0x9408, - 19438: 0x9409, - 19439: 0x940A, - 19440: 0x940B, - 19441: 0x940C, - 19442: 0x940D, - 19443: 0x940E, - 19444: 0x940F, - 19445: 0x9410, - 19446: 0x9411, - 19447: 0x9412, - 19448: 0x9413, - 19449: 0x9414, - 19450: 0x9415, - 19451: 0x9416, - 19452: 0x9417, - 19453: 0x9418, - 19454: 0x9419, - 19455: 0x941A, - 19456: 0x941B, - 19457: 0x941C, - 19458: 0x941D, - 19459: 0x941E, - 19460: 0x941F, - 19461: 0x9420, - 19462: 0x9421, - 19463: 0x9422, - 19464: 0x9423, - 19465: 0x9424, - 19466: 0x9425, - 19467: 0x9426, - 19468: 0x9427, - 19469: 0x9428, - 19470: 0x9429, - 19471: 0x942A, - 19472: 0x942B, - 19473: 0x942C, - 19474: 0x942D, - 19475: 0x942E, - 19476: 0x7EAD, - 19477: 0x7EB0, - 19478: 0x7EBE, - 19479: 0x7EC0, - 19480: 0x7EC1, - 19481: 0x7EC2, - 19482: 0x7EC9, - 19483: 0x7ECB, - 19484: 0x7ECC, - 19485: 0x7ED0, - 19486: 0x7ED4, - 19487: 0x7ED7, - 19488: 0x7EDB, - 19489: 0x7EE0, - 19490: 0x7EE1, - 19491: 0x7EE8, - 19492: 0x7EEB, - 19493: 0x7EEE, - 19494: 0x7EEF, - 19495: 0x7EF1, - 19496: 0x7EF2, - 19497: 0x7F0D, - 19498: 0x7EF6, - 19499: 0x7EFA, - 19500: 0x7EFB, - 19501: 0x7EFE, - 19502: 0x7F01, - 19503: 0x7F02, - 19504: 0x7F03, - 19505: 0x7F07, - 19506: 0x7F08, - 19507: 0x7F0B, - 19508: 0x7F0C, - 19509: 0x7F0F, - 19510: 0x7F11, - 19511: 0x7F12, - 19512: 0x7F17, - 19513: 0x7F19, - 19514: 0x7F1C, - 19515: 0x7F1B, - 19516: 0x7F1F, - 19517: 0x7F21, - 19518: 0x7F22, - 19519: 0x7F23, - 19520: 0x7F24, - 19521: 0x7F25, - 19522: 0x7F26, - 19523: 0x7F27, - 19524: 0x7F2A, - 19525: 0x7F2B, - 19526: 0x7F2C, - 19527: 0x7F2D, - 19528: 0x7F2F, - 19529: 0x7F30, - 19530: 0x7F31, - 19531: 0x7F32, - 19532: 0x7F33, - 19533: 0x7F35, - 19534: 0x5E7A, - 19535: 0x757F, - 19536: 0x5DDB, - 19537: 0x753E, - 19538: 0x9095, - 19539: 0x738E, - 19540: 0x7391, - 19541: 0x73AE, - 19542: 0x73A2, - 19543: 0x739F, - 19544: 0x73CF, - 19545: 0x73C2, - 19546: 0x73D1, - 19547: 0x73B7, - 19548: 0x73B3, - 19549: 0x73C0, - 19550: 0x73C9, - 19551: 0x73C8, - 19552: 0x73E5, - 19553: 0x73D9, - 19554: 0x987C, - 19555: 0x740A, - 19556: 0x73E9, - 19557: 0x73E7, - 19558: 0x73DE, - 19559: 0x73BA, - 19560: 0x73F2, - 19561: 0x740F, - 19562: 0x742A, - 19563: 0x745B, - 19564: 0x7426, - 19565: 0x7425, - 19566: 0x7428, - 19567: 0x7430, - 19568: 0x742E, - 19569: 0x742C, - 19570: 0x942F, - 19571: 0x9430, - 19572: 0x9431, - 19573: 0x9432, - 19574: 0x9433, - 19575: 0x9434, - 19576: 0x9435, - 19577: 0x9436, - 19578: 0x9437, - 19579: 0x9438, - 19580: 0x9439, - 19581: 0x943A, - 19582: 0x943B, - 19583: 0x943C, - 19584: 0x943D, - 19585: 0x943F, - 19586: 0x9440, - 19587: 0x9441, - 19588: 0x9442, - 19589: 0x9443, - 19590: 0x9444, - 19591: 0x9445, - 19592: 0x9446, - 19593: 0x9447, - 19594: 0x9448, - 19595: 0x9449, - 19596: 0x944A, - 19597: 0x944B, - 19598: 0x944C, - 19599: 0x944D, - 19600: 0x944E, - 19601: 0x944F, - 19602: 0x9450, - 19603: 0x9451, - 19604: 0x9452, - 19605: 0x9453, - 19606: 0x9454, - 19607: 0x9455, - 19608: 0x9456, - 19609: 0x9457, - 19610: 0x9458, - 19611: 0x9459, - 19612: 0x945A, - 19613: 0x945B, - 19614: 0x945C, - 19615: 0x945D, - 19616: 0x945E, - 19617: 0x945F, - 19618: 0x9460, - 19619: 0x9461, - 19620: 0x9462, - 19621: 0x9463, - 19622: 0x9464, - 19623: 0x9465, - 19624: 0x9466, - 19625: 0x9467, - 19626: 0x9468, - 19627: 0x9469, - 19628: 0x946A, - 19629: 0x946C, - 19630: 0x946D, - 19631: 0x946E, - 19632: 0x946F, - 19633: 0x9470, - 19634: 0x9471, - 19635: 0x9472, - 19636: 0x9473, - 19637: 0x9474, - 19638: 0x9475, - 19639: 0x9476, - 19640: 0x9477, - 19641: 0x9478, - 19642: 0x9479, - 19643: 0x947A, - 19644: 0x947B, - 19645: 0x947C, - 19646: 0x947D, - 19647: 0x947E, - 19648: 0x947F, - 19649: 0x9480, - 19650: 0x9481, - 19651: 0x9482, - 19652: 0x9483, - 19653: 0x9484, - 19654: 0x9491, - 19655: 0x9496, - 19656: 0x9498, - 19657: 0x94C7, - 19658: 0x94CF, - 19659: 0x94D3, - 19660: 0x94D4, - 19661: 0x94DA, - 19662: 0x94E6, - 19663: 0x94FB, - 19664: 0x951C, - 19665: 0x9520, - 19666: 0x741B, - 19667: 0x741A, - 19668: 0x7441, - 19669: 0x745C, - 19670: 0x7457, - 19671: 0x7455, - 19672: 0x7459, - 19673: 0x7477, - 19674: 0x746D, - 19675: 0x747E, - 19676: 0x749C, - 19677: 0x748E, - 19678: 0x7480, - 19679: 0x7481, - 19680: 0x7487, - 19681: 0x748B, - 19682: 0x749E, - 19683: 0x74A8, - 19684: 0x74A9, - 19685: 0x7490, - 19686: 0x74A7, - 19687: 0x74D2, - 19688: 0x74BA, - 19689: 0x97EA, - 19690: 0x97EB, - 19691: 0x97EC, - 19692: 0x674C, - 19693: 0x6753, - 19694: 0x675E, - 19695: 0x6748, - 19696: 0x6769, - 19697: 0x67A5, - 19698: 0x6787, - 19699: 0x676A, - 19700: 0x6773, - 19701: 0x6798, - 19702: 0x67A7, - 19703: 0x6775, - 19704: 0x67A8, - 19705: 0x679E, - 19706: 0x67AD, - 19707: 0x678B, - 19708: 0x6777, - 19709: 0x677C, - 19710: 0x67F0, - 19711: 0x6809, - 19712: 0x67D8, - 19713: 0x680A, - 19714: 0x67E9, - 19715: 0x67B0, - 19716: 0x680C, - 19717: 0x67D9, - 19718: 0x67B5, - 19719: 0x67DA, - 19720: 0x67B3, - 19721: 0x67DD, - 19722: 0x6800, - 19723: 0x67C3, - 19724: 0x67B8, - 19725: 0x67E2, - 19726: 0x680E, - 19727: 0x67C1, - 19728: 0x67FD, - 19729: 0x6832, - 19730: 0x6833, - 19731: 0x6860, - 19732: 0x6861, - 19733: 0x684E, - 19734: 0x6862, - 19735: 0x6844, - 19736: 0x6864, - 19737: 0x6883, - 19738: 0x681D, - 19739: 0x6855, - 19740: 0x6866, - 19741: 0x6841, - 19742: 0x6867, - 19743: 0x6840, - 19744: 0x683E, - 19745: 0x684A, - 19746: 0x6849, - 19747: 0x6829, - 19748: 0x68B5, - 19749: 0x688F, - 19750: 0x6874, - 19751: 0x6877, - 19752: 0x6893, - 19753: 0x686B, - 19754: 0x68C2, - 19755: 0x696E, - 19756: 0x68FC, - 19757: 0x691F, - 19758: 0x6920, - 19759: 0x68F9, - 19760: 0x9527, - 19761: 0x9533, - 19762: 0x953D, - 19763: 0x9543, - 19764: 0x9548, - 19765: 0x954B, - 19766: 0x9555, - 19767: 0x955A, - 19768: 0x9560, - 19769: 0x956E, - 19770: 0x9574, - 19771: 0x9575, - 19772: 0x9577, - 19773: 0x9578, - 19774: 0x9579, - 19775: 0x957A, - 19776: 0x957B, - 19777: 0x957C, - 19778: 0x957D, - 19779: 0x957E, - 19780: 0x9580, - 19781: 0x9581, - 19782: 0x9582, - 19783: 0x9583, - 19784: 0x9584, - 19785: 0x9585, - 19786: 0x9586, - 19787: 0x9587, - 19788: 0x9588, - 19789: 0x9589, - 19790: 0x958A, - 19791: 0x958B, - 19792: 0x958C, - 19793: 0x958D, - 19794: 0x958E, - 19795: 0x958F, - 19796: 0x9590, - 19797: 0x9591, - 19798: 0x9592, - 19799: 0x9593, - 19800: 0x9594, - 19801: 0x9595, - 19802: 0x9596, - 19803: 0x9597, - 19804: 0x9598, - 19805: 0x9599, - 19806: 0x959A, - 19807: 0x959B, - 19808: 0x959C, - 19809: 0x959D, - 19810: 0x959E, - 19811: 0x959F, - 19812: 0x95A0, - 19813: 0x95A1, - 19814: 0x95A2, - 19815: 0x95A3, - 19816: 0x95A4, - 19817: 0x95A5, - 19818: 0x95A6, - 19819: 0x95A7, - 19820: 0x95A8, - 19821: 0x95A9, - 19822: 0x95AA, - 19823: 0x95AB, - 19824: 0x95AC, - 19825: 0x95AD, - 19826: 0x95AE, - 19827: 0x95AF, - 19828: 0x95B0, - 19829: 0x95B1, - 19830: 0x95B2, - 19831: 0x95B3, - 19832: 0x95B4, - 19833: 0x95B5, - 19834: 0x95B6, - 19835: 0x95B7, - 19836: 0x95B8, - 19837: 0x95B9, - 19838: 0x95BA, - 19839: 0x95BB, - 19840: 0x95BC, - 19841: 0x95BD, - 19842: 0x95BE, - 19843: 0x95BF, - 19844: 0x95C0, - 19845: 0x95C1, - 19846: 0x95C2, - 19847: 0x95C3, - 19848: 0x95C4, - 19849: 0x95C5, - 19850: 0x95C6, - 19851: 0x95C7, - 19852: 0x95C8, - 19853: 0x95C9, - 19854: 0x95CA, - 19855: 0x95CB, - 19856: 0x6924, - 19857: 0x68F0, - 19858: 0x690B, - 19859: 0x6901, - 19860: 0x6957, - 19861: 0x68E3, - 19862: 0x6910, - 19863: 0x6971, - 19864: 0x6939, - 19865: 0x6960, - 19866: 0x6942, - 19867: 0x695D, - 19868: 0x6984, - 19869: 0x696B, - 19870: 0x6980, - 19871: 0x6998, - 19872: 0x6978, - 19873: 0x6934, - 19874: 0x69CC, - 19875: 0x6987, - 19876: 0x6988, - 19877: 0x69CE, - 19878: 0x6989, - 19879: 0x6966, - 19880: 0x6963, - 19881: 0x6979, - 19882: 0x699B, - 19883: 0x69A7, - 19884: 0x69BB, - 19885: 0x69AB, - 19886: 0x69AD, - 19887: 0x69D4, - 19888: 0x69B1, - 19889: 0x69C1, - 19890: 0x69CA, - 19891: 0x69DF, - 19892: 0x6995, - 19893: 0x69E0, - 19894: 0x698D, - 19895: 0x69FF, - 19896: 0x6A2F, - 19897: 0x69ED, - 19898: 0x6A17, - 19899: 0x6A18, - 19900: 0x6A65, - 19901: 0x69F2, - 19902: 0x6A44, - 19903: 0x6A3E, - 19904: 0x6AA0, - 19905: 0x6A50, - 19906: 0x6A5B, - 19907: 0x6A35, - 19908: 0x6A8E, - 19909: 0x6A79, - 19910: 0x6A3D, - 19911: 0x6A28, - 19912: 0x6A58, - 19913: 0x6A7C, - 19914: 0x6A91, - 19915: 0x6A90, - 19916: 0x6AA9, - 19917: 0x6A97, - 19918: 0x6AAB, - 19919: 0x7337, - 19920: 0x7352, - 19921: 0x6B81, - 19922: 0x6B82, - 19923: 0x6B87, - 19924: 0x6B84, - 19925: 0x6B92, - 19926: 0x6B93, - 19927: 0x6B8D, - 19928: 0x6B9A, - 19929: 0x6B9B, - 19930: 0x6BA1, - 19931: 0x6BAA, - 19932: 0x8F6B, - 19933: 0x8F6D, - 19934: 0x8F71, - 19935: 0x8F72, - 19936: 0x8F73, - 19937: 0x8F75, - 19938: 0x8F76, - 19939: 0x8F78, - 19940: 0x8F77, - 19941: 0x8F79, - 19942: 0x8F7A, - 19943: 0x8F7C, - 19944: 0x8F7E, - 19945: 0x8F81, - 19946: 0x8F82, - 19947: 0x8F84, - 19948: 0x8F87, - 19949: 0x8F8B, - 19950: 0x95CC, - 19951: 0x95CD, - 19952: 0x95CE, - 19953: 0x95CF, - 19954: 0x95D0, - 19955: 0x95D1, - 19956: 0x95D2, - 19957: 0x95D3, - 19958: 0x95D4, - 19959: 0x95D5, - 19960: 0x95D6, - 19961: 0x95D7, - 19962: 0x95D8, - 19963: 0x95D9, - 19964: 0x95DA, - 19965: 0x95DB, - 19966: 0x95DC, - 19967: 0x95DD, - 19968: 0x95DE, - 19969: 0x95DF, - 19970: 0x95E0, - 19971: 0x95E1, - 19972: 0x95E2, - 19973: 0x95E3, - 19974: 0x95E4, - 19975: 0x95E5, - 19976: 0x95E6, - 19977: 0x95E7, - 19978: 0x95EC, - 19979: 0x95FF, - 19980: 0x9607, - 19981: 0x9613, - 19982: 0x9618, - 19983: 0x961B, - 19984: 0x961E, - 19985: 0x9620, - 19986: 0x9623, - 19987: 0x9624, - 19988: 0x9625, - 19989: 0x9626, - 19990: 0x9627, - 19991: 0x9628, - 19992: 0x9629, - 19993: 0x962B, - 19994: 0x962C, - 19995: 0x962D, - 19996: 0x962F, - 19997: 0x9630, - 19998: 0x9637, - 19999: 0x9638, - 20000: 0x9639, - 20001: 0x963A, - 20002: 0x963E, - 20003: 0x9641, - 20004: 0x9643, - 20005: 0x964A, - 20006: 0x964E, - 20007: 0x964F, - 20008: 0x9651, - 20009: 0x9652, - 20010: 0x9653, - 20011: 0x9656, - 20012: 0x9657, - 20013: 0x9658, - 20014: 0x9659, - 20015: 0x965A, - 20016: 0x965C, - 20017: 0x965D, - 20018: 0x965E, - 20019: 0x9660, - 20020: 0x9663, - 20021: 0x9665, - 20022: 0x9666, - 20023: 0x966B, - 20024: 0x966D, - 20025: 0x966E, - 20026: 0x966F, - 20027: 0x9670, - 20028: 0x9671, - 20029: 0x9673, - 20030: 0x9678, - 20031: 0x9679, - 20032: 0x967A, - 20033: 0x967B, - 20034: 0x967C, - 20035: 0x967D, - 20036: 0x967E, - 20037: 0x967F, - 20038: 0x9680, - 20039: 0x9681, - 20040: 0x9682, - 20041: 0x9683, - 20042: 0x9684, - 20043: 0x9687, - 20044: 0x9689, - 20045: 0x968A, - 20046: 0x8F8D, - 20047: 0x8F8E, - 20048: 0x8F8F, - 20049: 0x8F98, - 20050: 0x8F9A, - 20051: 0x8ECE, - 20052: 0x620B, - 20053: 0x6217, - 20054: 0x621B, - 20055: 0x621F, - 20056: 0x6222, - 20057: 0x6221, - 20058: 0x6225, - 20059: 0x6224, - 20060: 0x622C, - 20061: 0x81E7, - 20062: 0x74EF, - 20063: 0x74F4, - 20064: 0x74FF, - 20065: 0x750F, - 20066: 0x7511, - 20067: 0x7513, - 20068: 0x6534, - 20069: 0x65EE, - 20070: 0x65EF, - 20071: 0x65F0, - 20072: 0x660A, - 20073: 0x6619, - 20074: 0x6772, - 20075: 0x6603, - 20076: 0x6615, - 20077: 0x6600, - 20078: 0x7085, - 20079: 0x66F7, - 20080: 0x661D, - 20081: 0x6634, - 20082: 0x6631, - 20083: 0x6636, - 20084: 0x6635, - 20085: 0x8006, - 20086: 0x665F, - 20087: 0x6654, - 20088: 0x6641, - 20089: 0x664F, - 20090: 0x6656, - 20091: 0x6661, - 20092: 0x6657, - 20093: 0x6677, - 20094: 0x6684, - 20095: 0x668C, - 20096: 0x66A7, - 20097: 0x669D, - 20098: 0x66BE, - 20099: 0x66DB, - 20100: 0x66DC, - 20101: 0x66E6, - 20102: 0x66E9, - 20103: 0x8D32, - 20104: 0x8D33, - 20105: 0x8D36, - 20106: 0x8D3B, - 20107: 0x8D3D, - 20108: 0x8D40, - 20109: 0x8D45, - 20110: 0x8D46, - 20111: 0x8D48, - 20112: 0x8D49, - 20113: 0x8D47, - 20114: 0x8D4D, - 20115: 0x8D55, - 20116: 0x8D59, - 20117: 0x89C7, - 20118: 0x89CA, - 20119: 0x89CB, - 20120: 0x89CC, - 20121: 0x89CE, - 20122: 0x89CF, - 20123: 0x89D0, - 20124: 0x89D1, - 20125: 0x726E, - 20126: 0x729F, - 20127: 0x725D, - 20128: 0x7266, - 20129: 0x726F, - 20130: 0x727E, - 20131: 0x727F, - 20132: 0x7284, - 20133: 0x728B, - 20134: 0x728D, - 20135: 0x728F, - 20136: 0x7292, - 20137: 0x6308, - 20138: 0x6332, - 20139: 0x63B0, - 20140: 0x968C, - 20141: 0x968E, - 20142: 0x9691, - 20143: 0x9692, - 20144: 0x9693, - 20145: 0x9695, - 20146: 0x9696, - 20147: 0x969A, - 20148: 0x969B, - 20149: 0x969D, - 20150: 0x969E, - 20151: 0x969F, - 20152: 0x96A0, - 20153: 0x96A1, - 20154: 0x96A2, - 20155: 0x96A3, - 20156: 0x96A4, - 20157: 0x96A5, - 20158: 0x96A6, - 20159: 0x96A8, - 20160: 0x96A9, - 20161: 0x96AA, - 20162: 0x96AB, - 20163: 0x96AC, - 20164: 0x96AD, - 20165: 0x96AE, - 20166: 0x96AF, - 20167: 0x96B1, - 20168: 0x96B2, - 20169: 0x96B4, - 20170: 0x96B5, - 20171: 0x96B7, - 20172: 0x96B8, - 20173: 0x96BA, - 20174: 0x96BB, - 20175: 0x96BF, - 20176: 0x96C2, - 20177: 0x96C3, - 20178: 0x96C8, - 20179: 0x96CA, - 20180: 0x96CB, - 20181: 0x96D0, - 20182: 0x96D1, - 20183: 0x96D3, - 20184: 0x96D4, - 20185: 0x96D6, - 20186: 0x96D7, - 20187: 0x96D8, - 20188: 0x96D9, - 20189: 0x96DA, - 20190: 0x96DB, - 20191: 0x96DC, - 20192: 0x96DD, - 20193: 0x96DE, - 20194: 0x96DF, - 20195: 0x96E1, - 20196: 0x96E2, - 20197: 0x96E3, - 20198: 0x96E4, - 20199: 0x96E5, - 20200: 0x96E6, - 20201: 0x96E7, - 20202: 0x96EB, - 20203: 0x96EC, - 20204: 0x96ED, - 20205: 0x96EE, - 20206: 0x96F0, - 20207: 0x96F1, - 20208: 0x96F2, - 20209: 0x96F4, - 20210: 0x96F5, - 20211: 0x96F8, - 20212: 0x96FA, - 20213: 0x96FB, - 20214: 0x96FC, - 20215: 0x96FD, - 20216: 0x96FF, - 20217: 0x9702, - 20218: 0x9703, - 20219: 0x9705, - 20220: 0x970A, - 20221: 0x970B, - 20222: 0x970C, - 20223: 0x9710, - 20224: 0x9711, - 20225: 0x9712, - 20226: 0x9714, - 20227: 0x9715, - 20228: 0x9717, - 20229: 0x9718, - 20230: 0x9719, - 20231: 0x971A, - 20232: 0x971B, - 20233: 0x971D, - 20234: 0x971F, - 20235: 0x9720, - 20236: 0x643F, - 20237: 0x64D8, - 20238: 0x8004, - 20239: 0x6BEA, - 20240: 0x6BF3, - 20241: 0x6BFD, - 20242: 0x6BF5, - 20243: 0x6BF9, - 20244: 0x6C05, - 20245: 0x6C07, - 20246: 0x6C06, - 20247: 0x6C0D, - 20248: 0x6C15, - 20249: 0x6C18, - 20250: 0x6C19, - 20251: 0x6C1A, - 20252: 0x6C21, - 20253: 0x6C29, - 20254: 0x6C24, - 20255: 0x6C2A, - 20256: 0x6C32, - 20257: 0x6535, - 20258: 0x6555, - 20259: 0x656B, - 20260: 0x724D, - 20261: 0x7252, - 20262: 0x7256, - 20263: 0x7230, - 20264: 0x8662, - 20265: 0x5216, - 20266: 0x809F, - 20267: 0x809C, - 20268: 0x8093, - 20269: 0x80BC, - 20270: 0x670A, - 20271: 0x80BD, - 20272: 0x80B1, - 20273: 0x80AB, - 20274: 0x80AD, - 20275: 0x80B4, - 20276: 0x80B7, - 20277: 0x80E7, - 20278: 0x80E8, - 20279: 0x80E9, - 20280: 0x80EA, - 20281: 0x80DB, - 20282: 0x80C2, - 20283: 0x80C4, - 20284: 0x80D9, - 20285: 0x80CD, - 20286: 0x80D7, - 20287: 0x6710, - 20288: 0x80DD, - 20289: 0x80EB, - 20290: 0x80F1, - 20291: 0x80F4, - 20292: 0x80ED, - 20293: 0x810D, - 20294: 0x810E, - 20295: 0x80F2, - 20296: 0x80FC, - 20297: 0x6715, - 20298: 0x8112, - 20299: 0x8C5A, - 20300: 0x8136, - 20301: 0x811E, - 20302: 0x812C, - 20303: 0x8118, - 20304: 0x8132, - 20305: 0x8148, - 20306: 0x814C, - 20307: 0x8153, - 20308: 0x8174, - 20309: 0x8159, - 20310: 0x815A, - 20311: 0x8171, - 20312: 0x8160, - 20313: 0x8169, - 20314: 0x817C, - 20315: 0x817D, - 20316: 0x816D, - 20317: 0x8167, - 20318: 0x584D, - 20319: 0x5AB5, - 20320: 0x8188, - 20321: 0x8182, - 20322: 0x8191, - 20323: 0x6ED5, - 20324: 0x81A3, - 20325: 0x81AA, - 20326: 0x81CC, - 20327: 0x6726, - 20328: 0x81CA, - 20329: 0x81BB, - 20330: 0x9721, - 20331: 0x9722, - 20332: 0x9723, - 20333: 0x9724, - 20334: 0x9725, - 20335: 0x9726, - 20336: 0x9727, - 20337: 0x9728, - 20338: 0x9729, - 20339: 0x972B, - 20340: 0x972C, - 20341: 0x972E, - 20342: 0x972F, - 20343: 0x9731, - 20344: 0x9733, - 20345: 0x9734, - 20346: 0x9735, - 20347: 0x9736, - 20348: 0x9737, - 20349: 0x973A, - 20350: 0x973B, - 20351: 0x973C, - 20352: 0x973D, - 20353: 0x973F, - 20354: 0x9740, - 20355: 0x9741, - 20356: 0x9742, - 20357: 0x9743, - 20358: 0x9744, - 20359: 0x9745, - 20360: 0x9746, - 20361: 0x9747, - 20362: 0x9748, - 20363: 0x9749, - 20364: 0x974A, - 20365: 0x974B, - 20366: 0x974C, - 20367: 0x974D, - 20368: 0x974E, - 20369: 0x974F, - 20370: 0x9750, - 20371: 0x9751, - 20372: 0x9754, - 20373: 0x9755, - 20374: 0x9757, - 20375: 0x9758, - 20376: 0x975A, - 20377: 0x975C, - 20378: 0x975D, - 20379: 0x975F, - 20380: 0x9763, - 20381: 0x9764, - 20382: 0x9766, - 20383: 0x9767, - 20384: 0x9768, - 20385: 0x976A, - 20386: 0x976B, - 20387: 0x976C, - 20388: 0x976D, - 20389: 0x976E, - 20390: 0x976F, - 20391: 0x9770, - 20392: 0x9771, - 20393: 0x9772, - 20394: 0x9775, - 20395: 0x9777, - 20396: 0x9778, - 20397: 0x9779, - 20398: 0x977A, - 20399: 0x977B, - 20400: 0x977D, - 20401: 0x977E, - 20402: 0x977F, - 20403: 0x9780, - 20404: 0x9781, - 20405: 0x9782, - 20406: 0x9783, - 20407: 0x9784, - 20408: 0x9786, - 20409: 0x9787, - 20410: 0x9788, - 20411: 0x9789, - 20412: 0x978A, - 20413: 0x978C, - 20414: 0x978E, - 20415: 0x978F, - 20416: 0x9790, - 20417: 0x9793, - 20418: 0x9795, - 20419: 0x9796, - 20420: 0x9797, - 20421: 0x9799, - 20422: 0x979A, - 20423: 0x979B, - 20424: 0x979C, - 20425: 0x979D, - 20426: 0x81C1, - 20427: 0x81A6, - 20428: 0x6B24, - 20429: 0x6B37, - 20430: 0x6B39, - 20431: 0x6B43, - 20432: 0x6B46, - 20433: 0x6B59, - 20434: 0x98D1, - 20435: 0x98D2, - 20436: 0x98D3, - 20437: 0x98D5, - 20438: 0x98D9, - 20439: 0x98DA, - 20440: 0x6BB3, - 20441: 0x5F40, - 20442: 0x6BC2, - 20443: 0x89F3, - 20444: 0x6590, - 20445: 0x9F51, - 20446: 0x6593, - 20447: 0x65BC, - 20448: 0x65C6, - 20449: 0x65C4, - 20450: 0x65C3, - 20451: 0x65CC, - 20452: 0x65CE, - 20453: 0x65D2, - 20454: 0x65D6, - 20455: 0x7080, - 20456: 0x709C, - 20457: 0x7096, - 20458: 0x709D, - 20459: 0x70BB, - 20460: 0x70C0, - 20461: 0x70B7, - 20462: 0x70AB, - 20463: 0x70B1, - 20464: 0x70E8, - 20465: 0x70CA, - 20466: 0x7110, - 20467: 0x7113, - 20468: 0x7116, - 20469: 0x712F, - 20470: 0x7131, - 20471: 0x7173, - 20472: 0x715C, - 20473: 0x7168, - 20474: 0x7145, - 20475: 0x7172, - 20476: 0x714A, - 20477: 0x7178, - 20478: 0x717A, - 20479: 0x7198, - 20480: 0x71B3, - 20481: 0x71B5, - 20482: 0x71A8, - 20483: 0x71A0, - 20484: 0x71E0, - 20485: 0x71D4, - 20486: 0x71E7, - 20487: 0x71F9, - 20488: 0x721D, - 20489: 0x7228, - 20490: 0x706C, - 20491: 0x7118, - 20492: 0x7166, - 20493: 0x71B9, - 20494: 0x623E, - 20495: 0x623D, - 20496: 0x6243, - 20497: 0x6248, - 20498: 0x6249, - 20499: 0x793B, - 20500: 0x7940, - 20501: 0x7946, - 20502: 0x7949, - 20503: 0x795B, - 20504: 0x795C, - 20505: 0x7953, - 20506: 0x795A, - 20507: 0x7962, - 20508: 0x7957, - 20509: 0x7960, - 20510: 0x796F, - 20511: 0x7967, - 20512: 0x797A, - 20513: 0x7985, - 20514: 0x798A, - 20515: 0x799A, - 20516: 0x79A7, - 20517: 0x79B3, - 20518: 0x5FD1, - 20519: 0x5FD0, - 20520: 0x979E, - 20521: 0x979F, - 20522: 0x97A1, - 20523: 0x97A2, - 20524: 0x97A4, - 20525: 0x97A5, - 20526: 0x97A6, - 20527: 0x97A7, - 20528: 0x97A8, - 20529: 0x97A9, - 20530: 0x97AA, - 20531: 0x97AC, - 20532: 0x97AE, - 20533: 0x97B0, - 20534: 0x97B1, - 20535: 0x97B3, - 20536: 0x97B5, - 20537: 0x97B6, - 20538: 0x97B7, - 20539: 0x97B8, - 20540: 0x97B9, - 20541: 0x97BA, - 20542: 0x97BB, - 20543: 0x97BC, - 20544: 0x97BD, - 20545: 0x97BE, - 20546: 0x97BF, - 20547: 0x97C0, - 20548: 0x97C1, - 20549: 0x97C2, - 20550: 0x97C3, - 20551: 0x97C4, - 20552: 0x97C5, - 20553: 0x97C6, - 20554: 0x97C7, - 20555: 0x97C8, - 20556: 0x97C9, - 20557: 0x97CA, - 20558: 0x97CB, - 20559: 0x97CC, - 20560: 0x97CD, - 20561: 0x97CE, - 20562: 0x97CF, - 20563: 0x97D0, - 20564: 0x97D1, - 20565: 0x97D2, - 20566: 0x97D3, - 20567: 0x97D4, - 20568: 0x97D5, - 20569: 0x97D6, - 20570: 0x97D7, - 20571: 0x97D8, - 20572: 0x97D9, - 20573: 0x97DA, - 20574: 0x97DB, - 20575: 0x97DC, - 20576: 0x97DD, - 20577: 0x97DE, - 20578: 0x97DF, - 20579: 0x97E0, - 20580: 0x97E1, - 20581: 0x97E2, - 20582: 0x97E3, - 20583: 0x97E4, - 20584: 0x97E5, - 20585: 0x97E8, - 20586: 0x97EE, - 20587: 0x97EF, - 20588: 0x97F0, - 20589: 0x97F1, - 20590: 0x97F2, - 20591: 0x97F4, - 20592: 0x97F7, - 20593: 0x97F8, - 20594: 0x97F9, - 20595: 0x97FA, - 20596: 0x97FB, - 20597: 0x97FC, - 20598: 0x97FD, - 20599: 0x97FE, - 20600: 0x97FF, - 20601: 0x9800, - 20602: 0x9801, - 20603: 0x9802, - 20604: 0x9803, - 20605: 0x9804, - 20606: 0x9805, - 20607: 0x9806, - 20608: 0x9807, - 20609: 0x9808, - 20610: 0x9809, - 20611: 0x980A, - 20612: 0x980B, - 20613: 0x980C, - 20614: 0x980D, - 20615: 0x980E, - 20616: 0x603C, - 20617: 0x605D, - 20618: 0x605A, - 20619: 0x6067, - 20620: 0x6041, - 20621: 0x6059, - 20622: 0x6063, - 20623: 0x60AB, - 20624: 0x6106, - 20625: 0x610D, - 20626: 0x615D, - 20627: 0x61A9, - 20628: 0x619D, - 20629: 0x61CB, - 20630: 0x61D1, - 20631: 0x6206, - 20632: 0x8080, - 20633: 0x807F, - 20634: 0x6C93, - 20635: 0x6CF6, - 20636: 0x6DFC, - 20637: 0x77F6, - 20638: 0x77F8, - 20639: 0x7800, - 20640: 0x7809, - 20641: 0x7817, - 20642: 0x7818, - 20643: 0x7811, - 20644: 0x65AB, - 20645: 0x782D, - 20646: 0x781C, - 20647: 0x781D, - 20648: 0x7839, - 20649: 0x783A, - 20650: 0x783B, - 20651: 0x781F, - 20652: 0x783C, - 20653: 0x7825, - 20654: 0x782C, - 20655: 0x7823, - 20656: 0x7829, - 20657: 0x784E, - 20658: 0x786D, - 20659: 0x7856, - 20660: 0x7857, - 20661: 0x7826, - 20662: 0x7850, - 20663: 0x7847, - 20664: 0x784C, - 20665: 0x786A, - 20666: 0x789B, - 20667: 0x7893, - 20668: 0x789A, - 20669: 0x7887, - 20670: 0x789C, - 20671: 0x78A1, - 20672: 0x78A3, - 20673: 0x78B2, - 20674: 0x78B9, - 20675: 0x78A5, - 20676: 0x78D4, - 20677: 0x78D9, - 20678: 0x78C9, - 20679: 0x78EC, - 20680: 0x78F2, - 20681: 0x7905, - 20682: 0x78F4, - 20683: 0x7913, - 20684: 0x7924, - 20685: 0x791E, - 20686: 0x7934, - 20687: 0x9F9B, - 20688: 0x9EF9, - 20689: 0x9EFB, - 20690: 0x9EFC, - 20691: 0x76F1, - 20692: 0x7704, - 20693: 0x770D, - 20694: 0x76F9, - 20695: 0x7707, - 20696: 0x7708, - 20697: 0x771A, - 20698: 0x7722, - 20699: 0x7719, - 20700: 0x772D, - 20701: 0x7726, - 20702: 0x7735, - 20703: 0x7738, - 20704: 0x7750, - 20705: 0x7751, - 20706: 0x7747, - 20707: 0x7743, - 20708: 0x775A, - 20709: 0x7768, - 20710: 0x980F, - 20711: 0x9810, - 20712: 0x9811, - 20713: 0x9812, - 20714: 0x9813, - 20715: 0x9814, - 20716: 0x9815, - 20717: 0x9816, - 20718: 0x9817, - 20719: 0x9818, - 20720: 0x9819, - 20721: 0x981A, - 20722: 0x981B, - 20723: 0x981C, - 20724: 0x981D, - 20725: 0x981E, - 20726: 0x981F, - 20727: 0x9820, - 20728: 0x9821, - 20729: 0x9822, - 20730: 0x9823, - 20731: 0x9824, - 20732: 0x9825, - 20733: 0x9826, - 20734: 0x9827, - 20735: 0x9828, - 20736: 0x9829, - 20737: 0x982A, - 20738: 0x982B, - 20739: 0x982C, - 20740: 0x982D, - 20741: 0x982E, - 20742: 0x982F, - 20743: 0x9830, - 20744: 0x9831, - 20745: 0x9832, - 20746: 0x9833, - 20747: 0x9834, - 20748: 0x9835, - 20749: 0x9836, - 20750: 0x9837, - 20751: 0x9838, - 20752: 0x9839, - 20753: 0x983A, - 20754: 0x983B, - 20755: 0x983C, - 20756: 0x983D, - 20757: 0x983E, - 20758: 0x983F, - 20759: 0x9840, - 20760: 0x9841, - 20761: 0x9842, - 20762: 0x9843, - 20763: 0x9844, - 20764: 0x9845, - 20765: 0x9846, - 20766: 0x9847, - 20767: 0x9848, - 20768: 0x9849, - 20769: 0x984A, - 20770: 0x984B, - 20771: 0x984C, - 20772: 0x984D, - 20773: 0x984E, - 20774: 0x984F, - 20775: 0x9850, - 20776: 0x9851, - 20777: 0x9852, - 20778: 0x9853, - 20779: 0x9854, - 20780: 0x9855, - 20781: 0x9856, - 20782: 0x9857, - 20783: 0x9858, - 20784: 0x9859, - 20785: 0x985A, - 20786: 0x985B, - 20787: 0x985C, - 20788: 0x985D, - 20789: 0x985E, - 20790: 0x985F, - 20791: 0x9860, - 20792: 0x9861, - 20793: 0x9862, - 20794: 0x9863, - 20795: 0x9864, - 20796: 0x9865, - 20797: 0x9866, - 20798: 0x9867, - 20799: 0x9868, - 20800: 0x9869, - 20801: 0x986A, - 20802: 0x986B, - 20803: 0x986C, - 20804: 0x986D, - 20805: 0x986E, - 20806: 0x7762, - 20807: 0x7765, - 20808: 0x777F, - 20809: 0x778D, - 20810: 0x777D, - 20811: 0x7780, - 20812: 0x778C, - 20813: 0x7791, - 20814: 0x779F, - 20815: 0x77A0, - 20816: 0x77B0, - 20817: 0x77B5, - 20818: 0x77BD, - 20819: 0x753A, - 20820: 0x7540, - 20821: 0x754E, - 20822: 0x754B, - 20823: 0x7548, - 20824: 0x755B, - 20825: 0x7572, - 20826: 0x7579, - 20827: 0x7583, - 20828: 0x7F58, - 20829: 0x7F61, - 20830: 0x7F5F, - 20831: 0x8A48, - 20832: 0x7F68, - 20833: 0x7F74, - 20834: 0x7F71, - 20835: 0x7F79, - 20836: 0x7F81, - 20837: 0x7F7E, - 20838: 0x76CD, - 20839: 0x76E5, - 20840: 0x8832, - 20841: 0x9485, - 20842: 0x9486, - 20843: 0x9487, - 20844: 0x948B, - 20845: 0x948A, - 20846: 0x948C, - 20847: 0x948D, - 20848: 0x948F, - 20849: 0x9490, - 20850: 0x9494, - 20851: 0x9497, - 20852: 0x9495, - 20853: 0x949A, - 20854: 0x949B, - 20855: 0x949C, - 20856: 0x94A3, - 20857: 0x94A4, - 20858: 0x94AB, - 20859: 0x94AA, - 20860: 0x94AD, - 20861: 0x94AC, - 20862: 0x94AF, - 20863: 0x94B0, - 20864: 0x94B2, - 20865: 0x94B4, - 20866: 0x94B6, - 20867: 0x94B7, - 20868: 0x94B8, - 20869: 0x94B9, - 20870: 0x94BA, - 20871: 0x94BC, - 20872: 0x94BD, - 20873: 0x94BF, - 20874: 0x94C4, - 20875: 0x94C8, - 20876: 0x94C9, - 20877: 0x94CA, - 20878: 0x94CB, - 20879: 0x94CC, - 20880: 0x94CD, - 20881: 0x94CE, - 20882: 0x94D0, - 20883: 0x94D1, - 20884: 0x94D2, - 20885: 0x94D5, - 20886: 0x94D6, - 20887: 0x94D7, - 20888: 0x94D9, - 20889: 0x94D8, - 20890: 0x94DB, - 20891: 0x94DE, - 20892: 0x94DF, - 20893: 0x94E0, - 20894: 0x94E2, - 20895: 0x94E4, - 20896: 0x94E5, - 20897: 0x94E7, - 20898: 0x94E8, - 20899: 0x94EA, - 20900: 0x986F, - 20901: 0x9870, - 20902: 0x9871, - 20903: 0x9872, - 20904: 0x9873, - 20905: 0x9874, - 20906: 0x988B, - 20907: 0x988E, - 20908: 0x9892, - 20909: 0x9895, - 20910: 0x9899, - 20911: 0x98A3, - 20912: 0x98A8, - 20913: 0x98A9, - 20914: 0x98AA, - 20915: 0x98AB, - 20916: 0x98AC, - 20917: 0x98AD, - 20918: 0x98AE, - 20919: 0x98AF, - 20920: 0x98B0, - 20921: 0x98B1, - 20922: 0x98B2, - 20923: 0x98B3, - 20924: 0x98B4, - 20925: 0x98B5, - 20926: 0x98B6, - 20927: 0x98B7, - 20928: 0x98B8, - 20929: 0x98B9, - 20930: 0x98BA, - 20931: 0x98BB, - 20932: 0x98BC, - 20933: 0x98BD, - 20934: 0x98BE, - 20935: 0x98BF, - 20936: 0x98C0, - 20937: 0x98C1, - 20938: 0x98C2, - 20939: 0x98C3, - 20940: 0x98C4, - 20941: 0x98C5, - 20942: 0x98C6, - 20943: 0x98C7, - 20944: 0x98C8, - 20945: 0x98C9, - 20946: 0x98CA, - 20947: 0x98CB, - 20948: 0x98CC, - 20949: 0x98CD, - 20950: 0x98CF, - 20951: 0x98D0, - 20952: 0x98D4, - 20953: 0x98D6, - 20954: 0x98D7, - 20955: 0x98DB, - 20956: 0x98DC, - 20957: 0x98DD, - 20958: 0x98E0, - 20959: 0x98E1, - 20960: 0x98E2, - 20961: 0x98E3, - 20962: 0x98E4, - 20963: 0x98E5, - 20964: 0x98E6, - 20965: 0x98E9, - 20966: 0x98EA, - 20967: 0x98EB, - 20968: 0x98EC, - 20969: 0x98ED, - 20970: 0x98EE, - 20971: 0x98EF, - 20972: 0x98F0, - 20973: 0x98F1, - 20974: 0x98F2, - 20975: 0x98F3, - 20976: 0x98F4, - 20977: 0x98F5, - 20978: 0x98F6, - 20979: 0x98F7, - 20980: 0x98F8, - 20981: 0x98F9, - 20982: 0x98FA, - 20983: 0x98FB, - 20984: 0x98FC, - 20985: 0x98FD, - 20986: 0x98FE, - 20987: 0x98FF, - 20988: 0x9900, - 20989: 0x9901, - 20990: 0x9902, - 20991: 0x9903, - 20992: 0x9904, - 20993: 0x9905, - 20994: 0x9906, - 20995: 0x9907, - 20996: 0x94E9, - 20997: 0x94EB, - 20998: 0x94EE, - 20999: 0x94EF, - 21000: 0x94F3, - 21001: 0x94F4, - 21002: 0x94F5, - 21003: 0x94F7, - 21004: 0x94F9, - 21005: 0x94FC, - 21006: 0x94FD, - 21007: 0x94FF, - 21008: 0x9503, - 21009: 0x9502, - 21010: 0x9506, - 21011: 0x9507, - 21012: 0x9509, - 21013: 0x950A, - 21014: 0x950D, - 21015: 0x950E, - 21016: 0x950F, - 21017: 0x9512, - 21018: 0x9513, - 21019: 0x9514, - 21020: 0x9515, - 21021: 0x9516, - 21022: 0x9518, - 21023: 0x951B, - 21024: 0x951D, - 21025: 0x951E, - 21026: 0x951F, - 21027: 0x9522, - 21028: 0x952A, - 21029: 0x952B, - 21030: 0x9529, - 21031: 0x952C, - 21032: 0x9531, - 21033: 0x9532, - 21034: 0x9534, - 21035: 0x9536, - 21036: 0x9537, - 21037: 0x9538, - 21038: 0x953C, - 21039: 0x953E, - 21040: 0x953F, - 21041: 0x9542, - 21042: 0x9535, - 21043: 0x9544, - 21044: 0x9545, - 21045: 0x9546, - 21046: 0x9549, - 21047: 0x954C, - 21048: 0x954E, - 21049: 0x954F, - 21050: 0x9552, - 21051: 0x9553, - 21052: 0x9554, - 21053: 0x9556, - 21054: 0x9557, - 21055: 0x9558, - 21056: 0x9559, - 21057: 0x955B, - 21058: 0x955E, - 21059: 0x955F, - 21060: 0x955D, - 21061: 0x9561, - 21062: 0x9562, - 21063: 0x9564, - 21064: 0x9565, - 21065: 0x9566, - 21066: 0x9567, - 21067: 0x9568, - 21068: 0x9569, - 21069: 0x956A, - 21070: 0x956B, - 21071: 0x956C, - 21072: 0x956F, - 21073: 0x9571, - 21074: 0x9572, - 21075: 0x9573, - 21076: 0x953A, - 21077: 0x77E7, - 21078: 0x77EC, - 21079: 0x96C9, - 21080: 0x79D5, - 21081: 0x79ED, - 21082: 0x79E3, - 21083: 0x79EB, - 21084: 0x7A06, - 21085: 0x5D47, - 21086: 0x7A03, - 21087: 0x7A02, - 21088: 0x7A1E, - 21089: 0x7A14, - 21090: 0x9908, - 21091: 0x9909, - 21092: 0x990A, - 21093: 0x990B, - 21094: 0x990C, - 21095: 0x990E, - 21096: 0x990F, - 21097: 0x9911, - 21098: 0x9912, - 21099: 0x9913, - 21100: 0x9914, - 21101: 0x9915, - 21102: 0x9916, - 21103: 0x9917, - 21104: 0x9918, - 21105: 0x9919, - 21106: 0x991A, - 21107: 0x991B, - 21108: 0x991C, - 21109: 0x991D, - 21110: 0x991E, - 21111: 0x991F, - 21112: 0x9920, - 21113: 0x9921, - 21114: 0x9922, - 21115: 0x9923, - 21116: 0x9924, - 21117: 0x9925, - 21118: 0x9926, - 21119: 0x9927, - 21120: 0x9928, - 21121: 0x9929, - 21122: 0x992A, - 21123: 0x992B, - 21124: 0x992C, - 21125: 0x992D, - 21126: 0x992F, - 21127: 0x9930, - 21128: 0x9931, - 21129: 0x9932, - 21130: 0x9933, - 21131: 0x9934, - 21132: 0x9935, - 21133: 0x9936, - 21134: 0x9937, - 21135: 0x9938, - 21136: 0x9939, - 21137: 0x993A, - 21138: 0x993B, - 21139: 0x993C, - 21140: 0x993D, - 21141: 0x993E, - 21142: 0x993F, - 21143: 0x9940, - 21144: 0x9941, - 21145: 0x9942, - 21146: 0x9943, - 21147: 0x9944, - 21148: 0x9945, - 21149: 0x9946, - 21150: 0x9947, - 21151: 0x9948, - 21152: 0x9949, - 21153: 0x994A, - 21154: 0x994B, - 21155: 0x994C, - 21156: 0x994D, - 21157: 0x994E, - 21158: 0x994F, - 21159: 0x9950, - 21160: 0x9951, - 21161: 0x9952, - 21162: 0x9953, - 21163: 0x9956, - 21164: 0x9957, - 21165: 0x9958, - 21166: 0x9959, - 21167: 0x995A, - 21168: 0x995B, - 21169: 0x995C, - 21170: 0x995D, - 21171: 0x995E, - 21172: 0x995F, - 21173: 0x9960, - 21174: 0x9961, - 21175: 0x9962, - 21176: 0x9964, - 21177: 0x9966, - 21178: 0x9973, - 21179: 0x9978, - 21180: 0x9979, - 21181: 0x997B, - 21182: 0x997E, - 21183: 0x9982, - 21184: 0x9983, - 21185: 0x9989, - 21186: 0x7A39, - 21187: 0x7A37, - 21188: 0x7A51, - 21189: 0x9ECF, - 21190: 0x99A5, - 21191: 0x7A70, - 21192: 0x7688, - 21193: 0x768E, - 21194: 0x7693, - 21195: 0x7699, - 21196: 0x76A4, - 21197: 0x74DE, - 21198: 0x74E0, - 21199: 0x752C, - 21200: 0x9E20, - 21201: 0x9E22, - 21202: 0x9E28, - 21203: 0x9E29, - 21204: 0x9E2A, - 21205: 0x9E2B, - 21206: 0x9E2C, - 21207: 0x9E32, - 21208: 0x9E31, - 21209: 0x9E36, - 21210: 0x9E38, - 21211: 0x9E37, - 21212: 0x9E39, - 21213: 0x9E3A, - 21214: 0x9E3E, - 21215: 0x9E41, - 21216: 0x9E42, - 21217: 0x9E44, - 21218: 0x9E46, - 21219: 0x9E47, - 21220: 0x9E48, - 21221: 0x9E49, - 21222: 0x9E4B, - 21223: 0x9E4C, - 21224: 0x9E4E, - 21225: 0x9E51, - 21226: 0x9E55, - 21227: 0x9E57, - 21228: 0x9E5A, - 21229: 0x9E5B, - 21230: 0x9E5C, - 21231: 0x9E5E, - 21232: 0x9E63, - 21233: 0x9E66, - 21234: 0x9E67, - 21235: 0x9E68, - 21236: 0x9E69, - 21237: 0x9E6A, - 21238: 0x9E6B, - 21239: 0x9E6C, - 21240: 0x9E71, - 21241: 0x9E6D, - 21242: 0x9E73, - 21243: 0x7592, - 21244: 0x7594, - 21245: 0x7596, - 21246: 0x75A0, - 21247: 0x759D, - 21248: 0x75AC, - 21249: 0x75A3, - 21250: 0x75B3, - 21251: 0x75B4, - 21252: 0x75B8, - 21253: 0x75C4, - 21254: 0x75B1, - 21255: 0x75B0, - 21256: 0x75C3, - 21257: 0x75C2, - 21258: 0x75D6, - 21259: 0x75CD, - 21260: 0x75E3, - 21261: 0x75E8, - 21262: 0x75E6, - 21263: 0x75E4, - 21264: 0x75EB, - 21265: 0x75E7, - 21266: 0x7603, - 21267: 0x75F1, - 21268: 0x75FC, - 21269: 0x75FF, - 21270: 0x7610, - 21271: 0x7600, - 21272: 0x7605, - 21273: 0x760C, - 21274: 0x7617, - 21275: 0x760A, - 21276: 0x7625, - 21277: 0x7618, - 21278: 0x7615, - 21279: 0x7619, - 21280: 0x998C, - 21281: 0x998E, - 21282: 0x999A, - 21283: 0x999B, - 21284: 0x999C, - 21285: 0x999D, - 21286: 0x999E, - 21287: 0x999F, - 21288: 0x99A0, - 21289: 0x99A1, - 21290: 0x99A2, - 21291: 0x99A3, - 21292: 0x99A4, - 21293: 0x99A6, - 21294: 0x99A7, - 21295: 0x99A9, - 21296: 0x99AA, - 21297: 0x99AB, - 21298: 0x99AC, - 21299: 0x99AD, - 21300: 0x99AE, - 21301: 0x99AF, - 21302: 0x99B0, - 21303: 0x99B1, - 21304: 0x99B2, - 21305: 0x99B3, - 21306: 0x99B4, - 21307: 0x99B5, - 21308: 0x99B6, - 21309: 0x99B7, - 21310: 0x99B8, - 21311: 0x99B9, - 21312: 0x99BA, - 21313: 0x99BB, - 21314: 0x99BC, - 21315: 0x99BD, - 21316: 0x99BE, - 21317: 0x99BF, - 21318: 0x99C0, - 21319: 0x99C1, - 21320: 0x99C2, - 21321: 0x99C3, - 21322: 0x99C4, - 21323: 0x99C5, - 21324: 0x99C6, - 21325: 0x99C7, - 21326: 0x99C8, - 21327: 0x99C9, - 21328: 0x99CA, - 21329: 0x99CB, - 21330: 0x99CC, - 21331: 0x99CD, - 21332: 0x99CE, - 21333: 0x99CF, - 21334: 0x99D0, - 21335: 0x99D1, - 21336: 0x99D2, - 21337: 0x99D3, - 21338: 0x99D4, - 21339: 0x99D5, - 21340: 0x99D6, - 21341: 0x99D7, - 21342: 0x99D8, - 21343: 0x99D9, - 21344: 0x99DA, - 21345: 0x99DB, - 21346: 0x99DC, - 21347: 0x99DD, - 21348: 0x99DE, - 21349: 0x99DF, - 21350: 0x99E0, - 21351: 0x99E1, - 21352: 0x99E2, - 21353: 0x99E3, - 21354: 0x99E4, - 21355: 0x99E5, - 21356: 0x99E6, - 21357: 0x99E7, - 21358: 0x99E8, - 21359: 0x99E9, - 21360: 0x99EA, - 21361: 0x99EB, - 21362: 0x99EC, - 21363: 0x99ED, - 21364: 0x99EE, - 21365: 0x99EF, - 21366: 0x99F0, - 21367: 0x99F1, - 21368: 0x99F2, - 21369: 0x99F3, - 21370: 0x99F4, - 21371: 0x99F5, - 21372: 0x99F6, - 21373: 0x99F7, - 21374: 0x99F8, - 21375: 0x99F9, - 21376: 0x761B, - 21377: 0x763C, - 21378: 0x7622, - 21379: 0x7620, - 21380: 0x7640, - 21381: 0x762D, - 21382: 0x7630, - 21383: 0x763F, - 21384: 0x7635, - 21385: 0x7643, - 21386: 0x763E, - 21387: 0x7633, - 21388: 0x764D, - 21389: 0x765E, - 21390: 0x7654, - 21391: 0x765C, - 21392: 0x7656, - 21393: 0x766B, - 21394: 0x766F, - 21395: 0x7FCA, - 21396: 0x7AE6, - 21397: 0x7A78, - 21398: 0x7A79, - 21399: 0x7A80, - 21400: 0x7A86, - 21401: 0x7A88, - 21402: 0x7A95, - 21403: 0x7AA6, - 21404: 0x7AA0, - 21405: 0x7AAC, - 21406: 0x7AA8, - 21407: 0x7AAD, - 21408: 0x7AB3, - 21409: 0x8864, - 21410: 0x8869, - 21411: 0x8872, - 21412: 0x887D, - 21413: 0x887F, - 21414: 0x8882, - 21415: 0x88A2, - 21416: 0x88C6, - 21417: 0x88B7, - 21418: 0x88BC, - 21419: 0x88C9, - 21420: 0x88E2, - 21421: 0x88CE, - 21422: 0x88E3, - 21423: 0x88E5, - 21424: 0x88F1, - 21425: 0x891A, - 21426: 0x88FC, - 21427: 0x88E8, - 21428: 0x88FE, - 21429: 0x88F0, - 21430: 0x8921, - 21431: 0x8919, - 21432: 0x8913, - 21433: 0x891B, - 21434: 0x890A, - 21435: 0x8934, - 21436: 0x892B, - 21437: 0x8936, - 21438: 0x8941, - 21439: 0x8966, - 21440: 0x897B, - 21441: 0x758B, - 21442: 0x80E5, - 21443: 0x76B2, - 21444: 0x76B4, - 21445: 0x77DC, - 21446: 0x8012, - 21447: 0x8014, - 21448: 0x8016, - 21449: 0x801C, - 21450: 0x8020, - 21451: 0x8022, - 21452: 0x8025, - 21453: 0x8026, - 21454: 0x8027, - 21455: 0x8029, - 21456: 0x8028, - 21457: 0x8031, - 21458: 0x800B, - 21459: 0x8035, - 21460: 0x8043, - 21461: 0x8046, - 21462: 0x804D, - 21463: 0x8052, - 21464: 0x8069, - 21465: 0x8071, - 21466: 0x8983, - 21467: 0x9878, - 21468: 0x9880, - 21469: 0x9883, - 21470: 0x99FA, - 21471: 0x99FB, - 21472: 0x99FC, - 21473: 0x99FD, - 21474: 0x99FE, - 21475: 0x99FF, - 21476: 0x9A00, - 21477: 0x9A01, - 21478: 0x9A02, - 21479: 0x9A03, - 21480: 0x9A04, - 21481: 0x9A05, - 21482: 0x9A06, - 21483: 0x9A07, - 21484: 0x9A08, - 21485: 0x9A09, - 21486: 0x9A0A, - 21487: 0x9A0B, - 21488: 0x9A0C, - 21489: 0x9A0D, - 21490: 0x9A0E, - 21491: 0x9A0F, - 21492: 0x9A10, - 21493: 0x9A11, - 21494: 0x9A12, - 21495: 0x9A13, - 21496: 0x9A14, - 21497: 0x9A15, - 21498: 0x9A16, - 21499: 0x9A17, - 21500: 0x9A18, - 21501: 0x9A19, - 21502: 0x9A1A, - 21503: 0x9A1B, - 21504: 0x9A1C, - 21505: 0x9A1D, - 21506: 0x9A1E, - 21507: 0x9A1F, - 21508: 0x9A20, - 21509: 0x9A21, - 21510: 0x9A22, - 21511: 0x9A23, - 21512: 0x9A24, - 21513: 0x9A25, - 21514: 0x9A26, - 21515: 0x9A27, - 21516: 0x9A28, - 21517: 0x9A29, - 21518: 0x9A2A, - 21519: 0x9A2B, - 21520: 0x9A2C, - 21521: 0x9A2D, - 21522: 0x9A2E, - 21523: 0x9A2F, - 21524: 0x9A30, - 21525: 0x9A31, - 21526: 0x9A32, - 21527: 0x9A33, - 21528: 0x9A34, - 21529: 0x9A35, - 21530: 0x9A36, - 21531: 0x9A37, - 21532: 0x9A38, - 21533: 0x9A39, - 21534: 0x9A3A, - 21535: 0x9A3B, - 21536: 0x9A3C, - 21537: 0x9A3D, - 21538: 0x9A3E, - 21539: 0x9A3F, - 21540: 0x9A40, - 21541: 0x9A41, - 21542: 0x9A42, - 21543: 0x9A43, - 21544: 0x9A44, - 21545: 0x9A45, - 21546: 0x9A46, - 21547: 0x9A47, - 21548: 0x9A48, - 21549: 0x9A49, - 21550: 0x9A4A, - 21551: 0x9A4B, - 21552: 0x9A4C, - 21553: 0x9A4D, - 21554: 0x9A4E, - 21555: 0x9A4F, - 21556: 0x9A50, - 21557: 0x9A51, - 21558: 0x9A52, - 21559: 0x9A53, - 21560: 0x9A54, - 21561: 0x9A55, - 21562: 0x9A56, - 21563: 0x9A57, - 21564: 0x9A58, - 21565: 0x9A59, - 21566: 0x9889, - 21567: 0x988C, - 21568: 0x988D, - 21569: 0x988F, - 21570: 0x9894, - 21571: 0x989A, - 21572: 0x989B, - 21573: 0x989E, - 21574: 0x989F, - 21575: 0x98A1, - 21576: 0x98A2, - 21577: 0x98A5, - 21578: 0x98A6, - 21579: 0x864D, - 21580: 0x8654, - 21581: 0x866C, - 21582: 0x866E, - 21583: 0x867F, - 21584: 0x867A, - 21585: 0x867C, - 21586: 0x867B, - 21587: 0x86A8, - 21588: 0x868D, - 21589: 0x868B, - 21590: 0x86AC, - 21591: 0x869D, - 21592: 0x86A7, - 21593: 0x86A3, - 21594: 0x86AA, - 21595: 0x8693, - 21596: 0x86A9, - 21597: 0x86B6, - 21598: 0x86C4, - 21599: 0x86B5, - 21600: 0x86CE, - 21601: 0x86B0, - 21602: 0x86BA, - 21603: 0x86B1, - 21604: 0x86AF, - 21605: 0x86C9, - 21606: 0x86CF, - 21607: 0x86B4, - 21608: 0x86E9, - 21609: 0x86F1, - 21610: 0x86F2, - 21611: 0x86ED, - 21612: 0x86F3, - 21613: 0x86D0, - 21614: 0x8713, - 21615: 0x86DE, - 21616: 0x86F4, - 21617: 0x86DF, - 21618: 0x86D8, - 21619: 0x86D1, - 21620: 0x8703, - 21621: 0x8707, - 21622: 0x86F8, - 21623: 0x8708, - 21624: 0x870A, - 21625: 0x870D, - 21626: 0x8709, - 21627: 0x8723, - 21628: 0x873B, - 21629: 0x871E, - 21630: 0x8725, - 21631: 0x872E, - 21632: 0x871A, - 21633: 0x873E, - 21634: 0x8748, - 21635: 0x8734, - 21636: 0x8731, - 21637: 0x8729, - 21638: 0x8737, - 21639: 0x873F, - 21640: 0x8782, - 21641: 0x8722, - 21642: 0x877D, - 21643: 0x877E, - 21644: 0x877B, - 21645: 0x8760, - 21646: 0x8770, - 21647: 0x874C, - 21648: 0x876E, - 21649: 0x878B, - 21650: 0x8753, - 21651: 0x8763, - 21652: 0x877C, - 21653: 0x8764, - 21654: 0x8759, - 21655: 0x8765, - 21656: 0x8793, - 21657: 0x87AF, - 21658: 0x87A8, - 21659: 0x87D2, - 21660: 0x9A5A, - 21661: 0x9A5B, - 21662: 0x9A5C, - 21663: 0x9A5D, - 21664: 0x9A5E, - 21665: 0x9A5F, - 21666: 0x9A60, - 21667: 0x9A61, - 21668: 0x9A62, - 21669: 0x9A63, - 21670: 0x9A64, - 21671: 0x9A65, - 21672: 0x9A66, - 21673: 0x9A67, - 21674: 0x9A68, - 21675: 0x9A69, - 21676: 0x9A6A, - 21677: 0x9A6B, - 21678: 0x9A72, - 21679: 0x9A83, - 21680: 0x9A89, - 21681: 0x9A8D, - 21682: 0x9A8E, - 21683: 0x9A94, - 21684: 0x9A95, - 21685: 0x9A99, - 21686: 0x9AA6, - 21687: 0x9AA9, - 21688: 0x9AAA, - 21689: 0x9AAB, - 21690: 0x9AAC, - 21691: 0x9AAD, - 21692: 0x9AAE, - 21693: 0x9AAF, - 21694: 0x9AB2, - 21695: 0x9AB3, - 21696: 0x9AB4, - 21697: 0x9AB5, - 21698: 0x9AB9, - 21699: 0x9ABB, - 21700: 0x9ABD, - 21701: 0x9ABE, - 21702: 0x9ABF, - 21703: 0x9AC3, - 21704: 0x9AC4, - 21705: 0x9AC6, - 21706: 0x9AC7, - 21707: 0x9AC8, - 21708: 0x9AC9, - 21709: 0x9ACA, - 21710: 0x9ACD, - 21711: 0x9ACE, - 21712: 0x9ACF, - 21713: 0x9AD0, - 21714: 0x9AD2, - 21715: 0x9AD4, - 21716: 0x9AD5, - 21717: 0x9AD6, - 21718: 0x9AD7, - 21719: 0x9AD9, - 21720: 0x9ADA, - 21721: 0x9ADB, - 21722: 0x9ADC, - 21723: 0x9ADD, - 21724: 0x9ADE, - 21725: 0x9AE0, - 21726: 0x9AE2, - 21727: 0x9AE3, - 21728: 0x9AE4, - 21729: 0x9AE5, - 21730: 0x9AE7, - 21731: 0x9AE8, - 21732: 0x9AE9, - 21733: 0x9AEA, - 21734: 0x9AEC, - 21735: 0x9AEE, - 21736: 0x9AF0, - 21737: 0x9AF1, - 21738: 0x9AF2, - 21739: 0x9AF3, - 21740: 0x9AF4, - 21741: 0x9AF5, - 21742: 0x9AF6, - 21743: 0x9AF7, - 21744: 0x9AF8, - 21745: 0x9AFA, - 21746: 0x9AFC, - 21747: 0x9AFD, - 21748: 0x9AFE, - 21749: 0x9AFF, - 21750: 0x9B00, - 21751: 0x9B01, - 21752: 0x9B02, - 21753: 0x9B04, - 21754: 0x9B05, - 21755: 0x9B06, - 21756: 0x87C6, - 21757: 0x8788, - 21758: 0x8785, - 21759: 0x87AD, - 21760: 0x8797, - 21761: 0x8783, - 21762: 0x87AB, - 21763: 0x87E5, - 21764: 0x87AC, - 21765: 0x87B5, - 21766: 0x87B3, - 21767: 0x87CB, - 21768: 0x87D3, - 21769: 0x87BD, - 21770: 0x87D1, - 21771: 0x87C0, - 21772: 0x87CA, - 21773: 0x87DB, - 21774: 0x87EA, - 21775: 0x87E0, - 21776: 0x87EE, - 21777: 0x8816, - 21778: 0x8813, - 21779: 0x87FE, - 21780: 0x880A, - 21781: 0x881B, - 21782: 0x8821, - 21783: 0x8839, - 21784: 0x883C, - 21785: 0x7F36, - 21786: 0x7F42, - 21787: 0x7F44, - 21788: 0x7F45, - 21789: 0x8210, - 21790: 0x7AFA, - 21791: 0x7AFD, - 21792: 0x7B08, - 21793: 0x7B03, - 21794: 0x7B04, - 21795: 0x7B15, - 21796: 0x7B0A, - 21797: 0x7B2B, - 21798: 0x7B0F, - 21799: 0x7B47, - 21800: 0x7B38, - 21801: 0x7B2A, - 21802: 0x7B19, - 21803: 0x7B2E, - 21804: 0x7B31, - 21805: 0x7B20, - 21806: 0x7B25, - 21807: 0x7B24, - 21808: 0x7B33, - 21809: 0x7B3E, - 21810: 0x7B1E, - 21811: 0x7B58, - 21812: 0x7B5A, - 21813: 0x7B45, - 21814: 0x7B75, - 21815: 0x7B4C, - 21816: 0x7B5D, - 21817: 0x7B60, - 21818: 0x7B6E, - 21819: 0x7B7B, - 21820: 0x7B62, - 21821: 0x7B72, - 21822: 0x7B71, - 21823: 0x7B90, - 21824: 0x7BA6, - 21825: 0x7BA7, - 21826: 0x7BB8, - 21827: 0x7BAC, - 21828: 0x7B9D, - 21829: 0x7BA8, - 21830: 0x7B85, - 21831: 0x7BAA, - 21832: 0x7B9C, - 21833: 0x7BA2, - 21834: 0x7BAB, - 21835: 0x7BB4, - 21836: 0x7BD1, - 21837: 0x7BC1, - 21838: 0x7BCC, - 21839: 0x7BDD, - 21840: 0x7BDA, - 21841: 0x7BE5, - 21842: 0x7BE6, - 21843: 0x7BEA, - 21844: 0x7C0C, - 21845: 0x7BFE, - 21846: 0x7BFC, - 21847: 0x7C0F, - 21848: 0x7C16, - 21849: 0x7C0B, - 21850: 0x9B07, - 21851: 0x9B09, - 21852: 0x9B0A, - 21853: 0x9B0B, - 21854: 0x9B0C, - 21855: 0x9B0D, - 21856: 0x9B0E, - 21857: 0x9B10, - 21858: 0x9B11, - 21859: 0x9B12, - 21860: 0x9B14, - 21861: 0x9B15, - 21862: 0x9B16, - 21863: 0x9B17, - 21864: 0x9B18, - 21865: 0x9B19, - 21866: 0x9B1A, - 21867: 0x9B1B, - 21868: 0x9B1C, - 21869: 0x9B1D, - 21870: 0x9B1E, - 21871: 0x9B20, - 21872: 0x9B21, - 21873: 0x9B22, - 21874: 0x9B24, - 21875: 0x9B25, - 21876: 0x9B26, - 21877: 0x9B27, - 21878: 0x9B28, - 21879: 0x9B29, - 21880: 0x9B2A, - 21881: 0x9B2B, - 21882: 0x9B2C, - 21883: 0x9B2D, - 21884: 0x9B2E, - 21885: 0x9B30, - 21886: 0x9B31, - 21887: 0x9B33, - 21888: 0x9B34, - 21889: 0x9B35, - 21890: 0x9B36, - 21891: 0x9B37, - 21892: 0x9B38, - 21893: 0x9B39, - 21894: 0x9B3A, - 21895: 0x9B3D, - 21896: 0x9B3E, - 21897: 0x9B3F, - 21898: 0x9B40, - 21899: 0x9B46, - 21900: 0x9B4A, - 21901: 0x9B4B, - 21902: 0x9B4C, - 21903: 0x9B4E, - 21904: 0x9B50, - 21905: 0x9B52, - 21906: 0x9B53, - 21907: 0x9B55, - 21908: 0x9B56, - 21909: 0x9B57, - 21910: 0x9B58, - 21911: 0x9B59, - 21912: 0x9B5A, - 21913: 0x9B5B, - 21914: 0x9B5C, - 21915: 0x9B5D, - 21916: 0x9B5E, - 21917: 0x9B5F, - 21918: 0x9B60, - 21919: 0x9B61, - 21920: 0x9B62, - 21921: 0x9B63, - 21922: 0x9B64, - 21923: 0x9B65, - 21924: 0x9B66, - 21925: 0x9B67, - 21926: 0x9B68, - 21927: 0x9B69, - 21928: 0x9B6A, - 21929: 0x9B6B, - 21930: 0x9B6C, - 21931: 0x9B6D, - 21932: 0x9B6E, - 21933: 0x9B6F, - 21934: 0x9B70, - 21935: 0x9B71, - 21936: 0x9B72, - 21937: 0x9B73, - 21938: 0x9B74, - 21939: 0x9B75, - 21940: 0x9B76, - 21941: 0x9B77, - 21942: 0x9B78, - 21943: 0x9B79, - 21944: 0x9B7A, - 21945: 0x9B7B, - 21946: 0x7C1F, - 21947: 0x7C2A, - 21948: 0x7C26, - 21949: 0x7C38, - 21950: 0x7C41, - 21951: 0x7C40, - 21952: 0x81FE, - 21953: 0x8201, - 21954: 0x8202, - 21955: 0x8204, - 21956: 0x81EC, - 21957: 0x8844, - 21958: 0x8221, - 21959: 0x8222, - 21960: 0x8223, - 21961: 0x822D, - 21962: 0x822F, - 21963: 0x8228, - 21964: 0x822B, - 21965: 0x8238, - 21966: 0x823B, - 21967: 0x8233, - 21968: 0x8234, - 21969: 0x823E, - 21970: 0x8244, - 21971: 0x8249, - 21972: 0x824B, - 21973: 0x824F, - 21974: 0x825A, - 21975: 0x825F, - 21976: 0x8268, - 21977: 0x887E, - 21978: 0x8885, - 21979: 0x8888, - 21980: 0x88D8, - 21981: 0x88DF, - 21982: 0x895E, - 21983: 0x7F9D, - 21984: 0x7F9F, - 21985: 0x7FA7, - 21986: 0x7FAF, - 21987: 0x7FB0, - 21988: 0x7FB2, - 21989: 0x7C7C, - 21990: 0x6549, - 21991: 0x7C91, - 21992: 0x7C9D, - 21993: 0x7C9C, - 21994: 0x7C9E, - 21995: 0x7CA2, - 21996: 0x7CB2, - 21997: 0x7CBC, - 21998: 0x7CBD, - 21999: 0x7CC1, - 22000: 0x7CC7, - 22001: 0x7CCC, - 22002: 0x7CCD, - 22003: 0x7CC8, - 22004: 0x7CC5, - 22005: 0x7CD7, - 22006: 0x7CE8, - 22007: 0x826E, - 22008: 0x66A8, - 22009: 0x7FBF, - 22010: 0x7FCE, - 22011: 0x7FD5, - 22012: 0x7FE5, - 22013: 0x7FE1, - 22014: 0x7FE6, - 22015: 0x7FE9, - 22016: 0x7FEE, - 22017: 0x7FF3, - 22018: 0x7CF8, - 22019: 0x7D77, - 22020: 0x7DA6, - 22021: 0x7DAE, - 22022: 0x7E47, - 22023: 0x7E9B, - 22024: 0x9EB8, - 22025: 0x9EB4, - 22026: 0x8D73, - 22027: 0x8D84, - 22028: 0x8D94, - 22029: 0x8D91, - 22030: 0x8DB1, - 22031: 0x8D67, - 22032: 0x8D6D, - 22033: 0x8C47, - 22034: 0x8C49, - 22035: 0x914A, - 22036: 0x9150, - 22037: 0x914E, - 22038: 0x914F, - 22039: 0x9164, - 22040: 0x9B7C, - 22041: 0x9B7D, - 22042: 0x9B7E, - 22043: 0x9B7F, - 22044: 0x9B80, - 22045: 0x9B81, - 22046: 0x9B82, - 22047: 0x9B83, - 22048: 0x9B84, - 22049: 0x9B85, - 22050: 0x9B86, - 22051: 0x9B87, - 22052: 0x9B88, - 22053: 0x9B89, - 22054: 0x9B8A, - 22055: 0x9B8B, - 22056: 0x9B8C, - 22057: 0x9B8D, - 22058: 0x9B8E, - 22059: 0x9B8F, - 22060: 0x9B90, - 22061: 0x9B91, - 22062: 0x9B92, - 22063: 0x9B93, - 22064: 0x9B94, - 22065: 0x9B95, - 22066: 0x9B96, - 22067: 0x9B97, - 22068: 0x9B98, - 22069: 0x9B99, - 22070: 0x9B9A, - 22071: 0x9B9B, - 22072: 0x9B9C, - 22073: 0x9B9D, - 22074: 0x9B9E, - 22075: 0x9B9F, - 22076: 0x9BA0, - 22077: 0x9BA1, - 22078: 0x9BA2, - 22079: 0x9BA3, - 22080: 0x9BA4, - 22081: 0x9BA5, - 22082: 0x9BA6, - 22083: 0x9BA7, - 22084: 0x9BA8, - 22085: 0x9BA9, - 22086: 0x9BAA, - 22087: 0x9BAB, - 22088: 0x9BAC, - 22089: 0x9BAD, - 22090: 0x9BAE, - 22091: 0x9BAF, - 22092: 0x9BB0, - 22093: 0x9BB1, - 22094: 0x9BB2, - 22095: 0x9BB3, - 22096: 0x9BB4, - 22097: 0x9BB5, - 22098: 0x9BB6, - 22099: 0x9BB7, - 22100: 0x9BB8, - 22101: 0x9BB9, - 22102: 0x9BBA, - 22103: 0x9BBB, - 22104: 0x9BBC, - 22105: 0x9BBD, - 22106: 0x9BBE, - 22107: 0x9BBF, - 22108: 0x9BC0, - 22109: 0x9BC1, - 22110: 0x9BC2, - 22111: 0x9BC3, - 22112: 0x9BC4, - 22113: 0x9BC5, - 22114: 0x9BC6, - 22115: 0x9BC7, - 22116: 0x9BC8, - 22117: 0x9BC9, - 22118: 0x9BCA, - 22119: 0x9BCB, - 22120: 0x9BCC, - 22121: 0x9BCD, - 22122: 0x9BCE, - 22123: 0x9BCF, - 22124: 0x9BD0, - 22125: 0x9BD1, - 22126: 0x9BD2, - 22127: 0x9BD3, - 22128: 0x9BD4, - 22129: 0x9BD5, - 22130: 0x9BD6, - 22131: 0x9BD7, - 22132: 0x9BD8, - 22133: 0x9BD9, - 22134: 0x9BDA, - 22135: 0x9BDB, - 22136: 0x9162, - 22137: 0x9161, - 22138: 0x9170, - 22139: 0x9169, - 22140: 0x916F, - 22141: 0x917D, - 22142: 0x917E, - 22143: 0x9172, - 22144: 0x9174, - 22145: 0x9179, - 22146: 0x918C, - 22147: 0x9185, - 22148: 0x9190, - 22149: 0x918D, - 22150: 0x9191, - 22151: 0x91A2, - 22152: 0x91A3, - 22153: 0x91AA, - 22154: 0x91AD, - 22155: 0x91AE, - 22156: 0x91AF, - 22157: 0x91B5, - 22158: 0x91B4, - 22159: 0x91BA, - 22160: 0x8C55, - 22161: 0x9E7E, - 22162: 0x8DB8, - 22163: 0x8DEB, - 22164: 0x8E05, - 22165: 0x8E59, - 22166: 0x8E69, - 22167: 0x8DB5, - 22168: 0x8DBF, - 22169: 0x8DBC, - 22170: 0x8DBA, - 22171: 0x8DC4, - 22172: 0x8DD6, - 22173: 0x8DD7, - 22174: 0x8DDA, - 22175: 0x8DDE, - 22176: 0x8DCE, - 22177: 0x8DCF, - 22178: 0x8DDB, - 22179: 0x8DC6, - 22180: 0x8DEC, - 22181: 0x8DF7, - 22182: 0x8DF8, - 22183: 0x8DE3, - 22184: 0x8DF9, - 22185: 0x8DFB, - 22186: 0x8DE4, - 22187: 0x8E09, - 22188: 0x8DFD, - 22189: 0x8E14, - 22190: 0x8E1D, - 22191: 0x8E1F, - 22192: 0x8E2C, - 22193: 0x8E2E, - 22194: 0x8E23, - 22195: 0x8E2F, - 22196: 0x8E3A, - 22197: 0x8E40, - 22198: 0x8E39, - 22199: 0x8E35, - 22200: 0x8E3D, - 22201: 0x8E31, - 22202: 0x8E49, - 22203: 0x8E41, - 22204: 0x8E42, - 22205: 0x8E51, - 22206: 0x8E52, - 22207: 0x8E4A, - 22208: 0x8E70, - 22209: 0x8E76, - 22210: 0x8E7C, - 22211: 0x8E6F, - 22212: 0x8E74, - 22213: 0x8E85, - 22214: 0x8E8F, - 22215: 0x8E94, - 22216: 0x8E90, - 22217: 0x8E9C, - 22218: 0x8E9E, - 22219: 0x8C78, - 22220: 0x8C82, - 22221: 0x8C8A, - 22222: 0x8C85, - 22223: 0x8C98, - 22224: 0x8C94, - 22225: 0x659B, - 22226: 0x89D6, - 22227: 0x89DE, - 22228: 0x89DA, - 22229: 0x89DC, - 22230: 0x9BDC, - 22231: 0x9BDD, - 22232: 0x9BDE, - 22233: 0x9BDF, - 22234: 0x9BE0, - 22235: 0x9BE1, - 22236: 0x9BE2, - 22237: 0x9BE3, - 22238: 0x9BE4, - 22239: 0x9BE5, - 22240: 0x9BE6, - 22241: 0x9BE7, - 22242: 0x9BE8, - 22243: 0x9BE9, - 22244: 0x9BEA, - 22245: 0x9BEB, - 22246: 0x9BEC, - 22247: 0x9BED, - 22248: 0x9BEE, - 22249: 0x9BEF, - 22250: 0x9BF0, - 22251: 0x9BF1, - 22252: 0x9BF2, - 22253: 0x9BF3, - 22254: 0x9BF4, - 22255: 0x9BF5, - 22256: 0x9BF6, - 22257: 0x9BF7, - 22258: 0x9BF8, - 22259: 0x9BF9, - 22260: 0x9BFA, - 22261: 0x9BFB, - 22262: 0x9BFC, - 22263: 0x9BFD, - 22264: 0x9BFE, - 22265: 0x9BFF, - 22266: 0x9C00, - 22267: 0x9C01, - 22268: 0x9C02, - 22269: 0x9C03, - 22270: 0x9C04, - 22271: 0x9C05, - 22272: 0x9C06, - 22273: 0x9C07, - 22274: 0x9C08, - 22275: 0x9C09, - 22276: 0x9C0A, - 22277: 0x9C0B, - 22278: 0x9C0C, - 22279: 0x9C0D, - 22280: 0x9C0E, - 22281: 0x9C0F, - 22282: 0x9C10, - 22283: 0x9C11, - 22284: 0x9C12, - 22285: 0x9C13, - 22286: 0x9C14, - 22287: 0x9C15, - 22288: 0x9C16, - 22289: 0x9C17, - 22290: 0x9C18, - 22291: 0x9C19, - 22292: 0x9C1A, - 22293: 0x9C1B, - 22294: 0x9C1C, - 22295: 0x9C1D, - 22296: 0x9C1E, - 22297: 0x9C1F, - 22298: 0x9C20, - 22299: 0x9C21, - 22300: 0x9C22, - 22301: 0x9C23, - 22302: 0x9C24, - 22303: 0x9C25, - 22304: 0x9C26, - 22305: 0x9C27, - 22306: 0x9C28, - 22307: 0x9C29, - 22308: 0x9C2A, - 22309: 0x9C2B, - 22310: 0x9C2C, - 22311: 0x9C2D, - 22312: 0x9C2E, - 22313: 0x9C2F, - 22314: 0x9C30, - 22315: 0x9C31, - 22316: 0x9C32, - 22317: 0x9C33, - 22318: 0x9C34, - 22319: 0x9C35, - 22320: 0x9C36, - 22321: 0x9C37, - 22322: 0x9C38, - 22323: 0x9C39, - 22324: 0x9C3A, - 22325: 0x9C3B, - 22326: 0x89E5, - 22327: 0x89EB, - 22328: 0x89EF, - 22329: 0x8A3E, - 22330: 0x8B26, - 22331: 0x9753, - 22332: 0x96E9, - 22333: 0x96F3, - 22334: 0x96EF, - 22335: 0x9706, - 22336: 0x9701, - 22337: 0x9708, - 22338: 0x970F, - 22339: 0x970E, - 22340: 0x972A, - 22341: 0x972D, - 22342: 0x9730, - 22343: 0x973E, - 22344: 0x9F80, - 22345: 0x9F83, - 22346: 0x9F85, - 22347: 0x9F86, - 22348: 0x9F87, - 22349: 0x9F88, - 22350: 0x9F89, - 22351: 0x9F8A, - 22352: 0x9F8C, - 22353: 0x9EFE, - 22354: 0x9F0B, - 22355: 0x9F0D, - 22356: 0x96B9, - 22357: 0x96BC, - 22358: 0x96BD, - 22359: 0x96CE, - 22360: 0x96D2, - 22361: 0x77BF, - 22362: 0x96E0, - 22363: 0x928E, - 22364: 0x92AE, - 22365: 0x92C8, - 22366: 0x933E, - 22367: 0x936A, - 22368: 0x93CA, - 22369: 0x938F, - 22370: 0x943E, - 22371: 0x946B, - 22372: 0x9C7F, - 22373: 0x9C82, - 22374: 0x9C85, - 22375: 0x9C86, - 22376: 0x9C87, - 22377: 0x9C88, - 22378: 0x7A23, - 22379: 0x9C8B, - 22380: 0x9C8E, - 22381: 0x9C90, - 22382: 0x9C91, - 22383: 0x9C92, - 22384: 0x9C94, - 22385: 0x9C95, - 22386: 0x9C9A, - 22387: 0x9C9B, - 22388: 0x9C9E, - 22389: 0x9C9F, - 22390: 0x9CA0, - 22391: 0x9CA1, - 22392: 0x9CA2, - 22393: 0x9CA3, - 22394: 0x9CA5, - 22395: 0x9CA6, - 22396: 0x9CA7, - 22397: 0x9CA8, - 22398: 0x9CA9, - 22399: 0x9CAB, - 22400: 0x9CAD, - 22401: 0x9CAE, - 22402: 0x9CB0, - 22403: 0x9CB1, - 22404: 0x9CB2, - 22405: 0x9CB3, - 22406: 0x9CB4, - 22407: 0x9CB5, - 22408: 0x9CB6, - 22409: 0x9CB7, - 22410: 0x9CBA, - 22411: 0x9CBB, - 22412: 0x9CBC, - 22413: 0x9CBD, - 22414: 0x9CC4, - 22415: 0x9CC5, - 22416: 0x9CC6, - 22417: 0x9CC7, - 22418: 0x9CCA, - 22419: 0x9CCB, - 22420: 0x9C3C, - 22421: 0x9C3D, - 22422: 0x9C3E, - 22423: 0x9C3F, - 22424: 0x9C40, - 22425: 0x9C41, - 22426: 0x9C42, - 22427: 0x9C43, - 22428: 0x9C44, - 22429: 0x9C45, - 22430: 0x9C46, - 22431: 0x9C47, - 22432: 0x9C48, - 22433: 0x9C49, - 22434: 0x9C4A, - 22435: 0x9C4B, - 22436: 0x9C4C, - 22437: 0x9C4D, - 22438: 0x9C4E, - 22439: 0x9C4F, - 22440: 0x9C50, - 22441: 0x9C51, - 22442: 0x9C52, - 22443: 0x9C53, - 22444: 0x9C54, - 22445: 0x9C55, - 22446: 0x9C56, - 22447: 0x9C57, - 22448: 0x9C58, - 22449: 0x9C59, - 22450: 0x9C5A, - 22451: 0x9C5B, - 22452: 0x9C5C, - 22453: 0x9C5D, - 22454: 0x9C5E, - 22455: 0x9C5F, - 22456: 0x9C60, - 22457: 0x9C61, - 22458: 0x9C62, - 22459: 0x9C63, - 22460: 0x9C64, - 22461: 0x9C65, - 22462: 0x9C66, - 22463: 0x9C67, - 22464: 0x9C68, - 22465: 0x9C69, - 22466: 0x9C6A, - 22467: 0x9C6B, - 22468: 0x9C6C, - 22469: 0x9C6D, - 22470: 0x9C6E, - 22471: 0x9C6F, - 22472: 0x9C70, - 22473: 0x9C71, - 22474: 0x9C72, - 22475: 0x9C73, - 22476: 0x9C74, - 22477: 0x9C75, - 22478: 0x9C76, - 22479: 0x9C77, - 22480: 0x9C78, - 22481: 0x9C79, - 22482: 0x9C7A, - 22483: 0x9C7B, - 22484: 0x9C7D, - 22485: 0x9C7E, - 22486: 0x9C80, - 22487: 0x9C83, - 22488: 0x9C84, - 22489: 0x9C89, - 22490: 0x9C8A, - 22491: 0x9C8C, - 22492: 0x9C8F, - 22493: 0x9C93, - 22494: 0x9C96, - 22495: 0x9C97, - 22496: 0x9C98, - 22497: 0x9C99, - 22498: 0x9C9D, - 22499: 0x9CAA, - 22500: 0x9CAC, - 22501: 0x9CAF, - 22502: 0x9CB9, - 22503: 0x9CBE, - 22504: 0x9CBF, - 22505: 0x9CC0, - 22506: 0x9CC1, - 22507: 0x9CC2, - 22508: 0x9CC8, - 22509: 0x9CC9, - 22510: 0x9CD1, - 22511: 0x9CD2, - 22512: 0x9CDA, - 22513: 0x9CDB, - 22514: 0x9CE0, - 22515: 0x9CE1, - 22516: 0x9CCC, - 22517: 0x9CCD, - 22518: 0x9CCE, - 22519: 0x9CCF, - 22520: 0x9CD0, - 22521: 0x9CD3, - 22522: 0x9CD4, - 22523: 0x9CD5, - 22524: 0x9CD7, - 22525: 0x9CD8, - 22526: 0x9CD9, - 22527: 0x9CDC, - 22528: 0x9CDD, - 22529: 0x9CDF, - 22530: 0x9CE2, - 22531: 0x977C, - 22532: 0x9785, - 22533: 0x9791, - 22534: 0x9792, - 22535: 0x9794, - 22536: 0x97AF, - 22537: 0x97AB, - 22538: 0x97A3, - 22539: 0x97B2, - 22540: 0x97B4, - 22541: 0x9AB1, - 22542: 0x9AB0, - 22543: 0x9AB7, - 22544: 0x9E58, - 22545: 0x9AB6, - 22546: 0x9ABA, - 22547: 0x9ABC, - 22548: 0x9AC1, - 22549: 0x9AC0, - 22550: 0x9AC5, - 22551: 0x9AC2, - 22552: 0x9ACB, - 22553: 0x9ACC, - 22554: 0x9AD1, - 22555: 0x9B45, - 22556: 0x9B43, - 22557: 0x9B47, - 22558: 0x9B49, - 22559: 0x9B48, - 22560: 0x9B4D, - 22561: 0x9B51, - 22562: 0x98E8, - 22563: 0x990D, - 22564: 0x992E, - 22565: 0x9955, - 22566: 0x9954, - 22567: 0x9ADF, - 22568: 0x9AE1, - 22569: 0x9AE6, - 22570: 0x9AEF, - 22571: 0x9AEB, - 22572: 0x9AFB, - 22573: 0x9AED, - 22574: 0x9AF9, - 22575: 0x9B08, - 22576: 0x9B0F, - 22577: 0x9B13, - 22578: 0x9B1F, - 22579: 0x9B23, - 22580: 0x9EBD, - 22581: 0x9EBE, - 22582: 0x7E3B, - 22583: 0x9E82, - 22584: 0x9E87, - 22585: 0x9E88, - 22586: 0x9E8B, - 22587: 0x9E92, - 22588: 0x93D6, - 22589: 0x9E9D, - 22590: 0x9E9F, - 22591: 0x9EDB, - 22592: 0x9EDC, - 22593: 0x9EDD, - 22594: 0x9EE0, - 22595: 0x9EDF, - 22596: 0x9EE2, - 22597: 0x9EE9, - 22598: 0x9EE7, - 22599: 0x9EE5, - 22600: 0x9EEA, - 22601: 0x9EEF, - 22602: 0x9F22, - 22603: 0x9F2C, - 22604: 0x9F2F, - 22605: 0x9F39, - 22606: 0x9F37, - 22607: 0x9F3D, - 22608: 0x9F3E, - 22609: 0x9F44, - 22610: 0x9CE3, - 22611: 0x9CE4, - 22612: 0x9CE5, - 22613: 0x9CE6, - 22614: 0x9CE7, - 22615: 0x9CE8, - 22616: 0x9CE9, - 22617: 0x9CEA, - 22618: 0x9CEB, - 22619: 0x9CEC, - 22620: 0x9CED, - 22621: 0x9CEE, - 22622: 0x9CEF, - 22623: 0x9CF0, - 22624: 0x9CF1, - 22625: 0x9CF2, - 22626: 0x9CF3, - 22627: 0x9CF4, - 22628: 0x9CF5, - 22629: 0x9CF6, - 22630: 0x9CF7, - 22631: 0x9CF8, - 22632: 0x9CF9, - 22633: 0x9CFA, - 22634: 0x9CFB, - 22635: 0x9CFC, - 22636: 0x9CFD, - 22637: 0x9CFE, - 22638: 0x9CFF, - 22639: 0x9D00, - 22640: 0x9D01, - 22641: 0x9D02, - 22642: 0x9D03, - 22643: 0x9D04, - 22644: 0x9D05, - 22645: 0x9D06, - 22646: 0x9D07, - 22647: 0x9D08, - 22648: 0x9D09, - 22649: 0x9D0A, - 22650: 0x9D0B, - 22651: 0x9D0C, - 22652: 0x9D0D, - 22653: 0x9D0E, - 22654: 0x9D0F, - 22655: 0x9D10, - 22656: 0x9D11, - 22657: 0x9D12, - 22658: 0x9D13, - 22659: 0x9D14, - 22660: 0x9D15, - 22661: 0x9D16, - 22662: 0x9D17, - 22663: 0x9D18, - 22664: 0x9D19, - 22665: 0x9D1A, - 22666: 0x9D1B, - 22667: 0x9D1C, - 22668: 0x9D1D, - 22669: 0x9D1E, - 22670: 0x9D1F, - 22671: 0x9D20, - 22672: 0x9D21, - 22673: 0x9D22, - 22674: 0x9D23, - 22675: 0x9D24, - 22676: 0x9D25, - 22677: 0x9D26, - 22678: 0x9D27, - 22679: 0x9D28, - 22680: 0x9D29, - 22681: 0x9D2A, - 22682: 0x9D2B, - 22683: 0x9D2C, - 22684: 0x9D2D, - 22685: 0x9D2E, - 22686: 0x9D2F, - 22687: 0x9D30, - 22688: 0x9D31, - 22689: 0x9D32, - 22690: 0x9D33, - 22691: 0x9D34, - 22692: 0x9D35, - 22693: 0x9D36, - 22694: 0x9D37, - 22695: 0x9D38, - 22696: 0x9D39, - 22697: 0x9D3A, - 22698: 0x9D3B, - 22699: 0x9D3C, - 22700: 0x9D3D, - 22701: 0x9D3E, - 22702: 0x9D3F, - 22703: 0x9D40, - 22704: 0x9D41, - 22705: 0x9D42, - 22800: 0x9D43, - 22801: 0x9D44, - 22802: 0x9D45, - 22803: 0x9D46, - 22804: 0x9D47, - 22805: 0x9D48, - 22806: 0x9D49, - 22807: 0x9D4A, - 22808: 0x9D4B, - 22809: 0x9D4C, - 22810: 0x9D4D, - 22811: 0x9D4E, - 22812: 0x9D4F, - 22813: 0x9D50, - 22814: 0x9D51, - 22815: 0x9D52, - 22816: 0x9D53, - 22817: 0x9D54, - 22818: 0x9D55, - 22819: 0x9D56, - 22820: 0x9D57, - 22821: 0x9D58, - 22822: 0x9D59, - 22823: 0x9D5A, - 22824: 0x9D5B, - 22825: 0x9D5C, - 22826: 0x9D5D, - 22827: 0x9D5E, - 22828: 0x9D5F, - 22829: 0x9D60, - 22830: 0x9D61, - 22831: 0x9D62, - 22832: 0x9D63, - 22833: 0x9D64, - 22834: 0x9D65, - 22835: 0x9D66, - 22836: 0x9D67, - 22837: 0x9D68, - 22838: 0x9D69, - 22839: 0x9D6A, - 22840: 0x9D6B, - 22841: 0x9D6C, - 22842: 0x9D6D, - 22843: 0x9D6E, - 22844: 0x9D6F, - 22845: 0x9D70, - 22846: 0x9D71, - 22847: 0x9D72, - 22848: 0x9D73, - 22849: 0x9D74, - 22850: 0x9D75, - 22851: 0x9D76, - 22852: 0x9D77, - 22853: 0x9D78, - 22854: 0x9D79, - 22855: 0x9D7A, - 22856: 0x9D7B, - 22857: 0x9D7C, - 22858: 0x9D7D, - 22859: 0x9D7E, - 22860: 0x9D7F, - 22861: 0x9D80, - 22862: 0x9D81, - 22863: 0x9D82, - 22864: 0x9D83, - 22865: 0x9D84, - 22866: 0x9D85, - 22867: 0x9D86, - 22868: 0x9D87, - 22869: 0x9D88, - 22870: 0x9D89, - 22871: 0x9D8A, - 22872: 0x9D8B, - 22873: 0x9D8C, - 22874: 0x9D8D, - 22875: 0x9D8E, - 22876: 0x9D8F, - 22877: 0x9D90, - 22878: 0x9D91, - 22879: 0x9D92, - 22880: 0x9D93, - 22881: 0x9D94, - 22882: 0x9D95, - 22883: 0x9D96, - 22884: 0x9D97, - 22885: 0x9D98, - 22886: 0x9D99, - 22887: 0x9D9A, - 22888: 0x9D9B, - 22889: 0x9D9C, - 22890: 0x9D9D, - 22891: 0x9D9E, - 22892: 0x9D9F, - 22893: 0x9DA0, - 22894: 0x9DA1, - 22895: 0x9DA2, - 22990: 0x9DA3, - 22991: 0x9DA4, - 22992: 0x9DA5, - 22993: 0x9DA6, - 22994: 0x9DA7, - 22995: 0x9DA8, - 22996: 0x9DA9, - 22997: 0x9DAA, - 22998: 0x9DAB, - 22999: 0x9DAC, - 23000: 0x9DAD, - 23001: 0x9DAE, - 23002: 0x9DAF, - 23003: 0x9DB0, - 23004: 0x9DB1, - 23005: 0x9DB2, - 23006: 0x9DB3, - 23007: 0x9DB4, - 23008: 0x9DB5, - 23009: 0x9DB6, - 23010: 0x9DB7, - 23011: 0x9DB8, - 23012: 0x9DB9, - 23013: 0x9DBA, - 23014: 0x9DBB, - 23015: 0x9DBC, - 23016: 0x9DBD, - 23017: 0x9DBE, - 23018: 0x9DBF, - 23019: 0x9DC0, - 23020: 0x9DC1, - 23021: 0x9DC2, - 23022: 0x9DC3, - 23023: 0x9DC4, - 23024: 0x9DC5, - 23025: 0x9DC6, - 23026: 0x9DC7, - 23027: 0x9DC8, - 23028: 0x9DC9, - 23029: 0x9DCA, - 23030: 0x9DCB, - 23031: 0x9DCC, - 23032: 0x9DCD, - 23033: 0x9DCE, - 23034: 0x9DCF, - 23035: 0x9DD0, - 23036: 0x9DD1, - 23037: 0x9DD2, - 23038: 0x9DD3, - 23039: 0x9DD4, - 23040: 0x9DD5, - 23041: 0x9DD6, - 23042: 0x9DD7, - 23043: 0x9DD8, - 23044: 0x9DD9, - 23045: 0x9DDA, - 23046: 0x9DDB, - 23047: 0x9DDC, - 23048: 0x9DDD, - 23049: 0x9DDE, - 23050: 0x9DDF, - 23051: 0x9DE0, - 23052: 0x9DE1, - 23053: 0x9DE2, - 23054: 0x9DE3, - 23055: 0x9DE4, - 23056: 0x9DE5, - 23057: 0x9DE6, - 23058: 0x9DE7, - 23059: 0x9DE8, - 23060: 0x9DE9, - 23061: 0x9DEA, - 23062: 0x9DEB, - 23063: 0x9DEC, - 23064: 0x9DED, - 23065: 0x9DEE, - 23066: 0x9DEF, - 23067: 0x9DF0, - 23068: 0x9DF1, - 23069: 0x9DF2, - 23070: 0x9DF3, - 23071: 0x9DF4, - 23072: 0x9DF5, - 23073: 0x9DF6, - 23074: 0x9DF7, - 23075: 0x9DF8, - 23076: 0x9DF9, - 23077: 0x9DFA, - 23078: 0x9DFB, - 23079: 0x9DFC, - 23080: 0x9DFD, - 23081: 0x9DFE, - 23082: 0x9DFF, - 23083: 0x9E00, - 23084: 0x9E01, - 23085: 0x9E02, - 23180: 0x9E03, - 23181: 0x9E04, - 23182: 0x9E05, - 23183: 0x9E06, - 23184: 0x9E07, - 23185: 0x9E08, - 23186: 0x9E09, - 23187: 0x9E0A, - 23188: 0x9E0B, - 23189: 0x9E0C, - 23190: 0x9E0D, - 23191: 0x9E0E, - 23192: 0x9E0F, - 23193: 0x9E10, - 23194: 0x9E11, - 23195: 0x9E12, - 23196: 0x9E13, - 23197: 0x9E14, - 23198: 0x9E15, - 23199: 0x9E16, - 23200: 0x9E17, - 23201: 0x9E18, - 23202: 0x9E19, - 23203: 0x9E1A, - 23204: 0x9E1B, - 23205: 0x9E1C, - 23206: 0x9E1D, - 23207: 0x9E1E, - 23208: 0x9E24, - 23209: 0x9E27, - 23210: 0x9E2E, - 23211: 0x9E30, - 23212: 0x9E34, - 23213: 0x9E3B, - 23214: 0x9E3C, - 23215: 0x9E40, - 23216: 0x9E4D, - 23217: 0x9E50, - 23218: 0x9E52, - 23219: 0x9E53, - 23220: 0x9E54, - 23221: 0x9E56, - 23222: 0x9E59, - 23223: 0x9E5D, - 23224: 0x9E5F, - 23225: 0x9E60, - 23226: 0x9E61, - 23227: 0x9E62, - 23228: 0x9E65, - 23229: 0x9E6E, - 23230: 0x9E6F, - 23231: 0x9E72, - 23232: 0x9E74, - 23233: 0x9E75, - 23234: 0x9E76, - 23235: 0x9E77, - 23236: 0x9E78, - 23237: 0x9E79, - 23238: 0x9E7A, - 23239: 0x9E7B, - 23240: 0x9E7C, - 23241: 0x9E7D, - 23242: 0x9E80, - 23243: 0x9E81, - 23244: 0x9E83, - 23245: 0x9E84, - 23246: 0x9E85, - 23247: 0x9E86, - 23248: 0x9E89, - 23249: 0x9E8A, - 23250: 0x9E8C, - 23251: 0x9E8D, - 23252: 0x9E8E, - 23253: 0x9E8F, - 23254: 0x9E90, - 23255: 0x9E91, - 23256: 0x9E94, - 23257: 0x9E95, - 23258: 0x9E96, - 23259: 0x9E97, - 23260: 0x9E98, - 23261: 0x9E99, - 23262: 0x9E9A, - 23263: 0x9E9B, - 23264: 0x9E9C, - 23265: 0x9E9E, - 23266: 0x9EA0, - 23267: 0x9EA1, - 23268: 0x9EA2, - 23269: 0x9EA3, - 23270: 0x9EA4, - 23271: 0x9EA5, - 23272: 0x9EA7, - 23273: 0x9EA8, - 23274: 0x9EA9, - 23275: 0x9EAA, - 23370: 0x9EAB, - 23371: 0x9EAC, - 23372: 0x9EAD, - 23373: 0x9EAE, - 23374: 0x9EAF, - 23375: 0x9EB0, - 23376: 0x9EB1, - 23377: 0x9EB2, - 23378: 0x9EB3, - 23379: 0x9EB5, - 23380: 0x9EB6, - 23381: 0x9EB7, - 23382: 0x9EB9, - 23383: 0x9EBA, - 23384: 0x9EBC, - 23385: 0x9EBF, - 23386: 0x9EC0, - 23387: 0x9EC1, - 23388: 0x9EC2, - 23389: 0x9EC3, - 23390: 0x9EC5, - 23391: 0x9EC6, - 23392: 0x9EC7, - 23393: 0x9EC8, - 23394: 0x9ECA, - 23395: 0x9ECB, - 23396: 0x9ECC, - 23397: 0x9ED0, - 23398: 0x9ED2, - 23399: 0x9ED3, - 23400: 0x9ED5, - 23401: 0x9ED6, - 23402: 0x9ED7, - 23403: 0x9ED9, - 23404: 0x9EDA, - 23405: 0x9EDE, - 23406: 0x9EE1, - 23407: 0x9EE3, - 23408: 0x9EE4, - 23409: 0x9EE6, - 23410: 0x9EE8, - 23411: 0x9EEB, - 23412: 0x9EEC, - 23413: 0x9EED, - 23414: 0x9EEE, - 23415: 0x9EF0, - 23416: 0x9EF1, - 23417: 0x9EF2, - 23418: 0x9EF3, - 23419: 0x9EF4, - 23420: 0x9EF5, - 23421: 0x9EF6, - 23422: 0x9EF7, - 23423: 0x9EF8, - 23424: 0x9EFA, - 23425: 0x9EFD, - 23426: 0x9EFF, - 23427: 0x9F00, - 23428: 0x9F01, - 23429: 0x9F02, - 23430: 0x9F03, - 23431: 0x9F04, - 23432: 0x9F05, - 23433: 0x9F06, - 23434: 0x9F07, - 23435: 0x9F08, - 23436: 0x9F09, - 23437: 0x9F0A, - 23438: 0x9F0C, - 23439: 0x9F0F, - 23440: 0x9F11, - 23441: 0x9F12, - 23442: 0x9F14, - 23443: 0x9F15, - 23444: 0x9F16, - 23445: 0x9F18, - 23446: 0x9F1A, - 23447: 0x9F1B, - 23448: 0x9F1C, - 23449: 0x9F1D, - 23450: 0x9F1E, - 23451: 0x9F1F, - 23452: 0x9F21, - 23453: 0x9F23, - 23454: 0x9F24, - 23455: 0x9F25, - 23456: 0x9F26, - 23457: 0x9F27, - 23458: 0x9F28, - 23459: 0x9F29, - 23460: 0x9F2A, - 23461: 0x9F2B, - 23462: 0x9F2D, - 23463: 0x9F2E, - 23464: 0x9F30, - 23465: 0x9F31, - 23560: 0x9F32, - 23561: 0x9F33, - 23562: 0x9F34, - 23563: 0x9F35, - 23564: 0x9F36, - 23565: 0x9F38, - 23566: 0x9F3A, - 23567: 0x9F3C, - 23568: 0x9F3F, - 23569: 0x9F40, - 23570: 0x9F41, - 23571: 0x9F42, - 23572: 0x9F43, - 23573: 0x9F45, - 23574: 0x9F46, - 23575: 0x9F47, - 23576: 0x9F48, - 23577: 0x9F49, - 23578: 0x9F4A, - 23579: 0x9F4B, - 23580: 0x9F4C, - 23581: 0x9F4D, - 23582: 0x9F4E, - 23583: 0x9F4F, - 23584: 0x9F52, - 23585: 0x9F53, - 23586: 0x9F54, - 23587: 0x9F55, - 23588: 0x9F56, - 23589: 0x9F57, - 23590: 0x9F58, - 23591: 0x9F59, - 23592: 0x9F5A, - 23593: 0x9F5B, - 23594: 0x9F5C, - 23595: 0x9F5D, - 23596: 0x9F5E, - 23597: 0x9F5F, - 23598: 0x9F60, - 23599: 0x9F61, - 23600: 0x9F62, - 23601: 0x9F63, - 23602: 0x9F64, - 23603: 0x9F65, - 23604: 0x9F66, - 23605: 0x9F67, - 23606: 0x9F68, - 23607: 0x9F69, - 23608: 0x9F6A, - 23609: 0x9F6B, - 23610: 0x9F6C, - 23611: 0x9F6D, - 23612: 0x9F6E, - 23613: 0x9F6F, - 23614: 0x9F70, - 23615: 0x9F71, - 23616: 0x9F72, - 23617: 0x9F73, - 23618: 0x9F74, - 23619: 0x9F75, - 23620: 0x9F76, - 23621: 0x9F77, - 23622: 0x9F78, - 23623: 0x9F79, - 23624: 0x9F7A, - 23625: 0x9F7B, - 23626: 0x9F7C, - 23627: 0x9F7D, - 23628: 0x9F7E, - 23629: 0x9F81, - 23630: 0x9F82, - 23631: 0x9F8D, - 23632: 0x9F8E, - 23633: 0x9F8F, - 23634: 0x9F90, - 23635: 0x9F91, - 23636: 0x9F92, - 23637: 0x9F93, - 23638: 0x9F94, - 23639: 0x9F95, - 23640: 0x9F96, - 23641: 0x9F97, - 23642: 0x9F98, - 23643: 0x9F9C, - 23644: 0x9F9D, - 23645: 0x9F9E, - 23646: 0x9FA1, - 23647: 0x9FA2, - 23648: 0x9FA3, - 23649: 0x9FA4, - 23650: 0x9FA5, - 23651: 0xF92C, - 23652: 0xF979, - 23653: 0xF995, - 23654: 0xF9E7, - 23655: 0xF9F1, - 23750: 0xFA0C, - 23751: 0xFA0D, - 23752: 0xFA0E, - 23753: 0xFA0F, - 23754: 0xFA11, - 23755: 0xFA13, - 23756: 0xFA14, - 23757: 0xFA18, - 23758: 0xFA1F, - 23759: 0xFA20, - 23760: 0xFA21, - 23761: 0xFA23, - 23762: 0xFA24, - 23763: 0xFA27, - 23764: 0xFA28, - 23765: 0xFA29, - 23766: 0x2E81, - 23770: 0x2E84, - 23771: 0x3473, - 23772: 0x3447, - 23773: 0x2E88, - 23774: 0x2E8B, - 23776: 0x359E, - 23777: 0x361A, - 23778: 0x360E, - 23779: 0x2E8C, - 23780: 0x2E97, - 23781: 0x396E, - 23782: 0x3918, - 23784: 0x39CF, - 23785: 0x39DF, - 23786: 0x3A73, - 23787: 0x39D0, - 23790: 0x3B4E, - 23791: 0x3C6E, - 23792: 0x3CE0, - 23793: 0x2EA7, - 23796: 0x2EAA, - 23797: 0x4056, - 23798: 0x415F, - 23799: 0x2EAE, - 23800: 0x4337, - 23801: 0x2EB3, - 23802: 0x2EB6, - 23803: 0x2EB7, - 23805: 0x43B1, - 23806: 0x43AC, - 23807: 0x2EBB, - 23808: 0x43DD, - 23809: 0x44D6, - 23810: 0x4661, - 23811: 0x464C, - 23813: 0x4723, - 23814: 0x4729, - 23815: 0x477C, - 23816: 0x478D, - 23817: 0x2ECA, - 23818: 0x4947, - 23819: 0x497A, - 23820: 0x497D, - 23821: 0x4982, - 23822: 0x4983, - 23823: 0x4985, - 23824: 0x4986, - 23825: 0x499F, - 23826: 0x499B, - 23827: 0x49B7, - 23828: 0x49B6, - 23831: 0x4CA3, - 23832: 0x4C9F, - 23833: 0x4CA0, - 23834: 0x4CA1, - 23835: 0x4C77, - 23836: 0x4CA2, - 23837: 0x4D13, - 23838: 0x4D14, - 23839: 0x4D15, - 23840: 0x4D16, - 23841: 0x4D17, - 23842: 0x4D18, - 23843: 0x4D19, - 23844: 0x4DAE, -} - -const numEncodeTables = 5 - -// encodeX are the encoding tables from Unicode to GBK code, -// sorted by decreasing length. -// encode0: 28965 entries for runes in [11905, 40870). -// encode1: 1587 entries for runes in [ 8208, 9795). -// encode2: 942 entries for runes in [ 164, 1106). -// encode3: 438 entries for runes in [65072, 65510). -// encode4: 254 entries for runes in [63788, 64042). - -const encode0Low, encode0High = 11905, 40870 - -var encode0 = [...]uint16{ - 11905 - 11905: 0xFE50, - 11908 - 11905: 0xFE54, - 11912 - 11905: 0xFE57, - 11915 - 11905: 0xFE58, - 11916 - 11905: 0xFE5D, - 11927 - 11905: 0xFE5E, - 11943 - 11905: 0xFE6B, - 11946 - 11905: 0xFE6E, - 11950 - 11905: 0xFE71, - 11955 - 11905: 0xFE73, - 11958 - 11905: 0xFE74, - 11959 - 11905: 0xFE75, - 11963 - 11905: 0xFE79, - 11978 - 11905: 0xFE84, - 12272 - 11905: 0xA98A, - 12273 - 11905: 0xA98B, - 12274 - 11905: 0xA98C, - 12275 - 11905: 0xA98D, - 12276 - 11905: 0xA98E, - 12277 - 11905: 0xA98F, - 12278 - 11905: 0xA990, - 12279 - 11905: 0xA991, - 12280 - 11905: 0xA992, - 12281 - 11905: 0xA993, - 12282 - 11905: 0xA994, - 12283 - 11905: 0xA995, - 12288 - 11905: 0xA1A1, - 12289 - 11905: 0xA1A2, - 12290 - 11905: 0xA1A3, - 12291 - 11905: 0xA1A8, - 12293 - 11905: 0xA1A9, - 12294 - 11905: 0xA965, - 12295 - 11905: 0xA996, - 12296 - 11905: 0xA1B4, - 12297 - 11905: 0xA1B5, - 12298 - 11905: 0xA1B6, - 12299 - 11905: 0xA1B7, - 12300 - 11905: 0xA1B8, - 12301 - 11905: 0xA1B9, - 12302 - 11905: 0xA1BA, - 12303 - 11905: 0xA1BB, - 12304 - 11905: 0xA1BE, - 12305 - 11905: 0xA1BF, - 12306 - 11905: 0xA893, - 12307 - 11905: 0xA1FE, - 12308 - 11905: 0xA1B2, - 12309 - 11905: 0xA1B3, - 12310 - 11905: 0xA1BC, - 12311 - 11905: 0xA1BD, - 12317 - 11905: 0xA894, - 12318 - 11905: 0xA895, - 12321 - 11905: 0xA940, - 12322 - 11905: 0xA941, - 12323 - 11905: 0xA942, - 12324 - 11905: 0xA943, - 12325 - 11905: 0xA944, - 12326 - 11905: 0xA945, - 12327 - 11905: 0xA946, - 12328 - 11905: 0xA947, - 12329 - 11905: 0xA948, - 12350 - 11905: 0xA989, - 12353 - 11905: 0xA4A1, - 12354 - 11905: 0xA4A2, - 12355 - 11905: 0xA4A3, - 12356 - 11905: 0xA4A4, - 12357 - 11905: 0xA4A5, - 12358 - 11905: 0xA4A6, - 12359 - 11905: 0xA4A7, - 12360 - 11905: 0xA4A8, - 12361 - 11905: 0xA4A9, - 12362 - 11905: 0xA4AA, - 12363 - 11905: 0xA4AB, - 12364 - 11905: 0xA4AC, - 12365 - 11905: 0xA4AD, - 12366 - 11905: 0xA4AE, - 12367 - 11905: 0xA4AF, - 12368 - 11905: 0xA4B0, - 12369 - 11905: 0xA4B1, - 12370 - 11905: 0xA4B2, - 12371 - 11905: 0xA4B3, - 12372 - 11905: 0xA4B4, - 12373 - 11905: 0xA4B5, - 12374 - 11905: 0xA4B6, - 12375 - 11905: 0xA4B7, - 12376 - 11905: 0xA4B8, - 12377 - 11905: 0xA4B9, - 12378 - 11905: 0xA4BA, - 12379 - 11905: 0xA4BB, - 12380 - 11905: 0xA4BC, - 12381 - 11905: 0xA4BD, - 12382 - 11905: 0xA4BE, - 12383 - 11905: 0xA4BF, - 12384 - 11905: 0xA4C0, - 12385 - 11905: 0xA4C1, - 12386 - 11905: 0xA4C2, - 12387 - 11905: 0xA4C3, - 12388 - 11905: 0xA4C4, - 12389 - 11905: 0xA4C5, - 12390 - 11905: 0xA4C6, - 12391 - 11905: 0xA4C7, - 12392 - 11905: 0xA4C8, - 12393 - 11905: 0xA4C9, - 12394 - 11905: 0xA4CA, - 12395 - 11905: 0xA4CB, - 12396 - 11905: 0xA4CC, - 12397 - 11905: 0xA4CD, - 12398 - 11905: 0xA4CE, - 12399 - 11905: 0xA4CF, - 12400 - 11905: 0xA4D0, - 12401 - 11905: 0xA4D1, - 12402 - 11905: 0xA4D2, - 12403 - 11905: 0xA4D3, - 12404 - 11905: 0xA4D4, - 12405 - 11905: 0xA4D5, - 12406 - 11905: 0xA4D6, - 12407 - 11905: 0xA4D7, - 12408 - 11905: 0xA4D8, - 12409 - 11905: 0xA4D9, - 12410 - 11905: 0xA4DA, - 12411 - 11905: 0xA4DB, - 12412 - 11905: 0xA4DC, - 12413 - 11905: 0xA4DD, - 12414 - 11905: 0xA4DE, - 12415 - 11905: 0xA4DF, - 12416 - 11905: 0xA4E0, - 12417 - 11905: 0xA4E1, - 12418 - 11905: 0xA4E2, - 12419 - 11905: 0xA4E3, - 12420 - 11905: 0xA4E4, - 12421 - 11905: 0xA4E5, - 12422 - 11905: 0xA4E6, - 12423 - 11905: 0xA4E7, - 12424 - 11905: 0xA4E8, - 12425 - 11905: 0xA4E9, - 12426 - 11905: 0xA4EA, - 12427 - 11905: 0xA4EB, - 12428 - 11905: 0xA4EC, - 12429 - 11905: 0xA4ED, - 12430 - 11905: 0xA4EE, - 12431 - 11905: 0xA4EF, - 12432 - 11905: 0xA4F0, - 12433 - 11905: 0xA4F1, - 12434 - 11905: 0xA4F2, - 12435 - 11905: 0xA4F3, - 12443 - 11905: 0xA961, - 12444 - 11905: 0xA962, - 12445 - 11905: 0xA966, - 12446 - 11905: 0xA967, - 12449 - 11905: 0xA5A1, - 12450 - 11905: 0xA5A2, - 12451 - 11905: 0xA5A3, - 12452 - 11905: 0xA5A4, - 12453 - 11905: 0xA5A5, - 12454 - 11905: 0xA5A6, - 12455 - 11905: 0xA5A7, - 12456 - 11905: 0xA5A8, - 12457 - 11905: 0xA5A9, - 12458 - 11905: 0xA5AA, - 12459 - 11905: 0xA5AB, - 12460 - 11905: 0xA5AC, - 12461 - 11905: 0xA5AD, - 12462 - 11905: 0xA5AE, - 12463 - 11905: 0xA5AF, - 12464 - 11905: 0xA5B0, - 12465 - 11905: 0xA5B1, - 12466 - 11905: 0xA5B2, - 12467 - 11905: 0xA5B3, - 12468 - 11905: 0xA5B4, - 12469 - 11905: 0xA5B5, - 12470 - 11905: 0xA5B6, - 12471 - 11905: 0xA5B7, - 12472 - 11905: 0xA5B8, - 12473 - 11905: 0xA5B9, - 12474 - 11905: 0xA5BA, - 12475 - 11905: 0xA5BB, - 12476 - 11905: 0xA5BC, - 12477 - 11905: 0xA5BD, - 12478 - 11905: 0xA5BE, - 12479 - 11905: 0xA5BF, - 12480 - 11905: 0xA5C0, - 12481 - 11905: 0xA5C1, - 12482 - 11905: 0xA5C2, - 12483 - 11905: 0xA5C3, - 12484 - 11905: 0xA5C4, - 12485 - 11905: 0xA5C5, - 12486 - 11905: 0xA5C6, - 12487 - 11905: 0xA5C7, - 12488 - 11905: 0xA5C8, - 12489 - 11905: 0xA5C9, - 12490 - 11905: 0xA5CA, - 12491 - 11905: 0xA5CB, - 12492 - 11905: 0xA5CC, - 12493 - 11905: 0xA5CD, - 12494 - 11905: 0xA5CE, - 12495 - 11905: 0xA5CF, - 12496 - 11905: 0xA5D0, - 12497 - 11905: 0xA5D1, - 12498 - 11905: 0xA5D2, - 12499 - 11905: 0xA5D3, - 12500 - 11905: 0xA5D4, - 12501 - 11905: 0xA5D5, - 12502 - 11905: 0xA5D6, - 12503 - 11905: 0xA5D7, - 12504 - 11905: 0xA5D8, - 12505 - 11905: 0xA5D9, - 12506 - 11905: 0xA5DA, - 12507 - 11905: 0xA5DB, - 12508 - 11905: 0xA5DC, - 12509 - 11905: 0xA5DD, - 12510 - 11905: 0xA5DE, - 12511 - 11905: 0xA5DF, - 12512 - 11905: 0xA5E0, - 12513 - 11905: 0xA5E1, - 12514 - 11905: 0xA5E2, - 12515 - 11905: 0xA5E3, - 12516 - 11905: 0xA5E4, - 12517 - 11905: 0xA5E5, - 12518 - 11905: 0xA5E6, - 12519 - 11905: 0xA5E7, - 12520 - 11905: 0xA5E8, - 12521 - 11905: 0xA5E9, - 12522 - 11905: 0xA5EA, - 12523 - 11905: 0xA5EB, - 12524 - 11905: 0xA5EC, - 12525 - 11905: 0xA5ED, - 12526 - 11905: 0xA5EE, - 12527 - 11905: 0xA5EF, - 12528 - 11905: 0xA5F0, - 12529 - 11905: 0xA5F1, - 12530 - 11905: 0xA5F2, - 12531 - 11905: 0xA5F3, - 12532 - 11905: 0xA5F4, - 12533 - 11905: 0xA5F5, - 12534 - 11905: 0xA5F6, - 12540 - 11905: 0xA960, - 12541 - 11905: 0xA963, - 12542 - 11905: 0xA964, - 12549 - 11905: 0xA8C5, - 12550 - 11905: 0xA8C6, - 12551 - 11905: 0xA8C7, - 12552 - 11905: 0xA8C8, - 12553 - 11905: 0xA8C9, - 12554 - 11905: 0xA8CA, - 12555 - 11905: 0xA8CB, - 12556 - 11905: 0xA8CC, - 12557 - 11905: 0xA8CD, - 12558 - 11905: 0xA8CE, - 12559 - 11905: 0xA8CF, - 12560 - 11905: 0xA8D0, - 12561 - 11905: 0xA8D1, - 12562 - 11905: 0xA8D2, - 12563 - 11905: 0xA8D3, - 12564 - 11905: 0xA8D4, - 12565 - 11905: 0xA8D5, - 12566 - 11905: 0xA8D6, - 12567 - 11905: 0xA8D7, - 12568 - 11905: 0xA8D8, - 12569 - 11905: 0xA8D9, - 12570 - 11905: 0xA8DA, - 12571 - 11905: 0xA8DB, - 12572 - 11905: 0xA8DC, - 12573 - 11905: 0xA8DD, - 12574 - 11905: 0xA8DE, - 12575 - 11905: 0xA8DF, - 12576 - 11905: 0xA8E0, - 12577 - 11905: 0xA8E1, - 12578 - 11905: 0xA8E2, - 12579 - 11905: 0xA8E3, - 12580 - 11905: 0xA8E4, - 12581 - 11905: 0xA8E5, - 12582 - 11905: 0xA8E6, - 12583 - 11905: 0xA8E7, - 12584 - 11905: 0xA8E8, - 12585 - 11905: 0xA8E9, - 12832 - 11905: 0xA2E5, - 12833 - 11905: 0xA2E6, - 12834 - 11905: 0xA2E7, - 12835 - 11905: 0xA2E8, - 12836 - 11905: 0xA2E9, - 12837 - 11905: 0xA2EA, - 12838 - 11905: 0xA2EB, - 12839 - 11905: 0xA2EC, - 12840 - 11905: 0xA2ED, - 12841 - 11905: 0xA2EE, - 12849 - 11905: 0xA95A, - 12963 - 11905: 0xA949, - 13198 - 11905: 0xA94A, - 13199 - 11905: 0xA94B, - 13212 - 11905: 0xA94C, - 13213 - 11905: 0xA94D, - 13214 - 11905: 0xA94E, - 13217 - 11905: 0xA94F, - 13252 - 11905: 0xA950, - 13262 - 11905: 0xA951, - 13265 - 11905: 0xA952, - 13266 - 11905: 0xA953, - 13269 - 11905: 0xA954, - 13383 - 11905: 0xFE56, - 13427 - 11905: 0xFE55, - 13726 - 11905: 0xFE5A, - 13838 - 11905: 0xFE5C, - 13850 - 11905: 0xFE5B, - 14616 - 11905: 0xFE60, - 14702 - 11905: 0xFE5F, - 14799 - 11905: 0xFE62, - 14800 - 11905: 0xFE65, - 14815 - 11905: 0xFE63, - 14963 - 11905: 0xFE64, - 15182 - 11905: 0xFE68, - 15470 - 11905: 0xFE69, - 15584 - 11905: 0xFE6A, - 16470 - 11905: 0xFE6F, - 16735 - 11905: 0xFE70, - 17207 - 11905: 0xFE72, - 17324 - 11905: 0xFE78, - 17329 - 11905: 0xFE77, - 17373 - 11905: 0xFE7A, - 17622 - 11905: 0xFE7B, - 17996 - 11905: 0xFE7D, - 18017 - 11905: 0xFE7C, - 18211 - 11905: 0xFE80, - 18217 - 11905: 0xFE81, - 18300 - 11905: 0xFE82, - 18317 - 11905: 0xFE83, - 18759 - 11905: 0xFE85, - 18810 - 11905: 0xFE86, - 18813 - 11905: 0xFE87, - 18818 - 11905: 0xFE88, - 18819 - 11905: 0xFE89, - 18821 - 11905: 0xFE8A, - 18822 - 11905: 0xFE8B, - 18843 - 11905: 0xFE8D, - 18847 - 11905: 0xFE8C, - 18870 - 11905: 0xFE8F, - 18871 - 11905: 0xFE8E, - 19575 - 11905: 0xFE96, - 19615 - 11905: 0xFE93, - 19616 - 11905: 0xFE94, - 19617 - 11905: 0xFE95, - 19618 - 11905: 0xFE97, - 19619 - 11905: 0xFE92, - 19731 - 11905: 0xFE98, - 19732 - 11905: 0xFE99, - 19733 - 11905: 0xFE9A, - 19734 - 11905: 0xFE9B, - 19735 - 11905: 0xFE9C, - 19736 - 11905: 0xFE9D, - 19737 - 11905: 0xFE9E, - 19886 - 11905: 0xFE9F, - 19968 - 11905: 0xD2BB, - 19969 - 11905: 0xB6A1, - 19970 - 11905: 0x8140, - 19971 - 11905: 0xC6DF, - 19972 - 11905: 0x8141, - 19973 - 11905: 0x8142, - 19974 - 11905: 0x8143, - 19975 - 11905: 0xCDF2, - 19976 - 11905: 0xD5C9, - 19977 - 11905: 0xC8FD, - 19978 - 11905: 0xC9CF, - 19979 - 11905: 0xCFC2, - 19980 - 11905: 0xD8A2, - 19981 - 11905: 0xB2BB, - 19982 - 11905: 0xD3EB, - 19983 - 11905: 0x8144, - 19984 - 11905: 0xD8A4, - 19985 - 11905: 0xB3F3, - 19986 - 11905: 0x8145, - 19987 - 11905: 0xD7A8, - 19988 - 11905: 0xC7D2, - 19989 - 11905: 0xD8A7, - 19990 - 11905: 0xCAC0, - 19991 - 11905: 0x8146, - 19992 - 11905: 0xC7F0, - 19993 - 11905: 0xB1FB, - 19994 - 11905: 0xD2B5, - 19995 - 11905: 0xB4D4, - 19996 - 11905: 0xB6AB, - 19997 - 11905: 0xCBBF, - 19998 - 11905: 0xD8A9, - 19999 - 11905: 0x8147, - 20000 - 11905: 0x8148, - 20001 - 11905: 0x8149, - 20002 - 11905: 0xB6AA, - 20003 - 11905: 0x814A, - 20004 - 11905: 0xC1BD, - 20005 - 11905: 0xD1CF, - 20006 - 11905: 0x814B, - 20007 - 11905: 0xC9A5, - 20008 - 11905: 0xD8AD, - 20009 - 11905: 0x814C, - 20010 - 11905: 0xB8F6, - 20011 - 11905: 0xD1BE, - 20012 - 11905: 0xE3DC, - 20013 - 11905: 0xD6D0, - 20014 - 11905: 0x814D, - 20015 - 11905: 0x814E, - 20016 - 11905: 0xB7E1, - 20017 - 11905: 0x814F, - 20018 - 11905: 0xB4AE, - 20019 - 11905: 0x8150, - 20020 - 11905: 0xC1D9, - 20021 - 11905: 0x8151, - 20022 - 11905: 0xD8BC, - 20023 - 11905: 0x8152, - 20024 - 11905: 0xCDE8, - 20025 - 11905: 0xB5A4, - 20026 - 11905: 0xCEAA, - 20027 - 11905: 0xD6F7, - 20028 - 11905: 0x8153, - 20029 - 11905: 0xC0F6, - 20030 - 11905: 0xBED9, - 20031 - 11905: 0xD8AF, - 20032 - 11905: 0x8154, - 20033 - 11905: 0x8155, - 20034 - 11905: 0x8156, - 20035 - 11905: 0xC4CB, - 20036 - 11905: 0x8157, - 20037 - 11905: 0xBEC3, - 20038 - 11905: 0x8158, - 20039 - 11905: 0xD8B1, - 20040 - 11905: 0xC3B4, - 20041 - 11905: 0xD2E5, - 20042 - 11905: 0x8159, - 20043 - 11905: 0xD6AE, - 20044 - 11905: 0xCEDA, - 20045 - 11905: 0xD5A7, - 20046 - 11905: 0xBAF5, - 20047 - 11905: 0xB7A6, - 20048 - 11905: 0xC0D6, - 20049 - 11905: 0x815A, - 20050 - 11905: 0xC6B9, - 20051 - 11905: 0xC5D2, - 20052 - 11905: 0xC7C7, - 20053 - 11905: 0x815B, - 20054 - 11905: 0xB9D4, - 20055 - 11905: 0x815C, - 20056 - 11905: 0xB3CB, - 20057 - 11905: 0xD2D2, - 20058 - 11905: 0x815D, - 20059 - 11905: 0x815E, - 20060 - 11905: 0xD8BF, - 20061 - 11905: 0xBEC5, - 20062 - 11905: 0xC6F2, - 20063 - 11905: 0xD2B2, - 20064 - 11905: 0xCFB0, - 20065 - 11905: 0xCFE7, - 20066 - 11905: 0x815F, - 20067 - 11905: 0x8160, - 20068 - 11905: 0x8161, - 20069 - 11905: 0x8162, - 20070 - 11905: 0xCAE9, - 20071 - 11905: 0x8163, - 20072 - 11905: 0x8164, - 20073 - 11905: 0xD8C0, - 20074 - 11905: 0x8165, - 20075 - 11905: 0x8166, - 20076 - 11905: 0x8167, - 20077 - 11905: 0x8168, - 20078 - 11905: 0x8169, - 20079 - 11905: 0x816A, - 20080 - 11905: 0xC2F2, - 20081 - 11905: 0xC2D2, - 20082 - 11905: 0x816B, - 20083 - 11905: 0xC8E9, - 20084 - 11905: 0x816C, - 20085 - 11905: 0x816D, - 20086 - 11905: 0x816E, - 20087 - 11905: 0x816F, - 20088 - 11905: 0x8170, - 20089 - 11905: 0x8171, - 20090 - 11905: 0x8172, - 20091 - 11905: 0x8173, - 20092 - 11905: 0x8174, - 20093 - 11905: 0x8175, - 20094 - 11905: 0xC7AC, - 20095 - 11905: 0x8176, - 20096 - 11905: 0x8177, - 20097 - 11905: 0x8178, - 20098 - 11905: 0x8179, - 20099 - 11905: 0x817A, - 20100 - 11905: 0x817B, - 20101 - 11905: 0x817C, - 20102 - 11905: 0xC1CB, - 20103 - 11905: 0x817D, - 20104 - 11905: 0xD3E8, - 20105 - 11905: 0xD5F9, - 20106 - 11905: 0x817E, - 20107 - 11905: 0xCAC2, - 20108 - 11905: 0xB6FE, - 20109 - 11905: 0xD8A1, - 20110 - 11905: 0xD3DA, - 20111 - 11905: 0xBFF7, - 20112 - 11905: 0x8180, - 20113 - 11905: 0xD4C6, - 20114 - 11905: 0xBBA5, - 20115 - 11905: 0xD8C1, - 20116 - 11905: 0xCEE5, - 20117 - 11905: 0xBEAE, - 20118 - 11905: 0x8181, - 20119 - 11905: 0x8182, - 20120 - 11905: 0xD8A8, - 20121 - 11905: 0x8183, - 20122 - 11905: 0xD1C7, - 20123 - 11905: 0xD0A9, - 20124 - 11905: 0x8184, - 20125 - 11905: 0x8185, - 20126 - 11905: 0x8186, - 20127 - 11905: 0xD8BD, - 20128 - 11905: 0xD9EF, - 20129 - 11905: 0xCDF6, - 20130 - 11905: 0xBFBA, - 20131 - 11905: 0x8187, - 20132 - 11905: 0xBDBB, - 20133 - 11905: 0xBAA5, - 20134 - 11905: 0xD2E0, - 20135 - 11905: 0xB2FA, - 20136 - 11905: 0xBAE0, - 20137 - 11905: 0xC4B6, - 20138 - 11905: 0x8188, - 20139 - 11905: 0xCFED, - 20140 - 11905: 0xBEA9, - 20141 - 11905: 0xCDA4, - 20142 - 11905: 0xC1C1, - 20143 - 11905: 0x8189, - 20144 - 11905: 0x818A, - 20145 - 11905: 0x818B, - 20146 - 11905: 0xC7D7, - 20147 - 11905: 0xD9F1, - 20148 - 11905: 0x818C, - 20149 - 11905: 0xD9F4, - 20150 - 11905: 0x818D, - 20151 - 11905: 0x818E, - 20152 - 11905: 0x818F, - 20153 - 11905: 0x8190, - 20154 - 11905: 0xC8CB, - 20155 - 11905: 0xD8E9, - 20156 - 11905: 0x8191, - 20157 - 11905: 0x8192, - 20158 - 11905: 0x8193, - 20159 - 11905: 0xD2DA, - 20160 - 11905: 0xCAB2, - 20161 - 11905: 0xC8CA, - 20162 - 11905: 0xD8EC, - 20163 - 11905: 0xD8EA, - 20164 - 11905: 0xD8C6, - 20165 - 11905: 0xBDF6, - 20166 - 11905: 0xC6CD, - 20167 - 11905: 0xB3F0, - 20168 - 11905: 0x8194, - 20169 - 11905: 0xD8EB, - 20170 - 11905: 0xBDF1, - 20171 - 11905: 0xBDE9, - 20172 - 11905: 0x8195, - 20173 - 11905: 0xC8D4, - 20174 - 11905: 0xB4D3, - 20175 - 11905: 0x8196, - 20176 - 11905: 0x8197, - 20177 - 11905: 0xC2D8, - 20178 - 11905: 0x8198, - 20179 - 11905: 0xB2D6, - 20180 - 11905: 0xD7D0, - 20181 - 11905: 0xCACB, - 20182 - 11905: 0xCBFB, - 20183 - 11905: 0xD5CC, - 20184 - 11905: 0xB8B6, - 20185 - 11905: 0xCFC9, - 20186 - 11905: 0x8199, - 20187 - 11905: 0x819A, - 20188 - 11905: 0x819B, - 20189 - 11905: 0xD9DA, - 20190 - 11905: 0xD8F0, - 20191 - 11905: 0xC7AA, - 20192 - 11905: 0x819C, - 20193 - 11905: 0xD8EE, - 20194 - 11905: 0x819D, - 20195 - 11905: 0xB4FA, - 20196 - 11905: 0xC1EE, - 20197 - 11905: 0xD2D4, - 20198 - 11905: 0x819E, - 20199 - 11905: 0x819F, - 20200 - 11905: 0xD8ED, - 20201 - 11905: 0x81A0, - 20202 - 11905: 0xD2C7, - 20203 - 11905: 0xD8EF, - 20204 - 11905: 0xC3C7, - 20205 - 11905: 0x81A1, - 20206 - 11905: 0x81A2, - 20207 - 11905: 0x81A3, - 20208 - 11905: 0xD1F6, - 20209 - 11905: 0x81A4, - 20210 - 11905: 0xD6D9, - 20211 - 11905: 0xD8F2, - 20212 - 11905: 0x81A5, - 20213 - 11905: 0xD8F5, - 20214 - 11905: 0xBCFE, - 20215 - 11905: 0xBCDB, - 20216 - 11905: 0x81A6, - 20217 - 11905: 0x81A7, - 20218 - 11905: 0x81A8, - 20219 - 11905: 0xC8CE, - 20220 - 11905: 0x81A9, - 20221 - 11905: 0xB7DD, - 20222 - 11905: 0x81AA, - 20223 - 11905: 0xB7C2, - 20224 - 11905: 0x81AB, - 20225 - 11905: 0xC6F3, - 20226 - 11905: 0x81AC, - 20227 - 11905: 0x81AD, - 20228 - 11905: 0x81AE, - 20229 - 11905: 0x81AF, - 20230 - 11905: 0x81B0, - 20231 - 11905: 0x81B1, - 20232 - 11905: 0x81B2, - 20233 - 11905: 0xD8F8, - 20234 - 11905: 0xD2C1, - 20235 - 11905: 0x81B3, - 20236 - 11905: 0x81B4, - 20237 - 11905: 0xCEE9, - 20238 - 11905: 0xBCBF, - 20239 - 11905: 0xB7FC, - 20240 - 11905: 0xB7A5, - 20241 - 11905: 0xD0DD, - 20242 - 11905: 0x81B5, - 20243 - 11905: 0x81B6, - 20244 - 11905: 0x81B7, - 20245 - 11905: 0x81B8, - 20246 - 11905: 0x81B9, - 20247 - 11905: 0xD6DA, - 20248 - 11905: 0xD3C5, - 20249 - 11905: 0xBBEF, - 20250 - 11905: 0xBBE1, - 20251 - 11905: 0xD8F1, - 20252 - 11905: 0x81BA, - 20253 - 11905: 0x81BB, - 20254 - 11905: 0xC9A1, - 20255 - 11905: 0xCEB0, - 20256 - 11905: 0xB4AB, - 20257 - 11905: 0x81BC, - 20258 - 11905: 0xD8F3, - 20259 - 11905: 0x81BD, - 20260 - 11905: 0xC9CB, - 20261 - 11905: 0xD8F6, - 20262 - 11905: 0xC2D7, - 20263 - 11905: 0xD8F7, - 20264 - 11905: 0x81BE, - 20265 - 11905: 0x81BF, - 20266 - 11905: 0xCEB1, - 20267 - 11905: 0xD8F9, - 20268 - 11905: 0x81C0, - 20269 - 11905: 0x81C1, - 20270 - 11905: 0x81C2, - 20271 - 11905: 0xB2AE, - 20272 - 11905: 0xB9C0, - 20273 - 11905: 0x81C3, - 20274 - 11905: 0xD9A3, - 20275 - 11905: 0x81C4, - 20276 - 11905: 0xB0E9, - 20277 - 11905: 0x81C5, - 20278 - 11905: 0xC1E6, - 20279 - 11905: 0x81C6, - 20280 - 11905: 0xC9EC, - 20281 - 11905: 0x81C7, - 20282 - 11905: 0xCBC5, - 20283 - 11905: 0x81C8, - 20284 - 11905: 0xCBC6, - 20285 - 11905: 0xD9A4, - 20286 - 11905: 0x81C9, - 20287 - 11905: 0x81CA, - 20288 - 11905: 0x81CB, - 20289 - 11905: 0x81CC, - 20290 - 11905: 0x81CD, - 20291 - 11905: 0xB5E8, - 20292 - 11905: 0x81CE, - 20293 - 11905: 0x81CF, - 20294 - 11905: 0xB5AB, - 20295 - 11905: 0x81D0, - 20296 - 11905: 0x81D1, - 20297 - 11905: 0x81D2, - 20298 - 11905: 0x81D3, - 20299 - 11905: 0x81D4, - 20300 - 11905: 0x81D5, - 20301 - 11905: 0xCEBB, - 20302 - 11905: 0xB5CD, - 20303 - 11905: 0xD7A1, - 20304 - 11905: 0xD7F4, - 20305 - 11905: 0xD3D3, - 20306 - 11905: 0x81D6, - 20307 - 11905: 0xCCE5, - 20308 - 11905: 0x81D7, - 20309 - 11905: 0xBACE, - 20310 - 11905: 0x81D8, - 20311 - 11905: 0xD9A2, - 20312 - 11905: 0xD9DC, - 20313 - 11905: 0xD3E0, - 20314 - 11905: 0xD8FD, - 20315 - 11905: 0xB7F0, - 20316 - 11905: 0xD7F7, - 20317 - 11905: 0xD8FE, - 20318 - 11905: 0xD8FA, - 20319 - 11905: 0xD9A1, - 20320 - 11905: 0xC4E3, - 20321 - 11905: 0x81D9, - 20322 - 11905: 0x81DA, - 20323 - 11905: 0xD3B6, - 20324 - 11905: 0xD8F4, - 20325 - 11905: 0xD9DD, - 20326 - 11905: 0x81DB, - 20327 - 11905: 0xD8FB, - 20328 - 11905: 0x81DC, - 20329 - 11905: 0xC5E5, - 20330 - 11905: 0x81DD, - 20331 - 11905: 0x81DE, - 20332 - 11905: 0xC0D0, - 20333 - 11905: 0x81DF, - 20334 - 11905: 0x81E0, - 20335 - 11905: 0xD1F0, - 20336 - 11905: 0xB0DB, - 20337 - 11905: 0x81E1, - 20338 - 11905: 0x81E2, - 20339 - 11905: 0xBCD1, - 20340 - 11905: 0xD9A6, - 20341 - 11905: 0x81E3, - 20342 - 11905: 0xD9A5, - 20343 - 11905: 0x81E4, - 20344 - 11905: 0x81E5, - 20345 - 11905: 0x81E6, - 20346 - 11905: 0x81E7, - 20347 - 11905: 0xD9AC, - 20348 - 11905: 0xD9AE, - 20349 - 11905: 0x81E8, - 20350 - 11905: 0xD9AB, - 20351 - 11905: 0xCAB9, - 20352 - 11905: 0x81E9, - 20353 - 11905: 0x81EA, - 20354 - 11905: 0x81EB, - 20355 - 11905: 0xD9A9, - 20356 - 11905: 0xD6B6, - 20357 - 11905: 0x81EC, - 20358 - 11905: 0x81ED, - 20359 - 11905: 0x81EE, - 20360 - 11905: 0xB3DE, - 20361 - 11905: 0xD9A8, - 20362 - 11905: 0x81EF, - 20363 - 11905: 0xC0FD, - 20364 - 11905: 0x81F0, - 20365 - 11905: 0xCACC, - 20366 - 11905: 0x81F1, - 20367 - 11905: 0xD9AA, - 20368 - 11905: 0x81F2, - 20369 - 11905: 0xD9A7, - 20370 - 11905: 0x81F3, - 20371 - 11905: 0x81F4, - 20372 - 11905: 0xD9B0, - 20373 - 11905: 0x81F5, - 20374 - 11905: 0x81F6, - 20375 - 11905: 0xB6B1, - 20376 - 11905: 0x81F7, - 20377 - 11905: 0x81F8, - 20378 - 11905: 0x81F9, - 20379 - 11905: 0xB9A9, - 20380 - 11905: 0x81FA, - 20381 - 11905: 0xD2C0, - 20382 - 11905: 0x81FB, - 20383 - 11905: 0x81FC, - 20384 - 11905: 0xCFC0, - 20385 - 11905: 0x81FD, - 20386 - 11905: 0x81FE, - 20387 - 11905: 0xC2C2, - 20388 - 11905: 0x8240, - 20389 - 11905: 0xBDC4, - 20390 - 11905: 0xD5EC, - 20391 - 11905: 0xB2E0, - 20392 - 11905: 0xC7C8, - 20393 - 11905: 0xBFEB, - 20394 - 11905: 0xD9AD, - 20395 - 11905: 0x8241, - 20396 - 11905: 0xD9AF, - 20397 - 11905: 0x8242, - 20398 - 11905: 0xCEEA, - 20399 - 11905: 0xBAEE, - 20400 - 11905: 0x8243, - 20401 - 11905: 0x8244, - 20402 - 11905: 0x8245, - 20403 - 11905: 0x8246, - 20404 - 11905: 0x8247, - 20405 - 11905: 0xC7D6, - 20406 - 11905: 0x8248, - 20407 - 11905: 0x8249, - 20408 - 11905: 0x824A, - 20409 - 11905: 0x824B, - 20410 - 11905: 0x824C, - 20411 - 11905: 0x824D, - 20412 - 11905: 0x824E, - 20413 - 11905: 0x824F, - 20414 - 11905: 0x8250, - 20415 - 11905: 0xB1E3, - 20416 - 11905: 0x8251, - 20417 - 11905: 0x8252, - 20418 - 11905: 0x8253, - 20419 - 11905: 0xB4D9, - 20420 - 11905: 0xB6ED, - 20421 - 11905: 0xD9B4, - 20422 - 11905: 0x8254, - 20423 - 11905: 0x8255, - 20424 - 11905: 0x8256, - 20425 - 11905: 0x8257, - 20426 - 11905: 0xBFA1, - 20427 - 11905: 0x8258, - 20428 - 11905: 0x8259, - 20429 - 11905: 0x825A, - 20430 - 11905: 0xD9DE, - 20431 - 11905: 0xC7CE, - 20432 - 11905: 0xC0FE, - 20433 - 11905: 0xD9B8, - 20434 - 11905: 0x825B, - 20435 - 11905: 0x825C, - 20436 - 11905: 0x825D, - 20437 - 11905: 0x825E, - 20438 - 11905: 0x825F, - 20439 - 11905: 0xCBD7, - 20440 - 11905: 0xB7FD, - 20441 - 11905: 0x8260, - 20442 - 11905: 0xD9B5, - 20443 - 11905: 0x8261, - 20444 - 11905: 0xD9B7, - 20445 - 11905: 0xB1A3, - 20446 - 11905: 0xD3E1, - 20447 - 11905: 0xD9B9, - 20448 - 11905: 0x8262, - 20449 - 11905: 0xD0C5, - 20450 - 11905: 0x8263, - 20451 - 11905: 0xD9B6, - 20452 - 11905: 0x8264, - 20453 - 11905: 0x8265, - 20454 - 11905: 0xD9B1, - 20455 - 11905: 0x8266, - 20456 - 11905: 0xD9B2, - 20457 - 11905: 0xC1A9, - 20458 - 11905: 0xD9B3, - 20459 - 11905: 0x8267, - 20460 - 11905: 0x8268, - 20461 - 11905: 0xBCF3, - 20462 - 11905: 0xD0DE, - 20463 - 11905: 0xB8A9, - 20464 - 11905: 0x8269, - 20465 - 11905: 0xBEE3, - 20466 - 11905: 0x826A, - 20467 - 11905: 0xD9BD, - 20468 - 11905: 0x826B, - 20469 - 11905: 0x826C, - 20470 - 11905: 0x826D, - 20471 - 11905: 0x826E, - 20472 - 11905: 0xD9BA, - 20473 - 11905: 0x826F, - 20474 - 11905: 0xB0B3, - 20475 - 11905: 0x8270, - 20476 - 11905: 0x8271, - 20477 - 11905: 0x8272, - 20478 - 11905: 0xD9C2, - 20479 - 11905: 0x8273, - 20480 - 11905: 0x8274, - 20481 - 11905: 0x8275, - 20482 - 11905: 0x8276, - 20483 - 11905: 0x8277, - 20484 - 11905: 0x8278, - 20485 - 11905: 0x8279, - 20486 - 11905: 0x827A, - 20487 - 11905: 0x827B, - 20488 - 11905: 0x827C, - 20489 - 11905: 0x827D, - 20490 - 11905: 0x827E, - 20491 - 11905: 0x8280, - 20492 - 11905: 0xD9C4, - 20493 - 11905: 0xB1B6, - 20494 - 11905: 0x8281, - 20495 - 11905: 0xD9BF, - 20496 - 11905: 0x8282, - 20497 - 11905: 0x8283, - 20498 - 11905: 0xB5B9, - 20499 - 11905: 0x8284, - 20500 - 11905: 0xBEF3, - 20501 - 11905: 0x8285, - 20502 - 11905: 0x8286, - 20503 - 11905: 0x8287, - 20504 - 11905: 0xCCC8, - 20505 - 11905: 0xBAF2, - 20506 - 11905: 0xD2D0, - 20507 - 11905: 0x8288, - 20508 - 11905: 0xD9C3, - 20509 - 11905: 0x8289, - 20510 - 11905: 0x828A, - 20511 - 11905: 0xBDE8, - 20512 - 11905: 0x828B, - 20513 - 11905: 0xB3AB, - 20514 - 11905: 0x828C, - 20515 - 11905: 0x828D, - 20516 - 11905: 0x828E, - 20517 - 11905: 0xD9C5, - 20518 - 11905: 0xBEEB, - 20519 - 11905: 0x828F, - 20520 - 11905: 0xD9C6, - 20521 - 11905: 0xD9BB, - 20522 - 11905: 0xC4DF, - 20523 - 11905: 0x8290, - 20524 - 11905: 0xD9BE, - 20525 - 11905: 0xD9C1, - 20526 - 11905: 0xD9C0, - 20527 - 11905: 0x8291, - 20528 - 11905: 0x8292, - 20529 - 11905: 0x8293, - 20530 - 11905: 0x8294, - 20531 - 11905: 0x8295, - 20532 - 11905: 0x8296, - 20533 - 11905: 0x8297, - 20534 - 11905: 0x8298, - 20535 - 11905: 0x8299, - 20536 - 11905: 0x829A, - 20537 - 11905: 0x829B, - 20538 - 11905: 0xD5AE, - 20539 - 11905: 0x829C, - 20540 - 11905: 0xD6B5, - 20541 - 11905: 0x829D, - 20542 - 11905: 0xC7E3, - 20543 - 11905: 0x829E, - 20544 - 11905: 0x829F, - 20545 - 11905: 0x82A0, - 20546 - 11905: 0x82A1, - 20547 - 11905: 0xD9C8, - 20548 - 11905: 0x82A2, - 20549 - 11905: 0x82A3, - 20550 - 11905: 0x82A4, - 20551 - 11905: 0xBCD9, - 20552 - 11905: 0xD9CA, - 20553 - 11905: 0x82A5, - 20554 - 11905: 0x82A6, - 20555 - 11905: 0x82A7, - 20556 - 11905: 0xD9BC, - 20557 - 11905: 0x82A8, - 20558 - 11905: 0xD9CB, - 20559 - 11905: 0xC6AB, - 20560 - 11905: 0x82A9, - 20561 - 11905: 0x82AA, - 20562 - 11905: 0x82AB, - 20563 - 11905: 0x82AC, - 20564 - 11905: 0x82AD, - 20565 - 11905: 0xD9C9, - 20566 - 11905: 0x82AE, - 20567 - 11905: 0x82AF, - 20568 - 11905: 0x82B0, - 20569 - 11905: 0x82B1, - 20570 - 11905: 0xD7F6, - 20571 - 11905: 0x82B2, - 20572 - 11905: 0xCDA3, - 20573 - 11905: 0x82B3, - 20574 - 11905: 0x82B4, - 20575 - 11905: 0x82B5, - 20576 - 11905: 0x82B6, - 20577 - 11905: 0x82B7, - 20578 - 11905: 0x82B8, - 20579 - 11905: 0x82B9, - 20580 - 11905: 0x82BA, - 20581 - 11905: 0xBDA1, - 20582 - 11905: 0x82BB, - 20583 - 11905: 0x82BC, - 20584 - 11905: 0x82BD, - 20585 - 11905: 0x82BE, - 20586 - 11905: 0x82BF, - 20587 - 11905: 0x82C0, - 20588 - 11905: 0xD9CC, - 20589 - 11905: 0x82C1, - 20590 - 11905: 0x82C2, - 20591 - 11905: 0x82C3, - 20592 - 11905: 0x82C4, - 20593 - 11905: 0x82C5, - 20594 - 11905: 0x82C6, - 20595 - 11905: 0x82C7, - 20596 - 11905: 0x82C8, - 20597 - 11905: 0x82C9, - 20598 - 11905: 0xC5BC, - 20599 - 11905: 0xCDB5, - 20600 - 11905: 0x82CA, - 20601 - 11905: 0x82CB, - 20602 - 11905: 0x82CC, - 20603 - 11905: 0xD9CD, - 20604 - 11905: 0x82CD, - 20605 - 11905: 0x82CE, - 20606 - 11905: 0xD9C7, - 20607 - 11905: 0xB3A5, - 20608 - 11905: 0xBFFE, - 20609 - 11905: 0x82CF, - 20610 - 11905: 0x82D0, - 20611 - 11905: 0x82D1, - 20612 - 11905: 0x82D2, - 20613 - 11905: 0xB8B5, - 20614 - 11905: 0x82D3, - 20615 - 11905: 0x82D4, - 20616 - 11905: 0xC0FC, - 20617 - 11905: 0x82D5, - 20618 - 11905: 0x82D6, - 20619 - 11905: 0x82D7, - 20620 - 11905: 0x82D8, - 20621 - 11905: 0xB0F8, - 20622 - 11905: 0x82D9, - 20623 - 11905: 0x82DA, - 20624 - 11905: 0x82DB, - 20625 - 11905: 0x82DC, - 20626 - 11905: 0x82DD, - 20627 - 11905: 0x82DE, - 20628 - 11905: 0x82DF, - 20629 - 11905: 0x82E0, - 20630 - 11905: 0x82E1, - 20631 - 11905: 0x82E2, - 20632 - 11905: 0x82E3, - 20633 - 11905: 0x82E4, - 20634 - 11905: 0x82E5, - 20635 - 11905: 0x82E6, - 20636 - 11905: 0x82E7, - 20637 - 11905: 0x82E8, - 20638 - 11905: 0x82E9, - 20639 - 11905: 0x82EA, - 20640 - 11905: 0x82EB, - 20641 - 11905: 0x82EC, - 20642 - 11905: 0x82ED, - 20643 - 11905: 0xB4F6, - 20644 - 11905: 0x82EE, - 20645 - 11905: 0xD9CE, - 20646 - 11905: 0x82EF, - 20647 - 11905: 0xD9CF, - 20648 - 11905: 0xB4A2, - 20649 - 11905: 0xD9D0, - 20650 - 11905: 0x82F0, - 20651 - 11905: 0x82F1, - 20652 - 11905: 0xB4DF, - 20653 - 11905: 0x82F2, - 20654 - 11905: 0x82F3, - 20655 - 11905: 0x82F4, - 20656 - 11905: 0x82F5, - 20657 - 11905: 0x82F6, - 20658 - 11905: 0xB0C1, - 20659 - 11905: 0x82F7, - 20660 - 11905: 0x82F8, - 20661 - 11905: 0x82F9, - 20662 - 11905: 0x82FA, - 20663 - 11905: 0x82FB, - 20664 - 11905: 0x82FC, - 20665 - 11905: 0x82FD, - 20666 - 11905: 0xD9D1, - 20667 - 11905: 0xC9B5, - 20668 - 11905: 0x82FE, - 20669 - 11905: 0x8340, - 20670 - 11905: 0x8341, - 20671 - 11905: 0x8342, - 20672 - 11905: 0x8343, - 20673 - 11905: 0x8344, - 20674 - 11905: 0x8345, - 20675 - 11905: 0x8346, - 20676 - 11905: 0x8347, - 20677 - 11905: 0x8348, - 20678 - 11905: 0x8349, - 20679 - 11905: 0x834A, - 20680 - 11905: 0x834B, - 20681 - 11905: 0x834C, - 20682 - 11905: 0x834D, - 20683 - 11905: 0x834E, - 20684 - 11905: 0x834F, - 20685 - 11905: 0x8350, - 20686 - 11905: 0x8351, - 20687 - 11905: 0xCFF1, - 20688 - 11905: 0x8352, - 20689 - 11905: 0x8353, - 20690 - 11905: 0x8354, - 20691 - 11905: 0x8355, - 20692 - 11905: 0x8356, - 20693 - 11905: 0x8357, - 20694 - 11905: 0xD9D2, - 20695 - 11905: 0x8358, - 20696 - 11905: 0x8359, - 20697 - 11905: 0x835A, - 20698 - 11905: 0xC1C5, - 20699 - 11905: 0x835B, - 20700 - 11905: 0x835C, - 20701 - 11905: 0x835D, - 20702 - 11905: 0x835E, - 20703 - 11905: 0x835F, - 20704 - 11905: 0x8360, - 20705 - 11905: 0x8361, - 20706 - 11905: 0x8362, - 20707 - 11905: 0x8363, - 20708 - 11905: 0x8364, - 20709 - 11905: 0x8365, - 20710 - 11905: 0xD9D6, - 20711 - 11905: 0xC9AE, - 20712 - 11905: 0x8366, - 20713 - 11905: 0x8367, - 20714 - 11905: 0x8368, - 20715 - 11905: 0x8369, - 20716 - 11905: 0xD9D5, - 20717 - 11905: 0xD9D4, - 20718 - 11905: 0xD9D7, - 20719 - 11905: 0x836A, - 20720 - 11905: 0x836B, - 20721 - 11905: 0x836C, - 20722 - 11905: 0x836D, - 20723 - 11905: 0xCBDB, - 20724 - 11905: 0x836E, - 20725 - 11905: 0xBDA9, - 20726 - 11905: 0x836F, - 20727 - 11905: 0x8370, - 20728 - 11905: 0x8371, - 20729 - 11905: 0x8372, - 20730 - 11905: 0x8373, - 20731 - 11905: 0xC6A7, - 20732 - 11905: 0x8374, - 20733 - 11905: 0x8375, - 20734 - 11905: 0x8376, - 20735 - 11905: 0x8377, - 20736 - 11905: 0x8378, - 20737 - 11905: 0x8379, - 20738 - 11905: 0x837A, - 20739 - 11905: 0x837B, - 20740 - 11905: 0x837C, - 20741 - 11905: 0x837D, - 20742 - 11905: 0xD9D3, - 20743 - 11905: 0xD9D8, - 20744 - 11905: 0x837E, - 20745 - 11905: 0x8380, - 20746 - 11905: 0x8381, - 20747 - 11905: 0xD9D9, - 20748 - 11905: 0x8382, - 20749 - 11905: 0x8383, - 20750 - 11905: 0x8384, - 20751 - 11905: 0x8385, - 20752 - 11905: 0x8386, - 20753 - 11905: 0x8387, - 20754 - 11905: 0xC8E5, - 20755 - 11905: 0x8388, - 20756 - 11905: 0x8389, - 20757 - 11905: 0x838A, - 20758 - 11905: 0x838B, - 20759 - 11905: 0x838C, - 20760 - 11905: 0x838D, - 20761 - 11905: 0x838E, - 20762 - 11905: 0x838F, - 20763 - 11905: 0x8390, - 20764 - 11905: 0x8391, - 20765 - 11905: 0x8392, - 20766 - 11905: 0x8393, - 20767 - 11905: 0x8394, - 20768 - 11905: 0x8395, - 20769 - 11905: 0xC0DC, - 20770 - 11905: 0x8396, - 20771 - 11905: 0x8397, - 20772 - 11905: 0x8398, - 20773 - 11905: 0x8399, - 20774 - 11905: 0x839A, - 20775 - 11905: 0x839B, - 20776 - 11905: 0x839C, - 20777 - 11905: 0x839D, - 20778 - 11905: 0x839E, - 20779 - 11905: 0x839F, - 20780 - 11905: 0x83A0, - 20781 - 11905: 0x83A1, - 20782 - 11905: 0x83A2, - 20783 - 11905: 0x83A3, - 20784 - 11905: 0x83A4, - 20785 - 11905: 0x83A5, - 20786 - 11905: 0x83A6, - 20787 - 11905: 0x83A7, - 20788 - 11905: 0x83A8, - 20789 - 11905: 0x83A9, - 20790 - 11905: 0x83AA, - 20791 - 11905: 0x83AB, - 20792 - 11905: 0x83AC, - 20793 - 11905: 0x83AD, - 20794 - 11905: 0x83AE, - 20795 - 11905: 0x83AF, - 20796 - 11905: 0x83B0, - 20797 - 11905: 0x83B1, - 20798 - 11905: 0x83B2, - 20799 - 11905: 0xB6F9, - 20800 - 11905: 0xD8A3, - 20801 - 11905: 0xD4CA, - 20802 - 11905: 0x83B3, - 20803 - 11905: 0xD4AA, - 20804 - 11905: 0xD0D6, - 20805 - 11905: 0xB3E4, - 20806 - 11905: 0xD5D7, - 20807 - 11905: 0x83B4, - 20808 - 11905: 0xCFC8, - 20809 - 11905: 0xB9E2, - 20810 - 11905: 0x83B5, - 20811 - 11905: 0xBFCB, - 20812 - 11905: 0x83B6, - 20813 - 11905: 0xC3E2, - 20814 - 11905: 0x83B7, - 20815 - 11905: 0x83B8, - 20816 - 11905: 0x83B9, - 20817 - 11905: 0xB6D2, - 20818 - 11905: 0x83BA, - 20819 - 11905: 0x83BB, - 20820 - 11905: 0xCDC3, - 20821 - 11905: 0xD9EE, - 20822 - 11905: 0xD9F0, - 20823 - 11905: 0x83BC, - 20824 - 11905: 0x83BD, - 20825 - 11905: 0x83BE, - 20826 - 11905: 0xB5B3, - 20827 - 11905: 0x83BF, - 20828 - 11905: 0xB6B5, - 20829 - 11905: 0x83C0, - 20830 - 11905: 0x83C1, - 20831 - 11905: 0x83C2, - 20832 - 11905: 0x83C3, - 20833 - 11905: 0x83C4, - 20834 - 11905: 0xBEA4, - 20835 - 11905: 0x83C5, - 20836 - 11905: 0x83C6, - 20837 - 11905: 0xC8EB, - 20838 - 11905: 0x83C7, - 20839 - 11905: 0x83C8, - 20840 - 11905: 0xC8AB, - 20841 - 11905: 0x83C9, - 20842 - 11905: 0x83CA, - 20843 - 11905: 0xB0CB, - 20844 - 11905: 0xB9AB, - 20845 - 11905: 0xC1F9, - 20846 - 11905: 0xD9E2, - 20847 - 11905: 0x83CB, - 20848 - 11905: 0xC0BC, - 20849 - 11905: 0xB9B2, - 20850 - 11905: 0x83CC, - 20851 - 11905: 0xB9D8, - 20852 - 11905: 0xD0CB, - 20853 - 11905: 0xB1F8, - 20854 - 11905: 0xC6E4, - 20855 - 11905: 0xBEDF, - 20856 - 11905: 0xB5E4, - 20857 - 11905: 0xD7C8, - 20858 - 11905: 0x83CD, - 20859 - 11905: 0xD1F8, - 20860 - 11905: 0xBCE6, - 20861 - 11905: 0xCADE, - 20862 - 11905: 0x83CE, - 20863 - 11905: 0x83CF, - 20864 - 11905: 0xBCBD, - 20865 - 11905: 0xD9E6, - 20866 - 11905: 0xD8E7, - 20867 - 11905: 0x83D0, - 20868 - 11905: 0x83D1, - 20869 - 11905: 0xC4DA, - 20870 - 11905: 0x83D2, - 20871 - 11905: 0x83D3, - 20872 - 11905: 0xB8D4, - 20873 - 11905: 0xC8BD, - 20874 - 11905: 0x83D4, - 20875 - 11905: 0x83D5, - 20876 - 11905: 0xB2E1, - 20877 - 11905: 0xD4D9, - 20878 - 11905: 0x83D6, - 20879 - 11905: 0x83D7, - 20880 - 11905: 0x83D8, - 20881 - 11905: 0x83D9, - 20882 - 11905: 0xC3B0, - 20883 - 11905: 0x83DA, - 20884 - 11905: 0x83DB, - 20885 - 11905: 0xC3E1, - 20886 - 11905: 0xDAA2, - 20887 - 11905: 0xC8DF, - 20888 - 11905: 0x83DC, - 20889 - 11905: 0xD0B4, - 20890 - 11905: 0x83DD, - 20891 - 11905: 0xBEFC, - 20892 - 11905: 0xC5A9, - 20893 - 11905: 0x83DE, - 20894 - 11905: 0x83DF, - 20895 - 11905: 0x83E0, - 20896 - 11905: 0xB9DA, - 20897 - 11905: 0x83E1, - 20898 - 11905: 0xDAA3, - 20899 - 11905: 0x83E2, - 20900 - 11905: 0xD4A9, - 20901 - 11905: 0xDAA4, - 20902 - 11905: 0x83E3, - 20903 - 11905: 0x83E4, - 20904 - 11905: 0x83E5, - 20905 - 11905: 0x83E6, - 20906 - 11905: 0x83E7, - 20907 - 11905: 0xD9FB, - 20908 - 11905: 0xB6AC, - 20909 - 11905: 0x83E8, - 20910 - 11905: 0x83E9, - 20911 - 11905: 0xB7EB, - 20912 - 11905: 0xB1F9, - 20913 - 11905: 0xD9FC, - 20914 - 11905: 0xB3E5, - 20915 - 11905: 0xBEF6, - 20916 - 11905: 0x83EA, - 20917 - 11905: 0xBFF6, - 20918 - 11905: 0xD2B1, - 20919 - 11905: 0xC0E4, - 20920 - 11905: 0x83EB, - 20921 - 11905: 0x83EC, - 20922 - 11905: 0x83ED, - 20923 - 11905: 0xB6B3, - 20924 - 11905: 0xD9FE, - 20925 - 11905: 0xD9FD, - 20926 - 11905: 0x83EE, - 20927 - 11905: 0x83EF, - 20928 - 11905: 0xBEBB, - 20929 - 11905: 0x83F0, - 20930 - 11905: 0x83F1, - 20931 - 11905: 0x83F2, - 20932 - 11905: 0xC6E0, - 20933 - 11905: 0x83F3, - 20934 - 11905: 0xD7BC, - 20935 - 11905: 0xDAA1, - 20936 - 11905: 0x83F4, - 20937 - 11905: 0xC1B9, - 20938 - 11905: 0x83F5, - 20939 - 11905: 0xB5F2, - 20940 - 11905: 0xC1E8, - 20941 - 11905: 0x83F6, - 20942 - 11905: 0x83F7, - 20943 - 11905: 0xBCF5, - 20944 - 11905: 0x83F8, - 20945 - 11905: 0xB4D5, - 20946 - 11905: 0x83F9, - 20947 - 11905: 0x83FA, - 20948 - 11905: 0x83FB, - 20949 - 11905: 0x83FC, - 20950 - 11905: 0x83FD, - 20951 - 11905: 0x83FE, - 20952 - 11905: 0x8440, - 20953 - 11905: 0x8441, - 20954 - 11905: 0x8442, - 20955 - 11905: 0xC1DD, - 20956 - 11905: 0x8443, - 20957 - 11905: 0xC4FD, - 20958 - 11905: 0x8444, - 20959 - 11905: 0x8445, - 20960 - 11905: 0xBCB8, - 20961 - 11905: 0xB7B2, - 20962 - 11905: 0x8446, - 20963 - 11905: 0x8447, - 20964 - 11905: 0xB7EF, - 20965 - 11905: 0x8448, - 20966 - 11905: 0x8449, - 20967 - 11905: 0x844A, - 20968 - 11905: 0x844B, - 20969 - 11905: 0x844C, - 20970 - 11905: 0x844D, - 20971 - 11905: 0xD9EC, - 20972 - 11905: 0x844E, - 20973 - 11905: 0xC6BE, - 20974 - 11905: 0x844F, - 20975 - 11905: 0xBFAD, - 20976 - 11905: 0xBBCB, - 20977 - 11905: 0x8450, - 20978 - 11905: 0x8451, - 20979 - 11905: 0xB5CA, - 20980 - 11905: 0x8452, - 20981 - 11905: 0xDBC9, - 20982 - 11905: 0xD0D7, - 20983 - 11905: 0x8453, - 20984 - 11905: 0xCDB9, - 20985 - 11905: 0xB0BC, - 20986 - 11905: 0xB3F6, - 20987 - 11905: 0xBBF7, - 20988 - 11905: 0xDBCA, - 20989 - 11905: 0xBAAF, - 20990 - 11905: 0x8454, - 20991 - 11905: 0xD4E4, - 20992 - 11905: 0xB5B6, - 20993 - 11905: 0xB5F3, - 20994 - 11905: 0xD8D6, - 20995 - 11905: 0xC8D0, - 20996 - 11905: 0x8455, - 20997 - 11905: 0x8456, - 20998 - 11905: 0xB7D6, - 20999 - 11905: 0xC7D0, - 21000 - 11905: 0xD8D7, - 21001 - 11905: 0x8457, - 21002 - 11905: 0xBFAF, - 21003 - 11905: 0x8458, - 21004 - 11905: 0x8459, - 21005 - 11905: 0xDBBB, - 21006 - 11905: 0xD8D8, - 21007 - 11905: 0x845A, - 21008 - 11905: 0x845B, - 21009 - 11905: 0xD0CC, - 21010 - 11905: 0xBBAE, - 21011 - 11905: 0x845C, - 21012 - 11905: 0x845D, - 21013 - 11905: 0x845E, - 21014 - 11905: 0xEBBE, - 21015 - 11905: 0xC1D0, - 21016 - 11905: 0xC1F5, - 21017 - 11905: 0xD4F2, - 21018 - 11905: 0xB8D5, - 21019 - 11905: 0xB4B4, - 21020 - 11905: 0x845F, - 21021 - 11905: 0xB3F5, - 21022 - 11905: 0x8460, - 21023 - 11905: 0x8461, - 21024 - 11905: 0xC9BE, - 21025 - 11905: 0x8462, - 21026 - 11905: 0x8463, - 21027 - 11905: 0x8464, - 21028 - 11905: 0xC5D0, - 21029 - 11905: 0x8465, - 21030 - 11905: 0x8466, - 21031 - 11905: 0x8467, - 21032 - 11905: 0xC5D9, - 21033 - 11905: 0xC0FB, - 21034 - 11905: 0x8468, - 21035 - 11905: 0xB1F0, - 21036 - 11905: 0x8469, - 21037 - 11905: 0xD8D9, - 21038 - 11905: 0xB9CE, - 21039 - 11905: 0x846A, - 21040 - 11905: 0xB5BD, - 21041 - 11905: 0x846B, - 21042 - 11905: 0x846C, - 21043 - 11905: 0xD8DA, - 21044 - 11905: 0x846D, - 21045 - 11905: 0x846E, - 21046 - 11905: 0xD6C6, - 21047 - 11905: 0xCBA2, - 21048 - 11905: 0xC8AF, - 21049 - 11905: 0xC9B2, - 21050 - 11905: 0xB4CC, - 21051 - 11905: 0xBFCC, - 21052 - 11905: 0x846F, - 21053 - 11905: 0xB9F4, - 21054 - 11905: 0x8470, - 21055 - 11905: 0xD8DB, - 21056 - 11905: 0xD8DC, - 21057 - 11905: 0xB6E7, - 21058 - 11905: 0xBCC1, - 21059 - 11905: 0xCCEA, - 21060 - 11905: 0x8471, - 21061 - 11905: 0x8472, - 21062 - 11905: 0x8473, - 21063 - 11905: 0x8474, - 21064 - 11905: 0x8475, - 21065 - 11905: 0x8476, - 21066 - 11905: 0xCFF7, - 21067 - 11905: 0x8477, - 21068 - 11905: 0xD8DD, - 21069 - 11905: 0xC7B0, - 21070 - 11905: 0x8478, - 21071 - 11905: 0x8479, - 21072 - 11905: 0xB9D0, - 21073 - 11905: 0xBDA3, - 21074 - 11905: 0x847A, - 21075 - 11905: 0x847B, - 21076 - 11905: 0xCCDE, - 21077 - 11905: 0x847C, - 21078 - 11905: 0xC6CA, - 21079 - 11905: 0x847D, - 21080 - 11905: 0x847E, - 21081 - 11905: 0x8480, - 21082 - 11905: 0x8481, - 21083 - 11905: 0x8482, - 21084 - 11905: 0xD8E0, - 21085 - 11905: 0x8483, - 21086 - 11905: 0xD8DE, - 21087 - 11905: 0x8484, - 21088 - 11905: 0x8485, - 21089 - 11905: 0xD8DF, - 21090 - 11905: 0x8486, - 21091 - 11905: 0x8487, - 21092 - 11905: 0x8488, - 21093 - 11905: 0xB0FE, - 21094 - 11905: 0x8489, - 21095 - 11905: 0xBEE7, - 21096 - 11905: 0x848A, - 21097 - 11905: 0xCAA3, - 21098 - 11905: 0xBCF4, - 21099 - 11905: 0x848B, - 21100 - 11905: 0x848C, - 21101 - 11905: 0x848D, - 21102 - 11905: 0x848E, - 21103 - 11905: 0xB8B1, - 21104 - 11905: 0x848F, - 21105 - 11905: 0x8490, - 21106 - 11905: 0xB8EE, - 21107 - 11905: 0x8491, - 21108 - 11905: 0x8492, - 21109 - 11905: 0x8493, - 21110 - 11905: 0x8494, - 21111 - 11905: 0x8495, - 21112 - 11905: 0x8496, - 21113 - 11905: 0x8497, - 21114 - 11905: 0x8498, - 21115 - 11905: 0x8499, - 21116 - 11905: 0x849A, - 21117 - 11905: 0xD8E2, - 21118 - 11905: 0x849B, - 21119 - 11905: 0xBDCB, - 21120 - 11905: 0x849C, - 21121 - 11905: 0xD8E4, - 21122 - 11905: 0xD8E3, - 21123 - 11905: 0x849D, - 21124 - 11905: 0x849E, - 21125 - 11905: 0x849F, - 21126 - 11905: 0x84A0, - 21127 - 11905: 0x84A1, - 21128 - 11905: 0xC5FC, - 21129 - 11905: 0x84A2, - 21130 - 11905: 0x84A3, - 21131 - 11905: 0x84A4, - 21132 - 11905: 0x84A5, - 21133 - 11905: 0x84A6, - 21134 - 11905: 0x84A7, - 21135 - 11905: 0x84A8, - 21136 - 11905: 0xD8E5, - 21137 - 11905: 0x84A9, - 21138 - 11905: 0x84AA, - 21139 - 11905: 0xD8E6, - 21140 - 11905: 0x84AB, - 21141 - 11905: 0x84AC, - 21142 - 11905: 0x84AD, - 21143 - 11905: 0x84AE, - 21144 - 11905: 0x84AF, - 21145 - 11905: 0x84B0, - 21146 - 11905: 0x84B1, - 21147 - 11905: 0xC1A6, - 21148 - 11905: 0x84B2, - 21149 - 11905: 0xC8B0, - 21150 - 11905: 0xB0EC, - 21151 - 11905: 0xB9A6, - 21152 - 11905: 0xBCD3, - 21153 - 11905: 0xCEF1, - 21154 - 11905: 0xDBBD, - 21155 - 11905: 0xC1D3, - 21156 - 11905: 0x84B3, - 21157 - 11905: 0x84B4, - 21158 - 11905: 0x84B5, - 21159 - 11905: 0x84B6, - 21160 - 11905: 0xB6AF, - 21161 - 11905: 0xD6FA, - 21162 - 11905: 0xC5AC, - 21163 - 11905: 0xBDD9, - 21164 - 11905: 0xDBBE, - 21165 - 11905: 0xDBBF, - 21166 - 11905: 0x84B7, - 21167 - 11905: 0x84B8, - 21168 - 11905: 0x84B9, - 21169 - 11905: 0xC0F8, - 21170 - 11905: 0xBEA2, - 21171 - 11905: 0xC0CD, - 21172 - 11905: 0x84BA, - 21173 - 11905: 0x84BB, - 21174 - 11905: 0x84BC, - 21175 - 11905: 0x84BD, - 21176 - 11905: 0x84BE, - 21177 - 11905: 0x84BF, - 21178 - 11905: 0x84C0, - 21179 - 11905: 0x84C1, - 21180 - 11905: 0x84C2, - 21181 - 11905: 0x84C3, - 21182 - 11905: 0xDBC0, - 21183 - 11905: 0xCAC6, - 21184 - 11905: 0x84C4, - 21185 - 11905: 0x84C5, - 21186 - 11905: 0x84C6, - 21187 - 11905: 0xB2AA, - 21188 - 11905: 0x84C7, - 21189 - 11905: 0x84C8, - 21190 - 11905: 0x84C9, - 21191 - 11905: 0xD3C2, - 21192 - 11905: 0x84CA, - 21193 - 11905: 0xC3E3, - 21194 - 11905: 0x84CB, - 21195 - 11905: 0xD1AB, - 21196 - 11905: 0x84CC, - 21197 - 11905: 0x84CD, - 21198 - 11905: 0x84CE, - 21199 - 11905: 0x84CF, - 21200 - 11905: 0xDBC2, - 21201 - 11905: 0x84D0, - 21202 - 11905: 0xC0D5, - 21203 - 11905: 0x84D1, - 21204 - 11905: 0x84D2, - 21205 - 11905: 0x84D3, - 21206 - 11905: 0xDBC3, - 21207 - 11905: 0x84D4, - 21208 - 11905: 0xBFB1, - 21209 - 11905: 0x84D5, - 21210 - 11905: 0x84D6, - 21211 - 11905: 0x84D7, - 21212 - 11905: 0x84D8, - 21213 - 11905: 0x84D9, - 21214 - 11905: 0x84DA, - 21215 - 11905: 0xC4BC, - 21216 - 11905: 0x84DB, - 21217 - 11905: 0x84DC, - 21218 - 11905: 0x84DD, - 21219 - 11905: 0x84DE, - 21220 - 11905: 0xC7DA, - 21221 - 11905: 0x84DF, - 21222 - 11905: 0x84E0, - 21223 - 11905: 0x84E1, - 21224 - 11905: 0x84E2, - 21225 - 11905: 0x84E3, - 21226 - 11905: 0x84E4, - 21227 - 11905: 0x84E5, - 21228 - 11905: 0x84E6, - 21229 - 11905: 0x84E7, - 21230 - 11905: 0x84E8, - 21231 - 11905: 0x84E9, - 21232 - 11905: 0xDBC4, - 21233 - 11905: 0x84EA, - 21234 - 11905: 0x84EB, - 21235 - 11905: 0x84EC, - 21236 - 11905: 0x84ED, - 21237 - 11905: 0x84EE, - 21238 - 11905: 0x84EF, - 21239 - 11905: 0x84F0, - 21240 - 11905: 0x84F1, - 21241 - 11905: 0xD9E8, - 21242 - 11905: 0xC9D7, - 21243 - 11905: 0x84F2, - 21244 - 11905: 0x84F3, - 21245 - 11905: 0x84F4, - 21246 - 11905: 0xB9B4, - 21247 - 11905: 0xCEF0, - 21248 - 11905: 0xD4C8, - 21249 - 11905: 0x84F5, - 21250 - 11905: 0x84F6, - 21251 - 11905: 0x84F7, - 21252 - 11905: 0x84F8, - 21253 - 11905: 0xB0FC, - 21254 - 11905: 0xB4D2, - 21255 - 11905: 0x84F9, - 21256 - 11905: 0xD0D9, - 21257 - 11905: 0x84FA, - 21258 - 11905: 0x84FB, - 21259 - 11905: 0x84FC, - 21260 - 11905: 0x84FD, - 21261 - 11905: 0xD9E9, - 21262 - 11905: 0x84FE, - 21263 - 11905: 0xDECB, - 21264 - 11905: 0xD9EB, - 21265 - 11905: 0x8540, - 21266 - 11905: 0x8541, - 21267 - 11905: 0x8542, - 21268 - 11905: 0x8543, - 21269 - 11905: 0xD8B0, - 21270 - 11905: 0xBBAF, - 21271 - 11905: 0xB1B1, - 21272 - 11905: 0x8544, - 21273 - 11905: 0xB3D7, - 21274 - 11905: 0xD8CE, - 21275 - 11905: 0x8545, - 21276 - 11905: 0x8546, - 21277 - 11905: 0xD4D1, - 21278 - 11905: 0x8547, - 21279 - 11905: 0x8548, - 21280 - 11905: 0xBDB3, - 21281 - 11905: 0xBFEF, - 21282 - 11905: 0x8549, - 21283 - 11905: 0xCFBB, - 21284 - 11905: 0x854A, - 21285 - 11905: 0x854B, - 21286 - 11905: 0xD8D0, - 21287 - 11905: 0x854C, - 21288 - 11905: 0x854D, - 21289 - 11905: 0x854E, - 21290 - 11905: 0xB7CB, - 21291 - 11905: 0x854F, - 21292 - 11905: 0x8550, - 21293 - 11905: 0x8551, - 21294 - 11905: 0xD8D1, - 21295 - 11905: 0x8552, - 21296 - 11905: 0x8553, - 21297 - 11905: 0x8554, - 21298 - 11905: 0x8555, - 21299 - 11905: 0x8556, - 21300 - 11905: 0x8557, - 21301 - 11905: 0x8558, - 21302 - 11905: 0x8559, - 21303 - 11905: 0x855A, - 21304 - 11905: 0x855B, - 21305 - 11905: 0xC6A5, - 21306 - 11905: 0xC7F8, - 21307 - 11905: 0xD2BD, - 21308 - 11905: 0x855C, - 21309 - 11905: 0x855D, - 21310 - 11905: 0xD8D2, - 21311 - 11905: 0xC4E4, - 21312 - 11905: 0x855E, - 21313 - 11905: 0xCAAE, - 21314 - 11905: 0x855F, - 21315 - 11905: 0xC7A7, - 21316 - 11905: 0x8560, - 21317 - 11905: 0xD8A6, - 21318 - 11905: 0x8561, - 21319 - 11905: 0xC9FD, - 21320 - 11905: 0xCEE7, - 21321 - 11905: 0xBBDC, - 21322 - 11905: 0xB0EB, - 21323 - 11905: 0x8562, - 21324 - 11905: 0x8563, - 21325 - 11905: 0x8564, - 21326 - 11905: 0xBBAA, - 21327 - 11905: 0xD0AD, - 21328 - 11905: 0x8565, - 21329 - 11905: 0xB1B0, - 21330 - 11905: 0xD7E4, - 21331 - 11905: 0xD7BF, - 21332 - 11905: 0x8566, - 21333 - 11905: 0xB5A5, - 21334 - 11905: 0xC2F4, - 21335 - 11905: 0xC4CF, - 21336 - 11905: 0x8567, - 21337 - 11905: 0x8568, - 21338 - 11905: 0xB2A9, - 21339 - 11905: 0x8569, - 21340 - 11905: 0xB2B7, - 21341 - 11905: 0x856A, - 21342 - 11905: 0xB1E5, - 21343 - 11905: 0xDFB2, - 21344 - 11905: 0xD5BC, - 21345 - 11905: 0xBFA8, - 21346 - 11905: 0xC2AC, - 21347 - 11905: 0xD8D5, - 21348 - 11905: 0xC2B1, - 21349 - 11905: 0x856B, - 21350 - 11905: 0xD8D4, - 21351 - 11905: 0xCED4, - 21352 - 11905: 0x856C, - 21353 - 11905: 0xDAE0, - 21354 - 11905: 0x856D, - 21355 - 11905: 0xCEC0, - 21356 - 11905: 0x856E, - 21357 - 11905: 0x856F, - 21358 - 11905: 0xD8B4, - 21359 - 11905: 0xC3AE, - 21360 - 11905: 0xD3A1, - 21361 - 11905: 0xCEA3, - 21362 - 11905: 0x8570, - 21363 - 11905: 0xBCB4, - 21364 - 11905: 0xC8B4, - 21365 - 11905: 0xC2D1, - 21366 - 11905: 0x8571, - 21367 - 11905: 0xBEED, - 21368 - 11905: 0xD0B6, - 21369 - 11905: 0x8572, - 21370 - 11905: 0xDAE1, - 21371 - 11905: 0x8573, - 21372 - 11905: 0x8574, - 21373 - 11905: 0x8575, - 21374 - 11905: 0x8576, - 21375 - 11905: 0xC7E4, - 21376 - 11905: 0x8577, - 21377 - 11905: 0x8578, - 21378 - 11905: 0xB3A7, - 21379 - 11905: 0x8579, - 21380 - 11905: 0xB6F2, - 21381 - 11905: 0xCCFC, - 21382 - 11905: 0xC0FA, - 21383 - 11905: 0x857A, - 21384 - 11905: 0x857B, - 21385 - 11905: 0xC0F7, - 21386 - 11905: 0x857C, - 21387 - 11905: 0xD1B9, - 21388 - 11905: 0xD1E1, - 21389 - 11905: 0xD8C7, - 21390 - 11905: 0x857D, - 21391 - 11905: 0x857E, - 21392 - 11905: 0x8580, - 21393 - 11905: 0x8581, - 21394 - 11905: 0x8582, - 21395 - 11905: 0x8583, - 21396 - 11905: 0x8584, - 21397 - 11905: 0xB2DE, - 21398 - 11905: 0x8585, - 21399 - 11905: 0x8586, - 21400 - 11905: 0xC0E5, - 21401 - 11905: 0x8587, - 21402 - 11905: 0xBAF1, - 21403 - 11905: 0x8588, - 21404 - 11905: 0x8589, - 21405 - 11905: 0xD8C8, - 21406 - 11905: 0x858A, - 21407 - 11905: 0xD4AD, - 21408 - 11905: 0x858B, - 21409 - 11905: 0x858C, - 21410 - 11905: 0xCFE1, - 21411 - 11905: 0xD8C9, - 21412 - 11905: 0x858D, - 21413 - 11905: 0xD8CA, - 21414 - 11905: 0xCFC3, - 21415 - 11905: 0x858E, - 21416 - 11905: 0xB3F8, - 21417 - 11905: 0xBEC7, - 21418 - 11905: 0x858F, - 21419 - 11905: 0x8590, - 21420 - 11905: 0x8591, - 21421 - 11905: 0x8592, - 21422 - 11905: 0xD8CB, - 21423 - 11905: 0x8593, - 21424 - 11905: 0x8594, - 21425 - 11905: 0x8595, - 21426 - 11905: 0x8596, - 21427 - 11905: 0x8597, - 21428 - 11905: 0x8598, - 21429 - 11905: 0x8599, - 21430 - 11905: 0xDBCC, - 21431 - 11905: 0x859A, - 21432 - 11905: 0x859B, - 21433 - 11905: 0x859C, - 21434 - 11905: 0x859D, - 21435 - 11905: 0xC8A5, - 21436 - 11905: 0x859E, - 21437 - 11905: 0x859F, - 21438 - 11905: 0x85A0, - 21439 - 11905: 0xCFD8, - 21440 - 11905: 0x85A1, - 21441 - 11905: 0xC8FE, - 21442 - 11905: 0xB2CE, - 21443 - 11905: 0x85A2, - 21444 - 11905: 0x85A3, - 21445 - 11905: 0x85A4, - 21446 - 11905: 0x85A5, - 21447 - 11905: 0x85A6, - 21448 - 11905: 0xD3D6, - 21449 - 11905: 0xB2E6, - 21450 - 11905: 0xBCB0, - 21451 - 11905: 0xD3D1, - 21452 - 11905: 0xCBAB, - 21453 - 11905: 0xB7B4, - 21454 - 11905: 0x85A7, - 21455 - 11905: 0x85A8, - 21456 - 11905: 0x85A9, - 21457 - 11905: 0xB7A2, - 21458 - 11905: 0x85AA, - 21459 - 11905: 0x85AB, - 21460 - 11905: 0xCAE5, - 21461 - 11905: 0x85AC, - 21462 - 11905: 0xC8A1, - 21463 - 11905: 0xCADC, - 21464 - 11905: 0xB1E4, - 21465 - 11905: 0xD0F0, - 21466 - 11905: 0x85AD, - 21467 - 11905: 0xC5D1, - 21468 - 11905: 0x85AE, - 21469 - 11905: 0x85AF, - 21470 - 11905: 0x85B0, - 21471 - 11905: 0xDBC5, - 21472 - 11905: 0xB5FE, - 21473 - 11905: 0x85B1, - 21474 - 11905: 0x85B2, - 21475 - 11905: 0xBFDA, - 21476 - 11905: 0xB9C5, - 21477 - 11905: 0xBEE4, - 21478 - 11905: 0xC1ED, - 21479 - 11905: 0x85B3, - 21480 - 11905: 0xDFB6, - 21481 - 11905: 0xDFB5, - 21482 - 11905: 0xD6BB, - 21483 - 11905: 0xBDD0, - 21484 - 11905: 0xD5D9, - 21485 - 11905: 0xB0C8, - 21486 - 11905: 0xB6A3, - 21487 - 11905: 0xBFC9, - 21488 - 11905: 0xCCA8, - 21489 - 11905: 0xDFB3, - 21490 - 11905: 0xCAB7, - 21491 - 11905: 0xD3D2, - 21492 - 11905: 0x85B4, - 21493 - 11905: 0xD8CF, - 21494 - 11905: 0xD2B6, - 21495 - 11905: 0xBAC5, - 21496 - 11905: 0xCBBE, - 21497 - 11905: 0xCCBE, - 21498 - 11905: 0x85B5, - 21499 - 11905: 0xDFB7, - 21500 - 11905: 0xB5F0, - 21501 - 11905: 0xDFB4, - 21502 - 11905: 0x85B6, - 21503 - 11905: 0x85B7, - 21504 - 11905: 0x85B8, - 21505 - 11905: 0xD3F5, - 21506 - 11905: 0x85B9, - 21507 - 11905: 0xB3D4, - 21508 - 11905: 0xB8F7, - 21509 - 11905: 0x85BA, - 21510 - 11905: 0xDFBA, - 21511 - 11905: 0x85BB, - 21512 - 11905: 0xBACF, - 21513 - 11905: 0xBCAA, - 21514 - 11905: 0xB5F5, - 21515 - 11905: 0x85BC, - 21516 - 11905: 0xCDAC, - 21517 - 11905: 0xC3FB, - 21518 - 11905: 0xBAF3, - 21519 - 11905: 0xC0F4, - 21520 - 11905: 0xCDC2, - 21521 - 11905: 0xCFF2, - 21522 - 11905: 0xDFB8, - 21523 - 11905: 0xCFC5, - 21524 - 11905: 0x85BD, - 21525 - 11905: 0xC2C0, - 21526 - 11905: 0xDFB9, - 21527 - 11905: 0xC2F0, - 21528 - 11905: 0x85BE, - 21529 - 11905: 0x85BF, - 21530 - 11905: 0x85C0, - 21531 - 11905: 0xBEFD, - 21532 - 11905: 0x85C1, - 21533 - 11905: 0xC1DF, - 21534 - 11905: 0xCDCC, - 21535 - 11905: 0xD2F7, - 21536 - 11905: 0xB7CD, - 21537 - 11905: 0xDFC1, - 21538 - 11905: 0x85C2, - 21539 - 11905: 0xDFC4, - 21540 - 11905: 0x85C3, - 21541 - 11905: 0x85C4, - 21542 - 11905: 0xB7F1, - 21543 - 11905: 0xB0C9, - 21544 - 11905: 0xB6D6, - 21545 - 11905: 0xB7D4, - 21546 - 11905: 0x85C5, - 21547 - 11905: 0xBAAC, - 21548 - 11905: 0xCCFD, - 21549 - 11905: 0xBFD4, - 21550 - 11905: 0xCBB1, - 21551 - 11905: 0xC6F4, - 21552 - 11905: 0x85C6, - 21553 - 11905: 0xD6A8, - 21554 - 11905: 0xDFC5, - 21555 - 11905: 0x85C7, - 21556 - 11905: 0xCEE2, - 21557 - 11905: 0xB3B3, - 21558 - 11905: 0x85C8, - 21559 - 11905: 0x85C9, - 21560 - 11905: 0xCEFC, - 21561 - 11905: 0xB4B5, - 21562 - 11905: 0x85CA, - 21563 - 11905: 0xCEC7, - 21564 - 11905: 0xBAF0, - 21565 - 11905: 0x85CB, - 21566 - 11905: 0xCEE1, - 21567 - 11905: 0x85CC, - 21568 - 11905: 0xD1BD, - 21569 - 11905: 0x85CD, - 21570 - 11905: 0x85CE, - 21571 - 11905: 0xDFC0, - 21572 - 11905: 0x85CF, - 21573 - 11905: 0x85D0, - 21574 - 11905: 0xB4F4, - 21575 - 11905: 0x85D1, - 21576 - 11905: 0xB3CA, - 21577 - 11905: 0x85D2, - 21578 - 11905: 0xB8E6, - 21579 - 11905: 0xDFBB, - 21580 - 11905: 0x85D3, - 21581 - 11905: 0x85D4, - 21582 - 11905: 0x85D5, - 21583 - 11905: 0x85D6, - 21584 - 11905: 0xC4C5, - 21585 - 11905: 0x85D7, - 21586 - 11905: 0xDFBC, - 21587 - 11905: 0xDFBD, - 21588 - 11905: 0xDFBE, - 21589 - 11905: 0xC5BB, - 21590 - 11905: 0xDFBF, - 21591 - 11905: 0xDFC2, - 21592 - 11905: 0xD4B1, - 21593 - 11905: 0xDFC3, - 21594 - 11905: 0x85D8, - 21595 - 11905: 0xC7BA, - 21596 - 11905: 0xCED8, - 21597 - 11905: 0x85D9, - 21598 - 11905: 0x85DA, - 21599 - 11905: 0x85DB, - 21600 - 11905: 0x85DC, - 21601 - 11905: 0x85DD, - 21602 - 11905: 0xC4D8, - 21603 - 11905: 0x85DE, - 21604 - 11905: 0xDFCA, - 21605 - 11905: 0x85DF, - 21606 - 11905: 0xDFCF, - 21607 - 11905: 0x85E0, - 21608 - 11905: 0xD6DC, - 21609 - 11905: 0x85E1, - 21610 - 11905: 0x85E2, - 21611 - 11905: 0x85E3, - 21612 - 11905: 0x85E4, - 21613 - 11905: 0x85E5, - 21614 - 11905: 0x85E6, - 21615 - 11905: 0x85E7, - 21616 - 11905: 0x85E8, - 21617 - 11905: 0xDFC9, - 21618 - 11905: 0xDFDA, - 21619 - 11905: 0xCEB6, - 21620 - 11905: 0x85E9, - 21621 - 11905: 0xBAC7, - 21622 - 11905: 0xDFCE, - 21623 - 11905: 0xDFC8, - 21624 - 11905: 0xC5DE, - 21625 - 11905: 0x85EA, - 21626 - 11905: 0x85EB, - 21627 - 11905: 0xC9EB, - 21628 - 11905: 0xBAF4, - 21629 - 11905: 0xC3FC, - 21630 - 11905: 0x85EC, - 21631 - 11905: 0x85ED, - 21632 - 11905: 0xBED7, - 21633 - 11905: 0x85EE, - 21634 - 11905: 0xDFC6, - 21635 - 11905: 0x85EF, - 21636 - 11905: 0xDFCD, - 21637 - 11905: 0x85F0, - 21638 - 11905: 0xC5D8, - 21639 - 11905: 0x85F1, - 21640 - 11905: 0x85F2, - 21641 - 11905: 0x85F3, - 21642 - 11905: 0x85F4, - 21643 - 11905: 0xD5A6, - 21644 - 11905: 0xBACD, - 21645 - 11905: 0x85F5, - 21646 - 11905: 0xBECC, - 21647 - 11905: 0xD3BD, - 21648 - 11905: 0xB8C0, - 21649 - 11905: 0x85F6, - 21650 - 11905: 0xD6E4, - 21651 - 11905: 0x85F7, - 21652 - 11905: 0xDFC7, - 21653 - 11905: 0xB9BE, - 21654 - 11905: 0xBFA7, - 21655 - 11905: 0x85F8, - 21656 - 11905: 0x85F9, - 21657 - 11905: 0xC1FC, - 21658 - 11905: 0xDFCB, - 21659 - 11905: 0xDFCC, - 21660 - 11905: 0x85FA, - 21661 - 11905: 0xDFD0, - 21662 - 11905: 0x85FB, - 21663 - 11905: 0x85FC, - 21664 - 11905: 0x85FD, - 21665 - 11905: 0x85FE, - 21666 - 11905: 0x8640, - 21667 - 11905: 0xDFDB, - 21668 - 11905: 0xDFE5, - 21669 - 11905: 0x8641, - 21670 - 11905: 0xDFD7, - 21671 - 11905: 0xDFD6, - 21672 - 11905: 0xD7C9, - 21673 - 11905: 0xDFE3, - 21674 - 11905: 0xDFE4, - 21675 - 11905: 0xE5EB, - 21676 - 11905: 0xD2A7, - 21677 - 11905: 0xDFD2, - 21678 - 11905: 0x8642, - 21679 - 11905: 0xBFA9, - 21680 - 11905: 0x8643, - 21681 - 11905: 0xD4DB, - 21682 - 11905: 0x8644, - 21683 - 11905: 0xBFC8, - 21684 - 11905: 0xDFD4, - 21685 - 11905: 0x8645, - 21686 - 11905: 0x8646, - 21687 - 11905: 0x8647, - 21688 - 11905: 0xCFCC, - 21689 - 11905: 0x8648, - 21690 - 11905: 0x8649, - 21691 - 11905: 0xDFDD, - 21692 - 11905: 0x864A, - 21693 - 11905: 0xD1CA, - 21694 - 11905: 0x864B, - 21695 - 11905: 0xDFDE, - 21696 - 11905: 0xB0A7, - 21697 - 11905: 0xC6B7, - 21698 - 11905: 0xDFD3, - 21699 - 11905: 0x864C, - 21700 - 11905: 0xBAE5, - 21701 - 11905: 0x864D, - 21702 - 11905: 0xB6DF, - 21703 - 11905: 0xCDDB, - 21704 - 11905: 0xB9FE, - 21705 - 11905: 0xD4D5, - 21706 - 11905: 0x864E, - 21707 - 11905: 0x864F, - 21708 - 11905: 0xDFDF, - 21709 - 11905: 0xCFEC, - 21710 - 11905: 0xB0A5, - 21711 - 11905: 0xDFE7, - 21712 - 11905: 0xDFD1, - 21713 - 11905: 0xD1C6, - 21714 - 11905: 0xDFD5, - 21715 - 11905: 0xDFD8, - 21716 - 11905: 0xDFD9, - 21717 - 11905: 0xDFDC, - 21718 - 11905: 0x8650, - 21719 - 11905: 0xBBA9, - 21720 - 11905: 0x8651, - 21721 - 11905: 0xDFE0, - 21722 - 11905: 0xDFE1, - 21723 - 11905: 0x8652, - 21724 - 11905: 0xDFE2, - 21725 - 11905: 0xDFE6, - 21726 - 11905: 0xDFE8, - 21727 - 11905: 0xD3B4, - 21728 - 11905: 0x8653, - 21729 - 11905: 0x8654, - 21730 - 11905: 0x8655, - 21731 - 11905: 0x8656, - 21732 - 11905: 0x8657, - 21733 - 11905: 0xB8E7, - 21734 - 11905: 0xC5B6, - 21735 - 11905: 0xDFEA, - 21736 - 11905: 0xC9DA, - 21737 - 11905: 0xC1A8, - 21738 - 11905: 0xC4C4, - 21739 - 11905: 0x8658, - 21740 - 11905: 0x8659, - 21741 - 11905: 0xBFDE, - 21742 - 11905: 0xCFF8, - 21743 - 11905: 0x865A, - 21744 - 11905: 0x865B, - 21745 - 11905: 0x865C, - 21746 - 11905: 0xD5DC, - 21747 - 11905: 0xDFEE, - 21748 - 11905: 0x865D, - 21749 - 11905: 0x865E, - 21750 - 11905: 0x865F, - 21751 - 11905: 0x8660, - 21752 - 11905: 0x8661, - 21753 - 11905: 0x8662, - 21754 - 11905: 0xB2B8, - 21755 - 11905: 0x8663, - 21756 - 11905: 0xBADF, - 21757 - 11905: 0xDFEC, - 21758 - 11905: 0x8664, - 21759 - 11905: 0xDBC1, - 21760 - 11905: 0x8665, - 21761 - 11905: 0xD1E4, - 21762 - 11905: 0x8666, - 21763 - 11905: 0x8667, - 21764 - 11905: 0x8668, - 21765 - 11905: 0x8669, - 21766 - 11905: 0xCBF4, - 21767 - 11905: 0xB4BD, - 21768 - 11905: 0x866A, - 21769 - 11905: 0xB0A6, - 21770 - 11905: 0x866B, - 21771 - 11905: 0x866C, - 21772 - 11905: 0x866D, - 21773 - 11905: 0x866E, - 21774 - 11905: 0x866F, - 21775 - 11905: 0xDFF1, - 21776 - 11905: 0xCCC6, - 21777 - 11905: 0xDFF2, - 21778 - 11905: 0x8670, - 21779 - 11905: 0x8671, - 21780 - 11905: 0xDFED, - 21781 - 11905: 0x8672, - 21782 - 11905: 0x8673, - 21783 - 11905: 0x8674, - 21784 - 11905: 0x8675, - 21785 - 11905: 0x8676, - 21786 - 11905: 0x8677, - 21787 - 11905: 0xDFE9, - 21788 - 11905: 0x8678, - 21789 - 11905: 0x8679, - 21790 - 11905: 0x867A, - 21791 - 11905: 0x867B, - 21792 - 11905: 0xDFEB, - 21793 - 11905: 0x867C, - 21794 - 11905: 0xDFEF, - 21795 - 11905: 0xDFF0, - 21796 - 11905: 0xBBBD, - 21797 - 11905: 0x867D, - 21798 - 11905: 0x867E, - 21799 - 11905: 0xDFF3, - 21800 - 11905: 0x8680, - 21801 - 11905: 0x8681, - 21802 - 11905: 0xDFF4, - 21803 - 11905: 0x8682, - 21804 - 11905: 0xBBA3, - 21805 - 11905: 0x8683, - 21806 - 11905: 0xCADB, - 21807 - 11905: 0xCEA8, - 21808 - 11905: 0xE0A7, - 21809 - 11905: 0xB3AA, - 21810 - 11905: 0x8684, - 21811 - 11905: 0xE0A6, - 21812 - 11905: 0x8685, - 21813 - 11905: 0x8686, - 21814 - 11905: 0x8687, - 21815 - 11905: 0xE0A1, - 21816 - 11905: 0x8688, - 21817 - 11905: 0x8689, - 21818 - 11905: 0x868A, - 21819 - 11905: 0x868B, - 21820 - 11905: 0xDFFE, - 21821 - 11905: 0x868C, - 21822 - 11905: 0xCDD9, - 21823 - 11905: 0xDFFC, - 21824 - 11905: 0x868D, - 21825 - 11905: 0xDFFA, - 21826 - 11905: 0x868E, - 21827 - 11905: 0xBFD0, - 21828 - 11905: 0xD7C4, - 21829 - 11905: 0x868F, - 21830 - 11905: 0xC9CC, - 21831 - 11905: 0x8690, - 21832 - 11905: 0x8691, - 21833 - 11905: 0xDFF8, - 21834 - 11905: 0xB0A1, - 21835 - 11905: 0x8692, - 21836 - 11905: 0x8693, - 21837 - 11905: 0x8694, - 21838 - 11905: 0x8695, - 21839 - 11905: 0x8696, - 21840 - 11905: 0xDFFD, - 21841 - 11905: 0x8697, - 21842 - 11905: 0x8698, - 21843 - 11905: 0x8699, - 21844 - 11905: 0x869A, - 21845 - 11905: 0xDFFB, - 21846 - 11905: 0xE0A2, - 21847 - 11905: 0x869B, - 21848 - 11905: 0x869C, - 21849 - 11905: 0x869D, - 21850 - 11905: 0x869E, - 21851 - 11905: 0x869F, - 21852 - 11905: 0xE0A8, - 21853 - 11905: 0x86A0, - 21854 - 11905: 0x86A1, - 21855 - 11905: 0x86A2, - 21856 - 11905: 0x86A3, - 21857 - 11905: 0xB7C8, - 21858 - 11905: 0x86A4, - 21859 - 11905: 0x86A5, - 21860 - 11905: 0xC6A1, - 21861 - 11905: 0xC9B6, - 21862 - 11905: 0xC0B2, - 21863 - 11905: 0xDFF5, - 21864 - 11905: 0x86A6, - 21865 - 11905: 0x86A7, - 21866 - 11905: 0xC5BE, - 21867 - 11905: 0x86A8, - 21868 - 11905: 0xD8C4, - 21869 - 11905: 0xDFF9, - 21870 - 11905: 0xC4F6, - 21871 - 11905: 0x86A9, - 21872 - 11905: 0x86AA, - 21873 - 11905: 0x86AB, - 21874 - 11905: 0x86AC, - 21875 - 11905: 0x86AD, - 21876 - 11905: 0x86AE, - 21877 - 11905: 0xE0A3, - 21878 - 11905: 0xE0A4, - 21879 - 11905: 0xE0A5, - 21880 - 11905: 0xD0A5, - 21881 - 11905: 0x86AF, - 21882 - 11905: 0x86B0, - 21883 - 11905: 0xE0B4, - 21884 - 11905: 0xCCE4, - 21885 - 11905: 0x86B1, - 21886 - 11905: 0xE0B1, - 21887 - 11905: 0x86B2, - 21888 - 11905: 0xBFA6, - 21889 - 11905: 0xE0AF, - 21890 - 11905: 0xCEB9, - 21891 - 11905: 0xE0AB, - 21892 - 11905: 0xC9C6, - 21893 - 11905: 0x86B3, - 21894 - 11905: 0x86B4, - 21895 - 11905: 0xC0AE, - 21896 - 11905: 0xE0AE, - 21897 - 11905: 0xBAED, - 21898 - 11905: 0xBAB0, - 21899 - 11905: 0xE0A9, - 21900 - 11905: 0x86B5, - 21901 - 11905: 0x86B6, - 21902 - 11905: 0x86B7, - 21903 - 11905: 0xDFF6, - 21904 - 11905: 0x86B8, - 21905 - 11905: 0xE0B3, - 21906 - 11905: 0x86B9, - 21907 - 11905: 0x86BA, - 21908 - 11905: 0xE0B8, - 21909 - 11905: 0x86BB, - 21910 - 11905: 0x86BC, - 21911 - 11905: 0x86BD, - 21912 - 11905: 0xB4AD, - 21913 - 11905: 0xE0B9, - 21914 - 11905: 0x86BE, - 21915 - 11905: 0x86BF, - 21916 - 11905: 0xCFB2, - 21917 - 11905: 0xBAC8, - 21918 - 11905: 0x86C0, - 21919 - 11905: 0xE0B0, - 21920 - 11905: 0x86C1, - 21921 - 11905: 0x86C2, - 21922 - 11905: 0x86C3, - 21923 - 11905: 0x86C4, - 21924 - 11905: 0x86C5, - 21925 - 11905: 0x86C6, - 21926 - 11905: 0x86C7, - 21927 - 11905: 0xD0FA, - 21928 - 11905: 0x86C8, - 21929 - 11905: 0x86C9, - 21930 - 11905: 0x86CA, - 21931 - 11905: 0x86CB, - 21932 - 11905: 0x86CC, - 21933 - 11905: 0x86CD, - 21934 - 11905: 0x86CE, - 21935 - 11905: 0x86CF, - 21936 - 11905: 0x86D0, - 21937 - 11905: 0xE0AC, - 21938 - 11905: 0x86D1, - 21939 - 11905: 0xD4FB, - 21940 - 11905: 0x86D2, - 21941 - 11905: 0xDFF7, - 21942 - 11905: 0x86D3, - 21943 - 11905: 0xC5E7, - 21944 - 11905: 0x86D4, - 21945 - 11905: 0xE0AD, - 21946 - 11905: 0x86D5, - 21947 - 11905: 0xD3F7, - 21948 - 11905: 0x86D6, - 21949 - 11905: 0xE0B6, - 21950 - 11905: 0xE0B7, - 21951 - 11905: 0x86D7, - 21952 - 11905: 0x86D8, - 21953 - 11905: 0x86D9, - 21954 - 11905: 0x86DA, - 21955 - 11905: 0x86DB, - 21956 - 11905: 0xE0C4, - 21957 - 11905: 0xD0E1, - 21958 - 11905: 0x86DC, - 21959 - 11905: 0x86DD, - 21960 - 11905: 0x86DE, - 21961 - 11905: 0xE0BC, - 21962 - 11905: 0x86DF, - 21963 - 11905: 0x86E0, - 21964 - 11905: 0xE0C9, - 21965 - 11905: 0xE0CA, - 21966 - 11905: 0x86E1, - 21967 - 11905: 0x86E2, - 21968 - 11905: 0x86E3, - 21969 - 11905: 0xE0BE, - 21970 - 11905: 0xE0AA, - 21971 - 11905: 0xC9A4, - 21972 - 11905: 0xE0C1, - 21973 - 11905: 0x86E4, - 21974 - 11905: 0xE0B2, - 21975 - 11905: 0x86E5, - 21976 - 11905: 0x86E6, - 21977 - 11905: 0x86E7, - 21978 - 11905: 0x86E8, - 21979 - 11905: 0x86E9, - 21980 - 11905: 0xCAC8, - 21981 - 11905: 0xE0C3, - 21982 - 11905: 0x86EA, - 21983 - 11905: 0xE0B5, - 21984 - 11905: 0x86EB, - 21985 - 11905: 0xCECB, - 21986 - 11905: 0x86EC, - 21987 - 11905: 0xCBC3, - 21988 - 11905: 0xE0CD, - 21989 - 11905: 0xE0C6, - 21990 - 11905: 0xE0C2, - 21991 - 11905: 0x86ED, - 21992 - 11905: 0xE0CB, - 21993 - 11905: 0x86EE, - 21994 - 11905: 0xE0BA, - 21995 - 11905: 0xE0BF, - 21996 - 11905: 0xE0C0, - 21997 - 11905: 0x86EF, - 21998 - 11905: 0x86F0, - 21999 - 11905: 0xE0C5, - 22000 - 11905: 0x86F1, - 22001 - 11905: 0x86F2, - 22002 - 11905: 0xE0C7, - 22003 - 11905: 0xE0C8, - 22004 - 11905: 0x86F3, - 22005 - 11905: 0xE0CC, - 22006 - 11905: 0x86F4, - 22007 - 11905: 0xE0BB, - 22008 - 11905: 0x86F5, - 22009 - 11905: 0x86F6, - 22010 - 11905: 0x86F7, - 22011 - 11905: 0x86F8, - 22012 - 11905: 0x86F9, - 22013 - 11905: 0xCBD4, - 22014 - 11905: 0xE0D5, - 22015 - 11905: 0x86FA, - 22016 - 11905: 0xE0D6, - 22017 - 11905: 0xE0D2, - 22018 - 11905: 0x86FB, - 22019 - 11905: 0x86FC, - 22020 - 11905: 0x86FD, - 22021 - 11905: 0x86FE, - 22022 - 11905: 0x8740, - 22023 - 11905: 0x8741, - 22024 - 11905: 0xE0D0, - 22025 - 11905: 0xBCCE, - 22026 - 11905: 0x8742, - 22027 - 11905: 0x8743, - 22028 - 11905: 0xE0D1, - 22029 - 11905: 0x8744, - 22030 - 11905: 0xB8C2, - 22031 - 11905: 0xD8C5, - 22032 - 11905: 0x8745, - 22033 - 11905: 0x8746, - 22034 - 11905: 0x8747, - 22035 - 11905: 0x8748, - 22036 - 11905: 0x8749, - 22037 - 11905: 0x874A, - 22038 - 11905: 0x874B, - 22039 - 11905: 0x874C, - 22040 - 11905: 0xD0EA, - 22041 - 11905: 0x874D, - 22042 - 11905: 0x874E, - 22043 - 11905: 0xC2EF, - 22044 - 11905: 0x874F, - 22045 - 11905: 0x8750, - 22046 - 11905: 0xE0CF, - 22047 - 11905: 0xE0BD, - 22048 - 11905: 0x8751, - 22049 - 11905: 0x8752, - 22050 - 11905: 0x8753, - 22051 - 11905: 0xE0D4, - 22052 - 11905: 0xE0D3, - 22053 - 11905: 0x8754, - 22054 - 11905: 0x8755, - 22055 - 11905: 0xE0D7, - 22056 - 11905: 0x8756, - 22057 - 11905: 0x8757, - 22058 - 11905: 0x8758, - 22059 - 11905: 0x8759, - 22060 - 11905: 0xE0DC, - 22061 - 11905: 0xE0D8, - 22062 - 11905: 0x875A, - 22063 - 11905: 0x875B, - 22064 - 11905: 0x875C, - 22065 - 11905: 0xD6F6, - 22066 - 11905: 0xB3B0, - 22067 - 11905: 0x875D, - 22068 - 11905: 0xD7EC, - 22069 - 11905: 0x875E, - 22070 - 11905: 0xCBBB, - 22071 - 11905: 0x875F, - 22072 - 11905: 0x8760, - 22073 - 11905: 0xE0DA, - 22074 - 11905: 0x8761, - 22075 - 11905: 0xCEFB, - 22076 - 11905: 0x8762, - 22077 - 11905: 0x8763, - 22078 - 11905: 0x8764, - 22079 - 11905: 0xBAD9, - 22080 - 11905: 0x8765, - 22081 - 11905: 0x8766, - 22082 - 11905: 0x8767, - 22083 - 11905: 0x8768, - 22084 - 11905: 0x8769, - 22085 - 11905: 0x876A, - 22086 - 11905: 0x876B, - 22087 - 11905: 0x876C, - 22088 - 11905: 0x876D, - 22089 - 11905: 0x876E, - 22090 - 11905: 0x876F, - 22091 - 11905: 0x8770, - 22092 - 11905: 0xE0E1, - 22093 - 11905: 0xE0DD, - 22094 - 11905: 0xD2AD, - 22095 - 11905: 0x8771, - 22096 - 11905: 0x8772, - 22097 - 11905: 0x8773, - 22098 - 11905: 0x8774, - 22099 - 11905: 0x8775, - 22100 - 11905: 0xE0E2, - 22101 - 11905: 0x8776, - 22102 - 11905: 0x8777, - 22103 - 11905: 0xE0DB, - 22104 - 11905: 0xE0D9, - 22105 - 11905: 0xE0DF, - 22106 - 11905: 0x8778, - 22107 - 11905: 0x8779, - 22108 - 11905: 0xE0E0, - 22109 - 11905: 0x877A, - 22110 - 11905: 0x877B, - 22111 - 11905: 0x877C, - 22112 - 11905: 0x877D, - 22113 - 11905: 0x877E, - 22114 - 11905: 0xE0DE, - 22115 - 11905: 0x8780, - 22116 - 11905: 0xE0E4, - 22117 - 11905: 0x8781, - 22118 - 11905: 0x8782, - 22119 - 11905: 0x8783, - 22120 - 11905: 0xC6F7, - 22121 - 11905: 0xD8AC, - 22122 - 11905: 0xD4EB, - 22123 - 11905: 0xE0E6, - 22124 - 11905: 0xCAC9, - 22125 - 11905: 0x8784, - 22126 - 11905: 0x8785, - 22127 - 11905: 0x8786, - 22128 - 11905: 0x8787, - 22129 - 11905: 0xE0E5, - 22130 - 11905: 0x8788, - 22131 - 11905: 0x8789, - 22132 - 11905: 0x878A, - 22133 - 11905: 0x878B, - 22134 - 11905: 0xB8C1, - 22135 - 11905: 0x878C, - 22136 - 11905: 0x878D, - 22137 - 11905: 0x878E, - 22138 - 11905: 0x878F, - 22139 - 11905: 0xE0E7, - 22140 - 11905: 0xE0E8, - 22141 - 11905: 0x8790, - 22142 - 11905: 0x8791, - 22143 - 11905: 0x8792, - 22144 - 11905: 0x8793, - 22145 - 11905: 0x8794, - 22146 - 11905: 0x8795, - 22147 - 11905: 0x8796, - 22148 - 11905: 0x8797, - 22149 - 11905: 0xE0E9, - 22150 - 11905: 0xE0E3, - 22151 - 11905: 0x8798, - 22152 - 11905: 0x8799, - 22153 - 11905: 0x879A, - 22154 - 11905: 0x879B, - 22155 - 11905: 0x879C, - 22156 - 11905: 0x879D, - 22157 - 11905: 0x879E, - 22158 - 11905: 0xBABF, - 22159 - 11905: 0xCCE7, - 22160 - 11905: 0x879F, - 22161 - 11905: 0x87A0, - 22162 - 11905: 0x87A1, - 22163 - 11905: 0xE0EA, - 22164 - 11905: 0x87A2, - 22165 - 11905: 0x87A3, - 22166 - 11905: 0x87A4, - 22167 - 11905: 0x87A5, - 22168 - 11905: 0x87A6, - 22169 - 11905: 0x87A7, - 22170 - 11905: 0x87A8, - 22171 - 11905: 0x87A9, - 22172 - 11905: 0x87AA, - 22173 - 11905: 0x87AB, - 22174 - 11905: 0x87AC, - 22175 - 11905: 0x87AD, - 22176 - 11905: 0x87AE, - 22177 - 11905: 0x87AF, - 22178 - 11905: 0x87B0, - 22179 - 11905: 0xCFF9, - 22180 - 11905: 0x87B1, - 22181 - 11905: 0x87B2, - 22182 - 11905: 0x87B3, - 22183 - 11905: 0x87B4, - 22184 - 11905: 0x87B5, - 22185 - 11905: 0x87B6, - 22186 - 11905: 0x87B7, - 22187 - 11905: 0x87B8, - 22188 - 11905: 0x87B9, - 22189 - 11905: 0x87BA, - 22190 - 11905: 0x87BB, - 22191 - 11905: 0xE0EB, - 22192 - 11905: 0x87BC, - 22193 - 11905: 0x87BD, - 22194 - 11905: 0x87BE, - 22195 - 11905: 0x87BF, - 22196 - 11905: 0x87C0, - 22197 - 11905: 0x87C1, - 22198 - 11905: 0x87C2, - 22199 - 11905: 0xC8C2, - 22200 - 11905: 0x87C3, - 22201 - 11905: 0x87C4, - 22202 - 11905: 0x87C5, - 22203 - 11905: 0x87C6, - 22204 - 11905: 0xBDC0, - 22205 - 11905: 0x87C7, - 22206 - 11905: 0x87C8, - 22207 - 11905: 0x87C9, - 22208 - 11905: 0x87CA, - 22209 - 11905: 0x87CB, - 22210 - 11905: 0x87CC, - 22211 - 11905: 0x87CD, - 22212 - 11905: 0x87CE, - 22213 - 11905: 0x87CF, - 22214 - 11905: 0x87D0, - 22215 - 11905: 0x87D1, - 22216 - 11905: 0x87D2, - 22217 - 11905: 0x87D3, - 22218 - 11905: 0xC4D2, - 22219 - 11905: 0x87D4, - 22220 - 11905: 0x87D5, - 22221 - 11905: 0x87D6, - 22222 - 11905: 0x87D7, - 22223 - 11905: 0x87D8, - 22224 - 11905: 0x87D9, - 22225 - 11905: 0x87DA, - 22226 - 11905: 0x87DB, - 22227 - 11905: 0x87DC, - 22228 - 11905: 0xE0EC, - 22229 - 11905: 0x87DD, - 22230 - 11905: 0x87DE, - 22231 - 11905: 0xE0ED, - 22232 - 11905: 0x87DF, - 22233 - 11905: 0x87E0, - 22234 - 11905: 0xC7F4, - 22235 - 11905: 0xCBC4, - 22236 - 11905: 0x87E1, - 22237 - 11905: 0xE0EE, - 22238 - 11905: 0xBBD8, - 22239 - 11905: 0xD8B6, - 22240 - 11905: 0xD2F2, - 22241 - 11905: 0xE0EF, - 22242 - 11905: 0xCDC5, - 22243 - 11905: 0x87E2, - 22244 - 11905: 0xB6DA, - 22245 - 11905: 0x87E3, - 22246 - 11905: 0x87E4, - 22247 - 11905: 0x87E5, - 22248 - 11905: 0x87E6, - 22249 - 11905: 0x87E7, - 22250 - 11905: 0x87E8, - 22251 - 11905: 0xE0F1, - 22252 - 11905: 0x87E9, - 22253 - 11905: 0xD4B0, - 22254 - 11905: 0x87EA, - 22255 - 11905: 0x87EB, - 22256 - 11905: 0xC0A7, - 22257 - 11905: 0xB4D1, - 22258 - 11905: 0x87EC, - 22259 - 11905: 0x87ED, - 22260 - 11905: 0xCEA7, - 22261 - 11905: 0xE0F0, - 22262 - 11905: 0x87EE, - 22263 - 11905: 0x87EF, - 22264 - 11905: 0x87F0, - 22265 - 11905: 0xE0F2, - 22266 - 11905: 0xB9CC, - 22267 - 11905: 0x87F1, - 22268 - 11905: 0x87F2, - 22269 - 11905: 0xB9FA, - 22270 - 11905: 0xCDBC, - 22271 - 11905: 0xE0F3, - 22272 - 11905: 0x87F3, - 22273 - 11905: 0x87F4, - 22274 - 11905: 0x87F5, - 22275 - 11905: 0xC6D4, - 22276 - 11905: 0xE0F4, - 22277 - 11905: 0x87F6, - 22278 - 11905: 0xD4B2, - 22279 - 11905: 0x87F7, - 22280 - 11905: 0xC8A6, - 22281 - 11905: 0xE0F6, - 22282 - 11905: 0xE0F5, - 22283 - 11905: 0x87F8, - 22284 - 11905: 0x87F9, - 22285 - 11905: 0x87FA, - 22286 - 11905: 0x87FB, - 22287 - 11905: 0x87FC, - 22288 - 11905: 0x87FD, - 22289 - 11905: 0x87FE, - 22290 - 11905: 0x8840, - 22291 - 11905: 0x8841, - 22292 - 11905: 0x8842, - 22293 - 11905: 0x8843, - 22294 - 11905: 0x8844, - 22295 - 11905: 0x8845, - 22296 - 11905: 0x8846, - 22297 - 11905: 0x8847, - 22298 - 11905: 0x8848, - 22299 - 11905: 0x8849, - 22300 - 11905: 0xE0F7, - 22301 - 11905: 0x884A, - 22302 - 11905: 0x884B, - 22303 - 11905: 0xCDC1, - 22304 - 11905: 0x884C, - 22305 - 11905: 0x884D, - 22306 - 11905: 0x884E, - 22307 - 11905: 0xCAA5, - 22308 - 11905: 0x884F, - 22309 - 11905: 0x8850, - 22310 - 11905: 0x8851, - 22311 - 11905: 0x8852, - 22312 - 11905: 0xD4DA, - 22313 - 11905: 0xDBD7, - 22314 - 11905: 0xDBD9, - 22315 - 11905: 0x8853, - 22316 - 11905: 0xDBD8, - 22317 - 11905: 0xB9E7, - 22318 - 11905: 0xDBDC, - 22319 - 11905: 0xDBDD, - 22320 - 11905: 0xB5D8, - 22321 - 11905: 0x8854, - 22322 - 11905: 0x8855, - 22323 - 11905: 0xDBDA, - 22324 - 11905: 0x8856, - 22325 - 11905: 0x8857, - 22326 - 11905: 0x8858, - 22327 - 11905: 0x8859, - 22328 - 11905: 0x885A, - 22329 - 11905: 0xDBDB, - 22330 - 11905: 0xB3A1, - 22331 - 11905: 0xDBDF, - 22332 - 11905: 0x885B, - 22333 - 11905: 0x885C, - 22334 - 11905: 0xBBF8, - 22335 - 11905: 0x885D, - 22336 - 11905: 0xD6B7, - 22337 - 11905: 0x885E, - 22338 - 11905: 0xDBE0, - 22339 - 11905: 0x885F, - 22340 - 11905: 0x8860, - 22341 - 11905: 0x8861, - 22342 - 11905: 0x8862, - 22343 - 11905: 0xBEF9, - 22344 - 11905: 0x8863, - 22345 - 11905: 0x8864, - 22346 - 11905: 0xB7BB, - 22347 - 11905: 0x8865, - 22348 - 11905: 0xDBD0, - 22349 - 11905: 0xCCAE, - 22350 - 11905: 0xBFB2, - 22351 - 11905: 0xBBB5, - 22352 - 11905: 0xD7F8, - 22353 - 11905: 0xBFD3, - 22354 - 11905: 0x8866, - 22355 - 11905: 0x8867, - 22356 - 11905: 0x8868, - 22357 - 11905: 0x8869, - 22358 - 11905: 0x886A, - 22359 - 11905: 0xBFE9, - 22360 - 11905: 0x886B, - 22361 - 11905: 0x886C, - 22362 - 11905: 0xBCE1, - 22363 - 11905: 0xCCB3, - 22364 - 11905: 0xDBDE, - 22365 - 11905: 0xB0D3, - 22366 - 11905: 0xCEEB, - 22367 - 11905: 0xB7D8, - 22368 - 11905: 0xD7B9, - 22369 - 11905: 0xC6C2, - 22370 - 11905: 0x886D, - 22371 - 11905: 0x886E, - 22372 - 11905: 0xC0A4, - 22373 - 11905: 0x886F, - 22374 - 11905: 0xCCB9, - 22375 - 11905: 0x8870, - 22376 - 11905: 0xDBE7, - 22377 - 11905: 0xDBE1, - 22378 - 11905: 0xC6BA, - 22379 - 11905: 0xDBE3, - 22380 - 11905: 0x8871, - 22381 - 11905: 0xDBE8, - 22382 - 11905: 0x8872, - 22383 - 11905: 0xC5F7, - 22384 - 11905: 0x8873, - 22385 - 11905: 0x8874, - 22386 - 11905: 0x8875, - 22387 - 11905: 0xDBEA, - 22388 - 11905: 0x8876, - 22389 - 11905: 0x8877, - 22390 - 11905: 0xDBE9, - 22391 - 11905: 0xBFC0, - 22392 - 11905: 0x8878, - 22393 - 11905: 0x8879, - 22394 - 11905: 0x887A, - 22395 - 11905: 0xDBE6, - 22396 - 11905: 0xDBE5, - 22397 - 11905: 0x887B, - 22398 - 11905: 0x887C, - 22399 - 11905: 0x887D, - 22400 - 11905: 0x887E, - 22401 - 11905: 0x8880, - 22402 - 11905: 0xB4B9, - 22403 - 11905: 0xC0AC, - 22404 - 11905: 0xC2A2, - 22405 - 11905: 0xDBE2, - 22406 - 11905: 0xDBE4, - 22407 - 11905: 0x8881, - 22408 - 11905: 0x8882, - 22409 - 11905: 0x8883, - 22410 - 11905: 0x8884, - 22411 - 11905: 0xD0CD, - 22412 - 11905: 0xDBED, - 22413 - 11905: 0x8885, - 22414 - 11905: 0x8886, - 22415 - 11905: 0x8887, - 22416 - 11905: 0x8888, - 22417 - 11905: 0x8889, - 22418 - 11905: 0xC0DD, - 22419 - 11905: 0xDBF2, - 22420 - 11905: 0x888A, - 22421 - 11905: 0x888B, - 22422 - 11905: 0x888C, - 22423 - 11905: 0x888D, - 22424 - 11905: 0x888E, - 22425 - 11905: 0x888F, - 22426 - 11905: 0x8890, - 22427 - 11905: 0xB6E2, - 22428 - 11905: 0x8891, - 22429 - 11905: 0x8892, - 22430 - 11905: 0x8893, - 22431 - 11905: 0x8894, - 22432 - 11905: 0xDBF3, - 22433 - 11905: 0xDBD2, - 22434 - 11905: 0xB9B8, - 22435 - 11905: 0xD4AB, - 22436 - 11905: 0xDBEC, - 22437 - 11905: 0x8895, - 22438 - 11905: 0xBFD1, - 22439 - 11905: 0xDBF0, - 22440 - 11905: 0x8896, - 22441 - 11905: 0xDBD1, - 22442 - 11905: 0x8897, - 22443 - 11905: 0xB5E6, - 22444 - 11905: 0x8898, - 22445 - 11905: 0xDBEB, - 22446 - 11905: 0xBFE5, - 22447 - 11905: 0x8899, - 22448 - 11905: 0x889A, - 22449 - 11905: 0x889B, - 22450 - 11905: 0xDBEE, - 22451 - 11905: 0x889C, - 22452 - 11905: 0xDBF1, - 22453 - 11905: 0x889D, - 22454 - 11905: 0x889E, - 22455 - 11905: 0x889F, - 22456 - 11905: 0xDBF9, - 22457 - 11905: 0x88A0, - 22458 - 11905: 0x88A1, - 22459 - 11905: 0x88A2, - 22460 - 11905: 0x88A3, - 22461 - 11905: 0x88A4, - 22462 - 11905: 0x88A5, - 22463 - 11905: 0x88A6, - 22464 - 11905: 0x88A7, - 22465 - 11905: 0x88A8, - 22466 - 11905: 0xB9A1, - 22467 - 11905: 0xB0A3, - 22468 - 11905: 0x88A9, - 22469 - 11905: 0x88AA, - 22470 - 11905: 0x88AB, - 22471 - 11905: 0x88AC, - 22472 - 11905: 0x88AD, - 22473 - 11905: 0x88AE, - 22474 - 11905: 0x88AF, - 22475 - 11905: 0xC2F1, - 22476 - 11905: 0x88B0, - 22477 - 11905: 0x88B1, - 22478 - 11905: 0xB3C7, - 22479 - 11905: 0xDBEF, - 22480 - 11905: 0x88B2, - 22481 - 11905: 0x88B3, - 22482 - 11905: 0xDBF8, - 22483 - 11905: 0x88B4, - 22484 - 11905: 0xC6D2, - 22485 - 11905: 0xDBF4, - 22486 - 11905: 0x88B5, - 22487 - 11905: 0x88B6, - 22488 - 11905: 0xDBF5, - 22489 - 11905: 0xDBF7, - 22490 - 11905: 0xDBF6, - 22491 - 11905: 0x88B7, - 22492 - 11905: 0x88B8, - 22493 - 11905: 0xDBFE, - 22494 - 11905: 0x88B9, - 22495 - 11905: 0xD3F2, - 22496 - 11905: 0xB2BA, - 22497 - 11905: 0x88BA, - 22498 - 11905: 0x88BB, - 22499 - 11905: 0x88BC, - 22500 - 11905: 0xDBFD, - 22501 - 11905: 0x88BD, - 22502 - 11905: 0x88BE, - 22503 - 11905: 0x88BF, - 22504 - 11905: 0x88C0, - 22505 - 11905: 0x88C1, - 22506 - 11905: 0x88C2, - 22507 - 11905: 0x88C3, - 22508 - 11905: 0x88C4, - 22509 - 11905: 0xDCA4, - 22510 - 11905: 0x88C5, - 22511 - 11905: 0xDBFB, - 22512 - 11905: 0x88C6, - 22513 - 11905: 0x88C7, - 22514 - 11905: 0x88C8, - 22515 - 11905: 0x88C9, - 22516 - 11905: 0xDBFA, - 22517 - 11905: 0x88CA, - 22518 - 11905: 0x88CB, - 22519 - 11905: 0x88CC, - 22520 - 11905: 0xDBFC, - 22521 - 11905: 0xC5E0, - 22522 - 11905: 0xBBF9, - 22523 - 11905: 0x88CD, - 22524 - 11905: 0x88CE, - 22525 - 11905: 0xDCA3, - 22526 - 11905: 0x88CF, - 22527 - 11905: 0x88D0, - 22528 - 11905: 0xDCA5, - 22529 - 11905: 0x88D1, - 22530 - 11905: 0xCCC3, - 22531 - 11905: 0x88D2, - 22532 - 11905: 0x88D3, - 22533 - 11905: 0x88D4, - 22534 - 11905: 0xB6D1, - 22535 - 11905: 0xDDC0, - 22536 - 11905: 0x88D5, - 22537 - 11905: 0x88D6, - 22538 - 11905: 0x88D7, - 22539 - 11905: 0xDCA1, - 22540 - 11905: 0x88D8, - 22541 - 11905: 0xDCA2, - 22542 - 11905: 0x88D9, - 22543 - 11905: 0x88DA, - 22544 - 11905: 0x88DB, - 22545 - 11905: 0xC7B5, - 22546 - 11905: 0x88DC, - 22547 - 11905: 0x88DD, - 22548 - 11905: 0x88DE, - 22549 - 11905: 0xB6E9, - 22550 - 11905: 0x88DF, - 22551 - 11905: 0x88E0, - 22552 - 11905: 0x88E1, - 22553 - 11905: 0xDCA7, - 22554 - 11905: 0x88E2, - 22555 - 11905: 0x88E3, - 22556 - 11905: 0x88E4, - 22557 - 11905: 0x88E5, - 22558 - 11905: 0xDCA6, - 22559 - 11905: 0x88E6, - 22560 - 11905: 0xDCA9, - 22561 - 11905: 0xB1A4, - 22562 - 11905: 0x88E7, - 22563 - 11905: 0x88E8, - 22564 - 11905: 0xB5CC, - 22565 - 11905: 0x88E9, - 22566 - 11905: 0x88EA, - 22567 - 11905: 0x88EB, - 22568 - 11905: 0x88EC, - 22569 - 11905: 0x88ED, - 22570 - 11905: 0xBFB0, - 22571 - 11905: 0x88EE, - 22572 - 11905: 0x88EF, - 22573 - 11905: 0x88F0, - 22574 - 11905: 0x88F1, - 22575 - 11905: 0x88F2, - 22576 - 11905: 0xD1DF, - 22577 - 11905: 0x88F3, - 22578 - 11905: 0x88F4, - 22579 - 11905: 0x88F5, - 22580 - 11905: 0x88F6, - 22581 - 11905: 0xB6C2, - 22582 - 11905: 0x88F7, - 22583 - 11905: 0x88F8, - 22584 - 11905: 0x88F9, - 22585 - 11905: 0x88FA, - 22586 - 11905: 0x88FB, - 22587 - 11905: 0x88FC, - 22588 - 11905: 0x88FD, - 22589 - 11905: 0x88FE, - 22590 - 11905: 0x8940, - 22591 - 11905: 0x8941, - 22592 - 11905: 0x8942, - 22593 - 11905: 0x8943, - 22594 - 11905: 0x8944, - 22595 - 11905: 0x8945, - 22596 - 11905: 0xDCA8, - 22597 - 11905: 0x8946, - 22598 - 11905: 0x8947, - 22599 - 11905: 0x8948, - 22600 - 11905: 0x8949, - 22601 - 11905: 0x894A, - 22602 - 11905: 0x894B, - 22603 - 11905: 0x894C, - 22604 - 11905: 0xCBFA, - 22605 - 11905: 0xEBF3, - 22606 - 11905: 0x894D, - 22607 - 11905: 0x894E, - 22608 - 11905: 0x894F, - 22609 - 11905: 0xCBDC, - 22610 - 11905: 0x8950, - 22611 - 11905: 0x8951, - 22612 - 11905: 0xCBFE, - 22613 - 11905: 0x8952, - 22614 - 11905: 0x8953, - 22615 - 11905: 0x8954, - 22616 - 11905: 0xCCC1, - 22617 - 11905: 0x8955, - 22618 - 11905: 0x8956, - 22619 - 11905: 0x8957, - 22620 - 11905: 0x8958, - 22621 - 11905: 0x8959, - 22622 - 11905: 0xC8FB, - 22623 - 11905: 0x895A, - 22624 - 11905: 0x895B, - 22625 - 11905: 0x895C, - 22626 - 11905: 0x895D, - 22627 - 11905: 0x895E, - 22628 - 11905: 0x895F, - 22629 - 11905: 0xDCAA, - 22630 - 11905: 0x8960, - 22631 - 11905: 0x8961, - 22632 - 11905: 0x8962, - 22633 - 11905: 0x8963, - 22634 - 11905: 0x8964, - 22635 - 11905: 0xCCEE, - 22636 - 11905: 0xDCAB, - 22637 - 11905: 0x8965, - 22638 - 11905: 0x8966, - 22639 - 11905: 0x8967, - 22640 - 11905: 0x8968, - 22641 - 11905: 0x8969, - 22642 - 11905: 0x896A, - 22643 - 11905: 0x896B, - 22644 - 11905: 0x896C, - 22645 - 11905: 0x896D, - 22646 - 11905: 0x896E, - 22647 - 11905: 0x896F, - 22648 - 11905: 0x8970, - 22649 - 11905: 0x8971, - 22650 - 11905: 0x8972, - 22651 - 11905: 0x8973, - 22652 - 11905: 0x8974, - 22653 - 11905: 0x8975, - 22654 - 11905: 0xDBD3, - 22655 - 11905: 0x8976, - 22656 - 11905: 0xDCAF, - 22657 - 11905: 0xDCAC, - 22658 - 11905: 0x8977, - 22659 - 11905: 0xBEB3, - 22660 - 11905: 0x8978, - 22661 - 11905: 0xCAFB, - 22662 - 11905: 0x8979, - 22663 - 11905: 0x897A, - 22664 - 11905: 0x897B, - 22665 - 11905: 0xDCAD, - 22666 - 11905: 0x897C, - 22667 - 11905: 0x897D, - 22668 - 11905: 0x897E, - 22669 - 11905: 0x8980, - 22670 - 11905: 0x8981, - 22671 - 11905: 0x8982, - 22672 - 11905: 0x8983, - 22673 - 11905: 0x8984, - 22674 - 11905: 0xC9CA, - 22675 - 11905: 0xC4B9, - 22676 - 11905: 0x8985, - 22677 - 11905: 0x8986, - 22678 - 11905: 0x8987, - 22679 - 11905: 0x8988, - 22680 - 11905: 0x8989, - 22681 - 11905: 0xC7BD, - 22682 - 11905: 0xDCAE, - 22683 - 11905: 0x898A, - 22684 - 11905: 0x898B, - 22685 - 11905: 0x898C, - 22686 - 11905: 0xD4F6, - 22687 - 11905: 0xD0E6, - 22688 - 11905: 0x898D, - 22689 - 11905: 0x898E, - 22690 - 11905: 0x898F, - 22691 - 11905: 0x8990, - 22692 - 11905: 0x8991, - 22693 - 11905: 0x8992, - 22694 - 11905: 0x8993, - 22695 - 11905: 0x8994, - 22696 - 11905: 0xC4AB, - 22697 - 11905: 0xB6D5, - 22698 - 11905: 0x8995, - 22699 - 11905: 0x8996, - 22700 - 11905: 0x8997, - 22701 - 11905: 0x8998, - 22702 - 11905: 0x8999, - 22703 - 11905: 0x899A, - 22704 - 11905: 0x899B, - 22705 - 11905: 0x899C, - 22706 - 11905: 0x899D, - 22707 - 11905: 0x899E, - 22708 - 11905: 0x899F, - 22709 - 11905: 0x89A0, - 22710 - 11905: 0x89A1, - 22711 - 11905: 0x89A2, - 22712 - 11905: 0x89A3, - 22713 - 11905: 0x89A4, - 22714 - 11905: 0x89A5, - 22715 - 11905: 0x89A6, - 22716 - 11905: 0xDBD4, - 22717 - 11905: 0x89A7, - 22718 - 11905: 0x89A8, - 22719 - 11905: 0x89A9, - 22720 - 11905: 0x89AA, - 22721 - 11905: 0xB1DA, - 22722 - 11905: 0x89AB, - 22723 - 11905: 0x89AC, - 22724 - 11905: 0x89AD, - 22725 - 11905: 0xDBD5, - 22726 - 11905: 0x89AE, - 22727 - 11905: 0x89AF, - 22728 - 11905: 0x89B0, - 22729 - 11905: 0x89B1, - 22730 - 11905: 0x89B2, - 22731 - 11905: 0x89B3, - 22732 - 11905: 0x89B4, - 22733 - 11905: 0x89B5, - 22734 - 11905: 0x89B6, - 22735 - 11905: 0x89B7, - 22736 - 11905: 0x89B8, - 22737 - 11905: 0xDBD6, - 22738 - 11905: 0x89B9, - 22739 - 11905: 0x89BA, - 22740 - 11905: 0x89BB, - 22741 - 11905: 0xBABE, - 22742 - 11905: 0x89BC, - 22743 - 11905: 0x89BD, - 22744 - 11905: 0x89BE, - 22745 - 11905: 0x89BF, - 22746 - 11905: 0x89C0, - 22747 - 11905: 0x89C1, - 22748 - 11905: 0x89C2, - 22749 - 11905: 0x89C3, - 22750 - 11905: 0x89C4, - 22751 - 11905: 0x89C5, - 22752 - 11905: 0x89C6, - 22753 - 11905: 0x89C7, - 22754 - 11905: 0x89C8, - 22755 - 11905: 0x89C9, - 22756 - 11905: 0xC8C0, - 22757 - 11905: 0x89CA, - 22758 - 11905: 0x89CB, - 22759 - 11905: 0x89CC, - 22760 - 11905: 0x89CD, - 22761 - 11905: 0x89CE, - 22762 - 11905: 0x89CF, - 22763 - 11905: 0xCABF, - 22764 - 11905: 0xC8C9, - 22765 - 11905: 0x89D0, - 22766 - 11905: 0xD7B3, - 22767 - 11905: 0x89D1, - 22768 - 11905: 0xC9F9, - 22769 - 11905: 0x89D2, - 22770 - 11905: 0x89D3, - 22771 - 11905: 0xBFC7, - 22772 - 11905: 0x89D4, - 22773 - 11905: 0x89D5, - 22774 - 11905: 0xBAF8, - 22775 - 11905: 0x89D6, - 22776 - 11905: 0x89D7, - 22777 - 11905: 0xD2BC, - 22778 - 11905: 0x89D8, - 22779 - 11905: 0x89D9, - 22780 - 11905: 0x89DA, - 22781 - 11905: 0x89DB, - 22782 - 11905: 0x89DC, - 22783 - 11905: 0x89DD, - 22784 - 11905: 0x89DE, - 22785 - 11905: 0x89DF, - 22786 - 11905: 0xE2BA, - 22787 - 11905: 0x89E0, - 22788 - 11905: 0xB4A6, - 22789 - 11905: 0x89E1, - 22790 - 11905: 0x89E2, - 22791 - 11905: 0xB1B8, - 22792 - 11905: 0x89E3, - 22793 - 11905: 0x89E4, - 22794 - 11905: 0x89E5, - 22795 - 11905: 0x89E6, - 22796 - 11905: 0x89E7, - 22797 - 11905: 0xB8B4, - 22798 - 11905: 0x89E8, - 22799 - 11905: 0xCFC4, - 22800 - 11905: 0x89E9, - 22801 - 11905: 0x89EA, - 22802 - 11905: 0x89EB, - 22803 - 11905: 0x89EC, - 22804 - 11905: 0xD9E7, - 22805 - 11905: 0xCFA6, - 22806 - 11905: 0xCDE2, - 22807 - 11905: 0x89ED, - 22808 - 11905: 0x89EE, - 22809 - 11905: 0xD9ED, - 22810 - 11905: 0xB6E0, - 22811 - 11905: 0x89EF, - 22812 - 11905: 0xD2B9, - 22813 - 11905: 0x89F0, - 22814 - 11905: 0x89F1, - 22815 - 11905: 0xB9BB, - 22816 - 11905: 0x89F2, - 22817 - 11905: 0x89F3, - 22818 - 11905: 0x89F4, - 22819 - 11905: 0x89F5, - 22820 - 11905: 0xE2B9, - 22821 - 11905: 0xE2B7, - 22822 - 11905: 0x89F6, - 22823 - 11905: 0xB4F3, - 22824 - 11905: 0x89F7, - 22825 - 11905: 0xCCEC, - 22826 - 11905: 0xCCAB, - 22827 - 11905: 0xB7F2, - 22828 - 11905: 0x89F8, - 22829 - 11905: 0xD8B2, - 22830 - 11905: 0xD1EB, - 22831 - 11905: 0xBABB, - 22832 - 11905: 0x89F9, - 22833 - 11905: 0xCAA7, - 22834 - 11905: 0x89FA, - 22835 - 11905: 0x89FB, - 22836 - 11905: 0xCDB7, - 22837 - 11905: 0x89FC, - 22838 - 11905: 0x89FD, - 22839 - 11905: 0xD2C4, - 22840 - 11905: 0xBFE4, - 22841 - 11905: 0xBCD0, - 22842 - 11905: 0xB6E1, - 22843 - 11905: 0x89FE, - 22844 - 11905: 0xDEC5, - 22845 - 11905: 0x8A40, - 22846 - 11905: 0x8A41, - 22847 - 11905: 0x8A42, - 22848 - 11905: 0x8A43, - 22849 - 11905: 0xDEC6, - 22850 - 11905: 0xDBBC, - 22851 - 11905: 0x8A44, - 22852 - 11905: 0xD1D9, - 22853 - 11905: 0x8A45, - 22854 - 11905: 0x8A46, - 22855 - 11905: 0xC6E6, - 22856 - 11905: 0xC4CE, - 22857 - 11905: 0xB7EE, - 22858 - 11905: 0x8A47, - 22859 - 11905: 0xB7DC, - 22860 - 11905: 0x8A48, - 22861 - 11905: 0x8A49, - 22862 - 11905: 0xBFFC, - 22863 - 11905: 0xD7E0, - 22864 - 11905: 0x8A4A, - 22865 - 11905: 0xC6F5, - 22866 - 11905: 0x8A4B, - 22867 - 11905: 0x8A4C, - 22868 - 11905: 0xB1BC, - 22869 - 11905: 0xDEC8, - 22870 - 11905: 0xBDB1, - 22871 - 11905: 0xCCD7, - 22872 - 11905: 0xDECA, - 22873 - 11905: 0x8A4D, - 22874 - 11905: 0xDEC9, - 22875 - 11905: 0x8A4E, - 22876 - 11905: 0x8A4F, - 22877 - 11905: 0x8A50, - 22878 - 11905: 0x8A51, - 22879 - 11905: 0x8A52, - 22880 - 11905: 0xB5EC, - 22881 - 11905: 0x8A53, - 22882 - 11905: 0xC9DD, - 22883 - 11905: 0x8A54, - 22884 - 11905: 0x8A55, - 22885 - 11905: 0xB0C2, - 22886 - 11905: 0x8A56, - 22887 - 11905: 0x8A57, - 22888 - 11905: 0x8A58, - 22889 - 11905: 0x8A59, - 22890 - 11905: 0x8A5A, - 22891 - 11905: 0x8A5B, - 22892 - 11905: 0x8A5C, - 22893 - 11905: 0x8A5D, - 22894 - 11905: 0x8A5E, - 22895 - 11905: 0x8A5F, - 22896 - 11905: 0x8A60, - 22897 - 11905: 0x8A61, - 22898 - 11905: 0x8A62, - 22899 - 11905: 0xC5AE, - 22900 - 11905: 0xC5AB, - 22901 - 11905: 0x8A63, - 22902 - 11905: 0xC4CC, - 22903 - 11905: 0x8A64, - 22904 - 11905: 0xBCE9, - 22905 - 11905: 0xCBFD, - 22906 - 11905: 0x8A65, - 22907 - 11905: 0x8A66, - 22908 - 11905: 0x8A67, - 22909 - 11905: 0xBAC3, - 22910 - 11905: 0x8A68, - 22911 - 11905: 0x8A69, - 22912 - 11905: 0x8A6A, - 22913 - 11905: 0xE5F9, - 22914 - 11905: 0xC8E7, - 22915 - 11905: 0xE5FA, - 22916 - 11905: 0xCDFD, - 22917 - 11905: 0x8A6B, - 22918 - 11905: 0xD7B1, - 22919 - 11905: 0xB8BE, - 22920 - 11905: 0xC2E8, - 22921 - 11905: 0x8A6C, - 22922 - 11905: 0xC8D1, - 22923 - 11905: 0x8A6D, - 22924 - 11905: 0x8A6E, - 22925 - 11905: 0xE5FB, - 22926 - 11905: 0x8A6F, - 22927 - 11905: 0x8A70, - 22928 - 11905: 0x8A71, - 22929 - 11905: 0x8A72, - 22930 - 11905: 0xB6CA, - 22931 - 11905: 0xBCCB, - 22932 - 11905: 0x8A73, - 22933 - 11905: 0x8A74, - 22934 - 11905: 0xD1FD, - 22935 - 11905: 0xE6A1, - 22936 - 11905: 0x8A75, - 22937 - 11905: 0xC3EE, - 22938 - 11905: 0x8A76, - 22939 - 11905: 0x8A77, - 22940 - 11905: 0x8A78, - 22941 - 11905: 0x8A79, - 22942 - 11905: 0xE6A4, - 22943 - 11905: 0x8A7A, - 22944 - 11905: 0x8A7B, - 22945 - 11905: 0x8A7C, - 22946 - 11905: 0x8A7D, - 22947 - 11905: 0xE5FE, - 22948 - 11905: 0xE6A5, - 22949 - 11905: 0xCDD7, - 22950 - 11905: 0x8A7E, - 22951 - 11905: 0x8A80, - 22952 - 11905: 0xB7C1, - 22953 - 11905: 0xE5FC, - 22954 - 11905: 0xE5FD, - 22955 - 11905: 0xE6A3, - 22956 - 11905: 0x8A81, - 22957 - 11905: 0x8A82, - 22958 - 11905: 0xC4DD, - 22959 - 11905: 0xE6A8, - 22960 - 11905: 0x8A83, - 22961 - 11905: 0x8A84, - 22962 - 11905: 0xE6A7, - 22963 - 11905: 0x8A85, - 22964 - 11905: 0x8A86, - 22965 - 11905: 0x8A87, - 22966 - 11905: 0x8A88, - 22967 - 11905: 0x8A89, - 22968 - 11905: 0x8A8A, - 22969 - 11905: 0xC3C3, - 22970 - 11905: 0x8A8B, - 22971 - 11905: 0xC6DE, - 22972 - 11905: 0x8A8C, - 22973 - 11905: 0x8A8D, - 22974 - 11905: 0xE6AA, - 22975 - 11905: 0x8A8E, - 22976 - 11905: 0x8A8F, - 22977 - 11905: 0x8A90, - 22978 - 11905: 0x8A91, - 22979 - 11905: 0x8A92, - 22980 - 11905: 0x8A93, - 22981 - 11905: 0x8A94, - 22982 - 11905: 0xC4B7, - 22983 - 11905: 0x8A95, - 22984 - 11905: 0x8A96, - 22985 - 11905: 0x8A97, - 22986 - 11905: 0xE6A2, - 22987 - 11905: 0xCABC, - 22988 - 11905: 0x8A98, - 22989 - 11905: 0x8A99, - 22990 - 11905: 0x8A9A, - 22991 - 11905: 0x8A9B, - 22992 - 11905: 0xBDE3, - 22993 - 11905: 0xB9C3, - 22994 - 11905: 0xE6A6, - 22995 - 11905: 0xD0D5, - 22996 - 11905: 0xCEAF, - 22997 - 11905: 0x8A9C, - 22998 - 11905: 0x8A9D, - 22999 - 11905: 0xE6A9, - 23000 - 11905: 0xE6B0, - 23001 - 11905: 0x8A9E, - 23002 - 11905: 0xD2A6, - 23003 - 11905: 0x8A9F, - 23004 - 11905: 0xBDAA, - 23005 - 11905: 0xE6AD, - 23006 - 11905: 0x8AA0, - 23007 - 11905: 0x8AA1, - 23008 - 11905: 0x8AA2, - 23009 - 11905: 0x8AA3, - 23010 - 11905: 0x8AA4, - 23011 - 11905: 0xE6AF, - 23012 - 11905: 0x8AA5, - 23013 - 11905: 0xC0D1, - 23014 - 11905: 0x8AA6, - 23015 - 11905: 0x8AA7, - 23016 - 11905: 0xD2CC, - 23017 - 11905: 0x8AA8, - 23018 - 11905: 0x8AA9, - 23019 - 11905: 0x8AAA, - 23020 - 11905: 0xBCA7, - 23021 - 11905: 0x8AAB, - 23022 - 11905: 0x8AAC, - 23023 - 11905: 0x8AAD, - 23024 - 11905: 0x8AAE, - 23025 - 11905: 0x8AAF, - 23026 - 11905: 0x8AB0, - 23027 - 11905: 0x8AB1, - 23028 - 11905: 0x8AB2, - 23029 - 11905: 0x8AB3, - 23030 - 11905: 0x8AB4, - 23031 - 11905: 0x8AB5, - 23032 - 11905: 0x8AB6, - 23033 - 11905: 0xE6B1, - 23034 - 11905: 0x8AB7, - 23035 - 11905: 0xD2F6, - 23036 - 11905: 0x8AB8, - 23037 - 11905: 0x8AB9, - 23038 - 11905: 0x8ABA, - 23039 - 11905: 0xD7CB, - 23040 - 11905: 0x8ABB, - 23041 - 11905: 0xCDFE, - 23042 - 11905: 0x8ABC, - 23043 - 11905: 0xCDDE, - 23044 - 11905: 0xC2A6, - 23045 - 11905: 0xE6AB, - 23046 - 11905: 0xE6AC, - 23047 - 11905: 0xBDBF, - 23048 - 11905: 0xE6AE, - 23049 - 11905: 0xE6B3, - 23050 - 11905: 0x8ABD, - 23051 - 11905: 0x8ABE, - 23052 - 11905: 0xE6B2, - 23053 - 11905: 0x8ABF, - 23054 - 11905: 0x8AC0, - 23055 - 11905: 0x8AC1, - 23056 - 11905: 0x8AC2, - 23057 - 11905: 0xE6B6, - 23058 - 11905: 0x8AC3, - 23059 - 11905: 0xE6B8, - 23060 - 11905: 0x8AC4, - 23061 - 11905: 0x8AC5, - 23062 - 11905: 0x8AC6, - 23063 - 11905: 0x8AC7, - 23064 - 11905: 0xC4EF, - 23065 - 11905: 0x8AC8, - 23066 - 11905: 0x8AC9, - 23067 - 11905: 0x8ACA, - 23068 - 11905: 0xC4C8, - 23069 - 11905: 0x8ACB, - 23070 - 11905: 0x8ACC, - 23071 - 11905: 0xBEEA, - 23072 - 11905: 0xC9EF, - 23073 - 11905: 0x8ACD, - 23074 - 11905: 0x8ACE, - 23075 - 11905: 0xE6B7, - 23076 - 11905: 0x8ACF, - 23077 - 11905: 0xB6F0, - 23078 - 11905: 0x8AD0, - 23079 - 11905: 0x8AD1, - 23080 - 11905: 0x8AD2, - 23081 - 11905: 0xC3E4, - 23082 - 11905: 0x8AD3, - 23083 - 11905: 0x8AD4, - 23084 - 11905: 0x8AD5, - 23085 - 11905: 0x8AD6, - 23086 - 11905: 0x8AD7, - 23087 - 11905: 0x8AD8, - 23088 - 11905: 0x8AD9, - 23089 - 11905: 0xD3E9, - 23090 - 11905: 0xE6B4, - 23091 - 11905: 0x8ADA, - 23092 - 11905: 0xE6B5, - 23093 - 11905: 0x8ADB, - 23094 - 11905: 0xC8A2, - 23095 - 11905: 0x8ADC, - 23096 - 11905: 0x8ADD, - 23097 - 11905: 0x8ADE, - 23098 - 11905: 0x8ADF, - 23099 - 11905: 0x8AE0, - 23100 - 11905: 0xE6BD, - 23101 - 11905: 0x8AE1, - 23102 - 11905: 0x8AE2, - 23103 - 11905: 0x8AE3, - 23104 - 11905: 0xE6B9, - 23105 - 11905: 0x8AE4, - 23106 - 11905: 0x8AE5, - 23107 - 11905: 0x8AE6, - 23108 - 11905: 0x8AE7, - 23109 - 11905: 0x8AE8, - 23110 - 11905: 0xC6C5, - 23111 - 11905: 0x8AE9, - 23112 - 11905: 0x8AEA, - 23113 - 11905: 0xCDF1, - 23114 - 11905: 0xE6BB, - 23115 - 11905: 0x8AEB, - 23116 - 11905: 0x8AEC, - 23117 - 11905: 0x8AED, - 23118 - 11905: 0x8AEE, - 23119 - 11905: 0x8AEF, - 23120 - 11905: 0x8AF0, - 23121 - 11905: 0x8AF1, - 23122 - 11905: 0x8AF2, - 23123 - 11905: 0x8AF3, - 23124 - 11905: 0x8AF4, - 23125 - 11905: 0xE6BC, - 23126 - 11905: 0x8AF5, - 23127 - 11905: 0x8AF6, - 23128 - 11905: 0x8AF7, - 23129 - 11905: 0x8AF8, - 23130 - 11905: 0xBBE9, - 23131 - 11905: 0x8AF9, - 23132 - 11905: 0x8AFA, - 23133 - 11905: 0x8AFB, - 23134 - 11905: 0x8AFC, - 23135 - 11905: 0x8AFD, - 23136 - 11905: 0x8AFE, - 23137 - 11905: 0x8B40, - 23138 - 11905: 0xE6BE, - 23139 - 11905: 0x8B41, - 23140 - 11905: 0x8B42, - 23141 - 11905: 0x8B43, - 23142 - 11905: 0x8B44, - 23143 - 11905: 0xE6BA, - 23144 - 11905: 0x8B45, - 23145 - 11905: 0x8B46, - 23146 - 11905: 0xC0B7, - 23147 - 11905: 0x8B47, - 23148 - 11905: 0x8B48, - 23149 - 11905: 0x8B49, - 23150 - 11905: 0x8B4A, - 23151 - 11905: 0x8B4B, - 23152 - 11905: 0x8B4C, - 23153 - 11905: 0x8B4D, - 23154 - 11905: 0x8B4E, - 23155 - 11905: 0x8B4F, - 23156 - 11905: 0xD3A4, - 23157 - 11905: 0xE6BF, - 23158 - 11905: 0xC9F4, - 23159 - 11905: 0xE6C3, - 23160 - 11905: 0x8B50, - 23161 - 11905: 0x8B51, - 23162 - 11905: 0xE6C4, - 23163 - 11905: 0x8B52, - 23164 - 11905: 0x8B53, - 23165 - 11905: 0x8B54, - 23166 - 11905: 0x8B55, - 23167 - 11905: 0xD0F6, - 23168 - 11905: 0x8B56, - 23169 - 11905: 0x8B57, - 23170 - 11905: 0x8B58, - 23171 - 11905: 0x8B59, - 23172 - 11905: 0x8B5A, - 23173 - 11905: 0x8B5B, - 23174 - 11905: 0x8B5C, - 23175 - 11905: 0x8B5D, - 23176 - 11905: 0x8B5E, - 23177 - 11905: 0x8B5F, - 23178 - 11905: 0x8B60, - 23179 - 11905: 0x8B61, - 23180 - 11905: 0x8B62, - 23181 - 11905: 0x8B63, - 23182 - 11905: 0x8B64, - 23183 - 11905: 0x8B65, - 23184 - 11905: 0x8B66, - 23185 - 11905: 0x8B67, - 23186 - 11905: 0xC3BD, - 23187 - 11905: 0x8B68, - 23188 - 11905: 0x8B69, - 23189 - 11905: 0x8B6A, - 23190 - 11905: 0x8B6B, - 23191 - 11905: 0x8B6C, - 23192 - 11905: 0x8B6D, - 23193 - 11905: 0x8B6E, - 23194 - 11905: 0xC3C4, - 23195 - 11905: 0xE6C2, - 23196 - 11905: 0x8B6F, - 23197 - 11905: 0x8B70, - 23198 - 11905: 0x8B71, - 23199 - 11905: 0x8B72, - 23200 - 11905: 0x8B73, - 23201 - 11905: 0x8B74, - 23202 - 11905: 0x8B75, - 23203 - 11905: 0x8B76, - 23204 - 11905: 0x8B77, - 23205 - 11905: 0x8B78, - 23206 - 11905: 0x8B79, - 23207 - 11905: 0x8B7A, - 23208 - 11905: 0x8B7B, - 23209 - 11905: 0x8B7C, - 23210 - 11905: 0xE6C1, - 23211 - 11905: 0x8B7D, - 23212 - 11905: 0x8B7E, - 23213 - 11905: 0x8B80, - 23214 - 11905: 0x8B81, - 23215 - 11905: 0x8B82, - 23216 - 11905: 0x8B83, - 23217 - 11905: 0x8B84, - 23218 - 11905: 0xE6C7, - 23219 - 11905: 0xCFB1, - 23220 - 11905: 0x8B85, - 23221 - 11905: 0xEBF4, - 23222 - 11905: 0x8B86, - 23223 - 11905: 0x8B87, - 23224 - 11905: 0xE6CA, - 23225 - 11905: 0x8B88, - 23226 - 11905: 0x8B89, - 23227 - 11905: 0x8B8A, - 23228 - 11905: 0x8B8B, - 23229 - 11905: 0x8B8C, - 23230 - 11905: 0xE6C5, - 23231 - 11905: 0x8B8D, - 23232 - 11905: 0x8B8E, - 23233 - 11905: 0xBCDE, - 23234 - 11905: 0xC9A9, - 23235 - 11905: 0x8B8F, - 23236 - 11905: 0x8B90, - 23237 - 11905: 0x8B91, - 23238 - 11905: 0x8B92, - 23239 - 11905: 0x8B93, - 23240 - 11905: 0x8B94, - 23241 - 11905: 0xBCB5, - 23242 - 11905: 0x8B95, - 23243 - 11905: 0x8B96, - 23244 - 11905: 0xCFD3, - 23245 - 11905: 0x8B97, - 23246 - 11905: 0x8B98, - 23247 - 11905: 0x8B99, - 23248 - 11905: 0x8B9A, - 23249 - 11905: 0x8B9B, - 23250 - 11905: 0xE6C8, - 23251 - 11905: 0x8B9C, - 23252 - 11905: 0xE6C9, - 23253 - 11905: 0x8B9D, - 23254 - 11905: 0xE6CE, - 23255 - 11905: 0x8B9E, - 23256 - 11905: 0xE6D0, - 23257 - 11905: 0x8B9F, - 23258 - 11905: 0x8BA0, - 23259 - 11905: 0x8BA1, - 23260 - 11905: 0xE6D1, - 23261 - 11905: 0x8BA2, - 23262 - 11905: 0x8BA3, - 23263 - 11905: 0x8BA4, - 23264 - 11905: 0xE6CB, - 23265 - 11905: 0xB5D5, - 23266 - 11905: 0x8BA5, - 23267 - 11905: 0xE6CC, - 23268 - 11905: 0x8BA6, - 23269 - 11905: 0x8BA7, - 23270 - 11905: 0xE6CF, - 23271 - 11905: 0x8BA8, - 23272 - 11905: 0x8BA9, - 23273 - 11905: 0xC4DB, - 23274 - 11905: 0x8BAA, - 23275 - 11905: 0xE6C6, - 23276 - 11905: 0x8BAB, - 23277 - 11905: 0x8BAC, - 23278 - 11905: 0x8BAD, - 23279 - 11905: 0x8BAE, - 23280 - 11905: 0x8BAF, - 23281 - 11905: 0xE6CD, - 23282 - 11905: 0x8BB0, - 23283 - 11905: 0x8BB1, - 23284 - 11905: 0x8BB2, - 23285 - 11905: 0x8BB3, - 23286 - 11905: 0x8BB4, - 23287 - 11905: 0x8BB5, - 23288 - 11905: 0x8BB6, - 23289 - 11905: 0x8BB7, - 23290 - 11905: 0x8BB8, - 23291 - 11905: 0x8BB9, - 23292 - 11905: 0x8BBA, - 23293 - 11905: 0x8BBB, - 23294 - 11905: 0x8BBC, - 23295 - 11905: 0x8BBD, - 23296 - 11905: 0x8BBE, - 23297 - 11905: 0x8BBF, - 23298 - 11905: 0x8BC0, - 23299 - 11905: 0x8BC1, - 23300 - 11905: 0x8BC2, - 23301 - 11905: 0x8BC3, - 23302 - 11905: 0x8BC4, - 23303 - 11905: 0x8BC5, - 23304 - 11905: 0x8BC6, - 23305 - 11905: 0xE6D2, - 23306 - 11905: 0x8BC7, - 23307 - 11905: 0x8BC8, - 23308 - 11905: 0x8BC9, - 23309 - 11905: 0x8BCA, - 23310 - 11905: 0x8BCB, - 23311 - 11905: 0x8BCC, - 23312 - 11905: 0x8BCD, - 23313 - 11905: 0x8BCE, - 23314 - 11905: 0x8BCF, - 23315 - 11905: 0x8BD0, - 23316 - 11905: 0x8BD1, - 23317 - 11905: 0x8BD2, - 23318 - 11905: 0xE6D4, - 23319 - 11905: 0xE6D3, - 23320 - 11905: 0x8BD3, - 23321 - 11905: 0x8BD4, - 23322 - 11905: 0x8BD5, - 23323 - 11905: 0x8BD6, - 23324 - 11905: 0x8BD7, - 23325 - 11905: 0x8BD8, - 23326 - 11905: 0x8BD9, - 23327 - 11905: 0x8BDA, - 23328 - 11905: 0x8BDB, - 23329 - 11905: 0x8BDC, - 23330 - 11905: 0x8BDD, - 23331 - 11905: 0x8BDE, - 23332 - 11905: 0x8BDF, - 23333 - 11905: 0x8BE0, - 23334 - 11905: 0x8BE1, - 23335 - 11905: 0x8BE2, - 23336 - 11905: 0x8BE3, - 23337 - 11905: 0x8BE4, - 23338 - 11905: 0x8BE5, - 23339 - 11905: 0x8BE6, - 23340 - 11905: 0x8BE7, - 23341 - 11905: 0x8BE8, - 23342 - 11905: 0x8BE9, - 23343 - 11905: 0x8BEA, - 23344 - 11905: 0x8BEB, - 23345 - 11905: 0x8BEC, - 23346 - 11905: 0xE6D5, - 23347 - 11905: 0x8BED, - 23348 - 11905: 0xD9F8, - 23349 - 11905: 0x8BEE, - 23350 - 11905: 0x8BEF, - 23351 - 11905: 0xE6D6, - 23352 - 11905: 0x8BF0, - 23353 - 11905: 0x8BF1, - 23354 - 11905: 0x8BF2, - 23355 - 11905: 0x8BF3, - 23356 - 11905: 0x8BF4, - 23357 - 11905: 0x8BF5, - 23358 - 11905: 0x8BF6, - 23359 - 11905: 0x8BF7, - 23360 - 11905: 0xE6D7, - 23361 - 11905: 0x8BF8, - 23362 - 11905: 0x8BF9, - 23363 - 11905: 0x8BFA, - 23364 - 11905: 0x8BFB, - 23365 - 11905: 0x8BFC, - 23366 - 11905: 0x8BFD, - 23367 - 11905: 0x8BFE, - 23368 - 11905: 0x8C40, - 23369 - 11905: 0x8C41, - 23370 - 11905: 0x8C42, - 23371 - 11905: 0x8C43, - 23372 - 11905: 0x8C44, - 23373 - 11905: 0x8C45, - 23374 - 11905: 0x8C46, - 23375 - 11905: 0x8C47, - 23376 - 11905: 0xD7D3, - 23377 - 11905: 0xE6DD, - 23378 - 11905: 0x8C48, - 23379 - 11905: 0xE6DE, - 23380 - 11905: 0xBFD7, - 23381 - 11905: 0xD4D0, - 23382 - 11905: 0x8C49, - 23383 - 11905: 0xD7D6, - 23384 - 11905: 0xB4E6, - 23385 - 11905: 0xCBEF, - 23386 - 11905: 0xE6DA, - 23387 - 11905: 0xD8C3, - 23388 - 11905: 0xD7CE, - 23389 - 11905: 0xD0A2, - 23390 - 11905: 0x8C4A, - 23391 - 11905: 0xC3CF, - 23392 - 11905: 0x8C4B, - 23393 - 11905: 0x8C4C, - 23394 - 11905: 0xE6DF, - 23395 - 11905: 0xBCBE, - 23396 - 11905: 0xB9C2, - 23397 - 11905: 0xE6DB, - 23398 - 11905: 0xD1A7, - 23399 - 11905: 0x8C4D, - 23400 - 11905: 0x8C4E, - 23401 - 11905: 0xBAA2, - 23402 - 11905: 0xC2CF, - 23403 - 11905: 0x8C4F, - 23404 - 11905: 0xD8AB, - 23405 - 11905: 0x8C50, - 23406 - 11905: 0x8C51, - 23407 - 11905: 0x8C52, - 23408 - 11905: 0xCAEB, - 23409 - 11905: 0xE5EE, - 23410 - 11905: 0x8C53, - 23411 - 11905: 0xE6DC, - 23412 - 11905: 0x8C54, - 23413 - 11905: 0xB7F5, - 23414 - 11905: 0x8C55, - 23415 - 11905: 0x8C56, - 23416 - 11905: 0x8C57, - 23417 - 11905: 0x8C58, - 23418 - 11905: 0xC8E6, - 23419 - 11905: 0x8C59, - 23420 - 11905: 0x8C5A, - 23421 - 11905: 0xC4F5, - 23422 - 11905: 0x8C5B, - 23423 - 11905: 0x8C5C, - 23424 - 11905: 0xE5B2, - 23425 - 11905: 0xC4FE, - 23426 - 11905: 0x8C5D, - 23427 - 11905: 0xCBFC, - 23428 - 11905: 0xE5B3, - 23429 - 11905: 0xD5AC, - 23430 - 11905: 0x8C5E, - 23431 - 11905: 0xD3EE, - 23432 - 11905: 0xCAD8, - 23433 - 11905: 0xB0B2, - 23434 - 11905: 0x8C5F, - 23435 - 11905: 0xCBCE, - 23436 - 11905: 0xCDEA, - 23437 - 11905: 0x8C60, - 23438 - 11905: 0x8C61, - 23439 - 11905: 0xBAEA, - 23440 - 11905: 0x8C62, - 23441 - 11905: 0x8C63, - 23442 - 11905: 0x8C64, - 23443 - 11905: 0xE5B5, - 23444 - 11905: 0x8C65, - 23445 - 11905: 0xE5B4, - 23446 - 11905: 0x8C66, - 23447 - 11905: 0xD7DA, - 23448 - 11905: 0xB9D9, - 23449 - 11905: 0xD6E6, - 23450 - 11905: 0xB6A8, - 23451 - 11905: 0xCDF0, - 23452 - 11905: 0xD2CB, - 23453 - 11905: 0xB1A6, - 23454 - 11905: 0xCAB5, - 23455 - 11905: 0x8C67, - 23456 - 11905: 0xB3E8, - 23457 - 11905: 0xC9F3, - 23458 - 11905: 0xBFCD, - 23459 - 11905: 0xD0FB, - 23460 - 11905: 0xCAD2, - 23461 - 11905: 0xE5B6, - 23462 - 11905: 0xBBC2, - 23463 - 11905: 0x8C68, - 23464 - 11905: 0x8C69, - 23465 - 11905: 0x8C6A, - 23466 - 11905: 0xCFDC, - 23467 - 11905: 0xB9AC, - 23468 - 11905: 0x8C6B, - 23469 - 11905: 0x8C6C, - 23470 - 11905: 0x8C6D, - 23471 - 11905: 0x8C6E, - 23472 - 11905: 0xD4D7, - 23473 - 11905: 0x8C6F, - 23474 - 11905: 0x8C70, - 23475 - 11905: 0xBAA6, - 23476 - 11905: 0xD1E7, - 23477 - 11905: 0xCFFC, - 23478 - 11905: 0xBCD2, - 23479 - 11905: 0x8C71, - 23480 - 11905: 0xE5B7, - 23481 - 11905: 0xC8DD, - 23482 - 11905: 0x8C72, - 23483 - 11905: 0x8C73, - 23484 - 11905: 0x8C74, - 23485 - 11905: 0xBFED, - 23486 - 11905: 0xB1F6, - 23487 - 11905: 0xCBDE, - 23488 - 11905: 0x8C75, - 23489 - 11905: 0x8C76, - 23490 - 11905: 0xBCC5, - 23491 - 11905: 0x8C77, - 23492 - 11905: 0xBCC4, - 23493 - 11905: 0xD2FA, - 23494 - 11905: 0xC3DC, - 23495 - 11905: 0xBFDC, - 23496 - 11905: 0x8C78, - 23497 - 11905: 0x8C79, - 23498 - 11905: 0x8C7A, - 23499 - 11905: 0x8C7B, - 23500 - 11905: 0xB8BB, - 23501 - 11905: 0x8C7C, - 23502 - 11905: 0x8C7D, - 23503 - 11905: 0x8C7E, - 23504 - 11905: 0xC3C2, - 23505 - 11905: 0x8C80, - 23506 - 11905: 0xBAAE, - 23507 - 11905: 0xD4A2, - 23508 - 11905: 0x8C81, - 23509 - 11905: 0x8C82, - 23510 - 11905: 0x8C83, - 23511 - 11905: 0x8C84, - 23512 - 11905: 0x8C85, - 23513 - 11905: 0x8C86, - 23514 - 11905: 0x8C87, - 23515 - 11905: 0x8C88, - 23516 - 11905: 0x8C89, - 23517 - 11905: 0xC7DE, - 23518 - 11905: 0xC4AF, - 23519 - 11905: 0xB2EC, - 23520 - 11905: 0x8C8A, - 23521 - 11905: 0xB9D1, - 23522 - 11905: 0x8C8B, - 23523 - 11905: 0x8C8C, - 23524 - 11905: 0xE5BB, - 23525 - 11905: 0xC1C8, - 23526 - 11905: 0x8C8D, - 23527 - 11905: 0x8C8E, - 23528 - 11905: 0xD5AF, - 23529 - 11905: 0x8C8F, - 23530 - 11905: 0x8C90, - 23531 - 11905: 0x8C91, - 23532 - 11905: 0x8C92, - 23533 - 11905: 0x8C93, - 23534 - 11905: 0xE5BC, - 23535 - 11905: 0x8C94, - 23536 - 11905: 0xE5BE, - 23537 - 11905: 0x8C95, - 23538 - 11905: 0x8C96, - 23539 - 11905: 0x8C97, - 23540 - 11905: 0x8C98, - 23541 - 11905: 0x8C99, - 23542 - 11905: 0x8C9A, - 23543 - 11905: 0x8C9B, - 23544 - 11905: 0xB4E7, - 23545 - 11905: 0xB6D4, - 23546 - 11905: 0xCBC2, - 23547 - 11905: 0xD1B0, - 23548 - 11905: 0xB5BC, - 23549 - 11905: 0x8C9C, - 23550 - 11905: 0x8C9D, - 23551 - 11905: 0xCAD9, - 23552 - 11905: 0x8C9E, - 23553 - 11905: 0xB7E2, - 23554 - 11905: 0x8C9F, - 23555 - 11905: 0x8CA0, - 23556 - 11905: 0xC9E4, - 23557 - 11905: 0x8CA1, - 23558 - 11905: 0xBDAB, - 23559 - 11905: 0x8CA2, - 23560 - 11905: 0x8CA3, - 23561 - 11905: 0xCEBE, - 23562 - 11905: 0xD7F0, - 23563 - 11905: 0x8CA4, - 23564 - 11905: 0x8CA5, - 23565 - 11905: 0x8CA6, - 23566 - 11905: 0x8CA7, - 23567 - 11905: 0xD0A1, - 23568 - 11905: 0x8CA8, - 23569 - 11905: 0xC9D9, - 23570 - 11905: 0x8CA9, - 23571 - 11905: 0x8CAA, - 23572 - 11905: 0xB6FB, - 23573 - 11905: 0xE6D8, - 23574 - 11905: 0xBCE2, - 23575 - 11905: 0x8CAB, - 23576 - 11905: 0xB3BE, - 23577 - 11905: 0x8CAC, - 23578 - 11905: 0xC9D0, - 23579 - 11905: 0x8CAD, - 23580 - 11905: 0xE6D9, - 23581 - 11905: 0xB3A2, - 23582 - 11905: 0x8CAE, - 23583 - 11905: 0x8CAF, - 23584 - 11905: 0x8CB0, - 23585 - 11905: 0x8CB1, - 23586 - 11905: 0xDECC, - 23587 - 11905: 0x8CB2, - 23588 - 11905: 0xD3C8, - 23589 - 11905: 0xDECD, - 23590 - 11905: 0x8CB3, - 23591 - 11905: 0xD2A2, - 23592 - 11905: 0x8CB4, - 23593 - 11905: 0x8CB5, - 23594 - 11905: 0x8CB6, - 23595 - 11905: 0x8CB7, - 23596 - 11905: 0xDECE, - 23597 - 11905: 0x8CB8, - 23598 - 11905: 0x8CB9, - 23599 - 11905: 0x8CBA, - 23600 - 11905: 0x8CBB, - 23601 - 11905: 0xBECD, - 23602 - 11905: 0x8CBC, - 23603 - 11905: 0x8CBD, - 23604 - 11905: 0xDECF, - 23605 - 11905: 0x8CBE, - 23606 - 11905: 0x8CBF, - 23607 - 11905: 0x8CC0, - 23608 - 11905: 0xCAAC, - 23609 - 11905: 0xD2FC, - 23610 - 11905: 0xB3DF, - 23611 - 11905: 0xE5EA, - 23612 - 11905: 0xC4E1, - 23613 - 11905: 0xBEA1, - 23614 - 11905: 0xCEB2, - 23615 - 11905: 0xC4F2, - 23616 - 11905: 0xBED6, - 23617 - 11905: 0xC6A8, - 23618 - 11905: 0xB2E3, - 23619 - 11905: 0x8CC1, - 23620 - 11905: 0x8CC2, - 23621 - 11905: 0xBED3, - 23622 - 11905: 0x8CC3, - 23623 - 11905: 0x8CC4, - 23624 - 11905: 0xC7FC, - 23625 - 11905: 0xCCEB, - 23626 - 11905: 0xBDEC, - 23627 - 11905: 0xCEDD, - 23628 - 11905: 0x8CC5, - 23629 - 11905: 0x8CC6, - 23630 - 11905: 0xCABA, - 23631 - 11905: 0xC6C1, - 23632 - 11905: 0xE5EC, - 23633 - 11905: 0xD0BC, - 23634 - 11905: 0x8CC7, - 23635 - 11905: 0x8CC8, - 23636 - 11905: 0x8CC9, - 23637 - 11905: 0xD5B9, - 23638 - 11905: 0x8CCA, - 23639 - 11905: 0x8CCB, - 23640 - 11905: 0x8CCC, - 23641 - 11905: 0xE5ED, - 23642 - 11905: 0x8CCD, - 23643 - 11905: 0x8CCE, - 23644 - 11905: 0x8CCF, - 23645 - 11905: 0x8CD0, - 23646 - 11905: 0xCAF4, - 23647 - 11905: 0x8CD1, - 23648 - 11905: 0xCDC0, - 23649 - 11905: 0xC2C5, - 23650 - 11905: 0x8CD2, - 23651 - 11905: 0xE5EF, - 23652 - 11905: 0x8CD3, - 23653 - 11905: 0xC2C4, - 23654 - 11905: 0xE5F0, - 23655 - 11905: 0x8CD4, - 23656 - 11905: 0x8CD5, - 23657 - 11905: 0x8CD6, - 23658 - 11905: 0x8CD7, - 23659 - 11905: 0x8CD8, - 23660 - 11905: 0x8CD9, - 23661 - 11905: 0x8CDA, - 23662 - 11905: 0xE5F8, - 23663 - 11905: 0xCDCD, - 23664 - 11905: 0x8CDB, - 23665 - 11905: 0xC9BD, - 23666 - 11905: 0x8CDC, - 23667 - 11905: 0x8CDD, - 23668 - 11905: 0x8CDE, - 23669 - 11905: 0x8CDF, - 23670 - 11905: 0x8CE0, - 23671 - 11905: 0x8CE1, - 23672 - 11905: 0x8CE2, - 23673 - 11905: 0xD2D9, - 23674 - 11905: 0xE1A8, - 23675 - 11905: 0x8CE3, - 23676 - 11905: 0x8CE4, - 23677 - 11905: 0x8CE5, - 23678 - 11905: 0x8CE6, - 23679 - 11905: 0xD3EC, - 23680 - 11905: 0x8CE7, - 23681 - 11905: 0xCBEA, - 23682 - 11905: 0xC6F1, - 23683 - 11905: 0x8CE8, - 23684 - 11905: 0x8CE9, - 23685 - 11905: 0x8CEA, - 23686 - 11905: 0x8CEB, - 23687 - 11905: 0x8CEC, - 23688 - 11905: 0xE1AC, - 23689 - 11905: 0x8CED, - 23690 - 11905: 0x8CEE, - 23691 - 11905: 0x8CEF, - 23692 - 11905: 0xE1A7, - 23693 - 11905: 0xE1A9, - 23694 - 11905: 0x8CF0, - 23695 - 11905: 0x8CF1, - 23696 - 11905: 0xE1AA, - 23697 - 11905: 0xE1AF, - 23698 - 11905: 0x8CF2, - 23699 - 11905: 0x8CF3, - 23700 - 11905: 0xB2ED, - 23701 - 11905: 0x8CF4, - 23702 - 11905: 0xE1AB, - 23703 - 11905: 0xB8DA, - 23704 - 11905: 0xE1AD, - 23705 - 11905: 0xE1AE, - 23706 - 11905: 0xE1B0, - 23707 - 11905: 0xB5BA, - 23708 - 11905: 0xE1B1, - 23709 - 11905: 0x8CF5, - 23710 - 11905: 0x8CF6, - 23711 - 11905: 0x8CF7, - 23712 - 11905: 0x8CF8, - 23713 - 11905: 0x8CF9, - 23714 - 11905: 0xE1B3, - 23715 - 11905: 0xE1B8, - 23716 - 11905: 0x8CFA, - 23717 - 11905: 0x8CFB, - 23718 - 11905: 0x8CFC, - 23719 - 11905: 0x8CFD, - 23720 - 11905: 0x8CFE, - 23721 - 11905: 0xD1D2, - 23722 - 11905: 0x8D40, - 23723 - 11905: 0xE1B6, - 23724 - 11905: 0xE1B5, - 23725 - 11905: 0xC1EB, - 23726 - 11905: 0x8D41, - 23727 - 11905: 0x8D42, - 23728 - 11905: 0x8D43, - 23729 - 11905: 0xE1B7, - 23730 - 11905: 0x8D44, - 23731 - 11905: 0xD4C0, - 23732 - 11905: 0x8D45, - 23733 - 11905: 0xE1B2, - 23734 - 11905: 0x8D46, - 23735 - 11905: 0xE1BA, - 23736 - 11905: 0xB0B6, - 23737 - 11905: 0x8D47, - 23738 - 11905: 0x8D48, - 23739 - 11905: 0x8D49, - 23740 - 11905: 0x8D4A, - 23741 - 11905: 0xE1B4, - 23742 - 11905: 0x8D4B, - 23743 - 11905: 0xBFF9, - 23744 - 11905: 0x8D4C, - 23745 - 11905: 0xE1B9, - 23746 - 11905: 0x8D4D, - 23747 - 11905: 0x8D4E, - 23748 - 11905: 0xE1BB, - 23749 - 11905: 0x8D4F, - 23750 - 11905: 0x8D50, - 23751 - 11905: 0x8D51, - 23752 - 11905: 0x8D52, - 23753 - 11905: 0x8D53, - 23754 - 11905: 0x8D54, - 23755 - 11905: 0xE1BE, - 23756 - 11905: 0x8D55, - 23757 - 11905: 0x8D56, - 23758 - 11905: 0x8D57, - 23759 - 11905: 0x8D58, - 23760 - 11905: 0x8D59, - 23761 - 11905: 0x8D5A, - 23762 - 11905: 0xE1BC, - 23763 - 11905: 0x8D5B, - 23764 - 11905: 0x8D5C, - 23765 - 11905: 0x8D5D, - 23766 - 11905: 0x8D5E, - 23767 - 11905: 0x8D5F, - 23768 - 11905: 0x8D60, - 23769 - 11905: 0xD6C5, - 23770 - 11905: 0x8D61, - 23771 - 11905: 0x8D62, - 23772 - 11905: 0x8D63, - 23773 - 11905: 0x8D64, - 23774 - 11905: 0x8D65, - 23775 - 11905: 0x8D66, - 23776 - 11905: 0x8D67, - 23777 - 11905: 0xCFBF, - 23778 - 11905: 0x8D68, - 23779 - 11905: 0x8D69, - 23780 - 11905: 0xE1BD, - 23781 - 11905: 0xE1BF, - 23782 - 11905: 0xC2CD, - 23783 - 11905: 0x8D6A, - 23784 - 11905: 0xB6EB, - 23785 - 11905: 0x8D6B, - 23786 - 11905: 0xD3F8, - 23787 - 11905: 0x8D6C, - 23788 - 11905: 0x8D6D, - 23789 - 11905: 0xC7CD, - 23790 - 11905: 0x8D6E, - 23791 - 11905: 0x8D6F, - 23792 - 11905: 0xB7E5, - 23793 - 11905: 0x8D70, - 23794 - 11905: 0x8D71, - 23795 - 11905: 0x8D72, - 23796 - 11905: 0x8D73, - 23797 - 11905: 0x8D74, - 23798 - 11905: 0x8D75, - 23799 - 11905: 0x8D76, - 23800 - 11905: 0x8D77, - 23801 - 11905: 0x8D78, - 23802 - 11905: 0x8D79, - 23803 - 11905: 0xBEFE, - 23804 - 11905: 0x8D7A, - 23805 - 11905: 0x8D7B, - 23806 - 11905: 0x8D7C, - 23807 - 11905: 0x8D7D, - 23808 - 11905: 0x8D7E, - 23809 - 11905: 0x8D80, - 23810 - 11905: 0xE1C0, - 23811 - 11905: 0xE1C1, - 23812 - 11905: 0x8D81, - 23813 - 11905: 0x8D82, - 23814 - 11905: 0xE1C7, - 23815 - 11905: 0xB3E7, - 23816 - 11905: 0x8D83, - 23817 - 11905: 0x8D84, - 23818 - 11905: 0x8D85, - 23819 - 11905: 0x8D86, - 23820 - 11905: 0x8D87, - 23821 - 11905: 0x8D88, - 23822 - 11905: 0xC6E9, - 23823 - 11905: 0x8D89, - 23824 - 11905: 0x8D8A, - 23825 - 11905: 0x8D8B, - 23826 - 11905: 0x8D8C, - 23827 - 11905: 0x8D8D, - 23828 - 11905: 0xB4DE, - 23829 - 11905: 0x8D8E, - 23830 - 11905: 0xD1C2, - 23831 - 11905: 0x8D8F, - 23832 - 11905: 0x8D90, - 23833 - 11905: 0x8D91, - 23834 - 11905: 0x8D92, - 23835 - 11905: 0xE1C8, - 23836 - 11905: 0x8D93, - 23837 - 11905: 0x8D94, - 23838 - 11905: 0xE1C6, - 23839 - 11905: 0x8D95, - 23840 - 11905: 0x8D96, - 23841 - 11905: 0x8D97, - 23842 - 11905: 0x8D98, - 23843 - 11905: 0x8D99, - 23844 - 11905: 0xE1C5, - 23845 - 11905: 0x8D9A, - 23846 - 11905: 0xE1C3, - 23847 - 11905: 0xE1C2, - 23848 - 11905: 0x8D9B, - 23849 - 11905: 0xB1C0, - 23850 - 11905: 0x8D9C, - 23851 - 11905: 0x8D9D, - 23852 - 11905: 0x8D9E, - 23853 - 11905: 0xD5B8, - 23854 - 11905: 0xE1C4, - 23855 - 11905: 0x8D9F, - 23856 - 11905: 0x8DA0, - 23857 - 11905: 0x8DA1, - 23858 - 11905: 0x8DA2, - 23859 - 11905: 0x8DA3, - 23860 - 11905: 0xE1CB, - 23861 - 11905: 0x8DA4, - 23862 - 11905: 0x8DA5, - 23863 - 11905: 0x8DA6, - 23864 - 11905: 0x8DA7, - 23865 - 11905: 0x8DA8, - 23866 - 11905: 0x8DA9, - 23867 - 11905: 0x8DAA, - 23868 - 11905: 0x8DAB, - 23869 - 11905: 0xE1CC, - 23870 - 11905: 0xE1CA, - 23871 - 11905: 0x8DAC, - 23872 - 11905: 0x8DAD, - 23873 - 11905: 0x8DAE, - 23874 - 11905: 0x8DAF, - 23875 - 11905: 0x8DB0, - 23876 - 11905: 0x8DB1, - 23877 - 11905: 0x8DB2, - 23878 - 11905: 0x8DB3, - 23879 - 11905: 0xEFFA, - 23880 - 11905: 0x8DB4, - 23881 - 11905: 0x8DB5, - 23882 - 11905: 0xE1D3, - 23883 - 11905: 0xE1D2, - 23884 - 11905: 0xC7B6, - 23885 - 11905: 0x8DB6, - 23886 - 11905: 0x8DB7, - 23887 - 11905: 0x8DB8, - 23888 - 11905: 0x8DB9, - 23889 - 11905: 0x8DBA, - 23890 - 11905: 0x8DBB, - 23891 - 11905: 0x8DBC, - 23892 - 11905: 0x8DBD, - 23893 - 11905: 0x8DBE, - 23894 - 11905: 0x8DBF, - 23895 - 11905: 0x8DC0, - 23896 - 11905: 0xE1C9, - 23897 - 11905: 0x8DC1, - 23898 - 11905: 0x8DC2, - 23899 - 11905: 0xE1CE, - 23900 - 11905: 0x8DC3, - 23901 - 11905: 0xE1D0, - 23902 - 11905: 0x8DC4, - 23903 - 11905: 0x8DC5, - 23904 - 11905: 0x8DC6, - 23905 - 11905: 0x8DC7, - 23906 - 11905: 0x8DC8, - 23907 - 11905: 0x8DC9, - 23908 - 11905: 0x8DCA, - 23909 - 11905: 0x8DCB, - 23910 - 11905: 0x8DCC, - 23911 - 11905: 0x8DCD, - 23912 - 11905: 0x8DCE, - 23913 - 11905: 0xE1D4, - 23914 - 11905: 0x8DCF, - 23915 - 11905: 0xE1D1, - 23916 - 11905: 0xE1CD, - 23917 - 11905: 0x8DD0, - 23918 - 11905: 0x8DD1, - 23919 - 11905: 0xE1CF, - 23920 - 11905: 0x8DD2, - 23921 - 11905: 0x8DD3, - 23922 - 11905: 0x8DD4, - 23923 - 11905: 0x8DD5, - 23924 - 11905: 0xE1D5, - 23925 - 11905: 0x8DD6, - 23926 - 11905: 0x8DD7, - 23927 - 11905: 0x8DD8, - 23928 - 11905: 0x8DD9, - 23929 - 11905: 0x8DDA, - 23930 - 11905: 0x8DDB, - 23931 - 11905: 0x8DDC, - 23932 - 11905: 0x8DDD, - 23933 - 11905: 0x8DDE, - 23934 - 11905: 0x8DDF, - 23935 - 11905: 0x8DE0, - 23936 - 11905: 0x8DE1, - 23937 - 11905: 0x8DE2, - 23938 - 11905: 0xE1D6, - 23939 - 11905: 0x8DE3, - 23940 - 11905: 0x8DE4, - 23941 - 11905: 0x8DE5, - 23942 - 11905: 0x8DE6, - 23943 - 11905: 0x8DE7, - 23944 - 11905: 0x8DE8, - 23945 - 11905: 0x8DE9, - 23946 - 11905: 0x8DEA, - 23947 - 11905: 0x8DEB, - 23948 - 11905: 0x8DEC, - 23949 - 11905: 0x8DED, - 23950 - 11905: 0x8DEE, - 23951 - 11905: 0x8DEF, - 23952 - 11905: 0x8DF0, - 23953 - 11905: 0x8DF1, - 23954 - 11905: 0x8DF2, - 23955 - 11905: 0x8DF3, - 23956 - 11905: 0x8DF4, - 23957 - 11905: 0x8DF5, - 23958 - 11905: 0x8DF6, - 23959 - 11905: 0x8DF7, - 23960 - 11905: 0x8DF8, - 23961 - 11905: 0xE1D7, - 23962 - 11905: 0x8DF9, - 23963 - 11905: 0x8DFA, - 23964 - 11905: 0x8DFB, - 23965 - 11905: 0xE1D8, - 23966 - 11905: 0x8DFC, - 23967 - 11905: 0x8DFD, - 23968 - 11905: 0x8DFE, - 23969 - 11905: 0x8E40, - 23970 - 11905: 0x8E41, - 23971 - 11905: 0x8E42, - 23972 - 11905: 0x8E43, - 23973 - 11905: 0x8E44, - 23974 - 11905: 0x8E45, - 23975 - 11905: 0x8E46, - 23976 - 11905: 0x8E47, - 23977 - 11905: 0x8E48, - 23978 - 11905: 0x8E49, - 23979 - 11905: 0x8E4A, - 23980 - 11905: 0x8E4B, - 23981 - 11905: 0x8E4C, - 23982 - 11905: 0x8E4D, - 23983 - 11905: 0x8E4E, - 23984 - 11905: 0x8E4F, - 23985 - 11905: 0x8E50, - 23986 - 11905: 0x8E51, - 23987 - 11905: 0x8E52, - 23988 - 11905: 0x8E53, - 23989 - 11905: 0x8E54, - 23990 - 11905: 0x8E55, - 23991 - 11905: 0xE1DA, - 23992 - 11905: 0x8E56, - 23993 - 11905: 0x8E57, - 23994 - 11905: 0x8E58, - 23995 - 11905: 0x8E59, - 23996 - 11905: 0x8E5A, - 23997 - 11905: 0x8E5B, - 23998 - 11905: 0x8E5C, - 23999 - 11905: 0x8E5D, - 24000 - 11905: 0x8E5E, - 24001 - 11905: 0x8E5F, - 24002 - 11905: 0x8E60, - 24003 - 11905: 0x8E61, - 24004 - 11905: 0x8E62, - 24005 - 11905: 0xE1DB, - 24006 - 11905: 0x8E63, - 24007 - 11905: 0x8E64, - 24008 - 11905: 0x8E65, - 24009 - 11905: 0x8E66, - 24010 - 11905: 0x8E67, - 24011 - 11905: 0x8E68, - 24012 - 11905: 0x8E69, - 24013 - 11905: 0xCEA1, - 24014 - 11905: 0x8E6A, - 24015 - 11905: 0x8E6B, - 24016 - 11905: 0x8E6C, - 24017 - 11905: 0x8E6D, - 24018 - 11905: 0x8E6E, - 24019 - 11905: 0x8E6F, - 24020 - 11905: 0x8E70, - 24021 - 11905: 0x8E71, - 24022 - 11905: 0x8E72, - 24023 - 11905: 0x8E73, - 24024 - 11905: 0x8E74, - 24025 - 11905: 0x8E75, - 24026 - 11905: 0x8E76, - 24027 - 11905: 0xE7DD, - 24028 - 11905: 0x8E77, - 24029 - 11905: 0xB4A8, - 24030 - 11905: 0xD6DD, - 24031 - 11905: 0x8E78, - 24032 - 11905: 0x8E79, - 24033 - 11905: 0xD1B2, - 24034 - 11905: 0xB3B2, - 24035 - 11905: 0x8E7A, - 24036 - 11905: 0x8E7B, - 24037 - 11905: 0xB9A4, - 24038 - 11905: 0xD7F3, - 24039 - 11905: 0xC7C9, - 24040 - 11905: 0xBEDE, - 24041 - 11905: 0xB9AE, - 24042 - 11905: 0x8E7C, - 24043 - 11905: 0xCED7, - 24044 - 11905: 0x8E7D, - 24045 - 11905: 0x8E7E, - 24046 - 11905: 0xB2EE, - 24047 - 11905: 0xDBCF, - 24048 - 11905: 0x8E80, - 24049 - 11905: 0xBCBA, - 24050 - 11905: 0xD2D1, - 24051 - 11905: 0xCBC8, - 24052 - 11905: 0xB0CD, - 24053 - 11905: 0x8E81, - 24054 - 11905: 0x8E82, - 24055 - 11905: 0xCFEF, - 24056 - 11905: 0x8E83, - 24057 - 11905: 0x8E84, - 24058 - 11905: 0x8E85, - 24059 - 11905: 0x8E86, - 24060 - 11905: 0x8E87, - 24061 - 11905: 0xD9E3, - 24062 - 11905: 0xBDED, - 24063 - 11905: 0x8E88, - 24064 - 11905: 0x8E89, - 24065 - 11905: 0xB1D2, - 24066 - 11905: 0xCAD0, - 24067 - 11905: 0xB2BC, - 24068 - 11905: 0x8E8A, - 24069 - 11905: 0xCBA7, - 24070 - 11905: 0xB7AB, - 24071 - 11905: 0x8E8B, - 24072 - 11905: 0xCAA6, - 24073 - 11905: 0x8E8C, - 24074 - 11905: 0x8E8D, - 24075 - 11905: 0x8E8E, - 24076 - 11905: 0xCFA3, - 24077 - 11905: 0x8E8F, - 24078 - 11905: 0x8E90, - 24079 - 11905: 0xE0F8, - 24080 - 11905: 0xD5CA, - 24081 - 11905: 0xE0FB, - 24082 - 11905: 0x8E91, - 24083 - 11905: 0x8E92, - 24084 - 11905: 0xE0FA, - 24085 - 11905: 0xC5C1, - 24086 - 11905: 0xCCFB, - 24087 - 11905: 0x8E93, - 24088 - 11905: 0xC1B1, - 24089 - 11905: 0xE0F9, - 24090 - 11905: 0xD6E3, - 24091 - 11905: 0xB2AF, - 24092 - 11905: 0xD6C4, - 24093 - 11905: 0xB5DB, - 24094 - 11905: 0x8E94, - 24095 - 11905: 0x8E95, - 24096 - 11905: 0x8E96, - 24097 - 11905: 0x8E97, - 24098 - 11905: 0x8E98, - 24099 - 11905: 0x8E99, - 24100 - 11905: 0x8E9A, - 24101 - 11905: 0x8E9B, - 24102 - 11905: 0xB4F8, - 24103 - 11905: 0xD6A1, - 24104 - 11905: 0x8E9C, - 24105 - 11905: 0x8E9D, - 24106 - 11905: 0x8E9E, - 24107 - 11905: 0x8E9F, - 24108 - 11905: 0x8EA0, - 24109 - 11905: 0xCFAF, - 24110 - 11905: 0xB0EF, - 24111 - 11905: 0x8EA1, - 24112 - 11905: 0x8EA2, - 24113 - 11905: 0xE0FC, - 24114 - 11905: 0x8EA3, - 24115 - 11905: 0x8EA4, - 24116 - 11905: 0x8EA5, - 24117 - 11905: 0x8EA6, - 24118 - 11905: 0x8EA7, - 24119 - 11905: 0xE1A1, - 24120 - 11905: 0xB3A3, - 24121 - 11905: 0x8EA8, - 24122 - 11905: 0x8EA9, - 24123 - 11905: 0xE0FD, - 24124 - 11905: 0xE0FE, - 24125 - 11905: 0xC3B1, - 24126 - 11905: 0x8EAA, - 24127 - 11905: 0x8EAB, - 24128 - 11905: 0x8EAC, - 24129 - 11905: 0x8EAD, - 24130 - 11905: 0xC3DD, - 24131 - 11905: 0x8EAE, - 24132 - 11905: 0xE1A2, - 24133 - 11905: 0xB7F9, - 24134 - 11905: 0x8EAF, - 24135 - 11905: 0x8EB0, - 24136 - 11905: 0x8EB1, - 24137 - 11905: 0x8EB2, - 24138 - 11905: 0x8EB3, - 24139 - 11905: 0x8EB4, - 24140 - 11905: 0xBBCF, - 24141 - 11905: 0x8EB5, - 24142 - 11905: 0x8EB6, - 24143 - 11905: 0x8EB7, - 24144 - 11905: 0x8EB8, - 24145 - 11905: 0x8EB9, - 24146 - 11905: 0x8EBA, - 24147 - 11905: 0x8EBB, - 24148 - 11905: 0xE1A3, - 24149 - 11905: 0xC4BB, - 24150 - 11905: 0x8EBC, - 24151 - 11905: 0x8EBD, - 24152 - 11905: 0x8EBE, - 24153 - 11905: 0x8EBF, - 24154 - 11905: 0x8EC0, - 24155 - 11905: 0xE1A4, - 24156 - 11905: 0x8EC1, - 24157 - 11905: 0x8EC2, - 24158 - 11905: 0xE1A5, - 24159 - 11905: 0x8EC3, - 24160 - 11905: 0x8EC4, - 24161 - 11905: 0xE1A6, - 24162 - 11905: 0xB4B1, - 24163 - 11905: 0x8EC5, - 24164 - 11905: 0x8EC6, - 24165 - 11905: 0x8EC7, - 24166 - 11905: 0x8EC8, - 24167 - 11905: 0x8EC9, - 24168 - 11905: 0x8ECA, - 24169 - 11905: 0x8ECB, - 24170 - 11905: 0x8ECC, - 24171 - 11905: 0x8ECD, - 24172 - 11905: 0x8ECE, - 24173 - 11905: 0x8ECF, - 24174 - 11905: 0x8ED0, - 24175 - 11905: 0x8ED1, - 24176 - 11905: 0x8ED2, - 24177 - 11905: 0x8ED3, - 24178 - 11905: 0xB8C9, - 24179 - 11905: 0xC6BD, - 24180 - 11905: 0xC4EA, - 24181 - 11905: 0x8ED4, - 24182 - 11905: 0xB2A2, - 24183 - 11905: 0x8ED5, - 24184 - 11905: 0xD0D2, - 24185 - 11905: 0x8ED6, - 24186 - 11905: 0xE7DB, - 24187 - 11905: 0xBBC3, - 24188 - 11905: 0xD3D7, - 24189 - 11905: 0xD3C4, - 24190 - 11905: 0x8ED7, - 24191 - 11905: 0xB9E3, - 24192 - 11905: 0xE2CF, - 24193 - 11905: 0x8ED8, - 24194 - 11905: 0x8ED9, - 24195 - 11905: 0x8EDA, - 24196 - 11905: 0xD7AF, - 24197 - 11905: 0x8EDB, - 24198 - 11905: 0xC7EC, - 24199 - 11905: 0xB1D3, - 24200 - 11905: 0x8EDC, - 24201 - 11905: 0x8EDD, - 24202 - 11905: 0xB4B2, - 24203 - 11905: 0xE2D1, - 24204 - 11905: 0x8EDE, - 24205 - 11905: 0x8EDF, - 24206 - 11905: 0x8EE0, - 24207 - 11905: 0xD0F2, - 24208 - 11905: 0xC2AE, - 24209 - 11905: 0xE2D0, - 24210 - 11905: 0x8EE1, - 24211 - 11905: 0xBFE2, - 24212 - 11905: 0xD3A6, - 24213 - 11905: 0xB5D7, - 24214 - 11905: 0xE2D2, - 24215 - 11905: 0xB5EA, - 24216 - 11905: 0x8EE2, - 24217 - 11905: 0xC3ED, - 24218 - 11905: 0xB8FD, - 24219 - 11905: 0x8EE3, - 24220 - 11905: 0xB8AE, - 24221 - 11905: 0x8EE4, - 24222 - 11905: 0xC5D3, - 24223 - 11905: 0xB7CF, - 24224 - 11905: 0xE2D4, - 24225 - 11905: 0x8EE5, - 24226 - 11905: 0x8EE6, - 24227 - 11905: 0x8EE7, - 24228 - 11905: 0x8EE8, - 24229 - 11905: 0xE2D3, - 24230 - 11905: 0xB6C8, - 24231 - 11905: 0xD7F9, - 24232 - 11905: 0x8EE9, - 24233 - 11905: 0x8EEA, - 24234 - 11905: 0x8EEB, - 24235 - 11905: 0x8EEC, - 24236 - 11905: 0x8EED, - 24237 - 11905: 0xCDA5, - 24238 - 11905: 0x8EEE, - 24239 - 11905: 0x8EEF, - 24240 - 11905: 0x8EF0, - 24241 - 11905: 0x8EF1, - 24242 - 11905: 0x8EF2, - 24243 - 11905: 0xE2D8, - 24244 - 11905: 0x8EF3, - 24245 - 11905: 0xE2D6, - 24246 - 11905: 0xCAFC, - 24247 - 11905: 0xBFB5, - 24248 - 11905: 0xD3B9, - 24249 - 11905: 0xE2D5, - 24250 - 11905: 0x8EF4, - 24251 - 11905: 0x8EF5, - 24252 - 11905: 0x8EF6, - 24253 - 11905: 0x8EF7, - 24254 - 11905: 0xE2D7, - 24255 - 11905: 0x8EF8, - 24256 - 11905: 0x8EF9, - 24257 - 11905: 0x8EFA, - 24258 - 11905: 0x8EFB, - 24259 - 11905: 0x8EFC, - 24260 - 11905: 0x8EFD, - 24261 - 11905: 0x8EFE, - 24262 - 11905: 0x8F40, - 24263 - 11905: 0x8F41, - 24264 - 11905: 0x8F42, - 24265 - 11905: 0xC1AE, - 24266 - 11905: 0xC0C8, - 24267 - 11905: 0x8F43, - 24268 - 11905: 0x8F44, - 24269 - 11905: 0x8F45, - 24270 - 11905: 0x8F46, - 24271 - 11905: 0x8F47, - 24272 - 11905: 0x8F48, - 24273 - 11905: 0xE2DB, - 24274 - 11905: 0xE2DA, - 24275 - 11905: 0xC0AA, - 24276 - 11905: 0x8F49, - 24277 - 11905: 0x8F4A, - 24278 - 11905: 0xC1CE, - 24279 - 11905: 0x8F4B, - 24280 - 11905: 0x8F4C, - 24281 - 11905: 0x8F4D, - 24282 - 11905: 0x8F4E, - 24283 - 11905: 0xE2DC, - 24284 - 11905: 0x8F4F, - 24285 - 11905: 0x8F50, - 24286 - 11905: 0x8F51, - 24287 - 11905: 0x8F52, - 24288 - 11905: 0x8F53, - 24289 - 11905: 0x8F54, - 24290 - 11905: 0x8F55, - 24291 - 11905: 0x8F56, - 24292 - 11905: 0x8F57, - 24293 - 11905: 0x8F58, - 24294 - 11905: 0x8F59, - 24295 - 11905: 0x8F5A, - 24296 - 11905: 0xE2DD, - 24297 - 11905: 0x8F5B, - 24298 - 11905: 0xE2DE, - 24299 - 11905: 0x8F5C, - 24300 - 11905: 0x8F5D, - 24301 - 11905: 0x8F5E, - 24302 - 11905: 0x8F5F, - 24303 - 11905: 0x8F60, - 24304 - 11905: 0x8F61, - 24305 - 11905: 0x8F62, - 24306 - 11905: 0x8F63, - 24307 - 11905: 0x8F64, - 24308 - 11905: 0xDBC8, - 24309 - 11905: 0x8F65, - 24310 - 11905: 0xD1D3, - 24311 - 11905: 0xCDA2, - 24312 - 11905: 0x8F66, - 24313 - 11905: 0x8F67, - 24314 - 11905: 0xBDA8, - 24315 - 11905: 0x8F68, - 24316 - 11905: 0x8F69, - 24317 - 11905: 0x8F6A, - 24318 - 11905: 0xDEC3, - 24319 - 11905: 0xD8A5, - 24320 - 11905: 0xBFAA, - 24321 - 11905: 0xDBCD, - 24322 - 11905: 0xD2EC, - 24323 - 11905: 0xC6FA, - 24324 - 11905: 0xC5AA, - 24325 - 11905: 0x8F6B, - 24326 - 11905: 0x8F6C, - 24327 - 11905: 0x8F6D, - 24328 - 11905: 0xDEC4, - 24329 - 11905: 0x8F6E, - 24330 - 11905: 0xB1D7, - 24331 - 11905: 0xDFAE, - 24332 - 11905: 0x8F6F, - 24333 - 11905: 0x8F70, - 24334 - 11905: 0x8F71, - 24335 - 11905: 0xCABD, - 24336 - 11905: 0x8F72, - 24337 - 11905: 0xDFB1, - 24338 - 11905: 0x8F73, - 24339 - 11905: 0xB9AD, - 24340 - 11905: 0x8F74, - 24341 - 11905: 0xD2FD, - 24342 - 11905: 0x8F75, - 24343 - 11905: 0xB8A5, - 24344 - 11905: 0xBAEB, - 24345 - 11905: 0x8F76, - 24346 - 11905: 0x8F77, - 24347 - 11905: 0xB3DA, - 24348 - 11905: 0x8F78, - 24349 - 11905: 0x8F79, - 24350 - 11905: 0x8F7A, - 24351 - 11905: 0xB5DC, - 24352 - 11905: 0xD5C5, - 24353 - 11905: 0x8F7B, - 24354 - 11905: 0x8F7C, - 24355 - 11905: 0x8F7D, - 24356 - 11905: 0x8F7E, - 24357 - 11905: 0xC3D6, - 24358 - 11905: 0xCFD2, - 24359 - 11905: 0xBBA1, - 24360 - 11905: 0x8F80, - 24361 - 11905: 0xE5F3, - 24362 - 11905: 0xE5F2, - 24363 - 11905: 0x8F81, - 24364 - 11905: 0x8F82, - 24365 - 11905: 0xE5F4, - 24366 - 11905: 0x8F83, - 24367 - 11905: 0xCDE4, - 24368 - 11905: 0x8F84, - 24369 - 11905: 0xC8F5, - 24370 - 11905: 0x8F85, - 24371 - 11905: 0x8F86, - 24372 - 11905: 0x8F87, - 24373 - 11905: 0x8F88, - 24374 - 11905: 0x8F89, - 24375 - 11905: 0x8F8A, - 24376 - 11905: 0x8F8B, - 24377 - 11905: 0xB5AF, - 24378 - 11905: 0xC7BF, - 24379 - 11905: 0x8F8C, - 24380 - 11905: 0xE5F6, - 24381 - 11905: 0x8F8D, - 24382 - 11905: 0x8F8E, - 24383 - 11905: 0x8F8F, - 24384 - 11905: 0xECB0, - 24385 - 11905: 0x8F90, - 24386 - 11905: 0x8F91, - 24387 - 11905: 0x8F92, - 24388 - 11905: 0x8F93, - 24389 - 11905: 0x8F94, - 24390 - 11905: 0x8F95, - 24391 - 11905: 0x8F96, - 24392 - 11905: 0x8F97, - 24393 - 11905: 0x8F98, - 24394 - 11905: 0x8F99, - 24395 - 11905: 0x8F9A, - 24396 - 11905: 0x8F9B, - 24397 - 11905: 0x8F9C, - 24398 - 11905: 0x8F9D, - 24399 - 11905: 0x8F9E, - 24400 - 11905: 0xE5E6, - 24401 - 11905: 0x8F9F, - 24402 - 11905: 0xB9E9, - 24403 - 11905: 0xB5B1, - 24404 - 11905: 0x8FA0, - 24405 - 11905: 0xC2BC, - 24406 - 11905: 0xE5E8, - 24407 - 11905: 0xE5E7, - 24408 - 11905: 0xE5E9, - 24409 - 11905: 0x8FA1, - 24410 - 11905: 0x8FA2, - 24411 - 11905: 0x8FA3, - 24412 - 11905: 0x8FA4, - 24413 - 11905: 0xD2CD, - 24414 - 11905: 0x8FA5, - 24415 - 11905: 0x8FA6, - 24416 - 11905: 0x8FA7, - 24417 - 11905: 0xE1EA, - 24418 - 11905: 0xD0CE, - 24419 - 11905: 0x8FA8, - 24420 - 11905: 0xCDAE, - 24421 - 11905: 0x8FA9, - 24422 - 11905: 0xD1E5, - 24423 - 11905: 0x8FAA, - 24424 - 11905: 0x8FAB, - 24425 - 11905: 0xB2CA, - 24426 - 11905: 0xB1EB, - 24427 - 11905: 0x8FAC, - 24428 - 11905: 0xB1F2, - 24429 - 11905: 0xC5ED, - 24430 - 11905: 0x8FAD, - 24431 - 11905: 0x8FAE, - 24432 - 11905: 0xD5C3, - 24433 - 11905: 0xD3B0, - 24434 - 11905: 0x8FAF, - 24435 - 11905: 0xE1DC, - 24436 - 11905: 0x8FB0, - 24437 - 11905: 0x8FB1, - 24438 - 11905: 0x8FB2, - 24439 - 11905: 0xE1DD, - 24440 - 11905: 0x8FB3, - 24441 - 11905: 0xD2DB, - 24442 - 11905: 0x8FB4, - 24443 - 11905: 0xB3B9, - 24444 - 11905: 0xB1CB, - 24445 - 11905: 0x8FB5, - 24446 - 11905: 0x8FB6, - 24447 - 11905: 0x8FB7, - 24448 - 11905: 0xCDF9, - 24449 - 11905: 0xD5F7, - 24450 - 11905: 0xE1DE, - 24451 - 11905: 0x8FB8, - 24452 - 11905: 0xBEB6, - 24453 - 11905: 0xB4FD, - 24454 - 11905: 0x8FB9, - 24455 - 11905: 0xE1DF, - 24456 - 11905: 0xBADC, - 24457 - 11905: 0xE1E0, - 24458 - 11905: 0xBBB2, - 24459 - 11905: 0xC2C9, - 24460 - 11905: 0xE1E1, - 24461 - 11905: 0x8FBA, - 24462 - 11905: 0x8FBB, - 24463 - 11905: 0x8FBC, - 24464 - 11905: 0xD0EC, - 24465 - 11905: 0x8FBD, - 24466 - 11905: 0xCDBD, - 24467 - 11905: 0x8FBE, - 24468 - 11905: 0x8FBF, - 24469 - 11905: 0xE1E2, - 24470 - 11905: 0x8FC0, - 24471 - 11905: 0xB5C3, - 24472 - 11905: 0xC5C7, - 24473 - 11905: 0xE1E3, - 24474 - 11905: 0x8FC1, - 24475 - 11905: 0x8FC2, - 24476 - 11905: 0xE1E4, - 24477 - 11905: 0x8FC3, - 24478 - 11905: 0x8FC4, - 24479 - 11905: 0x8FC5, - 24480 - 11905: 0x8FC6, - 24481 - 11905: 0xD3F9, - 24482 - 11905: 0x8FC7, - 24483 - 11905: 0x8FC8, - 24484 - 11905: 0x8FC9, - 24485 - 11905: 0x8FCA, - 24486 - 11905: 0x8FCB, - 24487 - 11905: 0x8FCC, - 24488 - 11905: 0xE1E5, - 24489 - 11905: 0x8FCD, - 24490 - 11905: 0xD1AD, - 24491 - 11905: 0x8FCE, - 24492 - 11905: 0x8FCF, - 24493 - 11905: 0xE1E6, - 24494 - 11905: 0xCEA2, - 24495 - 11905: 0x8FD0, - 24496 - 11905: 0x8FD1, - 24497 - 11905: 0x8FD2, - 24498 - 11905: 0x8FD3, - 24499 - 11905: 0x8FD4, - 24500 - 11905: 0x8FD5, - 24501 - 11905: 0xE1E7, - 24502 - 11905: 0x8FD6, - 24503 - 11905: 0xB5C2, - 24504 - 11905: 0x8FD7, - 24505 - 11905: 0x8FD8, - 24506 - 11905: 0x8FD9, - 24507 - 11905: 0x8FDA, - 24508 - 11905: 0xE1E8, - 24509 - 11905: 0xBBD5, - 24510 - 11905: 0x8FDB, - 24511 - 11905: 0x8FDC, - 24512 - 11905: 0x8FDD, - 24513 - 11905: 0x8FDE, - 24514 - 11905: 0x8FDF, - 24515 - 11905: 0xD0C4, - 24516 - 11905: 0xE2E0, - 24517 - 11905: 0xB1D8, - 24518 - 11905: 0xD2E4, - 24519 - 11905: 0x8FE0, - 24520 - 11905: 0x8FE1, - 24521 - 11905: 0xE2E1, - 24522 - 11905: 0x8FE2, - 24523 - 11905: 0x8FE3, - 24524 - 11905: 0xBCC9, - 24525 - 11905: 0xC8CC, - 24526 - 11905: 0x8FE4, - 24527 - 11905: 0xE2E3, - 24528 - 11905: 0xECFE, - 24529 - 11905: 0xECFD, - 24530 - 11905: 0xDFAF, - 24531 - 11905: 0x8FE5, - 24532 - 11905: 0x8FE6, - 24533 - 11905: 0x8FE7, - 24534 - 11905: 0xE2E2, - 24535 - 11905: 0xD6BE, - 24536 - 11905: 0xCDFC, - 24537 - 11905: 0xC3A6, - 24538 - 11905: 0x8FE8, - 24539 - 11905: 0x8FE9, - 24540 - 11905: 0x8FEA, - 24541 - 11905: 0xE3C3, - 24542 - 11905: 0x8FEB, - 24543 - 11905: 0x8FEC, - 24544 - 11905: 0xD6D2, - 24545 - 11905: 0xE2E7, - 24546 - 11905: 0x8FED, - 24547 - 11905: 0x8FEE, - 24548 - 11905: 0xE2E8, - 24549 - 11905: 0x8FEF, - 24550 - 11905: 0x8FF0, - 24551 - 11905: 0xD3C7, - 24552 - 11905: 0x8FF1, - 24553 - 11905: 0x8FF2, - 24554 - 11905: 0xE2EC, - 24555 - 11905: 0xBFEC, - 24556 - 11905: 0x8FF3, - 24557 - 11905: 0xE2ED, - 24558 - 11905: 0xE2E5, - 24559 - 11905: 0x8FF4, - 24560 - 11905: 0x8FF5, - 24561 - 11905: 0xB3C0, - 24562 - 11905: 0x8FF6, - 24563 - 11905: 0x8FF7, - 24564 - 11905: 0x8FF8, - 24565 - 11905: 0xC4EE, - 24566 - 11905: 0x8FF9, - 24567 - 11905: 0x8FFA, - 24568 - 11905: 0xE2EE, - 24569 - 11905: 0x8FFB, - 24570 - 11905: 0x8FFC, - 24571 - 11905: 0xD0C3, - 24572 - 11905: 0x8FFD, - 24573 - 11905: 0xBAF6, - 24574 - 11905: 0xE2E9, - 24575 - 11905: 0xB7DE, - 24576 - 11905: 0xBBB3, - 24577 - 11905: 0xCCAC, - 24578 - 11905: 0xCBCB, - 24579 - 11905: 0xE2E4, - 24580 - 11905: 0xE2E6, - 24581 - 11905: 0xE2EA, - 24582 - 11905: 0xE2EB, - 24583 - 11905: 0x8FFE, - 24584 - 11905: 0x9040, - 24585 - 11905: 0x9041, - 24586 - 11905: 0xE2F7, - 24587 - 11905: 0x9042, - 24588 - 11905: 0x9043, - 24589 - 11905: 0xE2F4, - 24590 - 11905: 0xD4F5, - 24591 - 11905: 0xE2F3, - 24592 - 11905: 0x9044, - 24593 - 11905: 0x9045, - 24594 - 11905: 0xC5AD, - 24595 - 11905: 0x9046, - 24596 - 11905: 0xD5FA, - 24597 - 11905: 0xC5C2, - 24598 - 11905: 0xB2C0, - 24599 - 11905: 0x9047, - 24600 - 11905: 0x9048, - 24601 - 11905: 0xE2EF, - 24602 - 11905: 0x9049, - 24603 - 11905: 0xE2F2, - 24604 - 11905: 0xC1AF, - 24605 - 11905: 0xCBBC, - 24606 - 11905: 0x904A, - 24607 - 11905: 0x904B, - 24608 - 11905: 0xB5A1, - 24609 - 11905: 0xE2F9, - 24610 - 11905: 0x904C, - 24611 - 11905: 0x904D, - 24612 - 11905: 0x904E, - 24613 - 11905: 0xBCB1, - 24614 - 11905: 0xE2F1, - 24615 - 11905: 0xD0D4, - 24616 - 11905: 0xD4B9, - 24617 - 11905: 0xE2F5, - 24618 - 11905: 0xB9D6, - 24619 - 11905: 0xE2F6, - 24620 - 11905: 0x904F, - 24621 - 11905: 0x9050, - 24622 - 11905: 0x9051, - 24623 - 11905: 0xC7D3, - 24624 - 11905: 0x9052, - 24625 - 11905: 0x9053, - 24626 - 11905: 0x9054, - 24627 - 11905: 0x9055, - 24628 - 11905: 0x9056, - 24629 - 11905: 0xE2F0, - 24630 - 11905: 0x9057, - 24631 - 11905: 0x9058, - 24632 - 11905: 0x9059, - 24633 - 11905: 0x905A, - 24634 - 11905: 0x905B, - 24635 - 11905: 0xD7DC, - 24636 - 11905: 0xEDA1, - 24637 - 11905: 0x905C, - 24638 - 11905: 0x905D, - 24639 - 11905: 0xE2F8, - 24640 - 11905: 0x905E, - 24641 - 11905: 0xEDA5, - 24642 - 11905: 0xE2FE, - 24643 - 11905: 0xCAD1, - 24644 - 11905: 0x905F, - 24645 - 11905: 0x9060, - 24646 - 11905: 0x9061, - 24647 - 11905: 0x9062, - 24648 - 11905: 0x9063, - 24649 - 11905: 0x9064, - 24650 - 11905: 0x9065, - 24651 - 11905: 0xC1B5, - 24652 - 11905: 0x9066, - 24653 - 11905: 0xBBD0, - 24654 - 11905: 0x9067, - 24655 - 11905: 0x9068, - 24656 - 11905: 0xBFD6, - 24657 - 11905: 0x9069, - 24658 - 11905: 0xBAE3, - 24659 - 11905: 0x906A, - 24660 - 11905: 0x906B, - 24661 - 11905: 0xCBA1, - 24662 - 11905: 0x906C, - 24663 - 11905: 0x906D, - 24664 - 11905: 0x906E, - 24665 - 11905: 0xEDA6, - 24666 - 11905: 0xEDA3, - 24667 - 11905: 0x906F, - 24668 - 11905: 0x9070, - 24669 - 11905: 0xEDA2, - 24670 - 11905: 0x9071, - 24671 - 11905: 0x9072, - 24672 - 11905: 0x9073, - 24673 - 11905: 0x9074, - 24674 - 11905: 0xBBD6, - 24675 - 11905: 0xEDA7, - 24676 - 11905: 0xD0F4, - 24677 - 11905: 0x9075, - 24678 - 11905: 0x9076, - 24679 - 11905: 0xEDA4, - 24680 - 11905: 0xBADE, - 24681 - 11905: 0xB6F7, - 24682 - 11905: 0xE3A1, - 24683 - 11905: 0xB6B2, - 24684 - 11905: 0xCCF1, - 24685 - 11905: 0xB9A7, - 24686 - 11905: 0x9077, - 24687 - 11905: 0xCFA2, - 24688 - 11905: 0xC7A1, - 24689 - 11905: 0x9078, - 24690 - 11905: 0x9079, - 24691 - 11905: 0xBFD2, - 24692 - 11905: 0x907A, - 24693 - 11905: 0x907B, - 24694 - 11905: 0xB6F1, - 24695 - 11905: 0x907C, - 24696 - 11905: 0xE2FA, - 24697 - 11905: 0xE2FB, - 24698 - 11905: 0xE2FD, - 24699 - 11905: 0xE2FC, - 24700 - 11905: 0xC4D5, - 24701 - 11905: 0xE3A2, - 24702 - 11905: 0x907D, - 24703 - 11905: 0xD3C1, - 24704 - 11905: 0x907E, - 24705 - 11905: 0x9080, - 24706 - 11905: 0x9081, - 24707 - 11905: 0xE3A7, - 24708 - 11905: 0xC7C4, - 24709 - 11905: 0x9082, - 24710 - 11905: 0x9083, - 24711 - 11905: 0x9084, - 24712 - 11905: 0x9085, - 24713 - 11905: 0xCFA4, - 24714 - 11905: 0x9086, - 24715 - 11905: 0x9087, - 24716 - 11905: 0xE3A9, - 24717 - 11905: 0xBAB7, - 24718 - 11905: 0x9088, - 24719 - 11905: 0x9089, - 24720 - 11905: 0x908A, - 24721 - 11905: 0x908B, - 24722 - 11905: 0xE3A8, - 24723 - 11905: 0x908C, - 24724 - 11905: 0xBBDA, - 24725 - 11905: 0x908D, - 24726 - 11905: 0xE3A3, - 24727 - 11905: 0x908E, - 24728 - 11905: 0x908F, - 24729 - 11905: 0x9090, - 24730 - 11905: 0xE3A4, - 24731 - 11905: 0xE3AA, - 24732 - 11905: 0x9091, - 24733 - 11905: 0xE3A6, - 24734 - 11905: 0x9092, - 24735 - 11905: 0xCEF2, - 24736 - 11905: 0xD3C6, - 24737 - 11905: 0x9093, - 24738 - 11905: 0x9094, - 24739 - 11905: 0xBBBC, - 24740 - 11905: 0x9095, - 24741 - 11905: 0x9096, - 24742 - 11905: 0xD4C3, - 24743 - 11905: 0x9097, - 24744 - 11905: 0xC4FA, - 24745 - 11905: 0x9098, - 24746 - 11905: 0x9099, - 24747 - 11905: 0xEDA8, - 24748 - 11905: 0xD0FC, - 24749 - 11905: 0xE3A5, - 24750 - 11905: 0x909A, - 24751 - 11905: 0xC3F5, - 24752 - 11905: 0x909B, - 24753 - 11905: 0xE3AD, - 24754 - 11905: 0xB1AF, - 24755 - 11905: 0x909C, - 24756 - 11905: 0xE3B2, - 24757 - 11905: 0x909D, - 24758 - 11905: 0x909E, - 24759 - 11905: 0x909F, - 24760 - 11905: 0xBCC2, - 24761 - 11905: 0x90A0, - 24762 - 11905: 0x90A1, - 24763 - 11905: 0xE3AC, - 24764 - 11905: 0xB5BF, - 24765 - 11905: 0x90A2, - 24766 - 11905: 0x90A3, - 24767 - 11905: 0x90A4, - 24768 - 11905: 0x90A5, - 24769 - 11905: 0x90A6, - 24770 - 11905: 0x90A7, - 24771 - 11905: 0x90A8, - 24772 - 11905: 0x90A9, - 24773 - 11905: 0xC7E9, - 24774 - 11905: 0xE3B0, - 24775 - 11905: 0x90AA, - 24776 - 11905: 0x90AB, - 24777 - 11905: 0x90AC, - 24778 - 11905: 0xBEAA, - 24779 - 11905: 0xCDEF, - 24780 - 11905: 0x90AD, - 24781 - 11905: 0x90AE, - 24782 - 11905: 0x90AF, - 24783 - 11905: 0x90B0, - 24784 - 11905: 0x90B1, - 24785 - 11905: 0xBBF3, - 24786 - 11905: 0x90B2, - 24787 - 11905: 0x90B3, - 24788 - 11905: 0x90B4, - 24789 - 11905: 0xCCE8, - 24790 - 11905: 0x90B5, - 24791 - 11905: 0x90B6, - 24792 - 11905: 0xE3AF, - 24793 - 11905: 0x90B7, - 24794 - 11905: 0xE3B1, - 24795 - 11905: 0x90B8, - 24796 - 11905: 0xCFA7, - 24797 - 11905: 0xE3AE, - 24798 - 11905: 0x90B9, - 24799 - 11905: 0xCEA9, - 24800 - 11905: 0xBBDD, - 24801 - 11905: 0x90BA, - 24802 - 11905: 0x90BB, - 24803 - 11905: 0x90BC, - 24804 - 11905: 0x90BD, - 24805 - 11905: 0x90BE, - 24806 - 11905: 0xB5EB, - 24807 - 11905: 0xBEE5, - 24808 - 11905: 0xB2D2, - 24809 - 11905: 0xB3CD, - 24810 - 11905: 0x90BF, - 24811 - 11905: 0xB1B9, - 24812 - 11905: 0xE3AB, - 24813 - 11905: 0xB2D1, - 24814 - 11905: 0xB5AC, - 24815 - 11905: 0xB9DF, - 24816 - 11905: 0xB6E8, - 24817 - 11905: 0x90C0, - 24818 - 11905: 0x90C1, - 24819 - 11905: 0xCFEB, - 24820 - 11905: 0xE3B7, - 24821 - 11905: 0x90C2, - 24822 - 11905: 0xBBCC, - 24823 - 11905: 0x90C3, - 24824 - 11905: 0x90C4, - 24825 - 11905: 0xC8C7, - 24826 - 11905: 0xD0CA, - 24827 - 11905: 0x90C5, - 24828 - 11905: 0x90C6, - 24829 - 11905: 0x90C7, - 24830 - 11905: 0x90C8, - 24831 - 11905: 0x90C9, - 24832 - 11905: 0xE3B8, - 24833 - 11905: 0xB3EE, - 24834 - 11905: 0x90CA, - 24835 - 11905: 0x90CB, - 24836 - 11905: 0x90CC, - 24837 - 11905: 0x90CD, - 24838 - 11905: 0xEDA9, - 24839 - 11905: 0x90CE, - 24840 - 11905: 0xD3FA, - 24841 - 11905: 0xD3E4, - 24842 - 11905: 0x90CF, - 24843 - 11905: 0x90D0, - 24844 - 11905: 0x90D1, - 24845 - 11905: 0xEDAA, - 24846 - 11905: 0xE3B9, - 24847 - 11905: 0xD2E2, - 24848 - 11905: 0x90D2, - 24849 - 11905: 0x90D3, - 24850 - 11905: 0x90D4, - 24851 - 11905: 0x90D5, - 24852 - 11905: 0x90D6, - 24853 - 11905: 0xE3B5, - 24854 - 11905: 0x90D7, - 24855 - 11905: 0x90D8, - 24856 - 11905: 0x90D9, - 24857 - 11905: 0x90DA, - 24858 - 11905: 0xD3DE, - 24859 - 11905: 0x90DB, - 24860 - 11905: 0x90DC, - 24861 - 11905: 0x90DD, - 24862 - 11905: 0x90DE, - 24863 - 11905: 0xB8D0, - 24864 - 11905: 0xE3B3, - 24865 - 11905: 0x90DF, - 24866 - 11905: 0x90E0, - 24867 - 11905: 0xE3B6, - 24868 - 11905: 0xB7DF, - 24869 - 11905: 0x90E1, - 24870 - 11905: 0xE3B4, - 24871 - 11905: 0xC0A2, - 24872 - 11905: 0x90E2, - 24873 - 11905: 0x90E3, - 24874 - 11905: 0x90E4, - 24875 - 11905: 0xE3BA, - 24876 - 11905: 0x90E5, - 24877 - 11905: 0x90E6, - 24878 - 11905: 0x90E7, - 24879 - 11905: 0x90E8, - 24880 - 11905: 0x90E9, - 24881 - 11905: 0x90EA, - 24882 - 11905: 0x90EB, - 24883 - 11905: 0x90EC, - 24884 - 11905: 0x90ED, - 24885 - 11905: 0x90EE, - 24886 - 11905: 0x90EF, - 24887 - 11905: 0x90F0, - 24888 - 11905: 0x90F1, - 24889 - 11905: 0x90F2, - 24890 - 11905: 0x90F3, - 24891 - 11905: 0x90F4, - 24892 - 11905: 0x90F5, - 24893 - 11905: 0x90F6, - 24894 - 11905: 0x90F7, - 24895 - 11905: 0xD4B8, - 24896 - 11905: 0x90F8, - 24897 - 11905: 0x90F9, - 24898 - 11905: 0x90FA, - 24899 - 11905: 0x90FB, - 24900 - 11905: 0x90FC, - 24901 - 11905: 0x90FD, - 24902 - 11905: 0x90FE, - 24903 - 11905: 0x9140, - 24904 - 11905: 0xB4C8, - 24905 - 11905: 0x9141, - 24906 - 11905: 0xE3BB, - 24907 - 11905: 0x9142, - 24908 - 11905: 0xBBC5, - 24909 - 11905: 0x9143, - 24910 - 11905: 0xC9F7, - 24911 - 11905: 0x9144, - 24912 - 11905: 0x9145, - 24913 - 11905: 0xC9E5, - 24914 - 11905: 0x9146, - 24915 - 11905: 0x9147, - 24916 - 11905: 0x9148, - 24917 - 11905: 0xC4BD, - 24918 - 11905: 0x9149, - 24919 - 11905: 0x914A, - 24920 - 11905: 0x914B, - 24921 - 11905: 0x914C, - 24922 - 11905: 0x914D, - 24923 - 11905: 0x914E, - 24924 - 11905: 0x914F, - 24925 - 11905: 0xEDAB, - 24926 - 11905: 0x9150, - 24927 - 11905: 0x9151, - 24928 - 11905: 0x9152, - 24929 - 11905: 0x9153, - 24930 - 11905: 0xC2FD, - 24931 - 11905: 0x9154, - 24932 - 11905: 0x9155, - 24933 - 11905: 0x9156, - 24934 - 11905: 0x9157, - 24935 - 11905: 0xBBDB, - 24936 - 11905: 0xBFAE, - 24937 - 11905: 0x9158, - 24938 - 11905: 0x9159, - 24939 - 11905: 0x915A, - 24940 - 11905: 0x915B, - 24941 - 11905: 0x915C, - 24942 - 11905: 0x915D, - 24943 - 11905: 0x915E, - 24944 - 11905: 0xCEBF, - 24945 - 11905: 0x915F, - 24946 - 11905: 0x9160, - 24947 - 11905: 0x9161, - 24948 - 11905: 0x9162, - 24949 - 11905: 0xE3BC, - 24950 - 11905: 0x9163, - 24951 - 11905: 0xBFB6, - 24952 - 11905: 0x9164, - 24953 - 11905: 0x9165, - 24954 - 11905: 0x9166, - 24955 - 11905: 0x9167, - 24956 - 11905: 0x9168, - 24957 - 11905: 0x9169, - 24958 - 11905: 0x916A, - 24959 - 11905: 0x916B, - 24960 - 11905: 0x916C, - 24961 - 11905: 0x916D, - 24962 - 11905: 0x916E, - 24963 - 11905: 0x916F, - 24964 - 11905: 0x9170, - 24965 - 11905: 0x9171, - 24966 - 11905: 0x9172, - 24967 - 11905: 0x9173, - 24968 - 11905: 0x9174, - 24969 - 11905: 0x9175, - 24970 - 11905: 0x9176, - 24971 - 11905: 0xB1EF, - 24972 - 11905: 0x9177, - 24973 - 11905: 0x9178, - 24974 - 11905: 0xD4F7, - 24975 - 11905: 0x9179, - 24976 - 11905: 0x917A, - 24977 - 11905: 0x917B, - 24978 - 11905: 0x917C, - 24979 - 11905: 0x917D, - 24980 - 11905: 0xE3BE, - 24981 - 11905: 0x917E, - 24982 - 11905: 0x9180, - 24983 - 11905: 0x9181, - 24984 - 11905: 0x9182, - 24985 - 11905: 0x9183, - 24986 - 11905: 0x9184, - 24987 - 11905: 0x9185, - 24988 - 11905: 0x9186, - 24989 - 11905: 0xEDAD, - 24990 - 11905: 0x9187, - 24991 - 11905: 0x9188, - 24992 - 11905: 0x9189, - 24993 - 11905: 0x918A, - 24994 - 11905: 0x918B, - 24995 - 11905: 0x918C, - 24996 - 11905: 0x918D, - 24997 - 11905: 0x918E, - 24998 - 11905: 0x918F, - 24999 - 11905: 0xE3BF, - 25000 - 11905: 0xBAA9, - 25001 - 11905: 0xEDAC, - 25002 - 11905: 0x9190, - 25003 - 11905: 0x9191, - 25004 - 11905: 0xE3BD, - 25005 - 11905: 0x9192, - 25006 - 11905: 0x9193, - 25007 - 11905: 0x9194, - 25008 - 11905: 0x9195, - 25009 - 11905: 0x9196, - 25010 - 11905: 0x9197, - 25011 - 11905: 0x9198, - 25012 - 11905: 0x9199, - 25013 - 11905: 0x919A, - 25014 - 11905: 0x919B, - 25015 - 11905: 0xE3C0, - 25016 - 11905: 0x919C, - 25017 - 11905: 0x919D, - 25018 - 11905: 0x919E, - 25019 - 11905: 0x919F, - 25020 - 11905: 0x91A0, - 25021 - 11905: 0x91A1, - 25022 - 11905: 0xBAB6, - 25023 - 11905: 0x91A2, - 25024 - 11905: 0x91A3, - 25025 - 11905: 0x91A4, - 25026 - 11905: 0xB6AE, - 25027 - 11905: 0x91A5, - 25028 - 11905: 0x91A6, - 25029 - 11905: 0x91A7, - 25030 - 11905: 0x91A8, - 25031 - 11905: 0x91A9, - 25032 - 11905: 0xD0B8, - 25033 - 11905: 0x91AA, - 25034 - 11905: 0xB0C3, - 25035 - 11905: 0xEDAE, - 25036 - 11905: 0x91AB, - 25037 - 11905: 0x91AC, - 25038 - 11905: 0x91AD, - 25039 - 11905: 0x91AE, - 25040 - 11905: 0x91AF, - 25041 - 11905: 0xEDAF, - 25042 - 11905: 0xC0C1, - 25043 - 11905: 0x91B0, - 25044 - 11905: 0xE3C1, - 25045 - 11905: 0x91B1, - 25046 - 11905: 0x91B2, - 25047 - 11905: 0x91B3, - 25048 - 11905: 0x91B4, - 25049 - 11905: 0x91B5, - 25050 - 11905: 0x91B6, - 25051 - 11905: 0x91B7, - 25052 - 11905: 0x91B8, - 25053 - 11905: 0x91B9, - 25054 - 11905: 0x91BA, - 25055 - 11905: 0x91BB, - 25056 - 11905: 0x91BC, - 25057 - 11905: 0x91BD, - 25058 - 11905: 0x91BE, - 25059 - 11905: 0x91BF, - 25060 - 11905: 0x91C0, - 25061 - 11905: 0x91C1, - 25062 - 11905: 0xC5B3, - 25063 - 11905: 0x91C2, - 25064 - 11905: 0x91C3, - 25065 - 11905: 0x91C4, - 25066 - 11905: 0x91C5, - 25067 - 11905: 0x91C6, - 25068 - 11905: 0x91C7, - 25069 - 11905: 0x91C8, - 25070 - 11905: 0x91C9, - 25071 - 11905: 0x91CA, - 25072 - 11905: 0x91CB, - 25073 - 11905: 0x91CC, - 25074 - 11905: 0x91CD, - 25075 - 11905: 0x91CE, - 25076 - 11905: 0x91CF, - 25077 - 11905: 0xE3C2, - 25078 - 11905: 0x91D0, - 25079 - 11905: 0x91D1, - 25080 - 11905: 0x91D2, - 25081 - 11905: 0x91D3, - 25082 - 11905: 0x91D4, - 25083 - 11905: 0x91D5, - 25084 - 11905: 0x91D6, - 25085 - 11905: 0x91D7, - 25086 - 11905: 0x91D8, - 25087 - 11905: 0xDCB2, - 25088 - 11905: 0x91D9, - 25089 - 11905: 0x91DA, - 25090 - 11905: 0x91DB, - 25091 - 11905: 0x91DC, - 25092 - 11905: 0x91DD, - 25093 - 11905: 0x91DE, - 25094 - 11905: 0xEDB0, - 25095 - 11905: 0x91DF, - 25096 - 11905: 0xB8EA, - 25097 - 11905: 0x91E0, - 25098 - 11905: 0xCEEC, - 25099 - 11905: 0xEAA7, - 25100 - 11905: 0xD0E7, - 25101 - 11905: 0xCAF9, - 25102 - 11905: 0xC8D6, - 25103 - 11905: 0xCFB7, - 25104 - 11905: 0xB3C9, - 25105 - 11905: 0xCED2, - 25106 - 11905: 0xBDE4, - 25107 - 11905: 0x91E1, - 25108 - 11905: 0x91E2, - 25109 - 11905: 0xE3DE, - 25110 - 11905: 0xBBF2, - 25111 - 11905: 0xEAA8, - 25112 - 11905: 0xD5BD, - 25113 - 11905: 0x91E3, - 25114 - 11905: 0xC6DD, - 25115 - 11905: 0xEAA9, - 25116 - 11905: 0x91E4, - 25117 - 11905: 0x91E5, - 25118 - 11905: 0x91E6, - 25119 - 11905: 0xEAAA, - 25120 - 11905: 0x91E7, - 25121 - 11905: 0xEAAC, - 25122 - 11905: 0xEAAB, - 25123 - 11905: 0x91E8, - 25124 - 11905: 0xEAAE, - 25125 - 11905: 0xEAAD, - 25126 - 11905: 0x91E9, - 25127 - 11905: 0x91EA, - 25128 - 11905: 0x91EB, - 25129 - 11905: 0x91EC, - 25130 - 11905: 0xBDD8, - 25131 - 11905: 0x91ED, - 25132 - 11905: 0xEAAF, - 25133 - 11905: 0x91EE, - 25134 - 11905: 0xC2BE, - 25135 - 11905: 0x91EF, - 25136 - 11905: 0x91F0, - 25137 - 11905: 0x91F1, - 25138 - 11905: 0x91F2, - 25139 - 11905: 0xB4C1, - 25140 - 11905: 0xB4F7, - 25141 - 11905: 0x91F3, - 25142 - 11905: 0x91F4, - 25143 - 11905: 0xBBA7, - 25144 - 11905: 0x91F5, - 25145 - 11905: 0x91F6, - 25146 - 11905: 0x91F7, - 25147 - 11905: 0x91F8, - 25148 - 11905: 0x91F9, - 25149 - 11905: 0xECE6, - 25150 - 11905: 0xECE5, - 25151 - 11905: 0xB7BF, - 25152 - 11905: 0xCBF9, - 25153 - 11905: 0xB1E2, - 25154 - 11905: 0x91FA, - 25155 - 11905: 0xECE7, - 25156 - 11905: 0x91FB, - 25157 - 11905: 0x91FC, - 25158 - 11905: 0x91FD, - 25159 - 11905: 0xC9C8, - 25160 - 11905: 0xECE8, - 25161 - 11905: 0xECE9, - 25162 - 11905: 0x91FE, - 25163 - 11905: 0xCAD6, - 25164 - 11905: 0xDED0, - 25165 - 11905: 0xB2C5, - 25166 - 11905: 0xD4FA, - 25167 - 11905: 0x9240, - 25168 - 11905: 0x9241, - 25169 - 11905: 0xC6CB, - 25170 - 11905: 0xB0C7, - 25171 - 11905: 0xB4F2, - 25172 - 11905: 0xC8D3, - 25173 - 11905: 0x9242, - 25174 - 11905: 0x9243, - 25175 - 11905: 0x9244, - 25176 - 11905: 0xCDD0, - 25177 - 11905: 0x9245, - 25178 - 11905: 0x9246, - 25179 - 11905: 0xBFB8, - 25180 - 11905: 0x9247, - 25181 - 11905: 0x9248, - 25182 - 11905: 0x9249, - 25183 - 11905: 0x924A, - 25184 - 11905: 0x924B, - 25185 - 11905: 0x924C, - 25186 - 11905: 0x924D, - 25187 - 11905: 0xBFDB, - 25188 - 11905: 0x924E, - 25189 - 11905: 0x924F, - 25190 - 11905: 0xC7A4, - 25191 - 11905: 0xD6B4, - 25192 - 11905: 0x9250, - 25193 - 11905: 0xC0A9, - 25194 - 11905: 0xDED1, - 25195 - 11905: 0xC9A8, - 25196 - 11905: 0xD1EF, - 25197 - 11905: 0xC5A4, - 25198 - 11905: 0xB0E7, - 25199 - 11905: 0xB3B6, - 25200 - 11905: 0xC8C5, - 25201 - 11905: 0x9251, - 25202 - 11905: 0x9252, - 25203 - 11905: 0xB0E2, - 25204 - 11905: 0x9253, - 25205 - 11905: 0x9254, - 25206 - 11905: 0xB7F6, - 25207 - 11905: 0x9255, - 25208 - 11905: 0x9256, - 25209 - 11905: 0xC5FA, - 25210 - 11905: 0x9257, - 25211 - 11905: 0x9258, - 25212 - 11905: 0xB6F3, - 25213 - 11905: 0x9259, - 25214 - 11905: 0xD5D2, - 25215 - 11905: 0xB3D0, - 25216 - 11905: 0xBCBC, - 25217 - 11905: 0x925A, - 25218 - 11905: 0x925B, - 25219 - 11905: 0x925C, - 25220 - 11905: 0xB3AD, - 25221 - 11905: 0x925D, - 25222 - 11905: 0x925E, - 25223 - 11905: 0x925F, - 25224 - 11905: 0x9260, - 25225 - 11905: 0xBEF1, - 25226 - 11905: 0xB0D1, - 25227 - 11905: 0x9261, - 25228 - 11905: 0x9262, - 25229 - 11905: 0x9263, - 25230 - 11905: 0x9264, - 25231 - 11905: 0x9265, - 25232 - 11905: 0x9266, - 25233 - 11905: 0xD2D6, - 25234 - 11905: 0xCAE3, - 25235 - 11905: 0xD7A5, - 25236 - 11905: 0x9267, - 25237 - 11905: 0xCDB6, - 25238 - 11905: 0xB6B6, - 25239 - 11905: 0xBFB9, - 25240 - 11905: 0xD5DB, - 25241 - 11905: 0x9268, - 25242 - 11905: 0xB8A7, - 25243 - 11905: 0xC5D7, - 25244 - 11905: 0x9269, - 25245 - 11905: 0x926A, - 25246 - 11905: 0x926B, - 25247 - 11905: 0xDED2, - 25248 - 11905: 0xBFD9, - 25249 - 11905: 0xC2D5, - 25250 - 11905: 0xC7C0, - 25251 - 11905: 0x926C, - 25252 - 11905: 0xBBA4, - 25253 - 11905: 0xB1A8, - 25254 - 11905: 0x926D, - 25255 - 11905: 0x926E, - 25256 - 11905: 0xC5EA, - 25257 - 11905: 0x926F, - 25258 - 11905: 0x9270, - 25259 - 11905: 0xC5FB, - 25260 - 11905: 0xCCA7, - 25261 - 11905: 0x9271, - 25262 - 11905: 0x9272, - 25263 - 11905: 0x9273, - 25264 - 11905: 0x9274, - 25265 - 11905: 0xB1A7, - 25266 - 11905: 0x9275, - 25267 - 11905: 0x9276, - 25268 - 11905: 0x9277, - 25269 - 11905: 0xB5D6, - 25270 - 11905: 0x9278, - 25271 - 11905: 0x9279, - 25272 - 11905: 0x927A, - 25273 - 11905: 0xC4A8, - 25274 - 11905: 0x927B, - 25275 - 11905: 0xDED3, - 25276 - 11905: 0xD1BA, - 25277 - 11905: 0xB3E9, - 25278 - 11905: 0x927C, - 25279 - 11905: 0xC3F2, - 25280 - 11905: 0x927D, - 25281 - 11905: 0x927E, - 25282 - 11905: 0xB7F7, - 25283 - 11905: 0x9280, - 25284 - 11905: 0xD6F4, - 25285 - 11905: 0xB5A3, - 25286 - 11905: 0xB2F0, - 25287 - 11905: 0xC4B4, - 25288 - 11905: 0xC4E9, - 25289 - 11905: 0xC0AD, - 25290 - 11905: 0xDED4, - 25291 - 11905: 0x9281, - 25292 - 11905: 0xB0E8, - 25293 - 11905: 0xC5C4, - 25294 - 11905: 0xC1E0, - 25295 - 11905: 0x9282, - 25296 - 11905: 0xB9D5, - 25297 - 11905: 0x9283, - 25298 - 11905: 0xBEDC, - 25299 - 11905: 0xCDD8, - 25300 - 11905: 0xB0CE, - 25301 - 11905: 0x9284, - 25302 - 11905: 0xCDCF, - 25303 - 11905: 0xDED6, - 25304 - 11905: 0xBED0, - 25305 - 11905: 0xD7BE, - 25306 - 11905: 0xDED5, - 25307 - 11905: 0xD5D0, - 25308 - 11905: 0xB0DD, - 25309 - 11905: 0x9285, - 25310 - 11905: 0x9286, - 25311 - 11905: 0xC4E2, - 25312 - 11905: 0x9287, - 25313 - 11905: 0x9288, - 25314 - 11905: 0xC2A3, - 25315 - 11905: 0xBCF0, - 25316 - 11905: 0x9289, - 25317 - 11905: 0xD3B5, - 25318 - 11905: 0xC0B9, - 25319 - 11905: 0xC5A1, - 25320 - 11905: 0xB2A6, - 25321 - 11905: 0xD4F1, - 25322 - 11905: 0x928A, - 25323 - 11905: 0x928B, - 25324 - 11905: 0xC0A8, - 25325 - 11905: 0xCAC3, - 25326 - 11905: 0xDED7, - 25327 - 11905: 0xD5FC, - 25328 - 11905: 0x928C, - 25329 - 11905: 0xB9B0, - 25330 - 11905: 0x928D, - 25331 - 11905: 0xC8AD, - 25332 - 11905: 0xCBA9, - 25333 - 11905: 0x928E, - 25334 - 11905: 0xDED9, - 25335 - 11905: 0xBFBD, - 25336 - 11905: 0x928F, - 25337 - 11905: 0x9290, - 25338 - 11905: 0x9291, - 25339 - 11905: 0x9292, - 25340 - 11905: 0xC6B4, - 25341 - 11905: 0xD7A7, - 25342 - 11905: 0xCAB0, - 25343 - 11905: 0xC4C3, - 25344 - 11905: 0x9293, - 25345 - 11905: 0xB3D6, - 25346 - 11905: 0xB9D2, - 25347 - 11905: 0x9294, - 25348 - 11905: 0x9295, - 25349 - 11905: 0x9296, - 25350 - 11905: 0x9297, - 25351 - 11905: 0xD6B8, - 25352 - 11905: 0xEAFC, - 25353 - 11905: 0xB0B4, - 25354 - 11905: 0x9298, - 25355 - 11905: 0x9299, - 25356 - 11905: 0x929A, - 25357 - 11905: 0x929B, - 25358 - 11905: 0xBFE6, - 25359 - 11905: 0x929C, - 25360 - 11905: 0x929D, - 25361 - 11905: 0xCCF4, - 25362 - 11905: 0x929E, - 25363 - 11905: 0x929F, - 25364 - 11905: 0x92A0, - 25365 - 11905: 0x92A1, - 25366 - 11905: 0xCDDA, - 25367 - 11905: 0x92A2, - 25368 - 11905: 0x92A3, - 25369 - 11905: 0x92A4, - 25370 - 11905: 0xD6BF, - 25371 - 11905: 0xC2CE, - 25372 - 11905: 0x92A5, - 25373 - 11905: 0xCECE, - 25374 - 11905: 0xCCA2, - 25375 - 11905: 0xD0AE, - 25376 - 11905: 0xC4D3, - 25377 - 11905: 0xB5B2, - 25378 - 11905: 0xDED8, - 25379 - 11905: 0xD5F5, - 25380 - 11905: 0xBCB7, - 25381 - 11905: 0xBBD3, - 25382 - 11905: 0x92A6, - 25383 - 11905: 0x92A7, - 25384 - 11905: 0xB0A4, - 25385 - 11905: 0x92A8, - 25386 - 11905: 0xC5B2, - 25387 - 11905: 0xB4EC, - 25388 - 11905: 0x92A9, - 25389 - 11905: 0x92AA, - 25390 - 11905: 0x92AB, - 25391 - 11905: 0xD5F1, - 25392 - 11905: 0x92AC, - 25393 - 11905: 0x92AD, - 25394 - 11905: 0xEAFD, - 25395 - 11905: 0x92AE, - 25396 - 11905: 0x92AF, - 25397 - 11905: 0x92B0, - 25398 - 11905: 0x92B1, - 25399 - 11905: 0x92B2, - 25400 - 11905: 0x92B3, - 25401 - 11905: 0xDEDA, - 25402 - 11905: 0xCDA6, - 25403 - 11905: 0x92B4, - 25404 - 11905: 0x92B5, - 25405 - 11905: 0xCDEC, - 25406 - 11905: 0x92B6, - 25407 - 11905: 0x92B7, - 25408 - 11905: 0x92B8, - 25409 - 11905: 0x92B9, - 25410 - 11905: 0xCEE6, - 25411 - 11905: 0xDEDC, - 25412 - 11905: 0x92BA, - 25413 - 11905: 0xCDB1, - 25414 - 11905: 0xC0A6, - 25415 - 11905: 0x92BB, - 25416 - 11905: 0x92BC, - 25417 - 11905: 0xD7BD, - 25418 - 11905: 0x92BD, - 25419 - 11905: 0xDEDB, - 25420 - 11905: 0xB0C6, - 25421 - 11905: 0xBAB4, - 25422 - 11905: 0xC9D3, - 25423 - 11905: 0xC4F3, - 25424 - 11905: 0xBEE8, - 25425 - 11905: 0x92BE, - 25426 - 11905: 0x92BF, - 25427 - 11905: 0x92C0, - 25428 - 11905: 0x92C1, - 25429 - 11905: 0xB2B6, - 25430 - 11905: 0x92C2, - 25431 - 11905: 0x92C3, - 25432 - 11905: 0x92C4, - 25433 - 11905: 0x92C5, - 25434 - 11905: 0x92C6, - 25435 - 11905: 0x92C7, - 25436 - 11905: 0x92C8, - 25437 - 11905: 0x92C9, - 25438 - 11905: 0xC0CC, - 25439 - 11905: 0xCBF0, - 25440 - 11905: 0x92CA, - 25441 - 11905: 0xBCF1, - 25442 - 11905: 0xBBBB, - 25443 - 11905: 0xB5B7, - 25444 - 11905: 0x92CB, - 25445 - 11905: 0x92CC, - 25446 - 11905: 0x92CD, - 25447 - 11905: 0xC5F5, - 25448 - 11905: 0x92CE, - 25449 - 11905: 0xDEE6, - 25450 - 11905: 0x92CF, - 25451 - 11905: 0x92D0, - 25452 - 11905: 0x92D1, - 25453 - 11905: 0xDEE3, - 25454 - 11905: 0xBEDD, - 25455 - 11905: 0x92D2, - 25456 - 11905: 0x92D3, - 25457 - 11905: 0xDEDF, - 25458 - 11905: 0x92D4, - 25459 - 11905: 0x92D5, - 25460 - 11905: 0x92D6, - 25461 - 11905: 0x92D7, - 25462 - 11905: 0xB4B7, - 25463 - 11905: 0xBDDD, - 25464 - 11905: 0x92D8, - 25465 - 11905: 0x92D9, - 25466 - 11905: 0xDEE0, - 25467 - 11905: 0xC4ED, - 25468 - 11905: 0x92DA, - 25469 - 11905: 0x92DB, - 25470 - 11905: 0x92DC, - 25471 - 11905: 0x92DD, - 25472 - 11905: 0xCFC6, - 25473 - 11905: 0x92DE, - 25474 - 11905: 0xB5E0, - 25475 - 11905: 0x92DF, - 25476 - 11905: 0x92E0, - 25477 - 11905: 0x92E1, - 25478 - 11905: 0x92E2, - 25479 - 11905: 0xB6DE, - 25480 - 11905: 0xCADA, - 25481 - 11905: 0xB5F4, - 25482 - 11905: 0xDEE5, - 25483 - 11905: 0x92E3, - 25484 - 11905: 0xD5C6, - 25485 - 11905: 0x92E4, - 25486 - 11905: 0xDEE1, - 25487 - 11905: 0xCCCD, - 25488 - 11905: 0xC6FE, - 25489 - 11905: 0x92E5, - 25490 - 11905: 0xC5C5, - 25491 - 11905: 0x92E6, - 25492 - 11905: 0x92E7, - 25493 - 11905: 0x92E8, - 25494 - 11905: 0xD2B4, - 25495 - 11905: 0x92E9, - 25496 - 11905: 0xBEF2, - 25497 - 11905: 0x92EA, - 25498 - 11905: 0x92EB, - 25499 - 11905: 0x92EC, - 25500 - 11905: 0x92ED, - 25501 - 11905: 0x92EE, - 25502 - 11905: 0x92EF, - 25503 - 11905: 0x92F0, - 25504 - 11905: 0xC2D3, - 25505 - 11905: 0x92F1, - 25506 - 11905: 0xCCBD, - 25507 - 11905: 0xB3B8, - 25508 - 11905: 0x92F2, - 25509 - 11905: 0xBDD3, - 25510 - 11905: 0x92F3, - 25511 - 11905: 0xBFD8, - 25512 - 11905: 0xCDC6, - 25513 - 11905: 0xD1DA, - 25514 - 11905: 0xB4EB, - 25515 - 11905: 0x92F4, - 25516 - 11905: 0xDEE4, - 25517 - 11905: 0xDEDD, - 25518 - 11905: 0xDEE7, - 25519 - 11905: 0x92F5, - 25520 - 11905: 0xEAFE, - 25521 - 11905: 0x92F6, - 25522 - 11905: 0x92F7, - 25523 - 11905: 0xC2B0, - 25524 - 11905: 0xDEE2, - 25525 - 11905: 0x92F8, - 25526 - 11905: 0x92F9, - 25527 - 11905: 0xD6C0, - 25528 - 11905: 0xB5A7, - 25529 - 11905: 0x92FA, - 25530 - 11905: 0xB2F4, - 25531 - 11905: 0x92FB, - 25532 - 11905: 0xDEE8, - 25533 - 11905: 0x92FC, - 25534 - 11905: 0xDEF2, - 25535 - 11905: 0x92FD, - 25536 - 11905: 0x92FE, - 25537 - 11905: 0x9340, - 25538 - 11905: 0x9341, - 25539 - 11905: 0x9342, - 25540 - 11905: 0xDEED, - 25541 - 11905: 0x9343, - 25542 - 11905: 0xDEF1, - 25543 - 11905: 0x9344, - 25544 - 11905: 0x9345, - 25545 - 11905: 0xC8E0, - 25546 - 11905: 0x9346, - 25547 - 11905: 0x9347, - 25548 - 11905: 0x9348, - 25549 - 11905: 0xD7E1, - 25550 - 11905: 0xDEEF, - 25551 - 11905: 0xC3E8, - 25552 - 11905: 0xCCE1, - 25553 - 11905: 0x9349, - 25554 - 11905: 0xB2E5, - 25555 - 11905: 0x934A, - 25556 - 11905: 0x934B, - 25557 - 11905: 0x934C, - 25558 - 11905: 0xD2BE, - 25559 - 11905: 0x934D, - 25560 - 11905: 0x934E, - 25561 - 11905: 0x934F, - 25562 - 11905: 0x9350, - 25563 - 11905: 0x9351, - 25564 - 11905: 0x9352, - 25565 - 11905: 0x9353, - 25566 - 11905: 0xDEEE, - 25567 - 11905: 0x9354, - 25568 - 11905: 0xDEEB, - 25569 - 11905: 0xCED5, - 25570 - 11905: 0x9355, - 25571 - 11905: 0xB4A7, - 25572 - 11905: 0x9356, - 25573 - 11905: 0x9357, - 25574 - 11905: 0x9358, - 25575 - 11905: 0x9359, - 25576 - 11905: 0x935A, - 25577 - 11905: 0xBFAB, - 25578 - 11905: 0xBEBE, - 25579 - 11905: 0x935B, - 25580 - 11905: 0x935C, - 25581 - 11905: 0xBDD2, - 25582 - 11905: 0x935D, - 25583 - 11905: 0x935E, - 25584 - 11905: 0x935F, - 25585 - 11905: 0x9360, - 25586 - 11905: 0xDEE9, - 25587 - 11905: 0x9361, - 25588 - 11905: 0xD4AE, - 25589 - 11905: 0x9362, - 25590 - 11905: 0xDEDE, - 25591 - 11905: 0x9363, - 25592 - 11905: 0xDEEA, - 25593 - 11905: 0x9364, - 25594 - 11905: 0x9365, - 25595 - 11905: 0x9366, - 25596 - 11905: 0x9367, - 25597 - 11905: 0xC0BF, - 25598 - 11905: 0x9368, - 25599 - 11905: 0xDEEC, - 25600 - 11905: 0xB2F3, - 25601 - 11905: 0xB8E9, - 25602 - 11905: 0xC2A7, - 25603 - 11905: 0x9369, - 25604 - 11905: 0x936A, - 25605 - 11905: 0xBDC1, - 25606 - 11905: 0x936B, - 25607 - 11905: 0x936C, - 25608 - 11905: 0x936D, - 25609 - 11905: 0x936E, - 25610 - 11905: 0x936F, - 25611 - 11905: 0xDEF5, - 25612 - 11905: 0xDEF8, - 25613 - 11905: 0x9370, - 25614 - 11905: 0x9371, - 25615 - 11905: 0xB2AB, - 25616 - 11905: 0xB4A4, - 25617 - 11905: 0x9372, - 25618 - 11905: 0x9373, - 25619 - 11905: 0xB4EA, - 25620 - 11905: 0xC9A6, - 25621 - 11905: 0x9374, - 25622 - 11905: 0x9375, - 25623 - 11905: 0x9376, - 25624 - 11905: 0x9377, - 25625 - 11905: 0x9378, - 25626 - 11905: 0x9379, - 25627 - 11905: 0xDEF6, - 25628 - 11905: 0xCBD1, - 25629 - 11905: 0x937A, - 25630 - 11905: 0xB8E3, - 25631 - 11905: 0x937B, - 25632 - 11905: 0xDEF7, - 25633 - 11905: 0xDEFA, - 25634 - 11905: 0x937C, - 25635 - 11905: 0x937D, - 25636 - 11905: 0x937E, - 25637 - 11905: 0x9380, - 25638 - 11905: 0xDEF9, - 25639 - 11905: 0x9381, - 25640 - 11905: 0x9382, - 25641 - 11905: 0x9383, - 25642 - 11905: 0xCCC2, - 25643 - 11905: 0x9384, - 25644 - 11905: 0xB0E1, - 25645 - 11905: 0xB4EE, - 25646 - 11905: 0x9385, - 25647 - 11905: 0x9386, - 25648 - 11905: 0x9387, - 25649 - 11905: 0x9388, - 25650 - 11905: 0x9389, - 25651 - 11905: 0x938A, - 25652 - 11905: 0xE5BA, - 25653 - 11905: 0x938B, - 25654 - 11905: 0x938C, - 25655 - 11905: 0x938D, - 25656 - 11905: 0x938E, - 25657 - 11905: 0x938F, - 25658 - 11905: 0xD0AF, - 25659 - 11905: 0x9390, - 25660 - 11905: 0x9391, - 25661 - 11905: 0xB2EB, - 25662 - 11905: 0x9392, - 25663 - 11905: 0xEBA1, - 25664 - 11905: 0x9393, - 25665 - 11905: 0xDEF4, - 25666 - 11905: 0x9394, - 25667 - 11905: 0x9395, - 25668 - 11905: 0xC9E3, - 25669 - 11905: 0xDEF3, - 25670 - 11905: 0xB0DA, - 25671 - 11905: 0xD2A1, - 25672 - 11905: 0xB1F7, - 25673 - 11905: 0x9396, - 25674 - 11905: 0xCCAF, - 25675 - 11905: 0x9397, - 25676 - 11905: 0x9398, - 25677 - 11905: 0x9399, - 25678 - 11905: 0x939A, - 25679 - 11905: 0x939B, - 25680 - 11905: 0x939C, - 25681 - 11905: 0x939D, - 25682 - 11905: 0xDEF0, - 25683 - 11905: 0x939E, - 25684 - 11905: 0xCBA4, - 25685 - 11905: 0x939F, - 25686 - 11905: 0x93A0, - 25687 - 11905: 0x93A1, - 25688 - 11905: 0xD5AA, - 25689 - 11905: 0x93A2, - 25690 - 11905: 0x93A3, - 25691 - 11905: 0x93A4, - 25692 - 11905: 0x93A5, - 25693 - 11905: 0x93A6, - 25694 - 11905: 0xDEFB, - 25695 - 11905: 0x93A7, - 25696 - 11905: 0x93A8, - 25697 - 11905: 0x93A9, - 25698 - 11905: 0x93AA, - 25699 - 11905: 0x93AB, - 25700 - 11905: 0x93AC, - 25701 - 11905: 0x93AD, - 25702 - 11905: 0x93AE, - 25703 - 11905: 0xB4DD, - 25704 - 11905: 0x93AF, - 25705 - 11905: 0xC4A6, - 25706 - 11905: 0x93B0, - 25707 - 11905: 0x93B1, - 25708 - 11905: 0x93B2, - 25709 - 11905: 0xDEFD, - 25710 - 11905: 0x93B3, - 25711 - 11905: 0x93B4, - 25712 - 11905: 0x93B5, - 25713 - 11905: 0x93B6, - 25714 - 11905: 0x93B7, - 25715 - 11905: 0x93B8, - 25716 - 11905: 0x93B9, - 25717 - 11905: 0x93BA, - 25718 - 11905: 0x93BB, - 25719 - 11905: 0x93BC, - 25720 - 11905: 0xC3FE, - 25721 - 11905: 0xC4A1, - 25722 - 11905: 0xDFA1, - 25723 - 11905: 0x93BD, - 25724 - 11905: 0x93BE, - 25725 - 11905: 0x93BF, - 25726 - 11905: 0x93C0, - 25727 - 11905: 0x93C1, - 25728 - 11905: 0x93C2, - 25729 - 11905: 0x93C3, - 25730 - 11905: 0xC1CC, - 25731 - 11905: 0x93C4, - 25732 - 11905: 0xDEFC, - 25733 - 11905: 0xBEEF, - 25734 - 11905: 0x93C5, - 25735 - 11905: 0xC6B2, - 25736 - 11905: 0x93C6, - 25737 - 11905: 0x93C7, - 25738 - 11905: 0x93C8, - 25739 - 11905: 0x93C9, - 25740 - 11905: 0x93CA, - 25741 - 11905: 0x93CB, - 25742 - 11905: 0x93CC, - 25743 - 11905: 0x93CD, - 25744 - 11905: 0x93CE, - 25745 - 11905: 0xB3C5, - 25746 - 11905: 0xC8F6, - 25747 - 11905: 0x93CF, - 25748 - 11905: 0x93D0, - 25749 - 11905: 0xCBBA, - 25750 - 11905: 0xDEFE, - 25751 - 11905: 0x93D1, - 25752 - 11905: 0x93D2, - 25753 - 11905: 0xDFA4, - 25754 - 11905: 0x93D3, - 25755 - 11905: 0x93D4, - 25756 - 11905: 0x93D5, - 25757 - 11905: 0x93D6, - 25758 - 11905: 0xD7B2, - 25759 - 11905: 0x93D7, - 25760 - 11905: 0x93D8, - 25761 - 11905: 0x93D9, - 25762 - 11905: 0x93DA, - 25763 - 11905: 0x93DB, - 25764 - 11905: 0xB3B7, - 25765 - 11905: 0x93DC, - 25766 - 11905: 0x93DD, - 25767 - 11905: 0x93DE, - 25768 - 11905: 0x93DF, - 25769 - 11905: 0xC1C3, - 25770 - 11905: 0x93E0, - 25771 - 11905: 0x93E1, - 25772 - 11905: 0xC7CB, - 25773 - 11905: 0xB2A5, - 25774 - 11905: 0xB4E9, - 25775 - 11905: 0x93E2, - 25776 - 11905: 0xD7AB, - 25777 - 11905: 0x93E3, - 25778 - 11905: 0x93E4, - 25779 - 11905: 0x93E5, - 25780 - 11905: 0x93E6, - 25781 - 11905: 0xC4EC, - 25782 - 11905: 0x93E7, - 25783 - 11905: 0xDFA2, - 25784 - 11905: 0xDFA3, - 25785 - 11905: 0x93E8, - 25786 - 11905: 0xDFA5, - 25787 - 11905: 0x93E9, - 25788 - 11905: 0xBAB3, - 25789 - 11905: 0x93EA, - 25790 - 11905: 0x93EB, - 25791 - 11905: 0x93EC, - 25792 - 11905: 0xDFA6, - 25793 - 11905: 0x93ED, - 25794 - 11905: 0xC0DE, - 25795 - 11905: 0x93EE, - 25796 - 11905: 0x93EF, - 25797 - 11905: 0xC9C3, - 25798 - 11905: 0x93F0, - 25799 - 11905: 0x93F1, - 25800 - 11905: 0x93F2, - 25801 - 11905: 0x93F3, - 25802 - 11905: 0x93F4, - 25803 - 11905: 0x93F5, - 25804 - 11905: 0x93F6, - 25805 - 11905: 0xB2D9, - 25806 - 11905: 0xC7E6, - 25807 - 11905: 0x93F7, - 25808 - 11905: 0xDFA7, - 25809 - 11905: 0x93F8, - 25810 - 11905: 0xC7DC, - 25811 - 11905: 0x93F9, - 25812 - 11905: 0x93FA, - 25813 - 11905: 0x93FB, - 25814 - 11905: 0x93FC, - 25815 - 11905: 0xDFA8, - 25816 - 11905: 0xEBA2, - 25817 - 11905: 0x93FD, - 25818 - 11905: 0x93FE, - 25819 - 11905: 0x9440, - 25820 - 11905: 0x9441, - 25821 - 11905: 0x9442, - 25822 - 11905: 0xCBD3, - 25823 - 11905: 0x9443, - 25824 - 11905: 0x9444, - 25825 - 11905: 0x9445, - 25826 - 11905: 0xDFAA, - 25827 - 11905: 0x9446, - 25828 - 11905: 0xDFA9, - 25829 - 11905: 0x9447, - 25830 - 11905: 0xB2C1, - 25831 - 11905: 0x9448, - 25832 - 11905: 0x9449, - 25833 - 11905: 0x944A, - 25834 - 11905: 0x944B, - 25835 - 11905: 0x944C, - 25836 - 11905: 0x944D, - 25837 - 11905: 0x944E, - 25838 - 11905: 0x944F, - 25839 - 11905: 0x9450, - 25840 - 11905: 0x9451, - 25841 - 11905: 0x9452, - 25842 - 11905: 0x9453, - 25843 - 11905: 0x9454, - 25844 - 11905: 0x9455, - 25845 - 11905: 0x9456, - 25846 - 11905: 0x9457, - 25847 - 11905: 0x9458, - 25848 - 11905: 0x9459, - 25849 - 11905: 0x945A, - 25850 - 11905: 0x945B, - 25851 - 11905: 0x945C, - 25852 - 11905: 0x945D, - 25853 - 11905: 0x945E, - 25854 - 11905: 0x945F, - 25855 - 11905: 0x9460, - 25856 - 11905: 0xC5CA, - 25857 - 11905: 0x9461, - 25858 - 11905: 0x9462, - 25859 - 11905: 0x9463, - 25860 - 11905: 0x9464, - 25861 - 11905: 0x9465, - 25862 - 11905: 0x9466, - 25863 - 11905: 0x9467, - 25864 - 11905: 0x9468, - 25865 - 11905: 0xDFAB, - 25866 - 11905: 0x9469, - 25867 - 11905: 0x946A, - 25868 - 11905: 0x946B, - 25869 - 11905: 0x946C, - 25870 - 11905: 0x946D, - 25871 - 11905: 0x946E, - 25872 - 11905: 0x946F, - 25873 - 11905: 0x9470, - 25874 - 11905: 0xD4DC, - 25875 - 11905: 0x9471, - 25876 - 11905: 0x9472, - 25877 - 11905: 0x9473, - 25878 - 11905: 0x9474, - 25879 - 11905: 0x9475, - 25880 - 11905: 0xC8C1, - 25881 - 11905: 0x9476, - 25882 - 11905: 0x9477, - 25883 - 11905: 0x9478, - 25884 - 11905: 0x9479, - 25885 - 11905: 0x947A, - 25886 - 11905: 0x947B, - 25887 - 11905: 0x947C, - 25888 - 11905: 0x947D, - 25889 - 11905: 0x947E, - 25890 - 11905: 0x9480, - 25891 - 11905: 0x9481, - 25892 - 11905: 0x9482, - 25893 - 11905: 0xDFAC, - 25894 - 11905: 0x9483, - 25895 - 11905: 0x9484, - 25896 - 11905: 0x9485, - 25897 - 11905: 0x9486, - 25898 - 11905: 0x9487, - 25899 - 11905: 0xBEF0, - 25900 - 11905: 0x9488, - 25901 - 11905: 0x9489, - 25902 - 11905: 0xDFAD, - 25903 - 11905: 0xD6A7, - 25904 - 11905: 0x948A, - 25905 - 11905: 0x948B, - 25906 - 11905: 0x948C, - 25907 - 11905: 0x948D, - 25908 - 11905: 0xEAB7, - 25909 - 11905: 0xEBB6, - 25910 - 11905: 0xCAD5, - 25911 - 11905: 0x948E, - 25912 - 11905: 0xD8FC, - 25913 - 11905: 0xB8C4, - 25914 - 11905: 0x948F, - 25915 - 11905: 0xB9A5, - 25916 - 11905: 0x9490, - 25917 - 11905: 0x9491, - 25918 - 11905: 0xB7C5, - 25919 - 11905: 0xD5FE, - 25920 - 11905: 0x9492, - 25921 - 11905: 0x9493, - 25922 - 11905: 0x9494, - 25923 - 11905: 0x9495, - 25924 - 11905: 0x9496, - 25925 - 11905: 0xB9CA, - 25926 - 11905: 0x9497, - 25927 - 11905: 0x9498, - 25928 - 11905: 0xD0A7, - 25929 - 11905: 0xF4CD, - 25930 - 11905: 0x9499, - 25931 - 11905: 0x949A, - 25932 - 11905: 0xB5D0, - 25933 - 11905: 0x949B, - 25934 - 11905: 0x949C, - 25935 - 11905: 0xC3F4, - 25936 - 11905: 0x949D, - 25937 - 11905: 0xBEC8, - 25938 - 11905: 0x949E, - 25939 - 11905: 0x949F, - 25940 - 11905: 0x94A0, - 25941 - 11905: 0xEBB7, - 25942 - 11905: 0xB0BD, - 25943 - 11905: 0x94A1, - 25944 - 11905: 0x94A2, - 25945 - 11905: 0xBDCC, - 25946 - 11905: 0x94A3, - 25947 - 11905: 0xC1B2, - 25948 - 11905: 0x94A4, - 25949 - 11905: 0xB1D6, - 25950 - 11905: 0xB3A8, - 25951 - 11905: 0x94A5, - 25952 - 11905: 0x94A6, - 25953 - 11905: 0x94A7, - 25954 - 11905: 0xB8D2, - 25955 - 11905: 0xC9A2, - 25956 - 11905: 0x94A8, - 25957 - 11905: 0x94A9, - 25958 - 11905: 0xB6D8, - 25959 - 11905: 0x94AA, - 25960 - 11905: 0x94AB, - 25961 - 11905: 0x94AC, - 25962 - 11905: 0x94AD, - 25963 - 11905: 0xEBB8, - 25964 - 11905: 0xBEB4, - 25965 - 11905: 0x94AE, - 25966 - 11905: 0x94AF, - 25967 - 11905: 0x94B0, - 25968 - 11905: 0xCAFD, - 25969 - 11905: 0x94B1, - 25970 - 11905: 0xC7C3, - 25971 - 11905: 0x94B2, - 25972 - 11905: 0xD5FB, - 25973 - 11905: 0x94B3, - 25974 - 11905: 0x94B4, - 25975 - 11905: 0xB7F3, - 25976 - 11905: 0x94B5, - 25977 - 11905: 0x94B6, - 25978 - 11905: 0x94B7, - 25979 - 11905: 0x94B8, - 25980 - 11905: 0x94B9, - 25981 - 11905: 0x94BA, - 25982 - 11905: 0x94BB, - 25983 - 11905: 0x94BC, - 25984 - 11905: 0x94BD, - 25985 - 11905: 0x94BE, - 25986 - 11905: 0x94BF, - 25987 - 11905: 0x94C0, - 25988 - 11905: 0x94C1, - 25989 - 11905: 0x94C2, - 25990 - 11905: 0x94C3, - 25991 - 11905: 0xCEC4, - 25992 - 11905: 0x94C4, - 25993 - 11905: 0x94C5, - 25994 - 11905: 0x94C6, - 25995 - 11905: 0xD5AB, - 25996 - 11905: 0xB1F3, - 25997 - 11905: 0x94C7, - 25998 - 11905: 0x94C8, - 25999 - 11905: 0x94C9, - 26000 - 11905: 0xECB3, - 26001 - 11905: 0xB0DF, - 26002 - 11905: 0x94CA, - 26003 - 11905: 0xECB5, - 26004 - 11905: 0x94CB, - 26005 - 11905: 0x94CC, - 26006 - 11905: 0x94CD, - 26007 - 11905: 0xB6B7, - 26008 - 11905: 0x94CE, - 26009 - 11905: 0xC1CF, - 26010 - 11905: 0x94CF, - 26011 - 11905: 0xF5FA, - 26012 - 11905: 0xD0B1, - 26013 - 11905: 0x94D0, - 26014 - 11905: 0x94D1, - 26015 - 11905: 0xD5E5, - 26016 - 11905: 0x94D2, - 26017 - 11905: 0xCED3, - 26018 - 11905: 0x94D3, - 26019 - 11905: 0x94D4, - 26020 - 11905: 0xBDEF, - 26021 - 11905: 0xB3E2, - 26022 - 11905: 0x94D5, - 26023 - 11905: 0xB8AB, - 26024 - 11905: 0x94D6, - 26025 - 11905: 0xD5B6, - 26026 - 11905: 0x94D7, - 26027 - 11905: 0xEDBD, - 26028 - 11905: 0x94D8, - 26029 - 11905: 0xB6CF, - 26030 - 11905: 0x94D9, - 26031 - 11905: 0xCBB9, - 26032 - 11905: 0xD0C2, - 26033 - 11905: 0x94DA, - 26034 - 11905: 0x94DB, - 26035 - 11905: 0x94DC, - 26036 - 11905: 0x94DD, - 26037 - 11905: 0x94DE, - 26038 - 11905: 0x94DF, - 26039 - 11905: 0x94E0, - 26040 - 11905: 0x94E1, - 26041 - 11905: 0xB7BD, - 26042 - 11905: 0x94E2, - 26043 - 11905: 0x94E3, - 26044 - 11905: 0xECB6, - 26045 - 11905: 0xCAA9, - 26046 - 11905: 0x94E4, - 26047 - 11905: 0x94E5, - 26048 - 11905: 0x94E6, - 26049 - 11905: 0xC5D4, - 26050 - 11905: 0x94E7, - 26051 - 11905: 0xECB9, - 26052 - 11905: 0xECB8, - 26053 - 11905: 0xC2C3, - 26054 - 11905: 0xECB7, - 26055 - 11905: 0x94E8, - 26056 - 11905: 0x94E9, - 26057 - 11905: 0x94EA, - 26058 - 11905: 0x94EB, - 26059 - 11905: 0xD0FD, - 26060 - 11905: 0xECBA, - 26061 - 11905: 0x94EC, - 26062 - 11905: 0xECBB, - 26063 - 11905: 0xD7E5, - 26064 - 11905: 0x94ED, - 26065 - 11905: 0x94EE, - 26066 - 11905: 0xECBC, - 26067 - 11905: 0x94EF, - 26068 - 11905: 0x94F0, - 26069 - 11905: 0x94F1, - 26070 - 11905: 0xECBD, - 26071 - 11905: 0xC6EC, - 26072 - 11905: 0x94F2, - 26073 - 11905: 0x94F3, - 26074 - 11905: 0x94F4, - 26075 - 11905: 0x94F5, - 26076 - 11905: 0x94F6, - 26077 - 11905: 0x94F7, - 26078 - 11905: 0x94F8, - 26079 - 11905: 0x94F9, - 26080 - 11905: 0xCEDE, - 26081 - 11905: 0x94FA, - 26082 - 11905: 0xBCC8, - 26083 - 11905: 0x94FB, - 26084 - 11905: 0x94FC, - 26085 - 11905: 0xC8D5, - 26086 - 11905: 0xB5A9, - 26087 - 11905: 0xBEC9, - 26088 - 11905: 0xD6BC, - 26089 - 11905: 0xD4E7, - 26090 - 11905: 0x94FD, - 26091 - 11905: 0x94FE, - 26092 - 11905: 0xD1AE, - 26093 - 11905: 0xD0F1, - 26094 - 11905: 0xEAB8, - 26095 - 11905: 0xEAB9, - 26096 - 11905: 0xEABA, - 26097 - 11905: 0xBAB5, - 26098 - 11905: 0x9540, - 26099 - 11905: 0x9541, - 26100 - 11905: 0x9542, - 26101 - 11905: 0x9543, - 26102 - 11905: 0xCAB1, - 26103 - 11905: 0xBFF5, - 26104 - 11905: 0x9544, - 26105 - 11905: 0x9545, - 26106 - 11905: 0xCDFA, - 26107 - 11905: 0x9546, - 26108 - 11905: 0x9547, - 26109 - 11905: 0x9548, - 26110 - 11905: 0x9549, - 26111 - 11905: 0x954A, - 26112 - 11905: 0xEAC0, - 26113 - 11905: 0x954B, - 26114 - 11905: 0xB0BA, - 26115 - 11905: 0xEABE, - 26116 - 11905: 0x954C, - 26117 - 11905: 0x954D, - 26118 - 11905: 0xC0A5, - 26119 - 11905: 0x954E, - 26120 - 11905: 0x954F, - 26121 - 11905: 0x9550, - 26122 - 11905: 0xEABB, - 26123 - 11905: 0x9551, - 26124 - 11905: 0xB2FD, - 26125 - 11905: 0x9552, - 26126 - 11905: 0xC3F7, - 26127 - 11905: 0xBBE8, - 26128 - 11905: 0x9553, - 26129 - 11905: 0x9554, - 26130 - 11905: 0x9555, - 26131 - 11905: 0xD2D7, - 26132 - 11905: 0xCEF4, - 26133 - 11905: 0xEABF, - 26134 - 11905: 0x9556, - 26135 - 11905: 0x9557, - 26136 - 11905: 0x9558, - 26137 - 11905: 0xEABC, - 26138 - 11905: 0x9559, - 26139 - 11905: 0x955A, - 26140 - 11905: 0x955B, - 26141 - 11905: 0xEAC3, - 26142 - 11905: 0x955C, - 26143 - 11905: 0xD0C7, - 26144 - 11905: 0xD3B3, - 26145 - 11905: 0x955D, - 26146 - 11905: 0x955E, - 26147 - 11905: 0x955F, - 26148 - 11905: 0x9560, - 26149 - 11905: 0xB4BA, - 26150 - 11905: 0x9561, - 26151 - 11905: 0xC3C1, - 26152 - 11905: 0xD7F2, - 26153 - 11905: 0x9562, - 26154 - 11905: 0x9563, - 26155 - 11905: 0x9564, - 26156 - 11905: 0x9565, - 26157 - 11905: 0xD5D1, - 26158 - 11905: 0x9566, - 26159 - 11905: 0xCAC7, - 26160 - 11905: 0x9567, - 26161 - 11905: 0xEAC5, - 26162 - 11905: 0x9568, - 26163 - 11905: 0x9569, - 26164 - 11905: 0xEAC4, - 26165 - 11905: 0xEAC7, - 26166 - 11905: 0xEAC6, - 26167 - 11905: 0x956A, - 26168 - 11905: 0x956B, - 26169 - 11905: 0x956C, - 26170 - 11905: 0x956D, - 26171 - 11905: 0x956E, - 26172 - 11905: 0xD6E7, - 26173 - 11905: 0x956F, - 26174 - 11905: 0xCFD4, - 26175 - 11905: 0x9570, - 26176 - 11905: 0x9571, - 26177 - 11905: 0xEACB, - 26178 - 11905: 0x9572, - 26179 - 11905: 0xBBCE, - 26180 - 11905: 0x9573, - 26181 - 11905: 0x9574, - 26182 - 11905: 0x9575, - 26183 - 11905: 0x9576, - 26184 - 11905: 0x9577, - 26185 - 11905: 0x9578, - 26186 - 11905: 0x9579, - 26187 - 11905: 0xBDFA, - 26188 - 11905: 0xC9CE, - 26189 - 11905: 0x957A, - 26190 - 11905: 0x957B, - 26191 - 11905: 0xEACC, - 26192 - 11905: 0x957C, - 26193 - 11905: 0x957D, - 26194 - 11905: 0xC9B9, - 26195 - 11905: 0xCFFE, - 26196 - 11905: 0xEACA, - 26197 - 11905: 0xD4CE, - 26198 - 11905: 0xEACD, - 26199 - 11905: 0xEACF, - 26200 - 11905: 0x957E, - 26201 - 11905: 0x9580, - 26202 - 11905: 0xCDED, - 26203 - 11905: 0x9581, - 26204 - 11905: 0x9582, - 26205 - 11905: 0x9583, - 26206 - 11905: 0x9584, - 26207 - 11905: 0xEAC9, - 26208 - 11905: 0x9585, - 26209 - 11905: 0xEACE, - 26210 - 11905: 0x9586, - 26211 - 11905: 0x9587, - 26212 - 11905: 0xCEEE, - 26213 - 11905: 0x9588, - 26214 - 11905: 0xBBDE, - 26215 - 11905: 0x9589, - 26216 - 11905: 0xB3BF, - 26217 - 11905: 0x958A, - 26218 - 11905: 0x958B, - 26219 - 11905: 0x958C, - 26220 - 11905: 0x958D, - 26221 - 11905: 0x958E, - 26222 - 11905: 0xC6D5, - 26223 - 11905: 0xBEB0, - 26224 - 11905: 0xCEFA, - 26225 - 11905: 0x958F, - 26226 - 11905: 0x9590, - 26227 - 11905: 0x9591, - 26228 - 11905: 0xC7E7, - 26229 - 11905: 0x9592, - 26230 - 11905: 0xBEA7, - 26231 - 11905: 0xEAD0, - 26232 - 11905: 0x9593, - 26233 - 11905: 0x9594, - 26234 - 11905: 0xD6C7, - 26235 - 11905: 0x9595, - 26236 - 11905: 0x9596, - 26237 - 11905: 0x9597, - 26238 - 11905: 0xC1C0, - 26239 - 11905: 0x9598, - 26240 - 11905: 0x9599, - 26241 - 11905: 0x959A, - 26242 - 11905: 0xD4DD, - 26243 - 11905: 0x959B, - 26244 - 11905: 0xEAD1, - 26245 - 11905: 0x959C, - 26246 - 11905: 0x959D, - 26247 - 11905: 0xCFBE, - 26248 - 11905: 0x959E, - 26249 - 11905: 0x959F, - 26250 - 11905: 0x95A0, - 26251 - 11905: 0x95A1, - 26252 - 11905: 0xEAD2, - 26253 - 11905: 0x95A2, - 26254 - 11905: 0x95A3, - 26255 - 11905: 0x95A4, - 26256 - 11905: 0x95A5, - 26257 - 11905: 0xCAEE, - 26258 - 11905: 0x95A6, - 26259 - 11905: 0x95A7, - 26260 - 11905: 0x95A8, - 26261 - 11905: 0x95A9, - 26262 - 11905: 0xC5AF, - 26263 - 11905: 0xB0B5, - 26264 - 11905: 0x95AA, - 26265 - 11905: 0x95AB, - 26266 - 11905: 0x95AC, - 26267 - 11905: 0x95AD, - 26268 - 11905: 0x95AE, - 26269 - 11905: 0xEAD4, - 26270 - 11905: 0x95AF, - 26271 - 11905: 0x95B0, - 26272 - 11905: 0x95B1, - 26273 - 11905: 0x95B2, - 26274 - 11905: 0x95B3, - 26275 - 11905: 0x95B4, - 26276 - 11905: 0x95B5, - 26277 - 11905: 0x95B6, - 26278 - 11905: 0x95B7, - 26279 - 11905: 0xEAD3, - 26280 - 11905: 0xF4DF, - 26281 - 11905: 0x95B8, - 26282 - 11905: 0x95B9, - 26283 - 11905: 0x95BA, - 26284 - 11905: 0x95BB, - 26285 - 11905: 0x95BC, - 26286 - 11905: 0xC4BA, - 26287 - 11905: 0x95BD, - 26288 - 11905: 0x95BE, - 26289 - 11905: 0x95BF, - 26290 - 11905: 0x95C0, - 26291 - 11905: 0x95C1, - 26292 - 11905: 0xB1A9, - 26293 - 11905: 0x95C2, - 26294 - 11905: 0x95C3, - 26295 - 11905: 0x95C4, - 26296 - 11905: 0x95C5, - 26297 - 11905: 0xE5DF, - 26298 - 11905: 0x95C6, - 26299 - 11905: 0x95C7, - 26300 - 11905: 0x95C8, - 26301 - 11905: 0x95C9, - 26302 - 11905: 0xEAD5, - 26303 - 11905: 0x95CA, - 26304 - 11905: 0x95CB, - 26305 - 11905: 0x95CC, - 26306 - 11905: 0x95CD, - 26307 - 11905: 0x95CE, - 26308 - 11905: 0x95CF, - 26309 - 11905: 0x95D0, - 26310 - 11905: 0x95D1, - 26311 - 11905: 0x95D2, - 26312 - 11905: 0x95D3, - 26313 - 11905: 0x95D4, - 26314 - 11905: 0x95D5, - 26315 - 11905: 0x95D6, - 26316 - 11905: 0x95D7, - 26317 - 11905: 0x95D8, - 26318 - 11905: 0x95D9, - 26319 - 11905: 0x95DA, - 26320 - 11905: 0x95DB, - 26321 - 11905: 0x95DC, - 26322 - 11905: 0x95DD, - 26323 - 11905: 0x95DE, - 26324 - 11905: 0x95DF, - 26325 - 11905: 0x95E0, - 26326 - 11905: 0x95E1, - 26327 - 11905: 0x95E2, - 26328 - 11905: 0x95E3, - 26329 - 11905: 0xCAEF, - 26330 - 11905: 0x95E4, - 26331 - 11905: 0xEAD6, - 26332 - 11905: 0xEAD7, - 26333 - 11905: 0xC6D8, - 26334 - 11905: 0x95E5, - 26335 - 11905: 0x95E6, - 26336 - 11905: 0x95E7, - 26337 - 11905: 0x95E8, - 26338 - 11905: 0x95E9, - 26339 - 11905: 0x95EA, - 26340 - 11905: 0x95EB, - 26341 - 11905: 0x95EC, - 26342 - 11905: 0xEAD8, - 26343 - 11905: 0x95ED, - 26344 - 11905: 0x95EE, - 26345 - 11905: 0xEAD9, - 26346 - 11905: 0x95EF, - 26347 - 11905: 0x95F0, - 26348 - 11905: 0x95F1, - 26349 - 11905: 0x95F2, - 26350 - 11905: 0x95F3, - 26351 - 11905: 0x95F4, - 26352 - 11905: 0xD4BB, - 26353 - 11905: 0x95F5, - 26354 - 11905: 0xC7FA, - 26355 - 11905: 0xD2B7, - 26356 - 11905: 0xB8FC, - 26357 - 11905: 0x95F6, - 26358 - 11905: 0x95F7, - 26359 - 11905: 0xEAC2, - 26360 - 11905: 0x95F8, - 26361 - 11905: 0xB2DC, - 26362 - 11905: 0x95F9, - 26363 - 11905: 0x95FA, - 26364 - 11905: 0xC2FC, - 26365 - 11905: 0x95FB, - 26366 - 11905: 0xD4F8, - 26367 - 11905: 0xCCE6, - 26368 - 11905: 0xD7EE, - 26369 - 11905: 0x95FC, - 26370 - 11905: 0x95FD, - 26371 - 11905: 0x95FE, - 26372 - 11905: 0x9640, - 26373 - 11905: 0x9641, - 26374 - 11905: 0x9642, - 26375 - 11905: 0x9643, - 26376 - 11905: 0xD4C2, - 26377 - 11905: 0xD3D0, - 26378 - 11905: 0xEBC3, - 26379 - 11905: 0xC5F3, - 26380 - 11905: 0x9644, - 26381 - 11905: 0xB7FE, - 26382 - 11905: 0x9645, - 26383 - 11905: 0x9646, - 26384 - 11905: 0xEBD4, - 26385 - 11905: 0x9647, - 26386 - 11905: 0x9648, - 26387 - 11905: 0x9649, - 26388 - 11905: 0xCBB7, - 26389 - 11905: 0xEBDE, - 26390 - 11905: 0x964A, - 26391 - 11905: 0xC0CA, - 26392 - 11905: 0x964B, - 26393 - 11905: 0x964C, - 26394 - 11905: 0x964D, - 26395 - 11905: 0xCDFB, - 26396 - 11905: 0x964E, - 26397 - 11905: 0xB3AF, - 26398 - 11905: 0x964F, - 26399 - 11905: 0xC6DA, - 26400 - 11905: 0x9650, - 26401 - 11905: 0x9651, - 26402 - 11905: 0x9652, - 26403 - 11905: 0x9653, - 26404 - 11905: 0x9654, - 26405 - 11905: 0x9655, - 26406 - 11905: 0xEBFC, - 26407 - 11905: 0x9656, - 26408 - 11905: 0xC4BE, - 26409 - 11905: 0x9657, - 26410 - 11905: 0xCEB4, - 26411 - 11905: 0xC4A9, - 26412 - 11905: 0xB1BE, - 26413 - 11905: 0xD4FD, - 26414 - 11905: 0x9658, - 26415 - 11905: 0xCAF5, - 26416 - 11905: 0x9659, - 26417 - 11905: 0xD6EC, - 26418 - 11905: 0x965A, - 26419 - 11905: 0x965B, - 26420 - 11905: 0xC6D3, - 26421 - 11905: 0xB6E4, - 26422 - 11905: 0x965C, - 26423 - 11905: 0x965D, - 26424 - 11905: 0x965E, - 26425 - 11905: 0x965F, - 26426 - 11905: 0xBBFA, - 26427 - 11905: 0x9660, - 26428 - 11905: 0x9661, - 26429 - 11905: 0xD0E0, - 26430 - 11905: 0x9662, - 26431 - 11905: 0x9663, - 26432 - 11905: 0xC9B1, - 26433 - 11905: 0x9664, - 26434 - 11905: 0xD4D3, - 26435 - 11905: 0xC8A8, - 26436 - 11905: 0x9665, - 26437 - 11905: 0x9666, - 26438 - 11905: 0xB8CB, - 26439 - 11905: 0x9667, - 26440 - 11905: 0xE8BE, - 26441 - 11905: 0xC9BC, - 26442 - 11905: 0x9668, - 26443 - 11905: 0x9669, - 26444 - 11905: 0xE8BB, - 26445 - 11905: 0x966A, - 26446 - 11905: 0xC0EE, - 26447 - 11905: 0xD0D3, - 26448 - 11905: 0xB2C4, - 26449 - 11905: 0xB4E5, - 26450 - 11905: 0x966B, - 26451 - 11905: 0xE8BC, - 26452 - 11905: 0x966C, - 26453 - 11905: 0x966D, - 26454 - 11905: 0xD5C8, - 26455 - 11905: 0x966E, - 26456 - 11905: 0x966F, - 26457 - 11905: 0x9670, - 26458 - 11905: 0x9671, - 26459 - 11905: 0x9672, - 26460 - 11905: 0xB6C5, - 26461 - 11905: 0x9673, - 26462 - 11905: 0xE8BD, - 26463 - 11905: 0xCAF8, - 26464 - 11905: 0xB8DC, - 26465 - 11905: 0xCCF5, - 26466 - 11905: 0x9674, - 26467 - 11905: 0x9675, - 26468 - 11905: 0x9676, - 26469 - 11905: 0xC0B4, - 26470 - 11905: 0x9677, - 26471 - 11905: 0x9678, - 26472 - 11905: 0xD1EE, - 26473 - 11905: 0xE8BF, - 26474 - 11905: 0xE8C2, - 26475 - 11905: 0x9679, - 26476 - 11905: 0x967A, - 26477 - 11905: 0xBABC, - 26478 - 11905: 0x967B, - 26479 - 11905: 0xB1AD, - 26480 - 11905: 0xBDDC, - 26481 - 11905: 0x967C, - 26482 - 11905: 0xEABD, - 26483 - 11905: 0xE8C3, - 26484 - 11905: 0x967D, - 26485 - 11905: 0xE8C6, - 26486 - 11905: 0x967E, - 26487 - 11905: 0xE8CB, - 26488 - 11905: 0x9680, - 26489 - 11905: 0x9681, - 26490 - 11905: 0x9682, - 26491 - 11905: 0x9683, - 26492 - 11905: 0xE8CC, - 26493 - 11905: 0x9684, - 26494 - 11905: 0xCBC9, - 26495 - 11905: 0xB0E5, - 26496 - 11905: 0x9685, - 26497 - 11905: 0xBCAB, - 26498 - 11905: 0x9686, - 26499 - 11905: 0x9687, - 26500 - 11905: 0xB9B9, - 26501 - 11905: 0x9688, - 26502 - 11905: 0x9689, - 26503 - 11905: 0xE8C1, - 26504 - 11905: 0x968A, - 26505 - 11905: 0xCDF7, - 26506 - 11905: 0x968B, - 26507 - 11905: 0xE8CA, - 26508 - 11905: 0x968C, - 26509 - 11905: 0x968D, - 26510 - 11905: 0x968E, - 26511 - 11905: 0x968F, - 26512 - 11905: 0xCEF6, - 26513 - 11905: 0x9690, - 26514 - 11905: 0x9691, - 26515 - 11905: 0x9692, - 26516 - 11905: 0x9693, - 26517 - 11905: 0xD5ED, - 26518 - 11905: 0x9694, - 26519 - 11905: 0xC1D6, - 26520 - 11905: 0xE8C4, - 26521 - 11905: 0x9695, - 26522 - 11905: 0xC3B6, - 26523 - 11905: 0x9696, - 26524 - 11905: 0xB9FB, - 26525 - 11905: 0xD6A6, - 26526 - 11905: 0xE8C8, - 26527 - 11905: 0x9697, - 26528 - 11905: 0x9698, - 26529 - 11905: 0x9699, - 26530 - 11905: 0xCAE0, - 26531 - 11905: 0xD4E6, - 26532 - 11905: 0x969A, - 26533 - 11905: 0xE8C0, - 26534 - 11905: 0x969B, - 26535 - 11905: 0xE8C5, - 26536 - 11905: 0xE8C7, - 26537 - 11905: 0x969C, - 26538 - 11905: 0xC7B9, - 26539 - 11905: 0xB7E3, - 26540 - 11905: 0x969D, - 26541 - 11905: 0xE8C9, - 26542 - 11905: 0x969E, - 26543 - 11905: 0xBFDD, - 26544 - 11905: 0xE8D2, - 26545 - 11905: 0x969F, - 26546 - 11905: 0x96A0, - 26547 - 11905: 0xE8D7, - 26548 - 11905: 0x96A1, - 26549 - 11905: 0xE8D5, - 26550 - 11905: 0xBCDC, - 26551 - 11905: 0xBCCF, - 26552 - 11905: 0xE8DB, - 26553 - 11905: 0x96A2, - 26554 - 11905: 0x96A3, - 26555 - 11905: 0x96A4, - 26556 - 11905: 0x96A5, - 26557 - 11905: 0x96A6, - 26558 - 11905: 0x96A7, - 26559 - 11905: 0x96A8, - 26560 - 11905: 0x96A9, - 26561 - 11905: 0xE8DE, - 26562 - 11905: 0x96AA, - 26563 - 11905: 0xE8DA, - 26564 - 11905: 0xB1FA, - 26565 - 11905: 0x96AB, - 26566 - 11905: 0x96AC, - 26567 - 11905: 0x96AD, - 26568 - 11905: 0x96AE, - 26569 - 11905: 0x96AF, - 26570 - 11905: 0x96B0, - 26571 - 11905: 0x96B1, - 26572 - 11905: 0x96B2, - 26573 - 11905: 0x96B3, - 26574 - 11905: 0x96B4, - 26575 - 11905: 0xB0D8, - 26576 - 11905: 0xC4B3, - 26577 - 11905: 0xB8CC, - 26578 - 11905: 0xC6E2, - 26579 - 11905: 0xC8BE, - 26580 - 11905: 0xC8E1, - 26581 - 11905: 0x96B5, - 26582 - 11905: 0x96B6, - 26583 - 11905: 0x96B7, - 26584 - 11905: 0xE8CF, - 26585 - 11905: 0xE8D4, - 26586 - 11905: 0xE8D6, - 26587 - 11905: 0x96B8, - 26588 - 11905: 0xB9F1, - 26589 - 11905: 0xE8D8, - 26590 - 11905: 0xD7F5, - 26591 - 11905: 0x96B9, - 26592 - 11905: 0xC4FB, - 26593 - 11905: 0x96BA, - 26594 - 11905: 0xE8DC, - 26595 - 11905: 0x96BB, - 26596 - 11905: 0x96BC, - 26597 - 11905: 0xB2E9, - 26598 - 11905: 0x96BD, - 26599 - 11905: 0x96BE, - 26600 - 11905: 0x96BF, - 26601 - 11905: 0xE8D1, - 26602 - 11905: 0x96C0, - 26603 - 11905: 0x96C1, - 26604 - 11905: 0xBCED, - 26605 - 11905: 0x96C2, - 26606 - 11905: 0x96C3, - 26607 - 11905: 0xBFC2, - 26608 - 11905: 0xE8CD, - 26609 - 11905: 0xD6F9, - 26610 - 11905: 0x96C4, - 26611 - 11905: 0xC1F8, - 26612 - 11905: 0xB2F1, - 26613 - 11905: 0x96C5, - 26614 - 11905: 0x96C6, - 26615 - 11905: 0x96C7, - 26616 - 11905: 0x96C8, - 26617 - 11905: 0x96C9, - 26618 - 11905: 0x96CA, - 26619 - 11905: 0x96CB, - 26620 - 11905: 0x96CC, - 26621 - 11905: 0xE8DF, - 26622 - 11905: 0x96CD, - 26623 - 11905: 0xCAC1, - 26624 - 11905: 0xE8D9, - 26625 - 11905: 0x96CE, - 26626 - 11905: 0x96CF, - 26627 - 11905: 0x96D0, - 26628 - 11905: 0x96D1, - 26629 - 11905: 0xD5A4, - 26630 - 11905: 0x96D2, - 26631 - 11905: 0xB1EA, - 26632 - 11905: 0xD5BB, - 26633 - 11905: 0xE8CE, - 26634 - 11905: 0xE8D0, - 26635 - 11905: 0xB6B0, - 26636 - 11905: 0xE8D3, - 26637 - 11905: 0x96D3, - 26638 - 11905: 0xE8DD, - 26639 - 11905: 0xC0B8, - 26640 - 11905: 0x96D4, - 26641 - 11905: 0xCAF7, - 26642 - 11905: 0x96D5, - 26643 - 11905: 0xCBA8, - 26644 - 11905: 0x96D6, - 26645 - 11905: 0x96D7, - 26646 - 11905: 0xC6DC, - 26647 - 11905: 0xC0F5, - 26648 - 11905: 0x96D8, - 26649 - 11905: 0x96D9, - 26650 - 11905: 0x96DA, - 26651 - 11905: 0x96DB, - 26652 - 11905: 0x96DC, - 26653 - 11905: 0xE8E9, - 26654 - 11905: 0x96DD, - 26655 - 11905: 0x96DE, - 26656 - 11905: 0x96DF, - 26657 - 11905: 0xD0A3, - 26658 - 11905: 0x96E0, - 26659 - 11905: 0x96E1, - 26660 - 11905: 0x96E2, - 26661 - 11905: 0x96E3, - 26662 - 11905: 0x96E4, - 26663 - 11905: 0x96E5, - 26664 - 11905: 0x96E6, - 26665 - 11905: 0xE8F2, - 26666 - 11905: 0xD6EA, - 26667 - 11905: 0x96E7, - 26668 - 11905: 0x96E8, - 26669 - 11905: 0x96E9, - 26670 - 11905: 0x96EA, - 26671 - 11905: 0x96EB, - 26672 - 11905: 0x96EC, - 26673 - 11905: 0x96ED, - 26674 - 11905: 0xE8E0, - 26675 - 11905: 0xE8E1, - 26676 - 11905: 0x96EE, - 26677 - 11905: 0x96EF, - 26678 - 11905: 0x96F0, - 26679 - 11905: 0xD1F9, - 26680 - 11905: 0xBACB, - 26681 - 11905: 0xB8F9, - 26682 - 11905: 0x96F1, - 26683 - 11905: 0x96F2, - 26684 - 11905: 0xB8F1, - 26685 - 11905: 0xD4D4, - 26686 - 11905: 0xE8EF, - 26687 - 11905: 0x96F3, - 26688 - 11905: 0xE8EE, - 26689 - 11905: 0xE8EC, - 26690 - 11905: 0xB9F0, - 26691 - 11905: 0xCCD2, - 26692 - 11905: 0xE8E6, - 26693 - 11905: 0xCEA6, - 26694 - 11905: 0xBFF2, - 26695 - 11905: 0x96F4, - 26696 - 11905: 0xB0B8, - 26697 - 11905: 0xE8F1, - 26698 - 11905: 0xE8F0, - 26699 - 11905: 0x96F5, - 26700 - 11905: 0xD7C0, - 26701 - 11905: 0x96F6, - 26702 - 11905: 0xE8E4, - 26703 - 11905: 0x96F7, - 26704 - 11905: 0xCDA9, - 26705 - 11905: 0xC9A3, - 26706 - 11905: 0x96F8, - 26707 - 11905: 0xBBB8, - 26708 - 11905: 0xBDDB, - 26709 - 11905: 0xE8EA, - 26710 - 11905: 0x96F9, - 26711 - 11905: 0x96FA, - 26712 - 11905: 0x96FB, - 26713 - 11905: 0x96FC, - 26714 - 11905: 0x96FD, - 26715 - 11905: 0x96FE, - 26716 - 11905: 0x9740, - 26717 - 11905: 0x9741, - 26718 - 11905: 0x9742, - 26719 - 11905: 0x9743, - 26720 - 11905: 0xE8E2, - 26721 - 11905: 0xE8E3, - 26722 - 11905: 0xE8E5, - 26723 - 11905: 0xB5B5, - 26724 - 11905: 0xE8E7, - 26725 - 11905: 0xC7C5, - 26726 - 11905: 0xE8EB, - 26727 - 11905: 0xE8ED, - 26728 - 11905: 0xBDB0, - 26729 - 11905: 0xD7AE, - 26730 - 11905: 0x9744, - 26731 - 11905: 0xE8F8, - 26732 - 11905: 0x9745, - 26733 - 11905: 0x9746, - 26734 - 11905: 0x9747, - 26735 - 11905: 0x9748, - 26736 - 11905: 0x9749, - 26737 - 11905: 0x974A, - 26738 - 11905: 0x974B, - 26739 - 11905: 0x974C, - 26740 - 11905: 0xE8F5, - 26741 - 11905: 0x974D, - 26742 - 11905: 0xCDB0, - 26743 - 11905: 0xE8F6, - 26744 - 11905: 0x974E, - 26745 - 11905: 0x974F, - 26746 - 11905: 0x9750, - 26747 - 11905: 0x9751, - 26748 - 11905: 0x9752, - 26749 - 11905: 0x9753, - 26750 - 11905: 0x9754, - 26751 - 11905: 0x9755, - 26752 - 11905: 0x9756, - 26753 - 11905: 0xC1BA, - 26754 - 11905: 0x9757, - 26755 - 11905: 0xE8E8, - 26756 - 11905: 0x9758, - 26757 - 11905: 0xC3B7, - 26758 - 11905: 0xB0F0, - 26759 - 11905: 0x9759, - 26760 - 11905: 0x975A, - 26761 - 11905: 0x975B, - 26762 - 11905: 0x975C, - 26763 - 11905: 0x975D, - 26764 - 11905: 0x975E, - 26765 - 11905: 0x975F, - 26766 - 11905: 0x9760, - 26767 - 11905: 0xE8F4, - 26768 - 11905: 0x9761, - 26769 - 11905: 0x9762, - 26770 - 11905: 0x9763, - 26771 - 11905: 0xE8F7, - 26772 - 11905: 0x9764, - 26773 - 11905: 0x9765, - 26774 - 11905: 0x9766, - 26775 - 11905: 0xB9A3, - 26776 - 11905: 0x9767, - 26777 - 11905: 0x9768, - 26778 - 11905: 0x9769, - 26779 - 11905: 0x976A, - 26780 - 11905: 0x976B, - 26781 - 11905: 0x976C, - 26782 - 11905: 0x976D, - 26783 - 11905: 0x976E, - 26784 - 11905: 0x976F, - 26785 - 11905: 0x9770, - 26786 - 11905: 0xC9D2, - 26787 - 11905: 0x9771, - 26788 - 11905: 0x9772, - 26789 - 11905: 0x9773, - 26790 - 11905: 0xC3CE, - 26791 - 11905: 0xCEE0, - 26792 - 11905: 0xC0E6, - 26793 - 11905: 0x9774, - 26794 - 11905: 0x9775, - 26795 - 11905: 0x9776, - 26796 - 11905: 0x9777, - 26797 - 11905: 0xCBF3, - 26798 - 11905: 0x9778, - 26799 - 11905: 0xCCDD, - 26800 - 11905: 0xD0B5, - 26801 - 11905: 0x9779, - 26802 - 11905: 0x977A, - 26803 - 11905: 0xCAE1, - 26804 - 11905: 0x977B, - 26805 - 11905: 0xE8F3, - 26806 - 11905: 0x977C, - 26807 - 11905: 0x977D, - 26808 - 11905: 0x977E, - 26809 - 11905: 0x9780, - 26810 - 11905: 0x9781, - 26811 - 11905: 0x9782, - 26812 - 11905: 0x9783, - 26813 - 11905: 0x9784, - 26814 - 11905: 0x9785, - 26815 - 11905: 0x9786, - 26816 - 11905: 0xBCEC, - 26817 - 11905: 0x9787, - 26818 - 11905: 0xE8F9, - 26819 - 11905: 0x9788, - 26820 - 11905: 0x9789, - 26821 - 11905: 0x978A, - 26822 - 11905: 0x978B, - 26823 - 11905: 0x978C, - 26824 - 11905: 0x978D, - 26825 - 11905: 0xC3DE, - 26826 - 11905: 0x978E, - 26827 - 11905: 0xC6E5, - 26828 - 11905: 0x978F, - 26829 - 11905: 0xB9F7, - 26830 - 11905: 0x9790, - 26831 - 11905: 0x9791, - 26832 - 11905: 0x9792, - 26833 - 11905: 0x9793, - 26834 - 11905: 0xB0F4, - 26835 - 11905: 0x9794, - 26836 - 11905: 0x9795, - 26837 - 11905: 0xD7D8, - 26838 - 11905: 0x9796, - 26839 - 11905: 0x9797, - 26840 - 11905: 0xBCAC, - 26841 - 11905: 0x9798, - 26842 - 11905: 0xC5EF, - 26843 - 11905: 0x9799, - 26844 - 11905: 0x979A, - 26845 - 11905: 0x979B, - 26846 - 11905: 0x979C, - 26847 - 11905: 0x979D, - 26848 - 11905: 0xCCC4, - 26849 - 11905: 0x979E, - 26850 - 11905: 0x979F, - 26851 - 11905: 0xE9A6, - 26852 - 11905: 0x97A0, - 26853 - 11905: 0x97A1, - 26854 - 11905: 0x97A2, - 26855 - 11905: 0x97A3, - 26856 - 11905: 0x97A4, - 26857 - 11905: 0x97A5, - 26858 - 11905: 0x97A6, - 26859 - 11905: 0x97A7, - 26860 - 11905: 0x97A8, - 26861 - 11905: 0x97A9, - 26862 - 11905: 0xC9AD, - 26863 - 11905: 0x97AA, - 26864 - 11905: 0xE9A2, - 26865 - 11905: 0xC0E2, - 26866 - 11905: 0x97AB, - 26867 - 11905: 0x97AC, - 26868 - 11905: 0x97AD, - 26869 - 11905: 0xBFC3, - 26870 - 11905: 0x97AE, - 26871 - 11905: 0x97AF, - 26872 - 11905: 0x97B0, - 26873 - 11905: 0xE8FE, - 26874 - 11905: 0xB9D7, - 26875 - 11905: 0x97B1, - 26876 - 11905: 0xE8FB, - 26877 - 11905: 0x97B2, - 26878 - 11905: 0x97B3, - 26879 - 11905: 0x97B4, - 26880 - 11905: 0x97B5, - 26881 - 11905: 0xE9A4, - 26882 - 11905: 0x97B6, - 26883 - 11905: 0x97B7, - 26884 - 11905: 0x97B8, - 26885 - 11905: 0xD2CE, - 26886 - 11905: 0x97B9, - 26887 - 11905: 0x97BA, - 26888 - 11905: 0x97BB, - 26889 - 11905: 0x97BC, - 26890 - 11905: 0x97BD, - 26891 - 11905: 0xE9A3, - 26892 - 11905: 0x97BE, - 26893 - 11905: 0xD6B2, - 26894 - 11905: 0xD7B5, - 26895 - 11905: 0x97BF, - 26896 - 11905: 0xE9A7, - 26897 - 11905: 0x97C0, - 26898 - 11905: 0xBDB7, - 26899 - 11905: 0x97C1, - 26900 - 11905: 0x97C2, - 26901 - 11905: 0x97C3, - 26902 - 11905: 0x97C4, - 26903 - 11905: 0x97C5, - 26904 - 11905: 0x97C6, - 26905 - 11905: 0x97C7, - 26906 - 11905: 0x97C8, - 26907 - 11905: 0x97C9, - 26908 - 11905: 0x97CA, - 26909 - 11905: 0x97CB, - 26910 - 11905: 0x97CC, - 26911 - 11905: 0xE8FC, - 26912 - 11905: 0xE8FD, - 26913 - 11905: 0x97CD, - 26914 - 11905: 0x97CE, - 26915 - 11905: 0x97CF, - 26916 - 11905: 0xE9A1, - 26917 - 11905: 0x97D0, - 26918 - 11905: 0x97D1, - 26919 - 11905: 0x97D2, - 26920 - 11905: 0x97D3, - 26921 - 11905: 0x97D4, - 26922 - 11905: 0x97D5, - 26923 - 11905: 0x97D6, - 26924 - 11905: 0x97D7, - 26925 - 11905: 0xCDD6, - 26926 - 11905: 0x97D8, - 26927 - 11905: 0x97D9, - 26928 - 11905: 0xD2AC, - 26929 - 11905: 0x97DA, - 26930 - 11905: 0x97DB, - 26931 - 11905: 0x97DC, - 26932 - 11905: 0xE9B2, - 26933 - 11905: 0x97DD, - 26934 - 11905: 0x97DE, - 26935 - 11905: 0x97DF, - 26936 - 11905: 0x97E0, - 26937 - 11905: 0xE9A9, - 26938 - 11905: 0x97E1, - 26939 - 11905: 0x97E2, - 26940 - 11905: 0x97E3, - 26941 - 11905: 0xB4AA, - 26942 - 11905: 0x97E4, - 26943 - 11905: 0xB4BB, - 26944 - 11905: 0x97E5, - 26945 - 11905: 0x97E6, - 26946 - 11905: 0xE9AB, - 26947 - 11905: 0x97E7, - 26948 - 11905: 0x97E8, - 26949 - 11905: 0x97E9, - 26950 - 11905: 0x97EA, - 26951 - 11905: 0x97EB, - 26952 - 11905: 0x97EC, - 26953 - 11905: 0x97ED, - 26954 - 11905: 0x97EE, - 26955 - 11905: 0x97EF, - 26956 - 11905: 0x97F0, - 26957 - 11905: 0x97F1, - 26958 - 11905: 0x97F2, - 26959 - 11905: 0x97F3, - 26960 - 11905: 0x97F4, - 26961 - 11905: 0x97F5, - 26962 - 11905: 0x97F6, - 26963 - 11905: 0x97F7, - 26964 - 11905: 0xD0A8, - 26965 - 11905: 0x97F8, - 26966 - 11905: 0x97F9, - 26967 - 11905: 0xE9A5, - 26968 - 11905: 0x97FA, - 26969 - 11905: 0x97FB, - 26970 - 11905: 0xB3FE, - 26971 - 11905: 0x97FC, - 26972 - 11905: 0x97FD, - 26973 - 11905: 0xE9AC, - 26974 - 11905: 0xC0E3, - 26975 - 11905: 0x97FE, - 26976 - 11905: 0xE9AA, - 26977 - 11905: 0x9840, - 26978 - 11905: 0x9841, - 26979 - 11905: 0xE9B9, - 26980 - 11905: 0x9842, - 26981 - 11905: 0x9843, - 26982 - 11905: 0xE9B8, - 26983 - 11905: 0x9844, - 26984 - 11905: 0x9845, - 26985 - 11905: 0x9846, - 26986 - 11905: 0x9847, - 26987 - 11905: 0xE9AE, - 26988 - 11905: 0x9848, - 26989 - 11905: 0x9849, - 26990 - 11905: 0xE8FA, - 26991 - 11905: 0x984A, - 26992 - 11905: 0x984B, - 26993 - 11905: 0xE9A8, - 26994 - 11905: 0x984C, - 26995 - 11905: 0x984D, - 26996 - 11905: 0x984E, - 26997 - 11905: 0x984F, - 26998 - 11905: 0x9850, - 26999 - 11905: 0xBFAC, - 27000 - 11905: 0xE9B1, - 27001 - 11905: 0xE9BA, - 27002 - 11905: 0x9851, - 27003 - 11905: 0x9852, - 27004 - 11905: 0xC2A5, - 27005 - 11905: 0x9853, - 27006 - 11905: 0x9854, - 27007 - 11905: 0x9855, - 27008 - 11905: 0xE9AF, - 27009 - 11905: 0x9856, - 27010 - 11905: 0xB8C5, - 27011 - 11905: 0x9857, - 27012 - 11905: 0xE9AD, - 27013 - 11905: 0x9858, - 27014 - 11905: 0xD3DC, - 27015 - 11905: 0xE9B4, - 27016 - 11905: 0xE9B5, - 27017 - 11905: 0xE9B7, - 27018 - 11905: 0x9859, - 27019 - 11905: 0x985A, - 27020 - 11905: 0x985B, - 27021 - 11905: 0xE9C7, - 27022 - 11905: 0x985C, - 27023 - 11905: 0x985D, - 27024 - 11905: 0x985E, - 27025 - 11905: 0x985F, - 27026 - 11905: 0x9860, - 27027 - 11905: 0x9861, - 27028 - 11905: 0xC0C6, - 27029 - 11905: 0xE9C5, - 27030 - 11905: 0x9862, - 27031 - 11905: 0x9863, - 27032 - 11905: 0xE9B0, - 27033 - 11905: 0x9864, - 27034 - 11905: 0x9865, - 27035 - 11905: 0xE9BB, - 27036 - 11905: 0xB0F1, - 27037 - 11905: 0x9866, - 27038 - 11905: 0x9867, - 27039 - 11905: 0x9868, - 27040 - 11905: 0x9869, - 27041 - 11905: 0x986A, - 27042 - 11905: 0x986B, - 27043 - 11905: 0x986C, - 27044 - 11905: 0x986D, - 27045 - 11905: 0x986E, - 27046 - 11905: 0x986F, - 27047 - 11905: 0xE9BC, - 27048 - 11905: 0xD5A5, - 27049 - 11905: 0x9870, - 27050 - 11905: 0x9871, - 27051 - 11905: 0xE9BE, - 27052 - 11905: 0x9872, - 27053 - 11905: 0xE9BF, - 27054 - 11905: 0x9873, - 27055 - 11905: 0x9874, - 27056 - 11905: 0x9875, - 27057 - 11905: 0xE9C1, - 27058 - 11905: 0x9876, - 27059 - 11905: 0x9877, - 27060 - 11905: 0xC1F1, - 27061 - 11905: 0x9878, - 27062 - 11905: 0x9879, - 27063 - 11905: 0xC8B6, - 27064 - 11905: 0x987A, - 27065 - 11905: 0x987B, - 27066 - 11905: 0x987C, - 27067 - 11905: 0xE9BD, - 27068 - 11905: 0x987D, - 27069 - 11905: 0x987E, - 27070 - 11905: 0x9880, - 27071 - 11905: 0x9881, - 27072 - 11905: 0x9882, - 27073 - 11905: 0xE9C2, - 27074 - 11905: 0x9883, - 27075 - 11905: 0x9884, - 27076 - 11905: 0x9885, - 27077 - 11905: 0x9886, - 27078 - 11905: 0x9887, - 27079 - 11905: 0x9888, - 27080 - 11905: 0x9889, - 27081 - 11905: 0x988A, - 27082 - 11905: 0xE9C3, - 27083 - 11905: 0x988B, - 27084 - 11905: 0xE9B3, - 27085 - 11905: 0x988C, - 27086 - 11905: 0xE9B6, - 27087 - 11905: 0x988D, - 27088 - 11905: 0xBBB1, - 27089 - 11905: 0x988E, - 27090 - 11905: 0x988F, - 27091 - 11905: 0x9890, - 27092 - 11905: 0xE9C0, - 27093 - 11905: 0x9891, - 27094 - 11905: 0x9892, - 27095 - 11905: 0x9893, - 27096 - 11905: 0x9894, - 27097 - 11905: 0x9895, - 27098 - 11905: 0x9896, - 27099 - 11905: 0xBCF7, - 27100 - 11905: 0x9897, - 27101 - 11905: 0x9898, - 27102 - 11905: 0x9899, - 27103 - 11905: 0xE9C4, - 27104 - 11905: 0xE9C6, - 27105 - 11905: 0x989A, - 27106 - 11905: 0x989B, - 27107 - 11905: 0x989C, - 27108 - 11905: 0x989D, - 27109 - 11905: 0x989E, - 27110 - 11905: 0x989F, - 27111 - 11905: 0x98A0, - 27112 - 11905: 0x98A1, - 27113 - 11905: 0x98A2, - 27114 - 11905: 0x98A3, - 27115 - 11905: 0x98A4, - 27116 - 11905: 0x98A5, - 27117 - 11905: 0xE9CA, - 27118 - 11905: 0x98A6, - 27119 - 11905: 0x98A7, - 27120 - 11905: 0x98A8, - 27121 - 11905: 0x98A9, - 27122 - 11905: 0xE9CE, - 27123 - 11905: 0x98AA, - 27124 - 11905: 0x98AB, - 27125 - 11905: 0x98AC, - 27126 - 11905: 0x98AD, - 27127 - 11905: 0x98AE, - 27128 - 11905: 0x98AF, - 27129 - 11905: 0x98B0, - 27130 - 11905: 0x98B1, - 27131 - 11905: 0x98B2, - 27132 - 11905: 0x98B3, - 27133 - 11905: 0xB2DB, - 27134 - 11905: 0x98B4, - 27135 - 11905: 0xE9C8, - 27136 - 11905: 0x98B5, - 27137 - 11905: 0x98B6, - 27138 - 11905: 0x98B7, - 27139 - 11905: 0x98B8, - 27140 - 11905: 0x98B9, - 27141 - 11905: 0x98BA, - 27142 - 11905: 0x98BB, - 27143 - 11905: 0x98BC, - 27144 - 11905: 0x98BD, - 27145 - 11905: 0x98BE, - 27146 - 11905: 0xB7AE, - 27147 - 11905: 0x98BF, - 27148 - 11905: 0x98C0, - 27149 - 11905: 0x98C1, - 27150 - 11905: 0x98C2, - 27151 - 11905: 0x98C3, - 27152 - 11905: 0x98C4, - 27153 - 11905: 0x98C5, - 27154 - 11905: 0x98C6, - 27155 - 11905: 0x98C7, - 27156 - 11905: 0x98C8, - 27157 - 11905: 0x98C9, - 27158 - 11905: 0x98CA, - 27159 - 11905: 0xE9CB, - 27160 - 11905: 0xE9CC, - 27161 - 11905: 0x98CB, - 27162 - 11905: 0x98CC, - 27163 - 11905: 0x98CD, - 27164 - 11905: 0x98CE, - 27165 - 11905: 0x98CF, - 27166 - 11905: 0x98D0, - 27167 - 11905: 0xD5C1, - 27168 - 11905: 0x98D1, - 27169 - 11905: 0xC4A3, - 27170 - 11905: 0x98D2, - 27171 - 11905: 0x98D3, - 27172 - 11905: 0x98D4, - 27173 - 11905: 0x98D5, - 27174 - 11905: 0x98D6, - 27175 - 11905: 0x98D7, - 27176 - 11905: 0xE9D8, - 27177 - 11905: 0x98D8, - 27178 - 11905: 0xBAE1, - 27179 - 11905: 0x98D9, - 27180 - 11905: 0x98DA, - 27181 - 11905: 0x98DB, - 27182 - 11905: 0x98DC, - 27183 - 11905: 0xE9C9, - 27184 - 11905: 0x98DD, - 27185 - 11905: 0xD3A3, - 27186 - 11905: 0x98DE, - 27187 - 11905: 0x98DF, - 27188 - 11905: 0x98E0, - 27189 - 11905: 0xE9D4, - 27190 - 11905: 0x98E1, - 27191 - 11905: 0x98E2, - 27192 - 11905: 0x98E3, - 27193 - 11905: 0x98E4, - 27194 - 11905: 0x98E5, - 27195 - 11905: 0x98E6, - 27196 - 11905: 0x98E7, - 27197 - 11905: 0xE9D7, - 27198 - 11905: 0xE9D0, - 27199 - 11905: 0x98E8, - 27200 - 11905: 0x98E9, - 27201 - 11905: 0x98EA, - 27202 - 11905: 0x98EB, - 27203 - 11905: 0x98EC, - 27204 - 11905: 0xE9CF, - 27205 - 11905: 0x98ED, - 27206 - 11905: 0x98EE, - 27207 - 11905: 0xC7C1, - 27208 - 11905: 0x98EF, - 27209 - 11905: 0x98F0, - 27210 - 11905: 0x98F1, - 27211 - 11905: 0x98F2, - 27212 - 11905: 0x98F3, - 27213 - 11905: 0x98F4, - 27214 - 11905: 0x98F5, - 27215 - 11905: 0x98F6, - 27216 - 11905: 0xE9D2, - 27217 - 11905: 0x98F7, - 27218 - 11905: 0x98F8, - 27219 - 11905: 0x98F9, - 27220 - 11905: 0x98FA, - 27221 - 11905: 0x98FB, - 27222 - 11905: 0x98FC, - 27223 - 11905: 0x98FD, - 27224 - 11905: 0xE9D9, - 27225 - 11905: 0xB3C8, - 27226 - 11905: 0x98FE, - 27227 - 11905: 0xE9D3, - 27228 - 11905: 0x9940, - 27229 - 11905: 0x9941, - 27230 - 11905: 0x9942, - 27231 - 11905: 0x9943, - 27232 - 11905: 0x9944, - 27233 - 11905: 0xCFF0, - 27234 - 11905: 0x9945, - 27235 - 11905: 0x9946, - 27236 - 11905: 0x9947, - 27237 - 11905: 0xE9CD, - 27238 - 11905: 0x9948, - 27239 - 11905: 0x9949, - 27240 - 11905: 0x994A, - 27241 - 11905: 0x994B, - 27242 - 11905: 0x994C, - 27243 - 11905: 0x994D, - 27244 - 11905: 0x994E, - 27245 - 11905: 0x994F, - 27246 - 11905: 0x9950, - 27247 - 11905: 0x9951, - 27248 - 11905: 0x9952, - 27249 - 11905: 0xB3F7, - 27250 - 11905: 0x9953, - 27251 - 11905: 0x9954, - 27252 - 11905: 0x9955, - 27253 - 11905: 0x9956, - 27254 - 11905: 0x9957, - 27255 - 11905: 0x9958, - 27256 - 11905: 0x9959, - 27257 - 11905: 0xE9D6, - 27258 - 11905: 0x995A, - 27259 - 11905: 0x995B, - 27260 - 11905: 0xE9DA, - 27261 - 11905: 0x995C, - 27262 - 11905: 0x995D, - 27263 - 11905: 0x995E, - 27264 - 11905: 0xCCB4, - 27265 - 11905: 0x995F, - 27266 - 11905: 0x9960, - 27267 - 11905: 0x9961, - 27268 - 11905: 0xCFAD, - 27269 - 11905: 0x9962, - 27270 - 11905: 0x9963, - 27271 - 11905: 0x9964, - 27272 - 11905: 0x9965, - 27273 - 11905: 0x9966, - 27274 - 11905: 0x9967, - 27275 - 11905: 0x9968, - 27276 - 11905: 0x9969, - 27277 - 11905: 0x996A, - 27278 - 11905: 0xE9D5, - 27279 - 11905: 0x996B, - 27280 - 11905: 0xE9DC, - 27281 - 11905: 0xE9DB, - 27282 - 11905: 0x996C, - 27283 - 11905: 0x996D, - 27284 - 11905: 0x996E, - 27285 - 11905: 0x996F, - 27286 - 11905: 0x9970, - 27287 - 11905: 0xE9DE, - 27288 - 11905: 0x9971, - 27289 - 11905: 0x9972, - 27290 - 11905: 0x9973, - 27291 - 11905: 0x9974, - 27292 - 11905: 0x9975, - 27293 - 11905: 0x9976, - 27294 - 11905: 0x9977, - 27295 - 11905: 0x9978, - 27296 - 11905: 0xE9D1, - 27297 - 11905: 0x9979, - 27298 - 11905: 0x997A, - 27299 - 11905: 0x997B, - 27300 - 11905: 0x997C, - 27301 - 11905: 0x997D, - 27302 - 11905: 0x997E, - 27303 - 11905: 0x9980, - 27304 - 11905: 0x9981, - 27305 - 11905: 0xE9DD, - 27306 - 11905: 0x9982, - 27307 - 11905: 0xE9DF, - 27308 - 11905: 0xC3CA, - 27309 - 11905: 0x9983, - 27310 - 11905: 0x9984, - 27311 - 11905: 0x9985, - 27312 - 11905: 0x9986, - 27313 - 11905: 0x9987, - 27314 - 11905: 0x9988, - 27315 - 11905: 0x9989, - 27316 - 11905: 0x998A, - 27317 - 11905: 0x998B, - 27318 - 11905: 0x998C, - 27319 - 11905: 0x998D, - 27320 - 11905: 0x998E, - 27321 - 11905: 0x998F, - 27322 - 11905: 0x9990, - 27323 - 11905: 0x9991, - 27324 - 11905: 0x9992, - 27325 - 11905: 0x9993, - 27326 - 11905: 0x9994, - 27327 - 11905: 0x9995, - 27328 - 11905: 0x9996, - 27329 - 11905: 0x9997, - 27330 - 11905: 0x9998, - 27331 - 11905: 0x9999, - 27332 - 11905: 0x999A, - 27333 - 11905: 0x999B, - 27334 - 11905: 0x999C, - 27335 - 11905: 0x999D, - 27336 - 11905: 0x999E, - 27337 - 11905: 0x999F, - 27338 - 11905: 0x99A0, - 27339 - 11905: 0x99A1, - 27340 - 11905: 0x99A2, - 27341 - 11905: 0x99A3, - 27342 - 11905: 0x99A4, - 27343 - 11905: 0x99A5, - 27344 - 11905: 0x99A6, - 27345 - 11905: 0x99A7, - 27346 - 11905: 0x99A8, - 27347 - 11905: 0x99A9, - 27348 - 11905: 0x99AA, - 27349 - 11905: 0x99AB, - 27350 - 11905: 0x99AC, - 27351 - 11905: 0x99AD, - 27352 - 11905: 0x99AE, - 27353 - 11905: 0x99AF, - 27354 - 11905: 0x99B0, - 27355 - 11905: 0x99B1, - 27356 - 11905: 0x99B2, - 27357 - 11905: 0x99B3, - 27358 - 11905: 0x99B4, - 27359 - 11905: 0x99B5, - 27360 - 11905: 0x99B6, - 27361 - 11905: 0x99B7, - 27362 - 11905: 0x99B8, - 27363 - 11905: 0x99B9, - 27364 - 11905: 0x99BA, - 27365 - 11905: 0x99BB, - 27366 - 11905: 0x99BC, - 27367 - 11905: 0x99BD, - 27368 - 11905: 0x99BE, - 27369 - 11905: 0x99BF, - 27370 - 11905: 0x99C0, - 27371 - 11905: 0x99C1, - 27372 - 11905: 0x99C2, - 27373 - 11905: 0x99C3, - 27374 - 11905: 0x99C4, - 27375 - 11905: 0x99C5, - 27376 - 11905: 0x99C6, - 27377 - 11905: 0x99C7, - 27378 - 11905: 0x99C8, - 27379 - 11905: 0x99C9, - 27380 - 11905: 0x99CA, - 27381 - 11905: 0x99CB, - 27382 - 11905: 0x99CC, - 27383 - 11905: 0x99CD, - 27384 - 11905: 0x99CE, - 27385 - 11905: 0x99CF, - 27386 - 11905: 0x99D0, - 27387 - 11905: 0x99D1, - 27388 - 11905: 0x99D2, - 27389 - 11905: 0x99D3, - 27390 - 11905: 0x99D4, - 27391 - 11905: 0x99D5, - 27392 - 11905: 0x99D6, - 27393 - 11905: 0x99D7, - 27394 - 11905: 0x99D8, - 27395 - 11905: 0x99D9, - 27396 - 11905: 0x99DA, - 27397 - 11905: 0x99DB, - 27398 - 11905: 0x99DC, - 27399 - 11905: 0x99DD, - 27400 - 11905: 0x99DE, - 27401 - 11905: 0x99DF, - 27402 - 11905: 0x99E0, - 27403 - 11905: 0x99E1, - 27404 - 11905: 0x99E2, - 27405 - 11905: 0x99E3, - 27406 - 11905: 0x99E4, - 27407 - 11905: 0x99E5, - 27408 - 11905: 0x99E6, - 27409 - 11905: 0x99E7, - 27410 - 11905: 0x99E8, - 27411 - 11905: 0x99E9, - 27412 - 11905: 0x99EA, - 27413 - 11905: 0x99EB, - 27414 - 11905: 0x99EC, - 27415 - 11905: 0x99ED, - 27416 - 11905: 0x99EE, - 27417 - 11905: 0x99EF, - 27418 - 11905: 0x99F0, - 27419 - 11905: 0x99F1, - 27420 - 11905: 0x99F2, - 27421 - 11905: 0x99F3, - 27422 - 11905: 0x99F4, - 27423 - 11905: 0x99F5, - 27424 - 11905: 0xC7B7, - 27425 - 11905: 0xB4CE, - 27426 - 11905: 0xBBB6, - 27427 - 11905: 0xD0C0, - 27428 - 11905: 0xECA3, - 27429 - 11905: 0x99F6, - 27430 - 11905: 0x99F7, - 27431 - 11905: 0xC5B7, - 27432 - 11905: 0x99F8, - 27433 - 11905: 0x99F9, - 27434 - 11905: 0x99FA, - 27435 - 11905: 0x99FB, - 27436 - 11905: 0x99FC, - 27437 - 11905: 0x99FD, - 27438 - 11905: 0x99FE, - 27439 - 11905: 0x9A40, - 27440 - 11905: 0x9A41, - 27441 - 11905: 0x9A42, - 27442 - 11905: 0xD3FB, - 27443 - 11905: 0x9A43, - 27444 - 11905: 0x9A44, - 27445 - 11905: 0x9A45, - 27446 - 11905: 0x9A46, - 27447 - 11905: 0xECA4, - 27448 - 11905: 0x9A47, - 27449 - 11905: 0xECA5, - 27450 - 11905: 0xC6DB, - 27451 - 11905: 0x9A48, - 27452 - 11905: 0x9A49, - 27453 - 11905: 0x9A4A, - 27454 - 11905: 0xBFEE, - 27455 - 11905: 0x9A4B, - 27456 - 11905: 0x9A4C, - 27457 - 11905: 0x9A4D, - 27458 - 11905: 0x9A4E, - 27459 - 11905: 0xECA6, - 27460 - 11905: 0x9A4F, - 27461 - 11905: 0x9A50, - 27462 - 11905: 0xECA7, - 27463 - 11905: 0xD0AA, - 27464 - 11905: 0x9A51, - 27465 - 11905: 0xC7B8, - 27466 - 11905: 0x9A52, - 27467 - 11905: 0x9A53, - 27468 - 11905: 0xB8E8, - 27469 - 11905: 0x9A54, - 27470 - 11905: 0x9A55, - 27471 - 11905: 0x9A56, - 27472 - 11905: 0x9A57, - 27473 - 11905: 0x9A58, - 27474 - 11905: 0x9A59, - 27475 - 11905: 0x9A5A, - 27476 - 11905: 0x9A5B, - 27477 - 11905: 0x9A5C, - 27478 - 11905: 0x9A5D, - 27479 - 11905: 0x9A5E, - 27480 - 11905: 0x9A5F, - 27481 - 11905: 0xECA8, - 27482 - 11905: 0x9A60, - 27483 - 11905: 0x9A61, - 27484 - 11905: 0x9A62, - 27485 - 11905: 0x9A63, - 27486 - 11905: 0x9A64, - 27487 - 11905: 0x9A65, - 27488 - 11905: 0x9A66, - 27489 - 11905: 0x9A67, - 27490 - 11905: 0xD6B9, - 27491 - 11905: 0xD5FD, - 27492 - 11905: 0xB4CB, - 27493 - 11905: 0xB2BD, - 27494 - 11905: 0xCEE4, - 27495 - 11905: 0xC6E7, - 27496 - 11905: 0x9A68, - 27497 - 11905: 0x9A69, - 27498 - 11905: 0xCDE1, - 27499 - 11905: 0x9A6A, - 27500 - 11905: 0x9A6B, - 27501 - 11905: 0x9A6C, - 27502 - 11905: 0x9A6D, - 27503 - 11905: 0x9A6E, - 27504 - 11905: 0x9A6F, - 27505 - 11905: 0x9A70, - 27506 - 11905: 0x9A71, - 27507 - 11905: 0x9A72, - 27508 - 11905: 0x9A73, - 27509 - 11905: 0x9A74, - 27510 - 11905: 0x9A75, - 27511 - 11905: 0x9A76, - 27512 - 11905: 0x9A77, - 27513 - 11905: 0xB4F5, - 27514 - 11905: 0x9A78, - 27515 - 11905: 0xCBC0, - 27516 - 11905: 0xBCDF, - 27517 - 11905: 0x9A79, - 27518 - 11905: 0x9A7A, - 27519 - 11905: 0x9A7B, - 27520 - 11905: 0x9A7C, - 27521 - 11905: 0xE9E2, - 27522 - 11905: 0xE9E3, - 27523 - 11905: 0xD1EA, - 27524 - 11905: 0xE9E5, - 27525 - 11905: 0x9A7D, - 27526 - 11905: 0xB4F9, - 27527 - 11905: 0xE9E4, - 27528 - 11905: 0x9A7E, - 27529 - 11905: 0xD1B3, - 27530 - 11905: 0xCAE2, - 27531 - 11905: 0xB2D0, - 27532 - 11905: 0x9A80, - 27533 - 11905: 0xE9E8, - 27534 - 11905: 0x9A81, - 27535 - 11905: 0x9A82, - 27536 - 11905: 0x9A83, - 27537 - 11905: 0x9A84, - 27538 - 11905: 0xE9E6, - 27539 - 11905: 0xE9E7, - 27540 - 11905: 0x9A85, - 27541 - 11905: 0x9A86, - 27542 - 11905: 0xD6B3, - 27543 - 11905: 0x9A87, - 27544 - 11905: 0x9A88, - 27545 - 11905: 0x9A89, - 27546 - 11905: 0xE9E9, - 27547 - 11905: 0xE9EA, - 27548 - 11905: 0x9A8A, - 27549 - 11905: 0x9A8B, - 27550 - 11905: 0x9A8C, - 27551 - 11905: 0x9A8D, - 27552 - 11905: 0x9A8E, - 27553 - 11905: 0xE9EB, - 27554 - 11905: 0x9A8F, - 27555 - 11905: 0x9A90, - 27556 - 11905: 0x9A91, - 27557 - 11905: 0x9A92, - 27558 - 11905: 0x9A93, - 27559 - 11905: 0x9A94, - 27560 - 11905: 0x9A95, - 27561 - 11905: 0x9A96, - 27562 - 11905: 0xE9EC, - 27563 - 11905: 0x9A97, - 27564 - 11905: 0x9A98, - 27565 - 11905: 0x9A99, - 27566 - 11905: 0x9A9A, - 27567 - 11905: 0x9A9B, - 27568 - 11905: 0x9A9C, - 27569 - 11905: 0x9A9D, - 27570 - 11905: 0x9A9E, - 27571 - 11905: 0xECAF, - 27572 - 11905: 0xC5B9, - 27573 - 11905: 0xB6CE, - 27574 - 11905: 0x9A9F, - 27575 - 11905: 0xD2F3, - 27576 - 11905: 0x9AA0, - 27577 - 11905: 0x9AA1, - 27578 - 11905: 0x9AA2, - 27579 - 11905: 0x9AA3, - 27580 - 11905: 0x9AA4, - 27581 - 11905: 0x9AA5, - 27582 - 11905: 0x9AA6, - 27583 - 11905: 0xB5EE, - 27584 - 11905: 0x9AA7, - 27585 - 11905: 0xBBD9, - 27586 - 11905: 0xECB1, - 27587 - 11905: 0x9AA8, - 27588 - 11905: 0x9AA9, - 27589 - 11905: 0xD2E3, - 27590 - 11905: 0x9AAA, - 27591 - 11905: 0x9AAB, - 27592 - 11905: 0x9AAC, - 27593 - 11905: 0x9AAD, - 27594 - 11905: 0x9AAE, - 27595 - 11905: 0xCEE3, - 27596 - 11905: 0x9AAF, - 27597 - 11905: 0xC4B8, - 27598 - 11905: 0x9AB0, - 27599 - 11905: 0xC3BF, - 27600 - 11905: 0x9AB1, - 27601 - 11905: 0x9AB2, - 27602 - 11905: 0xB6BE, - 27603 - 11905: 0xD8B9, - 27604 - 11905: 0xB1C8, - 27605 - 11905: 0xB1CF, - 27606 - 11905: 0xB1D1, - 27607 - 11905: 0xC5FE, - 27608 - 11905: 0x9AB3, - 27609 - 11905: 0xB1D0, - 27610 - 11905: 0x9AB4, - 27611 - 11905: 0xC3AB, - 27612 - 11905: 0x9AB5, - 27613 - 11905: 0x9AB6, - 27614 - 11905: 0x9AB7, - 27615 - 11905: 0x9AB8, - 27616 - 11905: 0x9AB9, - 27617 - 11905: 0xD5B1, - 27618 - 11905: 0x9ABA, - 27619 - 11905: 0x9ABB, - 27620 - 11905: 0x9ABC, - 27621 - 11905: 0x9ABD, - 27622 - 11905: 0x9ABE, - 27623 - 11905: 0x9ABF, - 27624 - 11905: 0x9AC0, - 27625 - 11905: 0x9AC1, - 27626 - 11905: 0xEBA4, - 27627 - 11905: 0xBAC1, - 27628 - 11905: 0x9AC2, - 27629 - 11905: 0x9AC3, - 27630 - 11905: 0x9AC4, - 27631 - 11905: 0xCCBA, - 27632 - 11905: 0x9AC5, - 27633 - 11905: 0x9AC6, - 27634 - 11905: 0x9AC7, - 27635 - 11905: 0xEBA5, - 27636 - 11905: 0x9AC8, - 27637 - 11905: 0xEBA7, - 27638 - 11905: 0x9AC9, - 27639 - 11905: 0x9ACA, - 27640 - 11905: 0x9ACB, - 27641 - 11905: 0xEBA8, - 27642 - 11905: 0x9ACC, - 27643 - 11905: 0x9ACD, - 27644 - 11905: 0x9ACE, - 27645 - 11905: 0xEBA6, - 27646 - 11905: 0x9ACF, - 27647 - 11905: 0x9AD0, - 27648 - 11905: 0x9AD1, - 27649 - 11905: 0x9AD2, - 27650 - 11905: 0x9AD3, - 27651 - 11905: 0x9AD4, - 27652 - 11905: 0x9AD5, - 27653 - 11905: 0xEBA9, - 27654 - 11905: 0xEBAB, - 27655 - 11905: 0xEBAA, - 27656 - 11905: 0x9AD6, - 27657 - 11905: 0x9AD7, - 27658 - 11905: 0x9AD8, - 27659 - 11905: 0x9AD9, - 27660 - 11905: 0x9ADA, - 27661 - 11905: 0xEBAC, - 27662 - 11905: 0x9ADB, - 27663 - 11905: 0xCACF, - 27664 - 11905: 0xD8B5, - 27665 - 11905: 0xC3F1, - 27666 - 11905: 0x9ADC, - 27667 - 11905: 0xC3A5, - 27668 - 11905: 0xC6F8, - 27669 - 11905: 0xEBAD, - 27670 - 11905: 0xC4CA, - 27671 - 11905: 0x9ADD, - 27672 - 11905: 0xEBAE, - 27673 - 11905: 0xEBAF, - 27674 - 11905: 0xEBB0, - 27675 - 11905: 0xB7D5, - 27676 - 11905: 0x9ADE, - 27677 - 11905: 0x9ADF, - 27678 - 11905: 0x9AE0, - 27679 - 11905: 0xB7FA, - 27680 - 11905: 0x9AE1, - 27681 - 11905: 0xEBB1, - 27682 - 11905: 0xC7E2, - 27683 - 11905: 0x9AE2, - 27684 - 11905: 0xEBB3, - 27685 - 11905: 0x9AE3, - 27686 - 11905: 0xBAA4, - 27687 - 11905: 0xD1F5, - 27688 - 11905: 0xB0B1, - 27689 - 11905: 0xEBB2, - 27690 - 11905: 0xEBB4, - 27691 - 11905: 0x9AE4, - 27692 - 11905: 0x9AE5, - 27693 - 11905: 0x9AE6, - 27694 - 11905: 0xB5AA, - 27695 - 11905: 0xC2C8, - 27696 - 11905: 0xC7E8, - 27697 - 11905: 0x9AE7, - 27698 - 11905: 0xEBB5, - 27699 - 11905: 0x9AE8, - 27700 - 11905: 0xCBAE, - 27701 - 11905: 0xE3DF, - 27702 - 11905: 0x9AE9, - 27703 - 11905: 0x9AEA, - 27704 - 11905: 0xD3C0, - 27705 - 11905: 0x9AEB, - 27706 - 11905: 0x9AEC, - 27707 - 11905: 0x9AED, - 27708 - 11905: 0x9AEE, - 27709 - 11905: 0xD9DB, - 27710 - 11905: 0x9AEF, - 27711 - 11905: 0x9AF0, - 27712 - 11905: 0xCDA1, - 27713 - 11905: 0xD6AD, - 27714 - 11905: 0xC7F3, - 27715 - 11905: 0x9AF1, - 27716 - 11905: 0x9AF2, - 27717 - 11905: 0x9AF3, - 27718 - 11905: 0xD9E0, - 27719 - 11905: 0xBBE3, - 27720 - 11905: 0x9AF4, - 27721 - 11905: 0xBABA, - 27722 - 11905: 0xE3E2, - 27723 - 11905: 0x9AF5, - 27724 - 11905: 0x9AF6, - 27725 - 11905: 0x9AF7, - 27726 - 11905: 0x9AF8, - 27727 - 11905: 0x9AF9, - 27728 - 11905: 0xCFAB, - 27729 - 11905: 0x9AFA, - 27730 - 11905: 0x9AFB, - 27731 - 11905: 0x9AFC, - 27732 - 11905: 0xE3E0, - 27733 - 11905: 0xC9C7, - 27734 - 11905: 0x9AFD, - 27735 - 11905: 0xBAB9, - 27736 - 11905: 0x9AFE, - 27737 - 11905: 0x9B40, - 27738 - 11905: 0x9B41, - 27739 - 11905: 0xD1B4, - 27740 - 11905: 0xE3E1, - 27741 - 11905: 0xC8EA, - 27742 - 11905: 0xB9AF, - 27743 - 11905: 0xBDAD, - 27744 - 11905: 0xB3D8, - 27745 - 11905: 0xCEDB, - 27746 - 11905: 0x9B42, - 27747 - 11905: 0x9B43, - 27748 - 11905: 0xCCC0, - 27749 - 11905: 0x9B44, - 27750 - 11905: 0x9B45, - 27751 - 11905: 0x9B46, - 27752 - 11905: 0xE3E8, - 27753 - 11905: 0xE3E9, - 27754 - 11905: 0xCDF4, - 27755 - 11905: 0x9B47, - 27756 - 11905: 0x9B48, - 27757 - 11905: 0x9B49, - 27758 - 11905: 0x9B4A, - 27759 - 11905: 0x9B4B, - 27760 - 11905: 0xCCAD, - 27761 - 11905: 0x9B4C, - 27762 - 11905: 0xBCB3, - 27763 - 11905: 0x9B4D, - 27764 - 11905: 0xE3EA, - 27765 - 11905: 0x9B4E, - 27766 - 11905: 0xE3EB, - 27767 - 11905: 0x9B4F, - 27768 - 11905: 0x9B50, - 27769 - 11905: 0xD0DA, - 27770 - 11905: 0x9B51, - 27771 - 11905: 0x9B52, - 27772 - 11905: 0x9B53, - 27773 - 11905: 0xC6FB, - 27774 - 11905: 0xB7DA, - 27775 - 11905: 0x9B54, - 27776 - 11905: 0x9B55, - 27777 - 11905: 0xC7DF, - 27778 - 11905: 0xD2CA, - 27779 - 11905: 0xCED6, - 27780 - 11905: 0x9B56, - 27781 - 11905: 0xE3E4, - 27782 - 11905: 0xE3EC, - 27783 - 11905: 0x9B57, - 27784 - 11905: 0xC9F2, - 27785 - 11905: 0xB3C1, - 27786 - 11905: 0x9B58, - 27787 - 11905: 0x9B59, - 27788 - 11905: 0xE3E7, - 27789 - 11905: 0x9B5A, - 27790 - 11905: 0x9B5B, - 27791 - 11905: 0xC6E3, - 27792 - 11905: 0xE3E5, - 27793 - 11905: 0x9B5C, - 27794 - 11905: 0x9B5D, - 27795 - 11905: 0xEDB3, - 27796 - 11905: 0xE3E6, - 27797 - 11905: 0x9B5E, - 27798 - 11905: 0x9B5F, - 27799 - 11905: 0x9B60, - 27800 - 11905: 0x9B61, - 27801 - 11905: 0xC9B3, - 27802 - 11905: 0x9B62, - 27803 - 11905: 0xC5E6, - 27804 - 11905: 0x9B63, - 27805 - 11905: 0x9B64, - 27806 - 11905: 0x9B65, - 27807 - 11905: 0xB9B5, - 27808 - 11905: 0x9B66, - 27809 - 11905: 0xC3BB, - 27810 - 11905: 0x9B67, - 27811 - 11905: 0xE3E3, - 27812 - 11905: 0xC5BD, - 27813 - 11905: 0xC1A4, - 27814 - 11905: 0xC2D9, - 27815 - 11905: 0xB2D7, - 27816 - 11905: 0x9B68, - 27817 - 11905: 0xE3ED, - 27818 - 11905: 0xBBA6, - 27819 - 11905: 0xC4AD, - 27820 - 11905: 0x9B69, - 27821 - 11905: 0xE3F0, - 27822 - 11905: 0xBEDA, - 27823 - 11905: 0x9B6A, - 27824 - 11905: 0x9B6B, - 27825 - 11905: 0xE3FB, - 27826 - 11905: 0xE3F5, - 27827 - 11905: 0xBAD3, - 27828 - 11905: 0x9B6C, - 27829 - 11905: 0x9B6D, - 27830 - 11905: 0x9B6E, - 27831 - 11905: 0x9B6F, - 27832 - 11905: 0xB7D0, - 27833 - 11905: 0xD3CD, - 27834 - 11905: 0x9B70, - 27835 - 11905: 0xD6CE, - 27836 - 11905: 0xD5D3, - 27837 - 11905: 0xB9C1, - 27838 - 11905: 0xD5B4, - 27839 - 11905: 0xD1D8, - 27840 - 11905: 0x9B71, - 27841 - 11905: 0x9B72, - 27842 - 11905: 0x9B73, - 27843 - 11905: 0x9B74, - 27844 - 11905: 0xD0B9, - 27845 - 11905: 0xC7F6, - 27846 - 11905: 0x9B75, - 27847 - 11905: 0x9B76, - 27848 - 11905: 0x9B77, - 27849 - 11905: 0xC8AA, - 27850 - 11905: 0xB2B4, - 27851 - 11905: 0x9B78, - 27852 - 11905: 0xC3DA, - 27853 - 11905: 0x9B79, - 27854 - 11905: 0x9B7A, - 27855 - 11905: 0x9B7B, - 27856 - 11905: 0xE3EE, - 27857 - 11905: 0x9B7C, - 27858 - 11905: 0x9B7D, - 27859 - 11905: 0xE3FC, - 27860 - 11905: 0xE3EF, - 27861 - 11905: 0xB7A8, - 27862 - 11905: 0xE3F7, - 27863 - 11905: 0xE3F4, - 27864 - 11905: 0x9B7E, - 27865 - 11905: 0x9B80, - 27866 - 11905: 0x9B81, - 27867 - 11905: 0xB7BA, - 27868 - 11905: 0x9B82, - 27869 - 11905: 0x9B83, - 27870 - 11905: 0xC5A2, - 27871 - 11905: 0x9B84, - 27872 - 11905: 0xE3F6, - 27873 - 11905: 0xC5DD, - 27874 - 11905: 0xB2A8, - 27875 - 11905: 0xC6FC, - 27876 - 11905: 0x9B85, - 27877 - 11905: 0xC4E0, - 27878 - 11905: 0x9B86, - 27879 - 11905: 0x9B87, - 27880 - 11905: 0xD7A2, - 27881 - 11905: 0x9B88, - 27882 - 11905: 0xC0E1, - 27883 - 11905: 0xE3F9, - 27884 - 11905: 0x9B89, - 27885 - 11905: 0x9B8A, - 27886 - 11905: 0xE3FA, - 27887 - 11905: 0xE3FD, - 27888 - 11905: 0xCCA9, - 27889 - 11905: 0xE3F3, - 27890 - 11905: 0x9B8B, - 27891 - 11905: 0xD3BE, - 27892 - 11905: 0x9B8C, - 27893 - 11905: 0xB1C3, - 27894 - 11905: 0xEDB4, - 27895 - 11905: 0xE3F1, - 27896 - 11905: 0xE3F2, - 27897 - 11905: 0x9B8D, - 27898 - 11905: 0xE3F8, - 27899 - 11905: 0xD0BA, - 27900 - 11905: 0xC6C3, - 27901 - 11905: 0xD4F3, - 27902 - 11905: 0xE3FE, - 27903 - 11905: 0x9B8E, - 27904 - 11905: 0x9B8F, - 27905 - 11905: 0xBDE0, - 27906 - 11905: 0x9B90, - 27907 - 11905: 0x9B91, - 27908 - 11905: 0xE4A7, - 27909 - 11905: 0x9B92, - 27910 - 11905: 0x9B93, - 27911 - 11905: 0xE4A6, - 27912 - 11905: 0x9B94, - 27913 - 11905: 0x9B95, - 27914 - 11905: 0x9B96, - 27915 - 11905: 0xD1F3, - 27916 - 11905: 0xE4A3, - 27917 - 11905: 0x9B97, - 27918 - 11905: 0xE4A9, - 27919 - 11905: 0x9B98, - 27920 - 11905: 0x9B99, - 27921 - 11905: 0x9B9A, - 27922 - 11905: 0xC8F7, - 27923 - 11905: 0x9B9B, - 27924 - 11905: 0x9B9C, - 27925 - 11905: 0x9B9D, - 27926 - 11905: 0x9B9E, - 27927 - 11905: 0xCFB4, - 27928 - 11905: 0x9B9F, - 27929 - 11905: 0xE4A8, - 27930 - 11905: 0xE4AE, - 27931 - 11905: 0xC2E5, - 27932 - 11905: 0x9BA0, - 27933 - 11905: 0x9BA1, - 27934 - 11905: 0xB6B4, - 27935 - 11905: 0x9BA2, - 27936 - 11905: 0x9BA3, - 27937 - 11905: 0x9BA4, - 27938 - 11905: 0x9BA5, - 27939 - 11905: 0x9BA6, - 27940 - 11905: 0x9BA7, - 27941 - 11905: 0xBDF2, - 27942 - 11905: 0x9BA8, - 27943 - 11905: 0xE4A2, - 27944 - 11905: 0x9BA9, - 27945 - 11905: 0x9BAA, - 27946 - 11905: 0xBAE9, - 27947 - 11905: 0xE4AA, - 27948 - 11905: 0x9BAB, - 27949 - 11905: 0x9BAC, - 27950 - 11905: 0xE4AC, - 27951 - 11905: 0x9BAD, - 27952 - 11905: 0x9BAE, - 27953 - 11905: 0xB6FD, - 27954 - 11905: 0xD6DE, - 27955 - 11905: 0xE4B2, - 27956 - 11905: 0x9BAF, - 27957 - 11905: 0xE4AD, - 27958 - 11905: 0x9BB0, - 27959 - 11905: 0x9BB1, - 27960 - 11905: 0x9BB2, - 27961 - 11905: 0xE4A1, - 27962 - 11905: 0x9BB3, - 27963 - 11905: 0xBBEE, - 27964 - 11905: 0xCDDD, - 27965 - 11905: 0xC7A2, - 27966 - 11905: 0xC5C9, - 27967 - 11905: 0x9BB4, - 27968 - 11905: 0x9BB5, - 27969 - 11905: 0xC1F7, - 27970 - 11905: 0x9BB6, - 27971 - 11905: 0xE4A4, - 27972 - 11905: 0x9BB7, - 27973 - 11905: 0xC7B3, - 27974 - 11905: 0xBDAC, - 27975 - 11905: 0xBDBD, - 27976 - 11905: 0xE4A5, - 27977 - 11905: 0x9BB8, - 27978 - 11905: 0xD7C7, - 27979 - 11905: 0xB2E2, - 27980 - 11905: 0x9BB9, - 27981 - 11905: 0xE4AB, - 27982 - 11905: 0xBCC3, - 27983 - 11905: 0xE4AF, - 27984 - 11905: 0x9BBA, - 27985 - 11905: 0xBBEB, - 27986 - 11905: 0xE4B0, - 27987 - 11905: 0xC5A8, - 27988 - 11905: 0xE4B1, - 27989 - 11905: 0x9BBB, - 27990 - 11905: 0x9BBC, - 27991 - 11905: 0x9BBD, - 27992 - 11905: 0x9BBE, - 27993 - 11905: 0xD5E3, - 27994 - 11905: 0xBFA3, - 27995 - 11905: 0x9BBF, - 27996 - 11905: 0xE4BA, - 27997 - 11905: 0x9BC0, - 27998 - 11905: 0xE4B7, - 27999 - 11905: 0x9BC1, - 28000 - 11905: 0xE4BB, - 28001 - 11905: 0x9BC2, - 28002 - 11905: 0x9BC3, - 28003 - 11905: 0xE4BD, - 28004 - 11905: 0x9BC4, - 28005 - 11905: 0x9BC5, - 28006 - 11905: 0xC6D6, - 28007 - 11905: 0x9BC6, - 28008 - 11905: 0x9BC7, - 28009 - 11905: 0xBAC6, - 28010 - 11905: 0xC0CB, - 28011 - 11905: 0x9BC8, - 28012 - 11905: 0x9BC9, - 28013 - 11905: 0x9BCA, - 28014 - 11905: 0xB8A1, - 28015 - 11905: 0xE4B4, - 28016 - 11905: 0x9BCB, - 28017 - 11905: 0x9BCC, - 28018 - 11905: 0x9BCD, - 28019 - 11905: 0x9BCE, - 28020 - 11905: 0xD4A1, - 28021 - 11905: 0x9BCF, - 28022 - 11905: 0x9BD0, - 28023 - 11905: 0xBAA3, - 28024 - 11905: 0xBDFE, - 28025 - 11905: 0x9BD1, - 28026 - 11905: 0x9BD2, - 28027 - 11905: 0x9BD3, - 28028 - 11905: 0xE4BC, - 28029 - 11905: 0x9BD4, - 28030 - 11905: 0x9BD5, - 28031 - 11905: 0x9BD6, - 28032 - 11905: 0x9BD7, - 28033 - 11905: 0x9BD8, - 28034 - 11905: 0xCDBF, - 28035 - 11905: 0x9BD9, - 28036 - 11905: 0x9BDA, - 28037 - 11905: 0xC4F9, - 28038 - 11905: 0x9BDB, - 28039 - 11905: 0x9BDC, - 28040 - 11905: 0xCFFB, - 28041 - 11905: 0xC9E6, - 28042 - 11905: 0x9BDD, - 28043 - 11905: 0x9BDE, - 28044 - 11905: 0xD3BF, - 28045 - 11905: 0x9BDF, - 28046 - 11905: 0xCFD1, - 28047 - 11905: 0x9BE0, - 28048 - 11905: 0x9BE1, - 28049 - 11905: 0xE4B3, - 28050 - 11905: 0x9BE2, - 28051 - 11905: 0xE4B8, - 28052 - 11905: 0xE4B9, - 28053 - 11905: 0xCCE9, - 28054 - 11905: 0x9BE3, - 28055 - 11905: 0x9BE4, - 28056 - 11905: 0x9BE5, - 28057 - 11905: 0x9BE6, - 28058 - 11905: 0x9BE7, - 28059 - 11905: 0xCCCE, - 28060 - 11905: 0x9BE8, - 28061 - 11905: 0xC0D4, - 28062 - 11905: 0xE4B5, - 28063 - 11905: 0xC1B0, - 28064 - 11905: 0xE4B6, - 28065 - 11905: 0xCED0, - 28066 - 11905: 0x9BE9, - 28067 - 11905: 0xBBC1, - 28068 - 11905: 0xB5D3, - 28069 - 11905: 0x9BEA, - 28070 - 11905: 0xC8F3, - 28071 - 11905: 0xBDA7, - 28072 - 11905: 0xD5C7, - 28073 - 11905: 0xC9AC, - 28074 - 11905: 0xB8A2, - 28075 - 11905: 0xE4CA, - 28076 - 11905: 0x9BEB, - 28077 - 11905: 0x9BEC, - 28078 - 11905: 0xE4CC, - 28079 - 11905: 0xD1C4, - 28080 - 11905: 0x9BED, - 28081 - 11905: 0x9BEE, - 28082 - 11905: 0xD2BA, - 28083 - 11905: 0x9BEF, - 28084 - 11905: 0x9BF0, - 28085 - 11905: 0xBAAD, - 28086 - 11905: 0x9BF1, - 28087 - 11905: 0x9BF2, - 28088 - 11905: 0xBAD4, - 28089 - 11905: 0x9BF3, - 28090 - 11905: 0x9BF4, - 28091 - 11905: 0x9BF5, - 28092 - 11905: 0x9BF6, - 28093 - 11905: 0x9BF7, - 28094 - 11905: 0x9BF8, - 28095 - 11905: 0xE4C3, - 28096 - 11905: 0xB5ED, - 28097 - 11905: 0x9BF9, - 28098 - 11905: 0x9BFA, - 28099 - 11905: 0x9BFB, - 28100 - 11905: 0xD7CD, - 28101 - 11905: 0xE4C0, - 28102 - 11905: 0xCFFD, - 28103 - 11905: 0xE4BF, - 28104 - 11905: 0x9BFC, - 28105 - 11905: 0x9BFD, - 28106 - 11905: 0x9BFE, - 28107 - 11905: 0xC1DC, - 28108 - 11905: 0xCCCA, - 28109 - 11905: 0x9C40, - 28110 - 11905: 0x9C41, - 28111 - 11905: 0x9C42, - 28112 - 11905: 0x9C43, - 28113 - 11905: 0xCAE7, - 28114 - 11905: 0x9C44, - 28115 - 11905: 0x9C45, - 28116 - 11905: 0x9C46, - 28117 - 11905: 0x9C47, - 28118 - 11905: 0xC4D7, - 28119 - 11905: 0x9C48, - 28120 - 11905: 0xCCD4, - 28121 - 11905: 0xE4C8, - 28122 - 11905: 0x9C49, - 28123 - 11905: 0x9C4A, - 28124 - 11905: 0x9C4B, - 28125 - 11905: 0xE4C7, - 28126 - 11905: 0xE4C1, - 28127 - 11905: 0x9C4C, - 28128 - 11905: 0xE4C4, - 28129 - 11905: 0xB5AD, - 28130 - 11905: 0x9C4D, - 28131 - 11905: 0x9C4E, - 28132 - 11905: 0xD3D9, - 28133 - 11905: 0x9C4F, - 28134 - 11905: 0xE4C6, - 28135 - 11905: 0x9C50, - 28136 - 11905: 0x9C51, - 28137 - 11905: 0x9C52, - 28138 - 11905: 0x9C53, - 28139 - 11905: 0xD2F9, - 28140 - 11905: 0xB4E3, - 28141 - 11905: 0x9C54, - 28142 - 11905: 0xBBB4, - 28143 - 11905: 0x9C55, - 28144 - 11905: 0x9C56, - 28145 - 11905: 0xC9EE, - 28146 - 11905: 0x9C57, - 28147 - 11905: 0xB4BE, - 28148 - 11905: 0x9C58, - 28149 - 11905: 0x9C59, - 28150 - 11905: 0x9C5A, - 28151 - 11905: 0xBBEC, - 28152 - 11905: 0x9C5B, - 28153 - 11905: 0xD1CD, - 28154 - 11905: 0x9C5C, - 28155 - 11905: 0xCCED, - 28156 - 11905: 0xEDB5, - 28157 - 11905: 0x9C5D, - 28158 - 11905: 0x9C5E, - 28159 - 11905: 0x9C5F, - 28160 - 11905: 0x9C60, - 28161 - 11905: 0x9C61, - 28162 - 11905: 0x9C62, - 28163 - 11905: 0x9C63, - 28164 - 11905: 0x9C64, - 28165 - 11905: 0xC7E5, - 28166 - 11905: 0x9C65, - 28167 - 11905: 0x9C66, - 28168 - 11905: 0x9C67, - 28169 - 11905: 0x9C68, - 28170 - 11905: 0xD4A8, - 28171 - 11905: 0x9C69, - 28172 - 11905: 0xE4CB, - 28173 - 11905: 0xD7D5, - 28174 - 11905: 0xE4C2, - 28175 - 11905: 0x9C6A, - 28176 - 11905: 0xBDA5, - 28177 - 11905: 0xE4C5, - 28178 - 11905: 0x9C6B, - 28179 - 11905: 0x9C6C, - 28180 - 11905: 0xD3E6, - 28181 - 11905: 0x9C6D, - 28182 - 11905: 0xE4C9, - 28183 - 11905: 0xC9F8, - 28184 - 11905: 0x9C6E, - 28185 - 11905: 0x9C6F, - 28186 - 11905: 0xE4BE, - 28187 - 11905: 0x9C70, - 28188 - 11905: 0x9C71, - 28189 - 11905: 0xD3E5, - 28190 - 11905: 0x9C72, - 28191 - 11905: 0x9C73, - 28192 - 11905: 0xC7FE, - 28193 - 11905: 0xB6C9, - 28194 - 11905: 0x9C74, - 28195 - 11905: 0xD4FC, - 28196 - 11905: 0xB2B3, - 28197 - 11905: 0xE4D7, - 28198 - 11905: 0x9C75, - 28199 - 11905: 0x9C76, - 28200 - 11905: 0x9C77, - 28201 - 11905: 0xCEC2, - 28202 - 11905: 0x9C78, - 28203 - 11905: 0xE4CD, - 28204 - 11905: 0x9C79, - 28205 - 11905: 0xCEBC, - 28206 - 11905: 0x9C7A, - 28207 - 11905: 0xB8DB, - 28208 - 11905: 0x9C7B, - 28209 - 11905: 0x9C7C, - 28210 - 11905: 0xE4D6, - 28211 - 11905: 0x9C7D, - 28212 - 11905: 0xBFCA, - 28213 - 11905: 0x9C7E, - 28214 - 11905: 0x9C80, - 28215 - 11905: 0x9C81, - 28216 - 11905: 0xD3CE, - 28217 - 11905: 0x9C82, - 28218 - 11905: 0xC3EC, - 28219 - 11905: 0x9C83, - 28220 - 11905: 0x9C84, - 28221 - 11905: 0x9C85, - 28222 - 11905: 0x9C86, - 28223 - 11905: 0x9C87, - 28224 - 11905: 0x9C88, - 28225 - 11905: 0x9C89, - 28226 - 11905: 0x9C8A, - 28227 - 11905: 0xC5C8, - 28228 - 11905: 0xE4D8, - 28229 - 11905: 0x9C8B, - 28230 - 11905: 0x9C8C, - 28231 - 11905: 0x9C8D, - 28232 - 11905: 0x9C8E, - 28233 - 11905: 0x9C8F, - 28234 - 11905: 0x9C90, - 28235 - 11905: 0x9C91, - 28236 - 11905: 0x9C92, - 28237 - 11905: 0xCDC4, - 28238 - 11905: 0xE4CF, - 28239 - 11905: 0x9C93, - 28240 - 11905: 0x9C94, - 28241 - 11905: 0x9C95, - 28242 - 11905: 0x9C96, - 28243 - 11905: 0xE4D4, - 28244 - 11905: 0xE4D5, - 28245 - 11905: 0x9C97, - 28246 - 11905: 0xBAFE, - 28247 - 11905: 0x9C98, - 28248 - 11905: 0xCFE6, - 28249 - 11905: 0x9C99, - 28250 - 11905: 0x9C9A, - 28251 - 11905: 0xD5BF, - 28252 - 11905: 0x9C9B, - 28253 - 11905: 0x9C9C, - 28254 - 11905: 0x9C9D, - 28255 - 11905: 0xE4D2, - 28256 - 11905: 0x9C9E, - 28257 - 11905: 0x9C9F, - 28258 - 11905: 0x9CA0, - 28259 - 11905: 0x9CA1, - 28260 - 11905: 0x9CA2, - 28261 - 11905: 0x9CA3, - 28262 - 11905: 0x9CA4, - 28263 - 11905: 0x9CA5, - 28264 - 11905: 0x9CA6, - 28265 - 11905: 0x9CA7, - 28266 - 11905: 0x9CA8, - 28267 - 11905: 0xE4D0, - 28268 - 11905: 0x9CA9, - 28269 - 11905: 0x9CAA, - 28270 - 11905: 0xE4CE, - 28271 - 11905: 0x9CAB, - 28272 - 11905: 0x9CAC, - 28273 - 11905: 0x9CAD, - 28274 - 11905: 0x9CAE, - 28275 - 11905: 0x9CAF, - 28276 - 11905: 0x9CB0, - 28277 - 11905: 0x9CB1, - 28278 - 11905: 0x9CB2, - 28279 - 11905: 0x9CB3, - 28280 - 11905: 0x9CB4, - 28281 - 11905: 0x9CB5, - 28282 - 11905: 0x9CB6, - 28283 - 11905: 0x9CB7, - 28284 - 11905: 0x9CB8, - 28285 - 11905: 0x9CB9, - 28286 - 11905: 0xCDE5, - 28287 - 11905: 0xCAAA, - 28288 - 11905: 0x9CBA, - 28289 - 11905: 0x9CBB, - 28290 - 11905: 0x9CBC, - 28291 - 11905: 0xC0A3, - 28292 - 11905: 0x9CBD, - 28293 - 11905: 0xBDA6, - 28294 - 11905: 0xE4D3, - 28295 - 11905: 0x9CBE, - 28296 - 11905: 0x9CBF, - 28297 - 11905: 0xB8C8, - 28298 - 11905: 0x9CC0, - 28299 - 11905: 0x9CC1, - 28300 - 11905: 0x9CC2, - 28301 - 11905: 0x9CC3, - 28302 - 11905: 0x9CC4, - 28303 - 11905: 0xE4E7, - 28304 - 11905: 0xD4B4, - 28305 - 11905: 0x9CC5, - 28306 - 11905: 0x9CC6, - 28307 - 11905: 0x9CC7, - 28308 - 11905: 0x9CC8, - 28309 - 11905: 0x9CC9, - 28310 - 11905: 0x9CCA, - 28311 - 11905: 0x9CCB, - 28312 - 11905: 0xE4DB, - 28313 - 11905: 0x9CCC, - 28314 - 11905: 0x9CCD, - 28315 - 11905: 0x9CCE, - 28316 - 11905: 0xC1EF, - 28317 - 11905: 0x9CCF, - 28318 - 11905: 0x9CD0, - 28319 - 11905: 0xE4E9, - 28320 - 11905: 0x9CD1, - 28321 - 11905: 0x9CD2, - 28322 - 11905: 0xD2E7, - 28323 - 11905: 0x9CD3, - 28324 - 11905: 0x9CD4, - 28325 - 11905: 0xE4DF, - 28326 - 11905: 0x9CD5, - 28327 - 11905: 0xE4E0, - 28328 - 11905: 0x9CD6, - 28329 - 11905: 0x9CD7, - 28330 - 11905: 0xCFAA, - 28331 - 11905: 0x9CD8, - 28332 - 11905: 0x9CD9, - 28333 - 11905: 0x9CDA, - 28334 - 11905: 0x9CDB, - 28335 - 11905: 0xCBDD, - 28336 - 11905: 0x9CDC, - 28337 - 11905: 0xE4DA, - 28338 - 11905: 0xE4D1, - 28339 - 11905: 0x9CDD, - 28340 - 11905: 0xE4E5, - 28341 - 11905: 0x9CDE, - 28342 - 11905: 0xC8DC, - 28343 - 11905: 0xE4E3, - 28344 - 11905: 0x9CDF, - 28345 - 11905: 0x9CE0, - 28346 - 11905: 0xC4E7, - 28347 - 11905: 0xE4E2, - 28348 - 11905: 0x9CE1, - 28349 - 11905: 0xE4E1, - 28350 - 11905: 0x9CE2, - 28351 - 11905: 0x9CE3, - 28352 - 11905: 0x9CE4, - 28353 - 11905: 0xB3FC, - 28354 - 11905: 0xE4E8, - 28355 - 11905: 0x9CE5, - 28356 - 11905: 0x9CE6, - 28357 - 11905: 0x9CE7, - 28358 - 11905: 0x9CE8, - 28359 - 11905: 0xB5E1, - 28360 - 11905: 0x9CE9, - 28361 - 11905: 0x9CEA, - 28362 - 11905: 0x9CEB, - 28363 - 11905: 0xD7CC, - 28364 - 11905: 0x9CEC, - 28365 - 11905: 0x9CED, - 28366 - 11905: 0x9CEE, - 28367 - 11905: 0xE4E6, - 28368 - 11905: 0x9CEF, - 28369 - 11905: 0xBBAC, - 28370 - 11905: 0x9CF0, - 28371 - 11905: 0xD7D2, - 28372 - 11905: 0xCCCF, - 28373 - 11905: 0xEBF8, - 28374 - 11905: 0x9CF1, - 28375 - 11905: 0xE4E4, - 28376 - 11905: 0x9CF2, - 28377 - 11905: 0x9CF3, - 28378 - 11905: 0xB9F6, - 28379 - 11905: 0x9CF4, - 28380 - 11905: 0x9CF5, - 28381 - 11905: 0x9CF6, - 28382 - 11905: 0xD6CD, - 28383 - 11905: 0xE4D9, - 28384 - 11905: 0xE4DC, - 28385 - 11905: 0xC2FA, - 28386 - 11905: 0xE4DE, - 28387 - 11905: 0x9CF7, - 28388 - 11905: 0xC2CB, - 28389 - 11905: 0xC0C4, - 28390 - 11905: 0xC2D0, - 28391 - 11905: 0x9CF8, - 28392 - 11905: 0xB1F5, - 28393 - 11905: 0xCCB2, - 28394 - 11905: 0x9CF9, - 28395 - 11905: 0x9CFA, - 28396 - 11905: 0x9CFB, - 28397 - 11905: 0x9CFC, - 28398 - 11905: 0x9CFD, - 28399 - 11905: 0x9CFE, - 28400 - 11905: 0x9D40, - 28401 - 11905: 0x9D41, - 28402 - 11905: 0x9D42, - 28403 - 11905: 0x9D43, - 28404 - 11905: 0xB5CE, - 28405 - 11905: 0x9D44, - 28406 - 11905: 0x9D45, - 28407 - 11905: 0x9D46, - 28408 - 11905: 0x9D47, - 28409 - 11905: 0xE4EF, - 28410 - 11905: 0x9D48, - 28411 - 11905: 0x9D49, - 28412 - 11905: 0x9D4A, - 28413 - 11905: 0x9D4B, - 28414 - 11905: 0x9D4C, - 28415 - 11905: 0x9D4D, - 28416 - 11905: 0x9D4E, - 28417 - 11905: 0x9D4F, - 28418 - 11905: 0xC6AF, - 28419 - 11905: 0x9D50, - 28420 - 11905: 0x9D51, - 28421 - 11905: 0x9D52, - 28422 - 11905: 0xC6E1, - 28423 - 11905: 0x9D53, - 28424 - 11905: 0x9D54, - 28425 - 11905: 0xE4F5, - 28426 - 11905: 0x9D55, - 28427 - 11905: 0x9D56, - 28428 - 11905: 0x9D57, - 28429 - 11905: 0x9D58, - 28430 - 11905: 0x9D59, - 28431 - 11905: 0xC2A9, - 28432 - 11905: 0x9D5A, - 28433 - 11905: 0x9D5B, - 28434 - 11905: 0x9D5C, - 28435 - 11905: 0xC0EC, - 28436 - 11905: 0xD1DD, - 28437 - 11905: 0xE4EE, - 28438 - 11905: 0x9D5D, - 28439 - 11905: 0x9D5E, - 28440 - 11905: 0x9D5F, - 28441 - 11905: 0x9D60, - 28442 - 11905: 0x9D61, - 28443 - 11905: 0x9D62, - 28444 - 11905: 0x9D63, - 28445 - 11905: 0x9D64, - 28446 - 11905: 0x9D65, - 28447 - 11905: 0x9D66, - 28448 - 11905: 0xC4AE, - 28449 - 11905: 0x9D67, - 28450 - 11905: 0x9D68, - 28451 - 11905: 0x9D69, - 28452 - 11905: 0xE4ED, - 28453 - 11905: 0x9D6A, - 28454 - 11905: 0x9D6B, - 28455 - 11905: 0x9D6C, - 28456 - 11905: 0x9D6D, - 28457 - 11905: 0xE4F6, - 28458 - 11905: 0xE4F4, - 28459 - 11905: 0xC2FE, - 28460 - 11905: 0x9D6E, - 28461 - 11905: 0xE4DD, - 28462 - 11905: 0x9D6F, - 28463 - 11905: 0xE4F0, - 28464 - 11905: 0x9D70, - 28465 - 11905: 0xCAFE, - 28466 - 11905: 0x9D71, - 28467 - 11905: 0xD5C4, - 28468 - 11905: 0x9D72, - 28469 - 11905: 0x9D73, - 28470 - 11905: 0xE4F1, - 28471 - 11905: 0x9D74, - 28472 - 11905: 0x9D75, - 28473 - 11905: 0x9D76, - 28474 - 11905: 0x9D77, - 28475 - 11905: 0x9D78, - 28476 - 11905: 0x9D79, - 28477 - 11905: 0x9D7A, - 28478 - 11905: 0xD1FA, - 28479 - 11905: 0x9D7B, - 28480 - 11905: 0x9D7C, - 28481 - 11905: 0x9D7D, - 28482 - 11905: 0x9D7E, - 28483 - 11905: 0x9D80, - 28484 - 11905: 0x9D81, - 28485 - 11905: 0x9D82, - 28486 - 11905: 0xE4EB, - 28487 - 11905: 0xE4EC, - 28488 - 11905: 0x9D83, - 28489 - 11905: 0x9D84, - 28490 - 11905: 0x9D85, - 28491 - 11905: 0xE4F2, - 28492 - 11905: 0x9D86, - 28493 - 11905: 0xCEAB, - 28494 - 11905: 0x9D87, - 28495 - 11905: 0x9D88, - 28496 - 11905: 0x9D89, - 28497 - 11905: 0x9D8A, - 28498 - 11905: 0x9D8B, - 28499 - 11905: 0x9D8C, - 28500 - 11905: 0x9D8D, - 28501 - 11905: 0x9D8E, - 28502 - 11905: 0x9D8F, - 28503 - 11905: 0x9D90, - 28504 - 11905: 0xC5CB, - 28505 - 11905: 0x9D91, - 28506 - 11905: 0x9D92, - 28507 - 11905: 0x9D93, - 28508 - 11905: 0xC7B1, - 28509 - 11905: 0x9D94, - 28510 - 11905: 0xC2BA, - 28511 - 11905: 0x9D95, - 28512 - 11905: 0x9D96, - 28513 - 11905: 0x9D97, - 28514 - 11905: 0xE4EA, - 28515 - 11905: 0x9D98, - 28516 - 11905: 0x9D99, - 28517 - 11905: 0x9D9A, - 28518 - 11905: 0xC1CA, - 28519 - 11905: 0x9D9B, - 28520 - 11905: 0x9D9C, - 28521 - 11905: 0x9D9D, - 28522 - 11905: 0x9D9E, - 28523 - 11905: 0x9D9F, - 28524 - 11905: 0x9DA0, - 28525 - 11905: 0xCCB6, - 28526 - 11905: 0xB3B1, - 28527 - 11905: 0x9DA1, - 28528 - 11905: 0x9DA2, - 28529 - 11905: 0x9DA3, - 28530 - 11905: 0xE4FB, - 28531 - 11905: 0x9DA4, - 28532 - 11905: 0xE4F3, - 28533 - 11905: 0x9DA5, - 28534 - 11905: 0x9DA6, - 28535 - 11905: 0x9DA7, - 28536 - 11905: 0xE4FA, - 28537 - 11905: 0x9DA8, - 28538 - 11905: 0xE4FD, - 28539 - 11905: 0x9DA9, - 28540 - 11905: 0xE4FC, - 28541 - 11905: 0x9DAA, - 28542 - 11905: 0x9DAB, - 28543 - 11905: 0x9DAC, - 28544 - 11905: 0x9DAD, - 28545 - 11905: 0x9DAE, - 28546 - 11905: 0x9DAF, - 28547 - 11905: 0x9DB0, - 28548 - 11905: 0xB3CE, - 28549 - 11905: 0x9DB1, - 28550 - 11905: 0x9DB2, - 28551 - 11905: 0x9DB3, - 28552 - 11905: 0xB3BA, - 28553 - 11905: 0xE4F7, - 28554 - 11905: 0x9DB4, - 28555 - 11905: 0x9DB5, - 28556 - 11905: 0xE4F9, - 28557 - 11905: 0xE4F8, - 28558 - 11905: 0xC5EC, - 28559 - 11905: 0x9DB6, - 28560 - 11905: 0x9DB7, - 28561 - 11905: 0x9DB8, - 28562 - 11905: 0x9DB9, - 28563 - 11905: 0x9DBA, - 28564 - 11905: 0x9DBB, - 28565 - 11905: 0x9DBC, - 28566 - 11905: 0x9DBD, - 28567 - 11905: 0x9DBE, - 28568 - 11905: 0x9DBF, - 28569 - 11905: 0x9DC0, - 28570 - 11905: 0x9DC1, - 28571 - 11905: 0x9DC2, - 28572 - 11905: 0xC0BD, - 28573 - 11905: 0x9DC3, - 28574 - 11905: 0x9DC4, - 28575 - 11905: 0x9DC5, - 28576 - 11905: 0x9DC6, - 28577 - 11905: 0xD4E8, - 28578 - 11905: 0x9DC7, - 28579 - 11905: 0x9DC8, - 28580 - 11905: 0x9DC9, - 28581 - 11905: 0x9DCA, - 28582 - 11905: 0x9DCB, - 28583 - 11905: 0xE5A2, - 28584 - 11905: 0x9DCC, - 28585 - 11905: 0x9DCD, - 28586 - 11905: 0x9DCE, - 28587 - 11905: 0x9DCF, - 28588 - 11905: 0x9DD0, - 28589 - 11905: 0x9DD1, - 28590 - 11905: 0x9DD2, - 28591 - 11905: 0x9DD3, - 28592 - 11905: 0x9DD4, - 28593 - 11905: 0x9DD5, - 28594 - 11905: 0x9DD6, - 28595 - 11905: 0xB0C4, - 28596 - 11905: 0x9DD7, - 28597 - 11905: 0x9DD8, - 28598 - 11905: 0xE5A4, - 28599 - 11905: 0x9DD9, - 28600 - 11905: 0x9DDA, - 28601 - 11905: 0xE5A3, - 28602 - 11905: 0x9DDB, - 28603 - 11905: 0x9DDC, - 28604 - 11905: 0x9DDD, - 28605 - 11905: 0x9DDE, - 28606 - 11905: 0x9DDF, - 28607 - 11905: 0x9DE0, - 28608 - 11905: 0xBCA4, - 28609 - 11905: 0x9DE1, - 28610 - 11905: 0xE5A5, - 28611 - 11905: 0x9DE2, - 28612 - 11905: 0x9DE3, - 28613 - 11905: 0x9DE4, - 28614 - 11905: 0x9DE5, - 28615 - 11905: 0x9DE6, - 28616 - 11905: 0x9DE7, - 28617 - 11905: 0xE5A1, - 28618 - 11905: 0x9DE8, - 28619 - 11905: 0x9DE9, - 28620 - 11905: 0x9DEA, - 28621 - 11905: 0x9DEB, - 28622 - 11905: 0x9DEC, - 28623 - 11905: 0x9DED, - 28624 - 11905: 0x9DEE, - 28625 - 11905: 0xE4FE, - 28626 - 11905: 0xB1F4, - 28627 - 11905: 0x9DEF, - 28628 - 11905: 0x9DF0, - 28629 - 11905: 0x9DF1, - 28630 - 11905: 0x9DF2, - 28631 - 11905: 0x9DF3, - 28632 - 11905: 0x9DF4, - 28633 - 11905: 0x9DF5, - 28634 - 11905: 0x9DF6, - 28635 - 11905: 0x9DF7, - 28636 - 11905: 0x9DF8, - 28637 - 11905: 0x9DF9, - 28638 - 11905: 0xE5A8, - 28639 - 11905: 0x9DFA, - 28640 - 11905: 0xE5A9, - 28641 - 11905: 0xE5A6, - 28642 - 11905: 0x9DFB, - 28643 - 11905: 0x9DFC, - 28644 - 11905: 0x9DFD, - 28645 - 11905: 0x9DFE, - 28646 - 11905: 0x9E40, - 28647 - 11905: 0x9E41, - 28648 - 11905: 0x9E42, - 28649 - 11905: 0x9E43, - 28650 - 11905: 0x9E44, - 28651 - 11905: 0x9E45, - 28652 - 11905: 0x9E46, - 28653 - 11905: 0x9E47, - 28654 - 11905: 0xE5A7, - 28655 - 11905: 0xE5AA, - 28656 - 11905: 0x9E48, - 28657 - 11905: 0x9E49, - 28658 - 11905: 0x9E4A, - 28659 - 11905: 0x9E4B, - 28660 - 11905: 0x9E4C, - 28661 - 11905: 0x9E4D, - 28662 - 11905: 0x9E4E, - 28663 - 11905: 0x9E4F, - 28664 - 11905: 0x9E50, - 28665 - 11905: 0x9E51, - 28666 - 11905: 0x9E52, - 28667 - 11905: 0x9E53, - 28668 - 11905: 0x9E54, - 28669 - 11905: 0x9E55, - 28670 - 11905: 0x9E56, - 28671 - 11905: 0x9E57, - 28672 - 11905: 0x9E58, - 28673 - 11905: 0x9E59, - 28674 - 11905: 0x9E5A, - 28675 - 11905: 0x9E5B, - 28676 - 11905: 0x9E5C, - 28677 - 11905: 0x9E5D, - 28678 - 11905: 0x9E5E, - 28679 - 11905: 0x9E5F, - 28680 - 11905: 0x9E60, - 28681 - 11905: 0x9E61, - 28682 - 11905: 0x9E62, - 28683 - 11905: 0x9E63, - 28684 - 11905: 0x9E64, - 28685 - 11905: 0x9E65, - 28686 - 11905: 0x9E66, - 28687 - 11905: 0x9E67, - 28688 - 11905: 0x9E68, - 28689 - 11905: 0xC6D9, - 28690 - 11905: 0x9E69, - 28691 - 11905: 0x9E6A, - 28692 - 11905: 0x9E6B, - 28693 - 11905: 0x9E6C, - 28694 - 11905: 0x9E6D, - 28695 - 11905: 0x9E6E, - 28696 - 11905: 0x9E6F, - 28697 - 11905: 0x9E70, - 28698 - 11905: 0xE5AB, - 28699 - 11905: 0xE5AD, - 28700 - 11905: 0x9E71, - 28701 - 11905: 0x9E72, - 28702 - 11905: 0x9E73, - 28703 - 11905: 0x9E74, - 28704 - 11905: 0x9E75, - 28705 - 11905: 0x9E76, - 28706 - 11905: 0x9E77, - 28707 - 11905: 0xE5AC, - 28708 - 11905: 0x9E78, - 28709 - 11905: 0x9E79, - 28710 - 11905: 0x9E7A, - 28711 - 11905: 0x9E7B, - 28712 - 11905: 0x9E7C, - 28713 - 11905: 0x9E7D, - 28714 - 11905: 0x9E7E, - 28715 - 11905: 0x9E80, - 28716 - 11905: 0x9E81, - 28717 - 11905: 0x9E82, - 28718 - 11905: 0x9E83, - 28719 - 11905: 0x9E84, - 28720 - 11905: 0x9E85, - 28721 - 11905: 0x9E86, - 28722 - 11905: 0x9E87, - 28723 - 11905: 0x9E88, - 28724 - 11905: 0x9E89, - 28725 - 11905: 0xE5AF, - 28726 - 11905: 0x9E8A, - 28727 - 11905: 0x9E8B, - 28728 - 11905: 0x9E8C, - 28729 - 11905: 0xE5AE, - 28730 - 11905: 0x9E8D, - 28731 - 11905: 0x9E8E, - 28732 - 11905: 0x9E8F, - 28733 - 11905: 0x9E90, - 28734 - 11905: 0x9E91, - 28735 - 11905: 0x9E92, - 28736 - 11905: 0x9E93, - 28737 - 11905: 0x9E94, - 28738 - 11905: 0x9E95, - 28739 - 11905: 0x9E96, - 28740 - 11905: 0x9E97, - 28741 - 11905: 0x9E98, - 28742 - 11905: 0x9E99, - 28743 - 11905: 0x9E9A, - 28744 - 11905: 0x9E9B, - 28745 - 11905: 0x9E9C, - 28746 - 11905: 0x9E9D, - 28747 - 11905: 0x9E9E, - 28748 - 11905: 0xB9E0, - 28749 - 11905: 0x9E9F, - 28750 - 11905: 0x9EA0, - 28751 - 11905: 0xE5B0, - 28752 - 11905: 0x9EA1, - 28753 - 11905: 0x9EA2, - 28754 - 11905: 0x9EA3, - 28755 - 11905: 0x9EA4, - 28756 - 11905: 0x9EA5, - 28757 - 11905: 0x9EA6, - 28758 - 11905: 0x9EA7, - 28759 - 11905: 0x9EA8, - 28760 - 11905: 0x9EA9, - 28761 - 11905: 0x9EAA, - 28762 - 11905: 0x9EAB, - 28763 - 11905: 0x9EAC, - 28764 - 11905: 0x9EAD, - 28765 - 11905: 0x9EAE, - 28766 - 11905: 0xE5B1, - 28767 - 11905: 0x9EAF, - 28768 - 11905: 0x9EB0, - 28769 - 11905: 0x9EB1, - 28770 - 11905: 0x9EB2, - 28771 - 11905: 0x9EB3, - 28772 - 11905: 0x9EB4, - 28773 - 11905: 0x9EB5, - 28774 - 11905: 0x9EB6, - 28775 - 11905: 0x9EB7, - 28776 - 11905: 0x9EB8, - 28777 - 11905: 0x9EB9, - 28778 - 11905: 0x9EBA, - 28779 - 11905: 0xBBF0, - 28780 - 11905: 0xECE1, - 28781 - 11905: 0xC3F0, - 28782 - 11905: 0x9EBB, - 28783 - 11905: 0xB5C6, - 28784 - 11905: 0xBBD2, - 28785 - 11905: 0x9EBC, - 28786 - 11905: 0x9EBD, - 28787 - 11905: 0x9EBE, - 28788 - 11905: 0x9EBF, - 28789 - 11905: 0xC1E9, - 28790 - 11905: 0xD4EE, - 28791 - 11905: 0x9EC0, - 28792 - 11905: 0xBEC4, - 28793 - 11905: 0x9EC1, - 28794 - 11905: 0x9EC2, - 28795 - 11905: 0x9EC3, - 28796 - 11905: 0xD7C6, - 28797 - 11905: 0x9EC4, - 28798 - 11905: 0xD4D6, - 28799 - 11905: 0xB2D3, - 28800 - 11905: 0xECBE, - 28801 - 11905: 0x9EC5, - 28802 - 11905: 0x9EC6, - 28803 - 11905: 0x9EC7, - 28804 - 11905: 0x9EC8, - 28805 - 11905: 0xEAC1, - 28806 - 11905: 0x9EC9, - 28807 - 11905: 0x9ECA, - 28808 - 11905: 0x9ECB, - 28809 - 11905: 0xC2AF, - 28810 - 11905: 0xB4B6, - 28811 - 11905: 0x9ECC, - 28812 - 11905: 0x9ECD, - 28813 - 11905: 0x9ECE, - 28814 - 11905: 0xD1D7, - 28815 - 11905: 0x9ECF, - 28816 - 11905: 0x9ED0, - 28817 - 11905: 0x9ED1, - 28818 - 11905: 0xB3B4, - 28819 - 11905: 0x9ED2, - 28820 - 11905: 0xC8B2, - 28821 - 11905: 0xBFBB, - 28822 - 11905: 0xECC0, - 28823 - 11905: 0x9ED3, - 28824 - 11905: 0x9ED4, - 28825 - 11905: 0xD6CB, - 28826 - 11905: 0x9ED5, - 28827 - 11905: 0x9ED6, - 28828 - 11905: 0xECBF, - 28829 - 11905: 0xECC1, - 28830 - 11905: 0x9ED7, - 28831 - 11905: 0x9ED8, - 28832 - 11905: 0x9ED9, - 28833 - 11905: 0x9EDA, - 28834 - 11905: 0x9EDB, - 28835 - 11905: 0x9EDC, - 28836 - 11905: 0x9EDD, - 28837 - 11905: 0x9EDE, - 28838 - 11905: 0x9EDF, - 28839 - 11905: 0x9EE0, - 28840 - 11905: 0x9EE1, - 28841 - 11905: 0x9EE2, - 28842 - 11905: 0x9EE3, - 28843 - 11905: 0xECC5, - 28844 - 11905: 0xBEE6, - 28845 - 11905: 0xCCBF, - 28846 - 11905: 0xC5DA, - 28847 - 11905: 0xBEBC, - 28848 - 11905: 0x9EE4, - 28849 - 11905: 0xECC6, - 28850 - 11905: 0x9EE5, - 28851 - 11905: 0xB1FE, - 28852 - 11905: 0x9EE6, - 28853 - 11905: 0x9EE7, - 28854 - 11905: 0x9EE8, - 28855 - 11905: 0xECC4, - 28856 - 11905: 0xD5A8, - 28857 - 11905: 0xB5E3, - 28858 - 11905: 0x9EE9, - 28859 - 11905: 0xECC2, - 28860 - 11905: 0xC1B6, - 28861 - 11905: 0xB3E3, - 28862 - 11905: 0x9EEA, - 28863 - 11905: 0x9EEB, - 28864 - 11905: 0xECC3, - 28865 - 11905: 0xCBB8, - 28866 - 11905: 0xC0C3, - 28867 - 11905: 0xCCFE, - 28868 - 11905: 0x9EEC, - 28869 - 11905: 0x9EED, - 28870 - 11905: 0x9EEE, - 28871 - 11905: 0x9EEF, - 28872 - 11905: 0xC1D2, - 28873 - 11905: 0x9EF0, - 28874 - 11905: 0xECC8, - 28875 - 11905: 0x9EF1, - 28876 - 11905: 0x9EF2, - 28877 - 11905: 0x9EF3, - 28878 - 11905: 0x9EF4, - 28879 - 11905: 0x9EF5, - 28880 - 11905: 0x9EF6, - 28881 - 11905: 0x9EF7, - 28882 - 11905: 0x9EF8, - 28883 - 11905: 0x9EF9, - 28884 - 11905: 0x9EFA, - 28885 - 11905: 0x9EFB, - 28886 - 11905: 0x9EFC, - 28887 - 11905: 0x9EFD, - 28888 - 11905: 0xBAE6, - 28889 - 11905: 0xC0D3, - 28890 - 11905: 0x9EFE, - 28891 - 11905: 0xD6F2, - 28892 - 11905: 0x9F40, - 28893 - 11905: 0x9F41, - 28894 - 11905: 0x9F42, - 28895 - 11905: 0xD1CC, - 28896 - 11905: 0x9F43, - 28897 - 11905: 0x9F44, - 28898 - 11905: 0x9F45, - 28899 - 11905: 0x9F46, - 28900 - 11905: 0xBFBE, - 28901 - 11905: 0x9F47, - 28902 - 11905: 0xB7B3, - 28903 - 11905: 0xC9D5, - 28904 - 11905: 0xECC7, - 28905 - 11905: 0xBBE2, - 28906 - 11905: 0x9F48, - 28907 - 11905: 0xCCCC, - 28908 - 11905: 0xBDFD, - 28909 - 11905: 0xC8C8, - 28910 - 11905: 0x9F49, - 28911 - 11905: 0xCFA9, - 28912 - 11905: 0x9F4A, - 28913 - 11905: 0x9F4B, - 28914 - 11905: 0x9F4C, - 28915 - 11905: 0x9F4D, - 28916 - 11905: 0x9F4E, - 28917 - 11905: 0x9F4F, - 28918 - 11905: 0x9F50, - 28919 - 11905: 0xCDE9, - 28920 - 11905: 0x9F51, - 28921 - 11905: 0xC5EB, - 28922 - 11905: 0x9F52, - 28923 - 11905: 0x9F53, - 28924 - 11905: 0x9F54, - 28925 - 11905: 0xB7E9, - 28926 - 11905: 0x9F55, - 28927 - 11905: 0x9F56, - 28928 - 11905: 0x9F57, - 28929 - 11905: 0x9F58, - 28930 - 11905: 0x9F59, - 28931 - 11905: 0x9F5A, - 28932 - 11905: 0x9F5B, - 28933 - 11905: 0x9F5C, - 28934 - 11905: 0x9F5D, - 28935 - 11905: 0x9F5E, - 28936 - 11905: 0x9F5F, - 28937 - 11905: 0xD1C9, - 28938 - 11905: 0xBAB8, - 28939 - 11905: 0x9F60, - 28940 - 11905: 0x9F61, - 28941 - 11905: 0x9F62, - 28942 - 11905: 0x9F63, - 28943 - 11905: 0x9F64, - 28944 - 11905: 0xECC9, - 28945 - 11905: 0x9F65, - 28946 - 11905: 0x9F66, - 28947 - 11905: 0xECCA, - 28948 - 11905: 0x9F67, - 28949 - 11905: 0xBBC0, - 28950 - 11905: 0xECCB, - 28951 - 11905: 0x9F68, - 28952 - 11905: 0xECE2, - 28953 - 11905: 0xB1BA, - 28954 - 11905: 0xB7D9, - 28955 - 11905: 0x9F69, - 28956 - 11905: 0x9F6A, - 28957 - 11905: 0x9F6B, - 28958 - 11905: 0x9F6C, - 28959 - 11905: 0x9F6D, - 28960 - 11905: 0x9F6E, - 28961 - 11905: 0x9F6F, - 28962 - 11905: 0x9F70, - 28963 - 11905: 0x9F71, - 28964 - 11905: 0x9F72, - 28965 - 11905: 0x9F73, - 28966 - 11905: 0xBDB9, - 28967 - 11905: 0x9F74, - 28968 - 11905: 0x9F75, - 28969 - 11905: 0x9F76, - 28970 - 11905: 0x9F77, - 28971 - 11905: 0x9F78, - 28972 - 11905: 0x9F79, - 28973 - 11905: 0x9F7A, - 28974 - 11905: 0x9F7B, - 28975 - 11905: 0xECCC, - 28976 - 11905: 0xD1E6, - 28977 - 11905: 0xECCD, - 28978 - 11905: 0x9F7C, - 28979 - 11905: 0x9F7D, - 28980 - 11905: 0x9F7E, - 28981 - 11905: 0x9F80, - 28982 - 11905: 0xC8BB, - 28983 - 11905: 0x9F81, - 28984 - 11905: 0x9F82, - 28985 - 11905: 0x9F83, - 28986 - 11905: 0x9F84, - 28987 - 11905: 0x9F85, - 28988 - 11905: 0x9F86, - 28989 - 11905: 0x9F87, - 28990 - 11905: 0x9F88, - 28991 - 11905: 0x9F89, - 28992 - 11905: 0x9F8A, - 28993 - 11905: 0x9F8B, - 28994 - 11905: 0x9F8C, - 28995 - 11905: 0x9F8D, - 28996 - 11905: 0x9F8E, - 28997 - 11905: 0xECD1, - 28998 - 11905: 0x9F8F, - 28999 - 11905: 0x9F90, - 29000 - 11905: 0x9F91, - 29001 - 11905: 0x9F92, - 29002 - 11905: 0xECD3, - 29003 - 11905: 0x9F93, - 29004 - 11905: 0xBBCD, - 29005 - 11905: 0x9F94, - 29006 - 11905: 0xBCE5, - 29007 - 11905: 0x9F95, - 29008 - 11905: 0x9F96, - 29009 - 11905: 0x9F97, - 29010 - 11905: 0x9F98, - 29011 - 11905: 0x9F99, - 29012 - 11905: 0x9F9A, - 29013 - 11905: 0x9F9B, - 29014 - 11905: 0x9F9C, - 29015 - 11905: 0x9F9D, - 29016 - 11905: 0x9F9E, - 29017 - 11905: 0x9F9F, - 29018 - 11905: 0x9FA0, - 29019 - 11905: 0x9FA1, - 29020 - 11905: 0xECCF, - 29021 - 11905: 0x9FA2, - 29022 - 11905: 0xC9B7, - 29023 - 11905: 0x9FA3, - 29024 - 11905: 0x9FA4, - 29025 - 11905: 0x9FA5, - 29026 - 11905: 0x9FA6, - 29027 - 11905: 0x9FA7, - 29028 - 11905: 0xC3BA, - 29029 - 11905: 0x9FA8, - 29030 - 11905: 0xECE3, - 29031 - 11905: 0xD5D5, - 29032 - 11905: 0xECD0, - 29033 - 11905: 0x9FA9, - 29034 - 11905: 0x9FAA, - 29035 - 11905: 0x9FAB, - 29036 - 11905: 0x9FAC, - 29037 - 11905: 0x9FAD, - 29038 - 11905: 0xD6F3, - 29039 - 11905: 0x9FAE, - 29040 - 11905: 0x9FAF, - 29041 - 11905: 0x9FB0, - 29042 - 11905: 0xECD2, - 29043 - 11905: 0xECCE, - 29044 - 11905: 0x9FB1, - 29045 - 11905: 0x9FB2, - 29046 - 11905: 0x9FB3, - 29047 - 11905: 0x9FB4, - 29048 - 11905: 0xECD4, - 29049 - 11905: 0x9FB5, - 29050 - 11905: 0xECD5, - 29051 - 11905: 0x9FB6, - 29052 - 11905: 0x9FB7, - 29053 - 11905: 0xC9BF, - 29054 - 11905: 0x9FB8, - 29055 - 11905: 0x9FB9, - 29056 - 11905: 0x9FBA, - 29057 - 11905: 0x9FBB, - 29058 - 11905: 0x9FBC, - 29059 - 11905: 0x9FBD, - 29060 - 11905: 0xCFA8, - 29061 - 11905: 0x9FBE, - 29062 - 11905: 0x9FBF, - 29063 - 11905: 0x9FC0, - 29064 - 11905: 0x9FC1, - 29065 - 11905: 0x9FC2, - 29066 - 11905: 0xD0DC, - 29067 - 11905: 0x9FC3, - 29068 - 11905: 0x9FC4, - 29069 - 11905: 0x9FC5, - 29070 - 11905: 0x9FC6, - 29071 - 11905: 0xD1AC, - 29072 - 11905: 0x9FC7, - 29073 - 11905: 0x9FC8, - 29074 - 11905: 0x9FC9, - 29075 - 11905: 0x9FCA, - 29076 - 11905: 0xC8DB, - 29077 - 11905: 0x9FCB, - 29078 - 11905: 0x9FCC, - 29079 - 11905: 0x9FCD, - 29080 - 11905: 0xECD6, - 29081 - 11905: 0xCEF5, - 29082 - 11905: 0x9FCE, - 29083 - 11905: 0x9FCF, - 29084 - 11905: 0x9FD0, - 29085 - 11905: 0x9FD1, - 29086 - 11905: 0x9FD2, - 29087 - 11905: 0xCAEC, - 29088 - 11905: 0xECDA, - 29089 - 11905: 0x9FD3, - 29090 - 11905: 0x9FD4, - 29091 - 11905: 0x9FD5, - 29092 - 11905: 0x9FD6, - 29093 - 11905: 0x9FD7, - 29094 - 11905: 0x9FD8, - 29095 - 11905: 0x9FD9, - 29096 - 11905: 0xECD9, - 29097 - 11905: 0x9FDA, - 29098 - 11905: 0x9FDB, - 29099 - 11905: 0x9FDC, - 29100 - 11905: 0xB0BE, - 29101 - 11905: 0x9FDD, - 29102 - 11905: 0x9FDE, - 29103 - 11905: 0x9FDF, - 29104 - 11905: 0x9FE0, - 29105 - 11905: 0x9FE1, - 29106 - 11905: 0x9FE2, - 29107 - 11905: 0xECD7, - 29108 - 11905: 0x9FE3, - 29109 - 11905: 0xECD8, - 29110 - 11905: 0x9FE4, - 29111 - 11905: 0x9FE5, - 29112 - 11905: 0x9FE6, - 29113 - 11905: 0xECE4, - 29114 - 11905: 0x9FE7, - 29115 - 11905: 0x9FE8, - 29116 - 11905: 0x9FE9, - 29117 - 11905: 0x9FEA, - 29118 - 11905: 0x9FEB, - 29119 - 11905: 0x9FEC, - 29120 - 11905: 0x9FED, - 29121 - 11905: 0x9FEE, - 29122 - 11905: 0x9FEF, - 29123 - 11905: 0xC8BC, - 29124 - 11905: 0x9FF0, - 29125 - 11905: 0x9FF1, - 29126 - 11905: 0x9FF2, - 29127 - 11905: 0x9FF3, - 29128 - 11905: 0x9FF4, - 29129 - 11905: 0x9FF5, - 29130 - 11905: 0x9FF6, - 29131 - 11905: 0x9FF7, - 29132 - 11905: 0x9FF8, - 29133 - 11905: 0x9FF9, - 29134 - 11905: 0xC1C7, - 29135 - 11905: 0x9FFA, - 29136 - 11905: 0x9FFB, - 29137 - 11905: 0x9FFC, - 29138 - 11905: 0x9FFD, - 29139 - 11905: 0x9FFE, - 29140 - 11905: 0xECDC, - 29141 - 11905: 0xD1E0, - 29142 - 11905: 0xA040, - 29143 - 11905: 0xA041, - 29144 - 11905: 0xA042, - 29145 - 11905: 0xA043, - 29146 - 11905: 0xA044, - 29147 - 11905: 0xA045, - 29148 - 11905: 0xA046, - 29149 - 11905: 0xA047, - 29150 - 11905: 0xA048, - 29151 - 11905: 0xA049, - 29152 - 11905: 0xECDB, - 29153 - 11905: 0xA04A, - 29154 - 11905: 0xA04B, - 29155 - 11905: 0xA04C, - 29156 - 11905: 0xA04D, - 29157 - 11905: 0xD4EF, - 29158 - 11905: 0xA04E, - 29159 - 11905: 0xECDD, - 29160 - 11905: 0xA04F, - 29161 - 11905: 0xA050, - 29162 - 11905: 0xA051, - 29163 - 11905: 0xA052, - 29164 - 11905: 0xA053, - 29165 - 11905: 0xA054, - 29166 - 11905: 0xDBC6, - 29167 - 11905: 0xA055, - 29168 - 11905: 0xA056, - 29169 - 11905: 0xA057, - 29170 - 11905: 0xA058, - 29171 - 11905: 0xA059, - 29172 - 11905: 0xA05A, - 29173 - 11905: 0xA05B, - 29174 - 11905: 0xA05C, - 29175 - 11905: 0xA05D, - 29176 - 11905: 0xA05E, - 29177 - 11905: 0xECDE, - 29178 - 11905: 0xA05F, - 29179 - 11905: 0xA060, - 29180 - 11905: 0xA061, - 29181 - 11905: 0xA062, - 29182 - 11905: 0xA063, - 29183 - 11905: 0xA064, - 29184 - 11905: 0xA065, - 29185 - 11905: 0xA066, - 29186 - 11905: 0xA067, - 29187 - 11905: 0xA068, - 29188 - 11905: 0xA069, - 29189 - 11905: 0xA06A, - 29190 - 11905: 0xB1AC, - 29191 - 11905: 0xA06B, - 29192 - 11905: 0xA06C, - 29193 - 11905: 0xA06D, - 29194 - 11905: 0xA06E, - 29195 - 11905: 0xA06F, - 29196 - 11905: 0xA070, - 29197 - 11905: 0xA071, - 29198 - 11905: 0xA072, - 29199 - 11905: 0xA073, - 29200 - 11905: 0xA074, - 29201 - 11905: 0xA075, - 29202 - 11905: 0xA076, - 29203 - 11905: 0xA077, - 29204 - 11905: 0xA078, - 29205 - 11905: 0xA079, - 29206 - 11905: 0xA07A, - 29207 - 11905: 0xA07B, - 29208 - 11905: 0xA07C, - 29209 - 11905: 0xA07D, - 29210 - 11905: 0xA07E, - 29211 - 11905: 0xA080, - 29212 - 11905: 0xA081, - 29213 - 11905: 0xECDF, - 29214 - 11905: 0xA082, - 29215 - 11905: 0xA083, - 29216 - 11905: 0xA084, - 29217 - 11905: 0xA085, - 29218 - 11905: 0xA086, - 29219 - 11905: 0xA087, - 29220 - 11905: 0xA088, - 29221 - 11905: 0xA089, - 29222 - 11905: 0xA08A, - 29223 - 11905: 0xA08B, - 29224 - 11905: 0xECE0, - 29225 - 11905: 0xA08C, - 29226 - 11905: 0xD7A6, - 29227 - 11905: 0xA08D, - 29228 - 11905: 0xC5C0, - 29229 - 11905: 0xA08E, - 29230 - 11905: 0xA08F, - 29231 - 11905: 0xA090, - 29232 - 11905: 0xEBBC, - 29233 - 11905: 0xB0AE, - 29234 - 11905: 0xA091, - 29235 - 11905: 0xA092, - 29236 - 11905: 0xA093, - 29237 - 11905: 0xBEF4, - 29238 - 11905: 0xB8B8, - 29239 - 11905: 0xD2AF, - 29240 - 11905: 0xB0D6, - 29241 - 11905: 0xB5F9, - 29242 - 11905: 0xA094, - 29243 - 11905: 0xD8B3, - 29244 - 11905: 0xA095, - 29245 - 11905: 0xCBAC, - 29246 - 11905: 0xA096, - 29247 - 11905: 0xE3DD, - 29248 - 11905: 0xA097, - 29249 - 11905: 0xA098, - 29250 - 11905: 0xA099, - 29251 - 11905: 0xA09A, - 29252 - 11905: 0xA09B, - 29253 - 11905: 0xA09C, - 29254 - 11905: 0xA09D, - 29255 - 11905: 0xC6AC, - 29256 - 11905: 0xB0E6, - 29257 - 11905: 0xA09E, - 29258 - 11905: 0xA09F, - 29259 - 11905: 0xA0A0, - 29260 - 11905: 0xC5C6, - 29261 - 11905: 0xEBB9, - 29262 - 11905: 0xA0A1, - 29263 - 11905: 0xA0A2, - 29264 - 11905: 0xA0A3, - 29265 - 11905: 0xA0A4, - 29266 - 11905: 0xEBBA, - 29267 - 11905: 0xA0A5, - 29268 - 11905: 0xA0A6, - 29269 - 11905: 0xA0A7, - 29270 - 11905: 0xEBBB, - 29271 - 11905: 0xA0A8, - 29272 - 11905: 0xA0A9, - 29273 - 11905: 0xD1C0, - 29274 - 11905: 0xA0AA, - 29275 - 11905: 0xC5A3, - 29276 - 11905: 0xA0AB, - 29277 - 11905: 0xEAF2, - 29278 - 11905: 0xA0AC, - 29279 - 11905: 0xC4B2, - 29280 - 11905: 0xA0AD, - 29281 - 11905: 0xC4B5, - 29282 - 11905: 0xC0CE, - 29283 - 11905: 0xA0AE, - 29284 - 11905: 0xA0AF, - 29285 - 11905: 0xA0B0, - 29286 - 11905: 0xEAF3, - 29287 - 11905: 0xC4C1, - 29288 - 11905: 0xA0B1, - 29289 - 11905: 0xCEEF, - 29290 - 11905: 0xA0B2, - 29291 - 11905: 0xA0B3, - 29292 - 11905: 0xA0B4, - 29293 - 11905: 0xA0B5, - 29294 - 11905: 0xEAF0, - 29295 - 11905: 0xEAF4, - 29296 - 11905: 0xA0B6, - 29297 - 11905: 0xA0B7, - 29298 - 11905: 0xC9FC, - 29299 - 11905: 0xA0B8, - 29300 - 11905: 0xA0B9, - 29301 - 11905: 0xC7A3, - 29302 - 11905: 0xA0BA, - 29303 - 11905: 0xA0BB, - 29304 - 11905: 0xA0BC, - 29305 - 11905: 0xCCD8, - 29306 - 11905: 0xCEFE, - 29307 - 11905: 0xA0BD, - 29308 - 11905: 0xA0BE, - 29309 - 11905: 0xA0BF, - 29310 - 11905: 0xEAF5, - 29311 - 11905: 0xEAF6, - 29312 - 11905: 0xCFAC, - 29313 - 11905: 0xC0E7, - 29314 - 11905: 0xA0C0, - 29315 - 11905: 0xA0C1, - 29316 - 11905: 0xEAF7, - 29317 - 11905: 0xA0C2, - 29318 - 11905: 0xA0C3, - 29319 - 11905: 0xA0C4, - 29320 - 11905: 0xA0C5, - 29321 - 11905: 0xA0C6, - 29322 - 11905: 0xB6BF, - 29323 - 11905: 0xEAF8, - 29324 - 11905: 0xA0C7, - 29325 - 11905: 0xEAF9, - 29326 - 11905: 0xA0C8, - 29327 - 11905: 0xEAFA, - 29328 - 11905: 0xA0C9, - 29329 - 11905: 0xA0CA, - 29330 - 11905: 0xEAFB, - 29331 - 11905: 0xA0CB, - 29332 - 11905: 0xA0CC, - 29333 - 11905: 0xA0CD, - 29334 - 11905: 0xA0CE, - 29335 - 11905: 0xA0CF, - 29336 - 11905: 0xA0D0, - 29337 - 11905: 0xA0D1, - 29338 - 11905: 0xA0D2, - 29339 - 11905: 0xA0D3, - 29340 - 11905: 0xA0D4, - 29341 - 11905: 0xA0D5, - 29342 - 11905: 0xA0D6, - 29343 - 11905: 0xEAF1, - 29344 - 11905: 0xA0D7, - 29345 - 11905: 0xA0D8, - 29346 - 11905: 0xA0D9, - 29347 - 11905: 0xA0DA, - 29348 - 11905: 0xA0DB, - 29349 - 11905: 0xA0DC, - 29350 - 11905: 0xA0DD, - 29351 - 11905: 0xA0DE, - 29352 - 11905: 0xA0DF, - 29353 - 11905: 0xA0E0, - 29354 - 11905: 0xA0E1, - 29355 - 11905: 0xA0E2, - 29356 - 11905: 0xC8AE, - 29357 - 11905: 0xE1EB, - 29358 - 11905: 0xA0E3, - 29359 - 11905: 0xB7B8, - 29360 - 11905: 0xE1EC, - 29361 - 11905: 0xA0E4, - 29362 - 11905: 0xA0E5, - 29363 - 11905: 0xA0E6, - 29364 - 11905: 0xE1ED, - 29365 - 11905: 0xA0E7, - 29366 - 11905: 0xD7B4, - 29367 - 11905: 0xE1EE, - 29368 - 11905: 0xE1EF, - 29369 - 11905: 0xD3CC, - 29370 - 11905: 0xA0E8, - 29371 - 11905: 0xA0E9, - 29372 - 11905: 0xA0EA, - 29373 - 11905: 0xA0EB, - 29374 - 11905: 0xA0EC, - 29375 - 11905: 0xA0ED, - 29376 - 11905: 0xA0EE, - 29377 - 11905: 0xE1F1, - 29378 - 11905: 0xBFF1, - 29379 - 11905: 0xE1F0, - 29380 - 11905: 0xB5D2, - 29381 - 11905: 0xA0EF, - 29382 - 11905: 0xA0F0, - 29383 - 11905: 0xA0F1, - 29384 - 11905: 0xB1B7, - 29385 - 11905: 0xA0F2, - 29386 - 11905: 0xA0F3, - 29387 - 11905: 0xA0F4, - 29388 - 11905: 0xA0F5, - 29389 - 11905: 0xE1F3, - 29390 - 11905: 0xE1F2, - 29391 - 11905: 0xA0F6, - 29392 - 11905: 0xBAFC, - 29393 - 11905: 0xA0F7, - 29394 - 11905: 0xE1F4, - 29395 - 11905: 0xA0F8, - 29396 - 11905: 0xA0F9, - 29397 - 11905: 0xA0FA, - 29398 - 11905: 0xA0FB, - 29399 - 11905: 0xB9B7, - 29400 - 11905: 0xA0FC, - 29401 - 11905: 0xBED1, - 29402 - 11905: 0xA0FD, - 29403 - 11905: 0xA0FE, - 29404 - 11905: 0xAA40, - 29405 - 11905: 0xAA41, - 29406 - 11905: 0xC4FC, - 29407 - 11905: 0xAA42, - 29408 - 11905: 0xBADD, - 29409 - 11905: 0xBDC6, - 29410 - 11905: 0xAA43, - 29411 - 11905: 0xAA44, - 29412 - 11905: 0xAA45, - 29413 - 11905: 0xAA46, - 29414 - 11905: 0xAA47, - 29415 - 11905: 0xAA48, - 29416 - 11905: 0xE1F5, - 29417 - 11905: 0xE1F7, - 29418 - 11905: 0xAA49, - 29419 - 11905: 0xAA4A, - 29420 - 11905: 0xB6C0, - 29421 - 11905: 0xCFC1, - 29422 - 11905: 0xCAA8, - 29423 - 11905: 0xE1F6, - 29424 - 11905: 0xD5F8, - 29425 - 11905: 0xD3FC, - 29426 - 11905: 0xE1F8, - 29427 - 11905: 0xE1FC, - 29428 - 11905: 0xE1F9, - 29429 - 11905: 0xAA4B, - 29430 - 11905: 0xAA4C, - 29431 - 11905: 0xE1FA, - 29432 - 11905: 0xC0EA, - 29433 - 11905: 0xAA4D, - 29434 - 11905: 0xE1FE, - 29435 - 11905: 0xE2A1, - 29436 - 11905: 0xC0C7, - 29437 - 11905: 0xAA4E, - 29438 - 11905: 0xAA4F, - 29439 - 11905: 0xAA50, - 29440 - 11905: 0xAA51, - 29441 - 11905: 0xE1FB, - 29442 - 11905: 0xAA52, - 29443 - 11905: 0xE1FD, - 29444 - 11905: 0xAA53, - 29445 - 11905: 0xAA54, - 29446 - 11905: 0xAA55, - 29447 - 11905: 0xAA56, - 29448 - 11905: 0xAA57, - 29449 - 11905: 0xAA58, - 29450 - 11905: 0xE2A5, - 29451 - 11905: 0xAA59, - 29452 - 11905: 0xAA5A, - 29453 - 11905: 0xAA5B, - 29454 - 11905: 0xC1D4, - 29455 - 11905: 0xAA5C, - 29456 - 11905: 0xAA5D, - 29457 - 11905: 0xAA5E, - 29458 - 11905: 0xAA5F, - 29459 - 11905: 0xE2A3, - 29460 - 11905: 0xAA60, - 29461 - 11905: 0xE2A8, - 29462 - 11905: 0xB2FE, - 29463 - 11905: 0xE2A2, - 29464 - 11905: 0xAA61, - 29465 - 11905: 0xAA62, - 29466 - 11905: 0xAA63, - 29467 - 11905: 0xC3CD, - 29468 - 11905: 0xB2C2, - 29469 - 11905: 0xE2A7, - 29470 - 11905: 0xE2A6, - 29471 - 11905: 0xAA64, - 29472 - 11905: 0xAA65, - 29473 - 11905: 0xE2A4, - 29474 - 11905: 0xE2A9, - 29475 - 11905: 0xAA66, - 29476 - 11905: 0xAA67, - 29477 - 11905: 0xE2AB, - 29478 - 11905: 0xAA68, - 29479 - 11905: 0xAA69, - 29480 - 11905: 0xAA6A, - 29481 - 11905: 0xD0C9, - 29482 - 11905: 0xD6ED, - 29483 - 11905: 0xC3A8, - 29484 - 11905: 0xE2AC, - 29485 - 11905: 0xAA6B, - 29486 - 11905: 0xCFD7, - 29487 - 11905: 0xAA6C, - 29488 - 11905: 0xAA6D, - 29489 - 11905: 0xE2AE, - 29490 - 11905: 0xAA6E, - 29491 - 11905: 0xAA6F, - 29492 - 11905: 0xBAEF, - 29493 - 11905: 0xAA70, - 29494 - 11905: 0xAA71, - 29495 - 11905: 0xE9E0, - 29496 - 11905: 0xE2AD, - 29497 - 11905: 0xE2AA, - 29498 - 11905: 0xAA72, - 29499 - 11905: 0xAA73, - 29500 - 11905: 0xAA74, - 29501 - 11905: 0xAA75, - 29502 - 11905: 0xBBAB, - 29503 - 11905: 0xD4B3, - 29504 - 11905: 0xAA76, - 29505 - 11905: 0xAA77, - 29506 - 11905: 0xAA78, - 29507 - 11905: 0xAA79, - 29508 - 11905: 0xAA7A, - 29509 - 11905: 0xAA7B, - 29510 - 11905: 0xAA7C, - 29511 - 11905: 0xAA7D, - 29512 - 11905: 0xAA7E, - 29513 - 11905: 0xAA80, - 29514 - 11905: 0xAA81, - 29515 - 11905: 0xAA82, - 29516 - 11905: 0xAA83, - 29517 - 11905: 0xE2B0, - 29518 - 11905: 0xAA84, - 29519 - 11905: 0xAA85, - 29520 - 11905: 0xE2AF, - 29521 - 11905: 0xAA86, - 29522 - 11905: 0xE9E1, - 29523 - 11905: 0xAA87, - 29524 - 11905: 0xAA88, - 29525 - 11905: 0xAA89, - 29526 - 11905: 0xAA8A, - 29527 - 11905: 0xE2B1, - 29528 - 11905: 0xAA8B, - 29529 - 11905: 0xAA8C, - 29530 - 11905: 0xAA8D, - 29531 - 11905: 0xAA8E, - 29532 - 11905: 0xAA8F, - 29533 - 11905: 0xAA90, - 29534 - 11905: 0xAA91, - 29535 - 11905: 0xAA92, - 29536 - 11905: 0xE2B2, - 29537 - 11905: 0xAA93, - 29538 - 11905: 0xAA94, - 29539 - 11905: 0xAA95, - 29540 - 11905: 0xAA96, - 29541 - 11905: 0xAA97, - 29542 - 11905: 0xAA98, - 29543 - 11905: 0xAA99, - 29544 - 11905: 0xAA9A, - 29545 - 11905: 0xAA9B, - 29546 - 11905: 0xAA9C, - 29547 - 11905: 0xAA9D, - 29548 - 11905: 0xE2B3, - 29549 - 11905: 0xCCA1, - 29550 - 11905: 0xAA9E, - 29551 - 11905: 0xE2B4, - 29552 - 11905: 0xAA9F, - 29553 - 11905: 0xAAA0, - 29554 - 11905: 0xAB40, - 29555 - 11905: 0xAB41, - 29556 - 11905: 0xAB42, - 29557 - 11905: 0xAB43, - 29558 - 11905: 0xAB44, - 29559 - 11905: 0xAB45, - 29560 - 11905: 0xAB46, - 29561 - 11905: 0xAB47, - 29562 - 11905: 0xAB48, - 29563 - 11905: 0xAB49, - 29564 - 11905: 0xAB4A, - 29565 - 11905: 0xAB4B, - 29566 - 11905: 0xE2B5, - 29567 - 11905: 0xAB4C, - 29568 - 11905: 0xAB4D, - 29569 - 11905: 0xAB4E, - 29570 - 11905: 0xAB4F, - 29571 - 11905: 0xAB50, - 29572 - 11905: 0xD0FE, - 29573 - 11905: 0xAB51, - 29574 - 11905: 0xAB52, - 29575 - 11905: 0xC2CA, - 29576 - 11905: 0xAB53, - 29577 - 11905: 0xD3F1, - 29578 - 11905: 0xAB54, - 29579 - 11905: 0xCDF5, - 29580 - 11905: 0xAB55, - 29581 - 11905: 0xAB56, - 29582 - 11905: 0xE7E0, - 29583 - 11905: 0xAB57, - 29584 - 11905: 0xAB58, - 29585 - 11905: 0xE7E1, - 29586 - 11905: 0xAB59, - 29587 - 11905: 0xAB5A, - 29588 - 11905: 0xAB5B, - 29589 - 11905: 0xAB5C, - 29590 - 11905: 0xBEC1, - 29591 - 11905: 0xAB5D, - 29592 - 11905: 0xAB5E, - 29593 - 11905: 0xAB5F, - 29594 - 11905: 0xAB60, - 29595 - 11905: 0xC2EA, - 29596 - 11905: 0xAB61, - 29597 - 11905: 0xAB62, - 29598 - 11905: 0xAB63, - 29599 - 11905: 0xE7E4, - 29600 - 11905: 0xAB64, - 29601 - 11905: 0xAB65, - 29602 - 11905: 0xE7E3, - 29603 - 11905: 0xAB66, - 29604 - 11905: 0xAB67, - 29605 - 11905: 0xAB68, - 29606 - 11905: 0xAB69, - 29607 - 11905: 0xAB6A, - 29608 - 11905: 0xAB6B, - 29609 - 11905: 0xCDE6, - 29610 - 11905: 0xAB6C, - 29611 - 11905: 0xC3B5, - 29612 - 11905: 0xAB6D, - 29613 - 11905: 0xAB6E, - 29614 - 11905: 0xE7E2, - 29615 - 11905: 0xBBB7, - 29616 - 11905: 0xCFD6, - 29617 - 11905: 0xAB6F, - 29618 - 11905: 0xC1E1, - 29619 - 11905: 0xE7E9, - 29620 - 11905: 0xAB70, - 29621 - 11905: 0xAB71, - 29622 - 11905: 0xAB72, - 29623 - 11905: 0xE7E8, - 29624 - 11905: 0xAB73, - 29625 - 11905: 0xAB74, - 29626 - 11905: 0xE7F4, - 29627 - 11905: 0xB2A3, - 29628 - 11905: 0xAB75, - 29629 - 11905: 0xAB76, - 29630 - 11905: 0xAB77, - 29631 - 11905: 0xAB78, - 29632 - 11905: 0xE7EA, - 29633 - 11905: 0xAB79, - 29634 - 11905: 0xE7E6, - 29635 - 11905: 0xAB7A, - 29636 - 11905: 0xAB7B, - 29637 - 11905: 0xAB7C, - 29638 - 11905: 0xAB7D, - 29639 - 11905: 0xAB7E, - 29640 - 11905: 0xE7EC, - 29641 - 11905: 0xE7EB, - 29642 - 11905: 0xC9BA, - 29643 - 11905: 0xAB80, - 29644 - 11905: 0xAB81, - 29645 - 11905: 0xD5E4, - 29646 - 11905: 0xAB82, - 29647 - 11905: 0xE7E5, - 29648 - 11905: 0xB7A9, - 29649 - 11905: 0xE7E7, - 29650 - 11905: 0xAB83, - 29651 - 11905: 0xAB84, - 29652 - 11905: 0xAB85, - 29653 - 11905: 0xAB86, - 29654 - 11905: 0xAB87, - 29655 - 11905: 0xAB88, - 29656 - 11905: 0xAB89, - 29657 - 11905: 0xE7EE, - 29658 - 11905: 0xAB8A, - 29659 - 11905: 0xAB8B, - 29660 - 11905: 0xAB8C, - 29661 - 11905: 0xAB8D, - 29662 - 11905: 0xE7F3, - 29663 - 11905: 0xAB8E, - 29664 - 11905: 0xD6E9, - 29665 - 11905: 0xAB8F, - 29666 - 11905: 0xAB90, - 29667 - 11905: 0xAB91, - 29668 - 11905: 0xAB92, - 29669 - 11905: 0xE7ED, - 29670 - 11905: 0xAB93, - 29671 - 11905: 0xE7F2, - 29672 - 11905: 0xAB94, - 29673 - 11905: 0xE7F1, - 29674 - 11905: 0xAB95, - 29675 - 11905: 0xAB96, - 29676 - 11905: 0xAB97, - 29677 - 11905: 0xB0E0, - 29678 - 11905: 0xAB98, - 29679 - 11905: 0xAB99, - 29680 - 11905: 0xAB9A, - 29681 - 11905: 0xAB9B, - 29682 - 11905: 0xE7F5, - 29683 - 11905: 0xAB9C, - 29684 - 11905: 0xAB9D, - 29685 - 11905: 0xAB9E, - 29686 - 11905: 0xAB9F, - 29687 - 11905: 0xABA0, - 29688 - 11905: 0xAC40, - 29689 - 11905: 0xAC41, - 29690 - 11905: 0xAC42, - 29691 - 11905: 0xAC43, - 29692 - 11905: 0xAC44, - 29693 - 11905: 0xAC45, - 29694 - 11905: 0xAC46, - 29695 - 11905: 0xAC47, - 29696 - 11905: 0xAC48, - 29697 - 11905: 0xAC49, - 29698 - 11905: 0xAC4A, - 29699 - 11905: 0xC7F2, - 29700 - 11905: 0xAC4B, - 29701 - 11905: 0xC0C5, - 29702 - 11905: 0xC0ED, - 29703 - 11905: 0xAC4C, - 29704 - 11905: 0xAC4D, - 29705 - 11905: 0xC1F0, - 29706 - 11905: 0xE7F0, - 29707 - 11905: 0xAC4E, - 29708 - 11905: 0xAC4F, - 29709 - 11905: 0xAC50, - 29710 - 11905: 0xAC51, - 29711 - 11905: 0xE7F6, - 29712 - 11905: 0xCBF6, - 29713 - 11905: 0xAC52, - 29714 - 11905: 0xAC53, - 29715 - 11905: 0xAC54, - 29716 - 11905: 0xAC55, - 29717 - 11905: 0xAC56, - 29718 - 11905: 0xAC57, - 29719 - 11905: 0xAC58, - 29720 - 11905: 0xAC59, - 29721 - 11905: 0xAC5A, - 29722 - 11905: 0xE8A2, - 29723 - 11905: 0xE8A1, - 29724 - 11905: 0xAC5B, - 29725 - 11905: 0xAC5C, - 29726 - 11905: 0xAC5D, - 29727 - 11905: 0xAC5E, - 29728 - 11905: 0xAC5F, - 29729 - 11905: 0xAC60, - 29730 - 11905: 0xD7C1, - 29731 - 11905: 0xAC61, - 29732 - 11905: 0xAC62, - 29733 - 11905: 0xE7FA, - 29734 - 11905: 0xE7F9, - 29735 - 11905: 0xAC63, - 29736 - 11905: 0xE7FB, - 29737 - 11905: 0xAC64, - 29738 - 11905: 0xE7F7, - 29739 - 11905: 0xAC65, - 29740 - 11905: 0xE7FE, - 29741 - 11905: 0xAC66, - 29742 - 11905: 0xE7FD, - 29743 - 11905: 0xAC67, - 29744 - 11905: 0xE7FC, - 29745 - 11905: 0xAC68, - 29746 - 11905: 0xAC69, - 29747 - 11905: 0xC1D5, - 29748 - 11905: 0xC7D9, - 29749 - 11905: 0xC5FD, - 29750 - 11905: 0xC5C3, - 29751 - 11905: 0xAC6A, - 29752 - 11905: 0xAC6B, - 29753 - 11905: 0xAC6C, - 29754 - 11905: 0xAC6D, - 29755 - 11905: 0xAC6E, - 29756 - 11905: 0xC7ED, - 29757 - 11905: 0xAC6F, - 29758 - 11905: 0xAC70, - 29759 - 11905: 0xAC71, - 29760 - 11905: 0xAC72, - 29761 - 11905: 0xE8A3, - 29762 - 11905: 0xAC73, - 29763 - 11905: 0xAC74, - 29764 - 11905: 0xAC75, - 29765 - 11905: 0xAC76, - 29766 - 11905: 0xAC77, - 29767 - 11905: 0xAC78, - 29768 - 11905: 0xAC79, - 29769 - 11905: 0xAC7A, - 29770 - 11905: 0xAC7B, - 29771 - 11905: 0xAC7C, - 29772 - 11905: 0xAC7D, - 29773 - 11905: 0xAC7E, - 29774 - 11905: 0xAC80, - 29775 - 11905: 0xAC81, - 29776 - 11905: 0xAC82, - 29777 - 11905: 0xAC83, - 29778 - 11905: 0xAC84, - 29779 - 11905: 0xAC85, - 29780 - 11905: 0xAC86, - 29781 - 11905: 0xE8A6, - 29782 - 11905: 0xAC87, - 29783 - 11905: 0xE8A5, - 29784 - 11905: 0xAC88, - 29785 - 11905: 0xE8A7, - 29786 - 11905: 0xBAF7, - 29787 - 11905: 0xE7F8, - 29788 - 11905: 0xE8A4, - 29789 - 11905: 0xAC89, - 29790 - 11905: 0xC8F0, - 29791 - 11905: 0xC9AA, - 29792 - 11905: 0xAC8A, - 29793 - 11905: 0xAC8B, - 29794 - 11905: 0xAC8C, - 29795 - 11905: 0xAC8D, - 29796 - 11905: 0xAC8E, - 29797 - 11905: 0xAC8F, - 29798 - 11905: 0xAC90, - 29799 - 11905: 0xAC91, - 29800 - 11905: 0xAC92, - 29801 - 11905: 0xAC93, - 29802 - 11905: 0xAC94, - 29803 - 11905: 0xAC95, - 29804 - 11905: 0xAC96, - 29805 - 11905: 0xE8A9, - 29806 - 11905: 0xAC97, - 29807 - 11905: 0xAC98, - 29808 - 11905: 0xB9E5, - 29809 - 11905: 0xAC99, - 29810 - 11905: 0xAC9A, - 29811 - 11905: 0xAC9B, - 29812 - 11905: 0xAC9C, - 29813 - 11905: 0xAC9D, - 29814 - 11905: 0xD1FE, - 29815 - 11905: 0xE8A8, - 29816 - 11905: 0xAC9E, - 29817 - 11905: 0xAC9F, - 29818 - 11905: 0xACA0, - 29819 - 11905: 0xAD40, - 29820 - 11905: 0xAD41, - 29821 - 11905: 0xAD42, - 29822 - 11905: 0xE8AA, - 29823 - 11905: 0xAD43, - 29824 - 11905: 0xE8AD, - 29825 - 11905: 0xE8AE, - 29826 - 11905: 0xAD44, - 29827 - 11905: 0xC1A7, - 29828 - 11905: 0xAD45, - 29829 - 11905: 0xAD46, - 29830 - 11905: 0xAD47, - 29831 - 11905: 0xE8AF, - 29832 - 11905: 0xAD48, - 29833 - 11905: 0xAD49, - 29834 - 11905: 0xAD4A, - 29835 - 11905: 0xE8B0, - 29836 - 11905: 0xAD4B, - 29837 - 11905: 0xAD4C, - 29838 - 11905: 0xE8AC, - 29839 - 11905: 0xAD4D, - 29840 - 11905: 0xE8B4, - 29841 - 11905: 0xAD4E, - 29842 - 11905: 0xAD4F, - 29843 - 11905: 0xAD50, - 29844 - 11905: 0xAD51, - 29845 - 11905: 0xAD52, - 29846 - 11905: 0xAD53, - 29847 - 11905: 0xAD54, - 29848 - 11905: 0xAD55, - 29849 - 11905: 0xAD56, - 29850 - 11905: 0xAD57, - 29851 - 11905: 0xAD58, - 29852 - 11905: 0xE8AB, - 29853 - 11905: 0xAD59, - 29854 - 11905: 0xE8B1, - 29855 - 11905: 0xAD5A, - 29856 - 11905: 0xAD5B, - 29857 - 11905: 0xAD5C, - 29858 - 11905: 0xAD5D, - 29859 - 11905: 0xAD5E, - 29860 - 11905: 0xAD5F, - 29861 - 11905: 0xAD60, - 29862 - 11905: 0xAD61, - 29863 - 11905: 0xE8B5, - 29864 - 11905: 0xE8B2, - 29865 - 11905: 0xE8B3, - 29866 - 11905: 0xAD62, - 29867 - 11905: 0xAD63, - 29868 - 11905: 0xAD64, - 29869 - 11905: 0xAD65, - 29870 - 11905: 0xAD66, - 29871 - 11905: 0xAD67, - 29872 - 11905: 0xAD68, - 29873 - 11905: 0xAD69, - 29874 - 11905: 0xAD6A, - 29875 - 11905: 0xAD6B, - 29876 - 11905: 0xAD6C, - 29877 - 11905: 0xAD6D, - 29878 - 11905: 0xAD6E, - 29879 - 11905: 0xAD6F, - 29880 - 11905: 0xAD70, - 29881 - 11905: 0xAD71, - 29882 - 11905: 0xE8B7, - 29883 - 11905: 0xAD72, - 29884 - 11905: 0xAD73, - 29885 - 11905: 0xAD74, - 29886 - 11905: 0xAD75, - 29887 - 11905: 0xAD76, - 29888 - 11905: 0xAD77, - 29889 - 11905: 0xAD78, - 29890 - 11905: 0xAD79, - 29891 - 11905: 0xAD7A, - 29892 - 11905: 0xAD7B, - 29893 - 11905: 0xAD7C, - 29894 - 11905: 0xAD7D, - 29895 - 11905: 0xAD7E, - 29896 - 11905: 0xAD80, - 29897 - 11905: 0xAD81, - 29898 - 11905: 0xAD82, - 29899 - 11905: 0xAD83, - 29900 - 11905: 0xAD84, - 29901 - 11905: 0xAD85, - 29902 - 11905: 0xAD86, - 29903 - 11905: 0xAD87, - 29904 - 11905: 0xAD88, - 29905 - 11905: 0xAD89, - 29906 - 11905: 0xE8B6, - 29907 - 11905: 0xAD8A, - 29908 - 11905: 0xAD8B, - 29909 - 11905: 0xAD8C, - 29910 - 11905: 0xAD8D, - 29911 - 11905: 0xAD8E, - 29912 - 11905: 0xAD8F, - 29913 - 11905: 0xAD90, - 29914 - 11905: 0xAD91, - 29915 - 11905: 0xAD92, - 29916 - 11905: 0xB9CF, - 29917 - 11905: 0xAD93, - 29918 - 11905: 0xF0AC, - 29919 - 11905: 0xAD94, - 29920 - 11905: 0xF0AD, - 29921 - 11905: 0xAD95, - 29922 - 11905: 0xC6B0, - 29923 - 11905: 0xB0EA, - 29924 - 11905: 0xC8BF, - 29925 - 11905: 0xAD96, - 29926 - 11905: 0xCDDF, - 29927 - 11905: 0xAD97, - 29928 - 11905: 0xAD98, - 29929 - 11905: 0xAD99, - 29930 - 11905: 0xAD9A, - 29931 - 11905: 0xAD9B, - 29932 - 11905: 0xAD9C, - 29933 - 11905: 0xAD9D, - 29934 - 11905: 0xCECD, - 29935 - 11905: 0xEAB1, - 29936 - 11905: 0xAD9E, - 29937 - 11905: 0xAD9F, - 29938 - 11905: 0xADA0, - 29939 - 11905: 0xAE40, - 29940 - 11905: 0xEAB2, - 29941 - 11905: 0xAE41, - 29942 - 11905: 0xC6BF, - 29943 - 11905: 0xB4C9, - 29944 - 11905: 0xAE42, - 29945 - 11905: 0xAE43, - 29946 - 11905: 0xAE44, - 29947 - 11905: 0xAE45, - 29948 - 11905: 0xAE46, - 29949 - 11905: 0xAE47, - 29950 - 11905: 0xAE48, - 29951 - 11905: 0xEAB3, - 29952 - 11905: 0xAE49, - 29953 - 11905: 0xAE4A, - 29954 - 11905: 0xAE4B, - 29955 - 11905: 0xAE4C, - 29956 - 11905: 0xD5E7, - 29957 - 11905: 0xAE4D, - 29958 - 11905: 0xAE4E, - 29959 - 11905: 0xAE4F, - 29960 - 11905: 0xAE50, - 29961 - 11905: 0xAE51, - 29962 - 11905: 0xAE52, - 29963 - 11905: 0xAE53, - 29964 - 11905: 0xAE54, - 29965 - 11905: 0xDDF9, - 29966 - 11905: 0xAE55, - 29967 - 11905: 0xEAB4, - 29968 - 11905: 0xAE56, - 29969 - 11905: 0xEAB5, - 29970 - 11905: 0xAE57, - 29971 - 11905: 0xEAB6, - 29972 - 11905: 0xAE58, - 29973 - 11905: 0xAE59, - 29974 - 11905: 0xAE5A, - 29975 - 11905: 0xAE5B, - 29976 - 11905: 0xB8CA, - 29977 - 11905: 0xDFB0, - 29978 - 11905: 0xC9F5, - 29979 - 11905: 0xAE5C, - 29980 - 11905: 0xCCF0, - 29981 - 11905: 0xAE5D, - 29982 - 11905: 0xAE5E, - 29983 - 11905: 0xC9FA, - 29984 - 11905: 0xAE5F, - 29985 - 11905: 0xAE60, - 29986 - 11905: 0xAE61, - 29987 - 11905: 0xAE62, - 29988 - 11905: 0xAE63, - 29989 - 11905: 0xC9FB, - 29990 - 11905: 0xAE64, - 29991 - 11905: 0xAE65, - 29992 - 11905: 0xD3C3, - 29993 - 11905: 0xCBA6, - 29994 - 11905: 0xAE66, - 29995 - 11905: 0xB8A6, - 29996 - 11905: 0xF0AE, - 29997 - 11905: 0xB1C2, - 29998 - 11905: 0xAE67, - 29999 - 11905: 0xE5B8, - 30000 - 11905: 0xCCEF, - 30001 - 11905: 0xD3C9, - 30002 - 11905: 0xBCD7, - 30003 - 11905: 0xC9EA, - 30004 - 11905: 0xAE68, - 30005 - 11905: 0xB5E7, - 30006 - 11905: 0xAE69, - 30007 - 11905: 0xC4D0, - 30008 - 11905: 0xB5E9, - 30009 - 11905: 0xAE6A, - 30010 - 11905: 0xEEAE, - 30011 - 11905: 0xBBAD, - 30012 - 11905: 0xAE6B, - 30013 - 11905: 0xAE6C, - 30014 - 11905: 0xE7DE, - 30015 - 11905: 0xAE6D, - 30016 - 11905: 0xEEAF, - 30017 - 11905: 0xAE6E, - 30018 - 11905: 0xAE6F, - 30019 - 11905: 0xAE70, - 30020 - 11905: 0xAE71, - 30021 - 11905: 0xB3A9, - 30022 - 11905: 0xAE72, - 30023 - 11905: 0xAE73, - 30024 - 11905: 0xEEB2, - 30025 - 11905: 0xAE74, - 30026 - 11905: 0xAE75, - 30027 - 11905: 0xEEB1, - 30028 - 11905: 0xBDE7, - 30029 - 11905: 0xAE76, - 30030 - 11905: 0xEEB0, - 30031 - 11905: 0xCEB7, - 30032 - 11905: 0xAE77, - 30033 - 11905: 0xAE78, - 30034 - 11905: 0xAE79, - 30035 - 11905: 0xAE7A, - 30036 - 11905: 0xC5CF, - 30037 - 11905: 0xAE7B, - 30038 - 11905: 0xAE7C, - 30039 - 11905: 0xAE7D, - 30040 - 11905: 0xAE7E, - 30041 - 11905: 0xC1F4, - 30042 - 11905: 0xDBCE, - 30043 - 11905: 0xEEB3, - 30044 - 11905: 0xD0F3, - 30045 - 11905: 0xAE80, - 30046 - 11905: 0xAE81, - 30047 - 11905: 0xAE82, - 30048 - 11905: 0xAE83, - 30049 - 11905: 0xAE84, - 30050 - 11905: 0xAE85, - 30051 - 11905: 0xAE86, - 30052 - 11905: 0xAE87, - 30053 - 11905: 0xC2D4, - 30054 - 11905: 0xC6E8, - 30055 - 11905: 0xAE88, - 30056 - 11905: 0xAE89, - 30057 - 11905: 0xAE8A, - 30058 - 11905: 0xB7AC, - 30059 - 11905: 0xAE8B, - 30060 - 11905: 0xAE8C, - 30061 - 11905: 0xAE8D, - 30062 - 11905: 0xAE8E, - 30063 - 11905: 0xAE8F, - 30064 - 11905: 0xAE90, - 30065 - 11905: 0xAE91, - 30066 - 11905: 0xEEB4, - 30067 - 11905: 0xAE92, - 30068 - 11905: 0xB3EB, - 30069 - 11905: 0xAE93, - 30070 - 11905: 0xAE94, - 30071 - 11905: 0xAE95, - 30072 - 11905: 0xBBFB, - 30073 - 11905: 0xEEB5, - 30074 - 11905: 0xAE96, - 30075 - 11905: 0xAE97, - 30076 - 11905: 0xAE98, - 30077 - 11905: 0xAE99, - 30078 - 11905: 0xAE9A, - 30079 - 11905: 0xE7DC, - 30080 - 11905: 0xAE9B, - 30081 - 11905: 0xAE9C, - 30082 - 11905: 0xAE9D, - 30083 - 11905: 0xEEB6, - 30084 - 11905: 0xAE9E, - 30085 - 11905: 0xAE9F, - 30086 - 11905: 0xBDAE, - 30087 - 11905: 0xAEA0, - 30088 - 11905: 0xAF40, - 30089 - 11905: 0xAF41, - 30090 - 11905: 0xAF42, - 30091 - 11905: 0xF1E2, - 30092 - 11905: 0xAF43, - 30093 - 11905: 0xAF44, - 30094 - 11905: 0xAF45, - 30095 - 11905: 0xCAE8, - 30096 - 11905: 0xAF46, - 30097 - 11905: 0xD2C9, - 30098 - 11905: 0xF0DA, - 30099 - 11905: 0xAF47, - 30100 - 11905: 0xF0DB, - 30101 - 11905: 0xAF48, - 30102 - 11905: 0xF0DC, - 30103 - 11905: 0xC1C6, - 30104 - 11905: 0xAF49, - 30105 - 11905: 0xB8ED, - 30106 - 11905: 0xBECE, - 30107 - 11905: 0xAF4A, - 30108 - 11905: 0xAF4B, - 30109 - 11905: 0xF0DE, - 30110 - 11905: 0xAF4C, - 30111 - 11905: 0xC5B1, - 30112 - 11905: 0xF0DD, - 30113 - 11905: 0xD1F1, - 30114 - 11905: 0xAF4D, - 30115 - 11905: 0xF0E0, - 30116 - 11905: 0xB0CC, - 30117 - 11905: 0xBDEA, - 30118 - 11905: 0xAF4E, - 30119 - 11905: 0xAF4F, - 30120 - 11905: 0xAF50, - 30121 - 11905: 0xAF51, - 30122 - 11905: 0xAF52, - 30123 - 11905: 0xD2DF, - 30124 - 11905: 0xF0DF, - 30125 - 11905: 0xAF53, - 30126 - 11905: 0xB4AF, - 30127 - 11905: 0xB7E8, - 30128 - 11905: 0xF0E6, - 30129 - 11905: 0xF0E5, - 30130 - 11905: 0xC6A3, - 30131 - 11905: 0xF0E1, - 30132 - 11905: 0xF0E2, - 30133 - 11905: 0xB4C3, - 30134 - 11905: 0xAF54, - 30135 - 11905: 0xAF55, - 30136 - 11905: 0xF0E3, - 30137 - 11905: 0xD5EE, - 30138 - 11905: 0xAF56, - 30139 - 11905: 0xAF57, - 30140 - 11905: 0xCCDB, - 30141 - 11905: 0xBED2, - 30142 - 11905: 0xBCB2, - 30143 - 11905: 0xAF58, - 30144 - 11905: 0xAF59, - 30145 - 11905: 0xAF5A, - 30146 - 11905: 0xF0E8, - 30147 - 11905: 0xF0E7, - 30148 - 11905: 0xF0E4, - 30149 - 11905: 0xB2A1, - 30150 - 11905: 0xAF5B, - 30151 - 11905: 0xD6A2, - 30152 - 11905: 0xD3B8, - 30153 - 11905: 0xBEB7, - 30154 - 11905: 0xC8AC, - 30155 - 11905: 0xAF5C, - 30156 - 11905: 0xAF5D, - 30157 - 11905: 0xF0EA, - 30158 - 11905: 0xAF5E, - 30159 - 11905: 0xAF5F, - 30160 - 11905: 0xAF60, - 30161 - 11905: 0xAF61, - 30162 - 11905: 0xD1F7, - 30163 - 11905: 0xAF62, - 30164 - 11905: 0xD6CC, - 30165 - 11905: 0xBADB, - 30166 - 11905: 0xF0E9, - 30167 - 11905: 0xAF63, - 30168 - 11905: 0xB6BB, - 30169 - 11905: 0xAF64, - 30170 - 11905: 0xAF65, - 30171 - 11905: 0xCDB4, - 30172 - 11905: 0xAF66, - 30173 - 11905: 0xAF67, - 30174 - 11905: 0xC6A6, - 30175 - 11905: 0xAF68, - 30176 - 11905: 0xAF69, - 30177 - 11905: 0xAF6A, - 30178 - 11905: 0xC1A1, - 30179 - 11905: 0xF0EB, - 30180 - 11905: 0xF0EE, - 30181 - 11905: 0xAF6B, - 30182 - 11905: 0xF0ED, - 30183 - 11905: 0xF0F0, - 30184 - 11905: 0xF0EC, - 30185 - 11905: 0xAF6C, - 30186 - 11905: 0xBBBE, - 30187 - 11905: 0xF0EF, - 30188 - 11905: 0xAF6D, - 30189 - 11905: 0xAF6E, - 30190 - 11905: 0xAF6F, - 30191 - 11905: 0xAF70, - 30192 - 11905: 0xCCB5, - 30193 - 11905: 0xF0F2, - 30194 - 11905: 0xAF71, - 30195 - 11905: 0xAF72, - 30196 - 11905: 0xB3D5, - 30197 - 11905: 0xAF73, - 30198 - 11905: 0xAF74, - 30199 - 11905: 0xAF75, - 30200 - 11905: 0xAF76, - 30201 - 11905: 0xB1D4, - 30202 - 11905: 0xAF77, - 30203 - 11905: 0xAF78, - 30204 - 11905: 0xF0F3, - 30205 - 11905: 0xAF79, - 30206 - 11905: 0xAF7A, - 30207 - 11905: 0xF0F4, - 30208 - 11905: 0xF0F6, - 30209 - 11905: 0xB4E1, - 30210 - 11905: 0xAF7B, - 30211 - 11905: 0xF0F1, - 30212 - 11905: 0xAF7C, - 30213 - 11905: 0xF0F7, - 30214 - 11905: 0xAF7D, - 30215 - 11905: 0xAF7E, - 30216 - 11905: 0xAF80, - 30217 - 11905: 0xAF81, - 30218 - 11905: 0xF0FA, - 30219 - 11905: 0xAF82, - 30220 - 11905: 0xF0F8, - 30221 - 11905: 0xAF83, - 30222 - 11905: 0xAF84, - 30223 - 11905: 0xAF85, - 30224 - 11905: 0xF0F5, - 30225 - 11905: 0xAF86, - 30226 - 11905: 0xAF87, - 30227 - 11905: 0xAF88, - 30228 - 11905: 0xAF89, - 30229 - 11905: 0xF0FD, - 30230 - 11905: 0xAF8A, - 30231 - 11905: 0xF0F9, - 30232 - 11905: 0xF0FC, - 30233 - 11905: 0xF0FE, - 30234 - 11905: 0xAF8B, - 30235 - 11905: 0xF1A1, - 30236 - 11905: 0xAF8C, - 30237 - 11905: 0xAF8D, - 30238 - 11905: 0xAF8E, - 30239 - 11905: 0xCEC1, - 30240 - 11905: 0xF1A4, - 30241 - 11905: 0xAF8F, - 30242 - 11905: 0xF1A3, - 30243 - 11905: 0xAF90, - 30244 - 11905: 0xC1F6, - 30245 - 11905: 0xF0FB, - 30246 - 11905: 0xCADD, - 30247 - 11905: 0xAF91, - 30248 - 11905: 0xAF92, - 30249 - 11905: 0xB4F1, - 30250 - 11905: 0xB1F1, - 30251 - 11905: 0xCCB1, - 30252 - 11905: 0xAF93, - 30253 - 11905: 0xF1A6, - 30254 - 11905: 0xAF94, - 30255 - 11905: 0xAF95, - 30256 - 11905: 0xF1A7, - 30257 - 11905: 0xAF96, - 30258 - 11905: 0xAF97, - 30259 - 11905: 0xF1AC, - 30260 - 11905: 0xD5CE, - 30261 - 11905: 0xF1A9, - 30262 - 11905: 0xAF98, - 30263 - 11905: 0xAF99, - 30264 - 11905: 0xC8B3, - 30265 - 11905: 0xAF9A, - 30266 - 11905: 0xAF9B, - 30267 - 11905: 0xAF9C, - 30268 - 11905: 0xF1A2, - 30269 - 11905: 0xAF9D, - 30270 - 11905: 0xF1AB, - 30271 - 11905: 0xF1A8, - 30272 - 11905: 0xF1A5, - 30273 - 11905: 0xAF9E, - 30274 - 11905: 0xAF9F, - 30275 - 11905: 0xF1AA, - 30276 - 11905: 0xAFA0, - 30277 - 11905: 0xB040, - 30278 - 11905: 0xB041, - 30279 - 11905: 0xB042, - 30280 - 11905: 0xB043, - 30281 - 11905: 0xB044, - 30282 - 11905: 0xB045, - 30283 - 11905: 0xB046, - 30284 - 11905: 0xB0A9, - 30285 - 11905: 0xF1AD, - 30286 - 11905: 0xB047, - 30287 - 11905: 0xB048, - 30288 - 11905: 0xB049, - 30289 - 11905: 0xB04A, - 30290 - 11905: 0xB04B, - 30291 - 11905: 0xB04C, - 30292 - 11905: 0xF1AF, - 30293 - 11905: 0xB04D, - 30294 - 11905: 0xF1B1, - 30295 - 11905: 0xB04E, - 30296 - 11905: 0xB04F, - 30297 - 11905: 0xB050, - 30298 - 11905: 0xB051, - 30299 - 11905: 0xB052, - 30300 - 11905: 0xF1B0, - 30301 - 11905: 0xB053, - 30302 - 11905: 0xF1AE, - 30303 - 11905: 0xB054, - 30304 - 11905: 0xB055, - 30305 - 11905: 0xB056, - 30306 - 11905: 0xB057, - 30307 - 11905: 0xD1A2, - 30308 - 11905: 0xB058, - 30309 - 11905: 0xB059, - 30310 - 11905: 0xB05A, - 30311 - 11905: 0xB05B, - 30312 - 11905: 0xB05C, - 30313 - 11905: 0xB05D, - 30314 - 11905: 0xB05E, - 30315 - 11905: 0xF1B2, - 30316 - 11905: 0xB05F, - 30317 - 11905: 0xB060, - 30318 - 11905: 0xB061, - 30319 - 11905: 0xF1B3, - 30320 - 11905: 0xB062, - 30321 - 11905: 0xB063, - 30322 - 11905: 0xB064, - 30323 - 11905: 0xB065, - 30324 - 11905: 0xB066, - 30325 - 11905: 0xB067, - 30326 - 11905: 0xB068, - 30327 - 11905: 0xB069, - 30328 - 11905: 0xB9EF, - 30329 - 11905: 0xB06A, - 30330 - 11905: 0xB06B, - 30331 - 11905: 0xB5C7, - 30332 - 11905: 0xB06C, - 30333 - 11905: 0xB0D7, - 30334 - 11905: 0xB0D9, - 30335 - 11905: 0xB06D, - 30336 - 11905: 0xB06E, - 30337 - 11905: 0xB06F, - 30338 - 11905: 0xD4ED, - 30339 - 11905: 0xB070, - 30340 - 11905: 0xB5C4, - 30341 - 11905: 0xB071, - 30342 - 11905: 0xBDD4, - 30343 - 11905: 0xBBCA, - 30344 - 11905: 0xF0A7, - 30345 - 11905: 0xB072, - 30346 - 11905: 0xB073, - 30347 - 11905: 0xB8DE, - 30348 - 11905: 0xB074, - 30349 - 11905: 0xB075, - 30350 - 11905: 0xF0A8, - 30351 - 11905: 0xB076, - 30352 - 11905: 0xB077, - 30353 - 11905: 0xB0A8, - 30354 - 11905: 0xB078, - 30355 - 11905: 0xF0A9, - 30356 - 11905: 0xB079, - 30357 - 11905: 0xB07A, - 30358 - 11905: 0xCDEE, - 30359 - 11905: 0xB07B, - 30360 - 11905: 0xB07C, - 30361 - 11905: 0xF0AA, - 30362 - 11905: 0xB07D, - 30363 - 11905: 0xB07E, - 30364 - 11905: 0xB080, - 30365 - 11905: 0xB081, - 30366 - 11905: 0xB082, - 30367 - 11905: 0xB083, - 30368 - 11905: 0xB084, - 30369 - 11905: 0xB085, - 30370 - 11905: 0xB086, - 30371 - 11905: 0xB087, - 30372 - 11905: 0xF0AB, - 30373 - 11905: 0xB088, - 30374 - 11905: 0xB089, - 30375 - 11905: 0xB08A, - 30376 - 11905: 0xB08B, - 30377 - 11905: 0xB08C, - 30378 - 11905: 0xB08D, - 30379 - 11905: 0xB08E, - 30380 - 11905: 0xB08F, - 30381 - 11905: 0xB090, - 30382 - 11905: 0xC6A4, - 30383 - 11905: 0xB091, - 30384 - 11905: 0xB092, - 30385 - 11905: 0xD6E5, - 30386 - 11905: 0xF1E4, - 30387 - 11905: 0xB093, - 30388 - 11905: 0xF1E5, - 30389 - 11905: 0xB094, - 30390 - 11905: 0xB095, - 30391 - 11905: 0xB096, - 30392 - 11905: 0xB097, - 30393 - 11905: 0xB098, - 30394 - 11905: 0xB099, - 30395 - 11905: 0xB09A, - 30396 - 11905: 0xB09B, - 30397 - 11905: 0xB09C, - 30398 - 11905: 0xB09D, - 30399 - 11905: 0xC3F3, - 30400 - 11905: 0xB09E, - 30401 - 11905: 0xB09F, - 30402 - 11905: 0xD3DB, - 30403 - 11905: 0xB0A0, - 30404 - 11905: 0xB140, - 30405 - 11905: 0xD6D1, - 30406 - 11905: 0xC5E8, - 30407 - 11905: 0xB141, - 30408 - 11905: 0xD3AF, - 30409 - 11905: 0xB142, - 30410 - 11905: 0xD2E6, - 30411 - 11905: 0xB143, - 30412 - 11905: 0xB144, - 30413 - 11905: 0xEEC1, - 30414 - 11905: 0xB0BB, - 30415 - 11905: 0xD5B5, - 30416 - 11905: 0xD1CE, - 30417 - 11905: 0xBCE0, - 30418 - 11905: 0xBAD0, - 30419 - 11905: 0xB145, - 30420 - 11905: 0xBFF8, - 30421 - 11905: 0xB146, - 30422 - 11905: 0xB8C7, - 30423 - 11905: 0xB5C1, - 30424 - 11905: 0xC5CC, - 30425 - 11905: 0xB147, - 30426 - 11905: 0xB148, - 30427 - 11905: 0xCAA2, - 30428 - 11905: 0xB149, - 30429 - 11905: 0xB14A, - 30430 - 11905: 0xB14B, - 30431 - 11905: 0xC3CB, - 30432 - 11905: 0xB14C, - 30433 - 11905: 0xB14D, - 30434 - 11905: 0xB14E, - 30435 - 11905: 0xB14F, - 30436 - 11905: 0xB150, - 30437 - 11905: 0xEEC2, - 30438 - 11905: 0xB151, - 30439 - 11905: 0xB152, - 30440 - 11905: 0xB153, - 30441 - 11905: 0xB154, - 30442 - 11905: 0xB155, - 30443 - 11905: 0xB156, - 30444 - 11905: 0xB157, - 30445 - 11905: 0xB158, - 30446 - 11905: 0xC4BF, - 30447 - 11905: 0xB6A2, - 30448 - 11905: 0xB159, - 30449 - 11905: 0xEDEC, - 30450 - 11905: 0xC3A4, - 30451 - 11905: 0xB15A, - 30452 - 11905: 0xD6B1, - 30453 - 11905: 0xB15B, - 30454 - 11905: 0xB15C, - 30455 - 11905: 0xB15D, - 30456 - 11905: 0xCFE0, - 30457 - 11905: 0xEDEF, - 30458 - 11905: 0xB15E, - 30459 - 11905: 0xB15F, - 30460 - 11905: 0xC5CE, - 30461 - 11905: 0xB160, - 30462 - 11905: 0xB6DC, - 30463 - 11905: 0xB161, - 30464 - 11905: 0xB162, - 30465 - 11905: 0xCAA1, - 30466 - 11905: 0xB163, - 30467 - 11905: 0xB164, - 30468 - 11905: 0xEDED, - 30469 - 11905: 0xB165, - 30470 - 11905: 0xB166, - 30471 - 11905: 0xEDF0, - 30472 - 11905: 0xEDF1, - 30473 - 11905: 0xC3BC, - 30474 - 11905: 0xB167, - 30475 - 11905: 0xBFB4, - 30476 - 11905: 0xB168, - 30477 - 11905: 0xEDEE, - 30478 - 11905: 0xB169, - 30479 - 11905: 0xB16A, - 30480 - 11905: 0xB16B, - 30481 - 11905: 0xB16C, - 30482 - 11905: 0xB16D, - 30483 - 11905: 0xB16E, - 30484 - 11905: 0xB16F, - 30485 - 11905: 0xB170, - 30486 - 11905: 0xB171, - 30487 - 11905: 0xB172, - 30488 - 11905: 0xB173, - 30489 - 11905: 0xEDF4, - 30490 - 11905: 0xEDF2, - 30491 - 11905: 0xB174, - 30492 - 11905: 0xB175, - 30493 - 11905: 0xB176, - 30494 - 11905: 0xB177, - 30495 - 11905: 0xD5E6, - 30496 - 11905: 0xC3DF, - 30497 - 11905: 0xB178, - 30498 - 11905: 0xEDF3, - 30499 - 11905: 0xB179, - 30500 - 11905: 0xB17A, - 30501 - 11905: 0xB17B, - 30502 - 11905: 0xEDF6, - 30503 - 11905: 0xB17C, - 30504 - 11905: 0xD5A3, - 30505 - 11905: 0xD1A3, - 30506 - 11905: 0xB17D, - 30507 - 11905: 0xB17E, - 30508 - 11905: 0xB180, - 30509 - 11905: 0xEDF5, - 30510 - 11905: 0xB181, - 30511 - 11905: 0xC3D0, - 30512 - 11905: 0xB182, - 30513 - 11905: 0xB183, - 30514 - 11905: 0xB184, - 30515 - 11905: 0xB185, - 30516 - 11905: 0xB186, - 30517 - 11905: 0xEDF7, - 30518 - 11905: 0xBFF4, - 30519 - 11905: 0xBEEC, - 30520 - 11905: 0xEDF8, - 30521 - 11905: 0xB187, - 30522 - 11905: 0xCCF7, - 30523 - 11905: 0xB188, - 30524 - 11905: 0xD1DB, - 30525 - 11905: 0xB189, - 30526 - 11905: 0xB18A, - 30527 - 11905: 0xB18B, - 30528 - 11905: 0xD7C5, - 30529 - 11905: 0xD5F6, - 30530 - 11905: 0xB18C, - 30531 - 11905: 0xEDFC, - 30532 - 11905: 0xB18D, - 30533 - 11905: 0xB18E, - 30534 - 11905: 0xB18F, - 30535 - 11905: 0xEDFB, - 30536 - 11905: 0xB190, - 30537 - 11905: 0xB191, - 30538 - 11905: 0xB192, - 30539 - 11905: 0xB193, - 30540 - 11905: 0xB194, - 30541 - 11905: 0xB195, - 30542 - 11905: 0xB196, - 30543 - 11905: 0xB197, - 30544 - 11905: 0xEDF9, - 30545 - 11905: 0xEDFA, - 30546 - 11905: 0xB198, - 30547 - 11905: 0xB199, - 30548 - 11905: 0xB19A, - 30549 - 11905: 0xB19B, - 30550 - 11905: 0xB19C, - 30551 - 11905: 0xB19D, - 30552 - 11905: 0xB19E, - 30553 - 11905: 0xB19F, - 30554 - 11905: 0xEDFD, - 30555 - 11905: 0xBEA6, - 30556 - 11905: 0xB1A0, - 30557 - 11905: 0xB240, - 30558 - 11905: 0xB241, - 30559 - 11905: 0xB242, - 30560 - 11905: 0xB243, - 30561 - 11905: 0xCBAF, - 30562 - 11905: 0xEEA1, - 30563 - 11905: 0xB6BD, - 30564 - 11905: 0xB244, - 30565 - 11905: 0xEEA2, - 30566 - 11905: 0xC4C0, - 30567 - 11905: 0xB245, - 30568 - 11905: 0xEDFE, - 30569 - 11905: 0xB246, - 30570 - 11905: 0xB247, - 30571 - 11905: 0xBDDE, - 30572 - 11905: 0xB2C7, - 30573 - 11905: 0xB248, - 30574 - 11905: 0xB249, - 30575 - 11905: 0xB24A, - 30576 - 11905: 0xB24B, - 30577 - 11905: 0xB24C, - 30578 - 11905: 0xB24D, - 30579 - 11905: 0xB24E, - 30580 - 11905: 0xB24F, - 30581 - 11905: 0xB250, - 30582 - 11905: 0xB251, - 30583 - 11905: 0xB252, - 30584 - 11905: 0xB253, - 30585 - 11905: 0xB6C3, - 30586 - 11905: 0xB254, - 30587 - 11905: 0xB255, - 30588 - 11905: 0xB256, - 30589 - 11905: 0xEEA5, - 30590 - 11905: 0xD8BA, - 30591 - 11905: 0xEEA3, - 30592 - 11905: 0xEEA6, - 30593 - 11905: 0xB257, - 30594 - 11905: 0xB258, - 30595 - 11905: 0xB259, - 30596 - 11905: 0xC3E9, - 30597 - 11905: 0xB3F2, - 30598 - 11905: 0xB25A, - 30599 - 11905: 0xB25B, - 30600 - 11905: 0xB25C, - 30601 - 11905: 0xB25D, - 30602 - 11905: 0xB25E, - 30603 - 11905: 0xB25F, - 30604 - 11905: 0xEEA7, - 30605 - 11905: 0xEEA4, - 30606 - 11905: 0xCFB9, - 30607 - 11905: 0xB260, - 30608 - 11905: 0xB261, - 30609 - 11905: 0xEEA8, - 30610 - 11905: 0xC2F7, - 30611 - 11905: 0xB262, - 30612 - 11905: 0xB263, - 30613 - 11905: 0xB264, - 30614 - 11905: 0xB265, - 30615 - 11905: 0xB266, - 30616 - 11905: 0xB267, - 30617 - 11905: 0xB268, - 30618 - 11905: 0xB269, - 30619 - 11905: 0xB26A, - 30620 - 11905: 0xB26B, - 30621 - 11905: 0xB26C, - 30622 - 11905: 0xB26D, - 30623 - 11905: 0xEEA9, - 30624 - 11905: 0xEEAA, - 30625 - 11905: 0xB26E, - 30626 - 11905: 0xDEAB, - 30627 - 11905: 0xB26F, - 30628 - 11905: 0xB270, - 30629 - 11905: 0xC6B3, - 30630 - 11905: 0xB271, - 30631 - 11905: 0xC7C6, - 30632 - 11905: 0xB272, - 30633 - 11905: 0xD6F5, - 30634 - 11905: 0xB5C9, - 30635 - 11905: 0xB273, - 30636 - 11905: 0xCBB2, - 30637 - 11905: 0xB274, - 30638 - 11905: 0xB275, - 30639 - 11905: 0xB276, - 30640 - 11905: 0xEEAB, - 30641 - 11905: 0xB277, - 30642 - 11905: 0xB278, - 30643 - 11905: 0xCDAB, - 30644 - 11905: 0xB279, - 30645 - 11905: 0xEEAC, - 30646 - 11905: 0xB27A, - 30647 - 11905: 0xB27B, - 30648 - 11905: 0xB27C, - 30649 - 11905: 0xB27D, - 30650 - 11905: 0xB27E, - 30651 - 11905: 0xD5B0, - 30652 - 11905: 0xB280, - 30653 - 11905: 0xEEAD, - 30654 - 11905: 0xB281, - 30655 - 11905: 0xF6C4, - 30656 - 11905: 0xB282, - 30657 - 11905: 0xB283, - 30658 - 11905: 0xB284, - 30659 - 11905: 0xB285, - 30660 - 11905: 0xB286, - 30661 - 11905: 0xB287, - 30662 - 11905: 0xB288, - 30663 - 11905: 0xB289, - 30664 - 11905: 0xB28A, - 30665 - 11905: 0xB28B, - 30666 - 11905: 0xB28C, - 30667 - 11905: 0xB28D, - 30668 - 11905: 0xB28E, - 30669 - 11905: 0xDBC7, - 30670 - 11905: 0xB28F, - 30671 - 11905: 0xB290, - 30672 - 11905: 0xB291, - 30673 - 11905: 0xB292, - 30674 - 11905: 0xB293, - 30675 - 11905: 0xB294, - 30676 - 11905: 0xB295, - 30677 - 11905: 0xB296, - 30678 - 11905: 0xB297, - 30679 - 11905: 0xB4A3, - 30680 - 11905: 0xB298, - 30681 - 11905: 0xB299, - 30682 - 11905: 0xB29A, - 30683 - 11905: 0xC3AC, - 30684 - 11905: 0xF1E6, - 30685 - 11905: 0xB29B, - 30686 - 11905: 0xB29C, - 30687 - 11905: 0xB29D, - 30688 - 11905: 0xB29E, - 30689 - 11905: 0xB29F, - 30690 - 11905: 0xCAB8, - 30691 - 11905: 0xD2D3, - 30692 - 11905: 0xB2A0, - 30693 - 11905: 0xD6AA, - 30694 - 11905: 0xB340, - 30695 - 11905: 0xEFF2, - 30696 - 11905: 0xB341, - 30697 - 11905: 0xBED8, - 30698 - 11905: 0xB342, - 30699 - 11905: 0xBDC3, - 30700 - 11905: 0xEFF3, - 30701 - 11905: 0xB6CC, - 30702 - 11905: 0xB0AB, - 30703 - 11905: 0xB343, - 30704 - 11905: 0xB344, - 30705 - 11905: 0xB345, - 30706 - 11905: 0xB346, - 30707 - 11905: 0xCAAF, - 30708 - 11905: 0xB347, - 30709 - 11905: 0xB348, - 30710 - 11905: 0xEDB6, - 30711 - 11905: 0xB349, - 30712 - 11905: 0xEDB7, - 30713 - 11905: 0xB34A, - 30714 - 11905: 0xB34B, - 30715 - 11905: 0xB34C, - 30716 - 11905: 0xB34D, - 30717 - 11905: 0xCEF9, - 30718 - 11905: 0xB7AF, - 30719 - 11905: 0xBFF3, - 30720 - 11905: 0xEDB8, - 30721 - 11905: 0xC2EB, - 30722 - 11905: 0xC9B0, - 30723 - 11905: 0xB34E, - 30724 - 11905: 0xB34F, - 30725 - 11905: 0xB350, - 30726 - 11905: 0xB351, - 30727 - 11905: 0xB352, - 30728 - 11905: 0xB353, - 30729 - 11905: 0xEDB9, - 30730 - 11905: 0xB354, - 30731 - 11905: 0xB355, - 30732 - 11905: 0xC6F6, - 30733 - 11905: 0xBFB3, - 30734 - 11905: 0xB356, - 30735 - 11905: 0xB357, - 30736 - 11905: 0xB358, - 30737 - 11905: 0xEDBC, - 30738 - 11905: 0xC5F8, - 30739 - 11905: 0xB359, - 30740 - 11905: 0xD1D0, - 30741 - 11905: 0xB35A, - 30742 - 11905: 0xD7A9, - 30743 - 11905: 0xEDBA, - 30744 - 11905: 0xEDBB, - 30745 - 11905: 0xB35B, - 30746 - 11905: 0xD1E2, - 30747 - 11905: 0xB35C, - 30748 - 11905: 0xEDBF, - 30749 - 11905: 0xEDC0, - 30750 - 11905: 0xB35D, - 30751 - 11905: 0xEDC4, - 30752 - 11905: 0xB35E, - 30753 - 11905: 0xB35F, - 30754 - 11905: 0xB360, - 30755 - 11905: 0xEDC8, - 30756 - 11905: 0xB361, - 30757 - 11905: 0xEDC6, - 30758 - 11905: 0xEDCE, - 30759 - 11905: 0xD5E8, - 30760 - 11905: 0xB362, - 30761 - 11905: 0xEDC9, - 30762 - 11905: 0xB363, - 30763 - 11905: 0xB364, - 30764 - 11905: 0xEDC7, - 30765 - 11905: 0xEDBE, - 30766 - 11905: 0xB365, - 30767 - 11905: 0xB366, - 30768 - 11905: 0xC5E9, - 30769 - 11905: 0xB367, - 30770 - 11905: 0xB368, - 30771 - 11905: 0xB369, - 30772 - 11905: 0xC6C6, - 30773 - 11905: 0xB36A, - 30774 - 11905: 0xB36B, - 30775 - 11905: 0xC9E9, - 30776 - 11905: 0xD4D2, - 30777 - 11905: 0xEDC1, - 30778 - 11905: 0xEDC2, - 30779 - 11905: 0xEDC3, - 30780 - 11905: 0xEDC5, - 30781 - 11905: 0xB36C, - 30782 - 11905: 0xC0F9, - 30783 - 11905: 0xB36D, - 30784 - 11905: 0xB4A1, - 30785 - 11905: 0xB36E, - 30786 - 11905: 0xB36F, - 30787 - 11905: 0xB370, - 30788 - 11905: 0xB371, - 30789 - 11905: 0xB9E8, - 30790 - 11905: 0xB372, - 30791 - 11905: 0xEDD0, - 30792 - 11905: 0xB373, - 30793 - 11905: 0xB374, - 30794 - 11905: 0xB375, - 30795 - 11905: 0xB376, - 30796 - 11905: 0xEDD1, - 30797 - 11905: 0xB377, - 30798 - 11905: 0xEDCA, - 30799 - 11905: 0xB378, - 30800 - 11905: 0xEDCF, - 30801 - 11905: 0xB379, - 30802 - 11905: 0xCEF8, - 30803 - 11905: 0xB37A, - 30804 - 11905: 0xB37B, - 30805 - 11905: 0xCBB6, - 30806 - 11905: 0xEDCC, - 30807 - 11905: 0xEDCD, - 30808 - 11905: 0xB37C, - 30809 - 11905: 0xB37D, - 30810 - 11905: 0xB37E, - 30811 - 11905: 0xB380, - 30812 - 11905: 0xB381, - 30813 - 11905: 0xCFF5, - 30814 - 11905: 0xB382, - 30815 - 11905: 0xB383, - 30816 - 11905: 0xB384, - 30817 - 11905: 0xB385, - 30818 - 11905: 0xB386, - 30819 - 11905: 0xB387, - 30820 - 11905: 0xB388, - 30821 - 11905: 0xB389, - 30822 - 11905: 0xB38A, - 30823 - 11905: 0xB38B, - 30824 - 11905: 0xB38C, - 30825 - 11905: 0xB38D, - 30826 - 11905: 0xEDD2, - 30827 - 11905: 0xC1F2, - 30828 - 11905: 0xD3B2, - 30829 - 11905: 0xEDCB, - 30830 - 11905: 0xC8B7, - 30831 - 11905: 0xB38E, - 30832 - 11905: 0xB38F, - 30833 - 11905: 0xB390, - 30834 - 11905: 0xB391, - 30835 - 11905: 0xB392, - 30836 - 11905: 0xB393, - 30837 - 11905: 0xB394, - 30838 - 11905: 0xB395, - 30839 - 11905: 0xBCEF, - 30840 - 11905: 0xB396, - 30841 - 11905: 0xB397, - 30842 - 11905: 0xB398, - 30843 - 11905: 0xB399, - 30844 - 11905: 0xC5F0, - 30845 - 11905: 0xB39A, - 30846 - 11905: 0xB39B, - 30847 - 11905: 0xB39C, - 30848 - 11905: 0xB39D, - 30849 - 11905: 0xB39E, - 30850 - 11905: 0xB39F, - 30851 - 11905: 0xB3A0, - 30852 - 11905: 0xB440, - 30853 - 11905: 0xB441, - 30854 - 11905: 0xB442, - 30855 - 11905: 0xEDD6, - 30856 - 11905: 0xB443, - 30857 - 11905: 0xB5EF, - 30858 - 11905: 0xB444, - 30859 - 11905: 0xB445, - 30860 - 11905: 0xC2B5, - 30861 - 11905: 0xB0AD, - 30862 - 11905: 0xCBE9, - 30863 - 11905: 0xB446, - 30864 - 11905: 0xB447, - 30865 - 11905: 0xB1AE, - 30866 - 11905: 0xB448, - 30867 - 11905: 0xEDD4, - 30868 - 11905: 0xB449, - 30869 - 11905: 0xB44A, - 30870 - 11905: 0xB44B, - 30871 - 11905: 0xCDEB, - 30872 - 11905: 0xB5E2, - 30873 - 11905: 0xB44C, - 30874 - 11905: 0xEDD5, - 30875 - 11905: 0xEDD3, - 30876 - 11905: 0xEDD7, - 30877 - 11905: 0xB44D, - 30878 - 11905: 0xB44E, - 30879 - 11905: 0xB5FA, - 30880 - 11905: 0xB44F, - 30881 - 11905: 0xEDD8, - 30882 - 11905: 0xB450, - 30883 - 11905: 0xEDD9, - 30884 - 11905: 0xB451, - 30885 - 11905: 0xEDDC, - 30886 - 11905: 0xB452, - 30887 - 11905: 0xB1CC, - 30888 - 11905: 0xB453, - 30889 - 11905: 0xB454, - 30890 - 11905: 0xB455, - 30891 - 11905: 0xB456, - 30892 - 11905: 0xB457, - 30893 - 11905: 0xB458, - 30894 - 11905: 0xB459, - 30895 - 11905: 0xB45A, - 30896 - 11905: 0xC5F6, - 30897 - 11905: 0xBCEE, - 30898 - 11905: 0xEDDA, - 30899 - 11905: 0xCCBC, - 30900 - 11905: 0xB2EA, - 30901 - 11905: 0xB45B, - 30902 - 11905: 0xB45C, - 30903 - 11905: 0xB45D, - 30904 - 11905: 0xB45E, - 30905 - 11905: 0xEDDB, - 30906 - 11905: 0xB45F, - 30907 - 11905: 0xB460, - 30908 - 11905: 0xB461, - 30909 - 11905: 0xB462, - 30910 - 11905: 0xC4EB, - 30911 - 11905: 0xB463, - 30912 - 11905: 0xB464, - 30913 - 11905: 0xB4C5, - 30914 - 11905: 0xB465, - 30915 - 11905: 0xB466, - 30916 - 11905: 0xB467, - 30917 - 11905: 0xB0F5, - 30918 - 11905: 0xB468, - 30919 - 11905: 0xB469, - 30920 - 11905: 0xB46A, - 30921 - 11905: 0xEDDF, - 30922 - 11905: 0xC0DA, - 30923 - 11905: 0xB4E8, - 30924 - 11905: 0xB46B, - 30925 - 11905: 0xB46C, - 30926 - 11905: 0xB46D, - 30927 - 11905: 0xB46E, - 30928 - 11905: 0xC5CD, - 30929 - 11905: 0xB46F, - 30930 - 11905: 0xB470, - 30931 - 11905: 0xB471, - 30932 - 11905: 0xEDDD, - 30933 - 11905: 0xBFC4, - 30934 - 11905: 0xB472, - 30935 - 11905: 0xB473, - 30936 - 11905: 0xB474, - 30937 - 11905: 0xEDDE, - 30938 - 11905: 0xB475, - 30939 - 11905: 0xB476, - 30940 - 11905: 0xB477, - 30941 - 11905: 0xB478, - 30942 - 11905: 0xB479, - 30943 - 11905: 0xB47A, - 30944 - 11905: 0xB47B, - 30945 - 11905: 0xB47C, - 30946 - 11905: 0xB47D, - 30947 - 11905: 0xB47E, - 30948 - 11905: 0xB480, - 30949 - 11905: 0xB481, - 30950 - 11905: 0xB482, - 30951 - 11905: 0xB483, - 30952 - 11905: 0xC4A5, - 30953 - 11905: 0xB484, - 30954 - 11905: 0xB485, - 30955 - 11905: 0xB486, - 30956 - 11905: 0xEDE0, - 30957 - 11905: 0xB487, - 30958 - 11905: 0xB488, - 30959 - 11905: 0xB489, - 30960 - 11905: 0xB48A, - 30961 - 11905: 0xB48B, - 30962 - 11905: 0xEDE1, - 30963 - 11905: 0xB48C, - 30964 - 11905: 0xEDE3, - 30965 - 11905: 0xB48D, - 30966 - 11905: 0xB48E, - 30967 - 11905: 0xC1D7, - 30968 - 11905: 0xB48F, - 30969 - 11905: 0xB490, - 30970 - 11905: 0xBBC7, - 30971 - 11905: 0xB491, - 30972 - 11905: 0xB492, - 30973 - 11905: 0xB493, - 30974 - 11905: 0xB494, - 30975 - 11905: 0xB495, - 30976 - 11905: 0xB496, - 30977 - 11905: 0xBDB8, - 30978 - 11905: 0xB497, - 30979 - 11905: 0xB498, - 30980 - 11905: 0xB499, - 30981 - 11905: 0xEDE2, - 30982 - 11905: 0xB49A, - 30983 - 11905: 0xB49B, - 30984 - 11905: 0xB49C, - 30985 - 11905: 0xB49D, - 30986 - 11905: 0xB49E, - 30987 - 11905: 0xB49F, - 30988 - 11905: 0xB4A0, - 30989 - 11905: 0xB540, - 30990 - 11905: 0xB541, - 30991 - 11905: 0xB542, - 30992 - 11905: 0xB543, - 30993 - 11905: 0xB544, - 30994 - 11905: 0xB545, - 30995 - 11905: 0xEDE4, - 30996 - 11905: 0xB546, - 30997 - 11905: 0xB547, - 30998 - 11905: 0xB548, - 30999 - 11905: 0xB549, - 31000 - 11905: 0xB54A, - 31001 - 11905: 0xB54B, - 31002 - 11905: 0xB54C, - 31003 - 11905: 0xB54D, - 31004 - 11905: 0xB54E, - 31005 - 11905: 0xB54F, - 31006 - 11905: 0xEDE6, - 31007 - 11905: 0xB550, - 31008 - 11905: 0xB551, - 31009 - 11905: 0xB552, - 31010 - 11905: 0xB553, - 31011 - 11905: 0xB554, - 31012 - 11905: 0xEDE5, - 31013 - 11905: 0xB555, - 31014 - 11905: 0xB556, - 31015 - 11905: 0xB557, - 31016 - 11905: 0xB558, - 31017 - 11905: 0xB559, - 31018 - 11905: 0xB55A, - 31019 - 11905: 0xB55B, - 31020 - 11905: 0xB55C, - 31021 - 11905: 0xB55D, - 31022 - 11905: 0xB55E, - 31023 - 11905: 0xB55F, - 31024 - 11905: 0xB560, - 31025 - 11905: 0xB561, - 31026 - 11905: 0xB562, - 31027 - 11905: 0xB563, - 31028 - 11905: 0xEDE7, - 31029 - 11905: 0xB564, - 31030 - 11905: 0xB565, - 31031 - 11905: 0xB566, - 31032 - 11905: 0xB567, - 31033 - 11905: 0xB568, - 31034 - 11905: 0xCABE, - 31035 - 11905: 0xECEA, - 31036 - 11905: 0xC0F1, - 31037 - 11905: 0xB569, - 31038 - 11905: 0xC9E7, - 31039 - 11905: 0xB56A, - 31040 - 11905: 0xECEB, - 31041 - 11905: 0xC6EE, - 31042 - 11905: 0xB56B, - 31043 - 11905: 0xB56C, - 31044 - 11905: 0xB56D, - 31045 - 11905: 0xB56E, - 31046 - 11905: 0xECEC, - 31047 - 11905: 0xB56F, - 31048 - 11905: 0xC6ED, - 31049 - 11905: 0xECED, - 31050 - 11905: 0xB570, - 31051 - 11905: 0xB571, - 31052 - 11905: 0xB572, - 31053 - 11905: 0xB573, - 31054 - 11905: 0xB574, - 31055 - 11905: 0xB575, - 31056 - 11905: 0xB576, - 31057 - 11905: 0xB577, - 31058 - 11905: 0xB578, - 31059 - 11905: 0xECF0, - 31060 - 11905: 0xB579, - 31061 - 11905: 0xB57A, - 31062 - 11905: 0xD7E6, - 31063 - 11905: 0xECF3, - 31064 - 11905: 0xB57B, - 31065 - 11905: 0xB57C, - 31066 - 11905: 0xECF1, - 31067 - 11905: 0xECEE, - 31068 - 11905: 0xECEF, - 31069 - 11905: 0xD7A3, - 31070 - 11905: 0xC9F1, - 31071 - 11905: 0xCBEE, - 31072 - 11905: 0xECF4, - 31073 - 11905: 0xB57D, - 31074 - 11905: 0xECF2, - 31075 - 11905: 0xB57E, - 31076 - 11905: 0xB580, - 31077 - 11905: 0xCFE9, - 31078 - 11905: 0xB581, - 31079 - 11905: 0xECF6, - 31080 - 11905: 0xC6B1, - 31081 - 11905: 0xB582, - 31082 - 11905: 0xB583, - 31083 - 11905: 0xB584, - 31084 - 11905: 0xB585, - 31085 - 11905: 0xBCC0, - 31086 - 11905: 0xB586, - 31087 - 11905: 0xECF5, - 31088 - 11905: 0xB587, - 31089 - 11905: 0xB588, - 31090 - 11905: 0xB589, - 31091 - 11905: 0xB58A, - 31092 - 11905: 0xB58B, - 31093 - 11905: 0xB58C, - 31094 - 11905: 0xB58D, - 31095 - 11905: 0xB5BB, - 31096 - 11905: 0xBBF6, - 31097 - 11905: 0xB58E, - 31098 - 11905: 0xECF7, - 31099 - 11905: 0xB58F, - 31100 - 11905: 0xB590, - 31101 - 11905: 0xB591, - 31102 - 11905: 0xB592, - 31103 - 11905: 0xB593, - 31104 - 11905: 0xD9F7, - 31105 - 11905: 0xBDFB, - 31106 - 11905: 0xB594, - 31107 - 11905: 0xB595, - 31108 - 11905: 0xC2BB, - 31109 - 11905: 0xECF8, - 31110 - 11905: 0xB596, - 31111 - 11905: 0xB597, - 31112 - 11905: 0xB598, - 31113 - 11905: 0xB599, - 31114 - 11905: 0xECF9, - 31115 - 11905: 0xB59A, - 31116 - 11905: 0xB59B, - 31117 - 11905: 0xB59C, - 31118 - 11905: 0xB59D, - 31119 - 11905: 0xB8A3, - 31120 - 11905: 0xB59E, - 31121 - 11905: 0xB59F, - 31122 - 11905: 0xB5A0, - 31123 - 11905: 0xB640, - 31124 - 11905: 0xB641, - 31125 - 11905: 0xB642, - 31126 - 11905: 0xB643, - 31127 - 11905: 0xB644, - 31128 - 11905: 0xB645, - 31129 - 11905: 0xB646, - 31130 - 11905: 0xECFA, - 31131 - 11905: 0xB647, - 31132 - 11905: 0xB648, - 31133 - 11905: 0xB649, - 31134 - 11905: 0xB64A, - 31135 - 11905: 0xB64B, - 31136 - 11905: 0xB64C, - 31137 - 11905: 0xB64D, - 31138 - 11905: 0xB64E, - 31139 - 11905: 0xB64F, - 31140 - 11905: 0xB650, - 31141 - 11905: 0xB651, - 31142 - 11905: 0xB652, - 31143 - 11905: 0xECFB, - 31144 - 11905: 0xB653, - 31145 - 11905: 0xB654, - 31146 - 11905: 0xB655, - 31147 - 11905: 0xB656, - 31148 - 11905: 0xB657, - 31149 - 11905: 0xB658, - 31150 - 11905: 0xB659, - 31151 - 11905: 0xB65A, - 31152 - 11905: 0xB65B, - 31153 - 11905: 0xB65C, - 31154 - 11905: 0xB65D, - 31155 - 11905: 0xECFC, - 31156 - 11905: 0xB65E, - 31157 - 11905: 0xB65F, - 31158 - 11905: 0xB660, - 31159 - 11905: 0xB661, - 31160 - 11905: 0xB662, - 31161 - 11905: 0xD3ED, - 31162 - 11905: 0xD8AE, - 31163 - 11905: 0xC0EB, - 31164 - 11905: 0xB663, - 31165 - 11905: 0xC7DD, - 31166 - 11905: 0xBACC, - 31167 - 11905: 0xB664, - 31168 - 11905: 0xD0E3, - 31169 - 11905: 0xCBBD, - 31170 - 11905: 0xB665, - 31171 - 11905: 0xCDBA, - 31172 - 11905: 0xB666, - 31173 - 11905: 0xB667, - 31174 - 11905: 0xB8D1, - 31175 - 11905: 0xB668, - 31176 - 11905: 0xB669, - 31177 - 11905: 0xB1FC, - 31178 - 11905: 0xB66A, - 31179 - 11905: 0xC7EF, - 31180 - 11905: 0xB66B, - 31181 - 11905: 0xD6D6, - 31182 - 11905: 0xB66C, - 31183 - 11905: 0xB66D, - 31184 - 11905: 0xB66E, - 31185 - 11905: 0xBFC6, - 31186 - 11905: 0xC3EB, - 31187 - 11905: 0xB66F, - 31188 - 11905: 0xB670, - 31189 - 11905: 0xEFF5, - 31190 - 11905: 0xB671, - 31191 - 11905: 0xB672, - 31192 - 11905: 0xC3D8, - 31193 - 11905: 0xB673, - 31194 - 11905: 0xB674, - 31195 - 11905: 0xB675, - 31196 - 11905: 0xB676, - 31197 - 11905: 0xB677, - 31198 - 11905: 0xB678, - 31199 - 11905: 0xD7E2, - 31200 - 11905: 0xB679, - 31201 - 11905: 0xB67A, - 31202 - 11905: 0xB67B, - 31203 - 11905: 0xEFF7, - 31204 - 11905: 0xB3D3, - 31205 - 11905: 0xB67C, - 31206 - 11905: 0xC7D8, - 31207 - 11905: 0xD1ED, - 31208 - 11905: 0xB67D, - 31209 - 11905: 0xD6C8, - 31210 - 11905: 0xB67E, - 31211 - 11905: 0xEFF8, - 31212 - 11905: 0xB680, - 31213 - 11905: 0xEFF6, - 31214 - 11905: 0xB681, - 31215 - 11905: 0xBBFD, - 31216 - 11905: 0xB3C6, - 31217 - 11905: 0xB682, - 31218 - 11905: 0xB683, - 31219 - 11905: 0xB684, - 31220 - 11905: 0xB685, - 31221 - 11905: 0xB686, - 31222 - 11905: 0xB687, - 31223 - 11905: 0xB688, - 31224 - 11905: 0xBDD5, - 31225 - 11905: 0xB689, - 31226 - 11905: 0xB68A, - 31227 - 11905: 0xD2C6, - 31228 - 11905: 0xB68B, - 31229 - 11905: 0xBBE0, - 31230 - 11905: 0xB68C, - 31231 - 11905: 0xB68D, - 31232 - 11905: 0xCFA1, - 31233 - 11905: 0xB68E, - 31234 - 11905: 0xEFFC, - 31235 - 11905: 0xEFFB, - 31236 - 11905: 0xB68F, - 31237 - 11905: 0xB690, - 31238 - 11905: 0xEFF9, - 31239 - 11905: 0xB691, - 31240 - 11905: 0xB692, - 31241 - 11905: 0xB693, - 31242 - 11905: 0xB694, - 31243 - 11905: 0xB3CC, - 31244 - 11905: 0xB695, - 31245 - 11905: 0xC9D4, - 31246 - 11905: 0xCBB0, - 31247 - 11905: 0xB696, - 31248 - 11905: 0xB697, - 31249 - 11905: 0xB698, - 31250 - 11905: 0xB699, - 31251 - 11905: 0xB69A, - 31252 - 11905: 0xEFFE, - 31253 - 11905: 0xB69B, - 31254 - 11905: 0xB69C, - 31255 - 11905: 0xB0DE, - 31256 - 11905: 0xB69D, - 31257 - 11905: 0xB69E, - 31258 - 11905: 0xD6C9, - 31259 - 11905: 0xB69F, - 31260 - 11905: 0xB6A0, - 31261 - 11905: 0xB740, - 31262 - 11905: 0xEFFD, - 31263 - 11905: 0xB741, - 31264 - 11905: 0xB3ED, - 31265 - 11905: 0xB742, - 31266 - 11905: 0xB743, - 31267 - 11905: 0xF6D5, - 31268 - 11905: 0xB744, - 31269 - 11905: 0xB745, - 31270 - 11905: 0xB746, - 31271 - 11905: 0xB747, - 31272 - 11905: 0xB748, - 31273 - 11905: 0xB749, - 31274 - 11905: 0xB74A, - 31275 - 11905: 0xB74B, - 31276 - 11905: 0xB74C, - 31277 - 11905: 0xB74D, - 31278 - 11905: 0xB74E, - 31279 - 11905: 0xB74F, - 31280 - 11905: 0xB750, - 31281 - 11905: 0xB751, - 31282 - 11905: 0xB752, - 31283 - 11905: 0xCEC8, - 31284 - 11905: 0xB753, - 31285 - 11905: 0xB754, - 31286 - 11905: 0xB755, - 31287 - 11905: 0xF0A2, - 31288 - 11905: 0xB756, - 31289 - 11905: 0xF0A1, - 31290 - 11905: 0xB757, - 31291 - 11905: 0xB5BE, - 31292 - 11905: 0xBCDA, - 31293 - 11905: 0xBBFC, - 31294 - 11905: 0xB758, - 31295 - 11905: 0xB8E5, - 31296 - 11905: 0xB759, - 31297 - 11905: 0xB75A, - 31298 - 11905: 0xB75B, - 31299 - 11905: 0xB75C, - 31300 - 11905: 0xB75D, - 31301 - 11905: 0xB75E, - 31302 - 11905: 0xC4C2, - 31303 - 11905: 0xB75F, - 31304 - 11905: 0xB760, - 31305 - 11905: 0xB761, - 31306 - 11905: 0xB762, - 31307 - 11905: 0xB763, - 31308 - 11905: 0xB764, - 31309 - 11905: 0xB765, - 31310 - 11905: 0xB766, - 31311 - 11905: 0xB767, - 31312 - 11905: 0xB768, - 31313 - 11905: 0xF0A3, - 31314 - 11905: 0xB769, - 31315 - 11905: 0xB76A, - 31316 - 11905: 0xB76B, - 31317 - 11905: 0xB76C, - 31318 - 11905: 0xB76D, - 31319 - 11905: 0xCBEB, - 31320 - 11905: 0xB76E, - 31321 - 11905: 0xB76F, - 31322 - 11905: 0xB770, - 31323 - 11905: 0xB771, - 31324 - 11905: 0xB772, - 31325 - 11905: 0xB773, - 31326 - 11905: 0xB774, - 31327 - 11905: 0xB775, - 31328 - 11905: 0xB776, - 31329 - 11905: 0xB777, - 31330 - 11905: 0xB778, - 31331 - 11905: 0xB779, - 31332 - 11905: 0xB77A, - 31333 - 11905: 0xB77B, - 31334 - 11905: 0xB77C, - 31335 - 11905: 0xB77D, - 31336 - 11905: 0xB77E, - 31337 - 11905: 0xB780, - 31338 - 11905: 0xB781, - 31339 - 11905: 0xB782, - 31340 - 11905: 0xB783, - 31341 - 11905: 0xB784, - 31342 - 11905: 0xB785, - 31343 - 11905: 0xB786, - 31344 - 11905: 0xF0A6, - 31345 - 11905: 0xB787, - 31346 - 11905: 0xB788, - 31347 - 11905: 0xB789, - 31348 - 11905: 0xD1A8, - 31349 - 11905: 0xB78A, - 31350 - 11905: 0xBEBF, - 31351 - 11905: 0xC7EE, - 31352 - 11905: 0xF1B6, - 31353 - 11905: 0xF1B7, - 31354 - 11905: 0xBFD5, - 31355 - 11905: 0xB78B, - 31356 - 11905: 0xB78C, - 31357 - 11905: 0xB78D, - 31358 - 11905: 0xB78E, - 31359 - 11905: 0xB4A9, - 31360 - 11905: 0xF1B8, - 31361 - 11905: 0xCDBB, - 31362 - 11905: 0xB78F, - 31363 - 11905: 0xC7D4, - 31364 - 11905: 0xD5AD, - 31365 - 11905: 0xB790, - 31366 - 11905: 0xF1B9, - 31367 - 11905: 0xB791, - 31368 - 11905: 0xF1BA, - 31369 - 11905: 0xB792, - 31370 - 11905: 0xB793, - 31371 - 11905: 0xB794, - 31372 - 11905: 0xB795, - 31373 - 11905: 0xC7CF, - 31374 - 11905: 0xB796, - 31375 - 11905: 0xB797, - 31376 - 11905: 0xB798, - 31377 - 11905: 0xD2A4, - 31378 - 11905: 0xD6CF, - 31379 - 11905: 0xB799, - 31380 - 11905: 0xB79A, - 31381 - 11905: 0xF1BB, - 31382 - 11905: 0xBDD1, - 31383 - 11905: 0xB4B0, - 31384 - 11905: 0xBEBD, - 31385 - 11905: 0xB79B, - 31386 - 11905: 0xB79C, - 31387 - 11905: 0xB79D, - 31388 - 11905: 0xB4DC, - 31389 - 11905: 0xCED1, - 31390 - 11905: 0xB79E, - 31391 - 11905: 0xBFDF, - 31392 - 11905: 0xF1BD, - 31393 - 11905: 0xB79F, - 31394 - 11905: 0xB7A0, - 31395 - 11905: 0xB840, - 31396 - 11905: 0xB841, - 31397 - 11905: 0xBFFA, - 31398 - 11905: 0xF1BC, - 31399 - 11905: 0xB842, - 31400 - 11905: 0xF1BF, - 31401 - 11905: 0xB843, - 31402 - 11905: 0xB844, - 31403 - 11905: 0xB845, - 31404 - 11905: 0xF1BE, - 31405 - 11905: 0xF1C0, - 31406 - 11905: 0xB846, - 31407 - 11905: 0xB847, - 31408 - 11905: 0xB848, - 31409 - 11905: 0xB849, - 31410 - 11905: 0xB84A, - 31411 - 11905: 0xF1C1, - 31412 - 11905: 0xB84B, - 31413 - 11905: 0xB84C, - 31414 - 11905: 0xB84D, - 31415 - 11905: 0xB84E, - 31416 - 11905: 0xB84F, - 31417 - 11905: 0xB850, - 31418 - 11905: 0xB851, - 31419 - 11905: 0xB852, - 31420 - 11905: 0xB853, - 31421 - 11905: 0xB854, - 31422 - 11905: 0xB855, - 31423 - 11905: 0xC1FE, - 31424 - 11905: 0xB856, - 31425 - 11905: 0xB857, - 31426 - 11905: 0xB858, - 31427 - 11905: 0xB859, - 31428 - 11905: 0xB85A, - 31429 - 11905: 0xB85B, - 31430 - 11905: 0xB85C, - 31431 - 11905: 0xB85D, - 31432 - 11905: 0xB85E, - 31433 - 11905: 0xB85F, - 31434 - 11905: 0xB860, - 31435 - 11905: 0xC1A2, - 31436 - 11905: 0xB861, - 31437 - 11905: 0xB862, - 31438 - 11905: 0xB863, - 31439 - 11905: 0xB864, - 31440 - 11905: 0xB865, - 31441 - 11905: 0xB866, - 31442 - 11905: 0xB867, - 31443 - 11905: 0xB868, - 31444 - 11905: 0xB869, - 31445 - 11905: 0xB86A, - 31446 - 11905: 0xCAFA, - 31447 - 11905: 0xB86B, - 31448 - 11905: 0xB86C, - 31449 - 11905: 0xD5BE, - 31450 - 11905: 0xB86D, - 31451 - 11905: 0xB86E, - 31452 - 11905: 0xB86F, - 31453 - 11905: 0xB870, - 31454 - 11905: 0xBEBA, - 31455 - 11905: 0xBEB9, - 31456 - 11905: 0xD5C2, - 31457 - 11905: 0xB871, - 31458 - 11905: 0xB872, - 31459 - 11905: 0xBFA2, - 31460 - 11905: 0xB873, - 31461 - 11905: 0xCDAF, - 31462 - 11905: 0xF1B5, - 31463 - 11905: 0xB874, - 31464 - 11905: 0xB875, - 31465 - 11905: 0xB876, - 31466 - 11905: 0xB877, - 31467 - 11905: 0xB878, - 31468 - 11905: 0xB879, - 31469 - 11905: 0xBDDF, - 31470 - 11905: 0xB87A, - 31471 - 11905: 0xB6CB, - 31472 - 11905: 0xB87B, - 31473 - 11905: 0xB87C, - 31474 - 11905: 0xB87D, - 31475 - 11905: 0xB87E, - 31476 - 11905: 0xB880, - 31477 - 11905: 0xB881, - 31478 - 11905: 0xB882, - 31479 - 11905: 0xB883, - 31480 - 11905: 0xB884, - 31481 - 11905: 0xD6F1, - 31482 - 11905: 0xF3C3, - 31483 - 11905: 0xB885, - 31484 - 11905: 0xB886, - 31485 - 11905: 0xF3C4, - 31486 - 11905: 0xB887, - 31487 - 11905: 0xB8CD, - 31488 - 11905: 0xB888, - 31489 - 11905: 0xB889, - 31490 - 11905: 0xB88A, - 31491 - 11905: 0xF3C6, - 31492 - 11905: 0xF3C7, - 31493 - 11905: 0xB88B, - 31494 - 11905: 0xB0CA, - 31495 - 11905: 0xB88C, - 31496 - 11905: 0xF3C5, - 31497 - 11905: 0xB88D, - 31498 - 11905: 0xF3C9, - 31499 - 11905: 0xCBF1, - 31500 - 11905: 0xB88E, - 31501 - 11905: 0xB88F, - 31502 - 11905: 0xB890, - 31503 - 11905: 0xF3CB, - 31504 - 11905: 0xB891, - 31505 - 11905: 0xD0A6, - 31506 - 11905: 0xB892, - 31507 - 11905: 0xB893, - 31508 - 11905: 0xB1CA, - 31509 - 11905: 0xF3C8, - 31510 - 11905: 0xB894, - 31511 - 11905: 0xB895, - 31512 - 11905: 0xB896, - 31513 - 11905: 0xF3CF, - 31514 - 11905: 0xB897, - 31515 - 11905: 0xB5D1, - 31516 - 11905: 0xB898, - 31517 - 11905: 0xB899, - 31518 - 11905: 0xF3D7, - 31519 - 11905: 0xB89A, - 31520 - 11905: 0xF3D2, - 31521 - 11905: 0xB89B, - 31522 - 11905: 0xB89C, - 31523 - 11905: 0xB89D, - 31524 - 11905: 0xF3D4, - 31525 - 11905: 0xF3D3, - 31526 - 11905: 0xB7FB, - 31527 - 11905: 0xB89E, - 31528 - 11905: 0xB1BF, - 31529 - 11905: 0xB89F, - 31530 - 11905: 0xF3CE, - 31531 - 11905: 0xF3CA, - 31532 - 11905: 0xB5DA, - 31533 - 11905: 0xB8A0, - 31534 - 11905: 0xF3D0, - 31535 - 11905: 0xB940, - 31536 - 11905: 0xB941, - 31537 - 11905: 0xF3D1, - 31538 - 11905: 0xB942, - 31539 - 11905: 0xF3D5, - 31540 - 11905: 0xB943, - 31541 - 11905: 0xB944, - 31542 - 11905: 0xB945, - 31543 - 11905: 0xB946, - 31544 - 11905: 0xF3CD, - 31545 - 11905: 0xB947, - 31546 - 11905: 0xBCE3, - 31547 - 11905: 0xB948, - 31548 - 11905: 0xC1FD, - 31549 - 11905: 0xB949, - 31550 - 11905: 0xF3D6, - 31551 - 11905: 0xB94A, - 31552 - 11905: 0xB94B, - 31553 - 11905: 0xB94C, - 31554 - 11905: 0xB94D, - 31555 - 11905: 0xB94E, - 31556 - 11905: 0xB94F, - 31557 - 11905: 0xF3DA, - 31558 - 11905: 0xB950, - 31559 - 11905: 0xF3CC, - 31560 - 11905: 0xB951, - 31561 - 11905: 0xB5C8, - 31562 - 11905: 0xB952, - 31563 - 11905: 0xBDEE, - 31564 - 11905: 0xF3DC, - 31565 - 11905: 0xB953, - 31566 - 11905: 0xB954, - 31567 - 11905: 0xB7A4, - 31568 - 11905: 0xBFF0, - 31569 - 11905: 0xD6FE, - 31570 - 11905: 0xCDB2, - 31571 - 11905: 0xB955, - 31572 - 11905: 0xB4F0, - 31573 - 11905: 0xB956, - 31574 - 11905: 0xB2DF, - 31575 - 11905: 0xB957, - 31576 - 11905: 0xF3D8, - 31577 - 11905: 0xB958, - 31578 - 11905: 0xF3D9, - 31579 - 11905: 0xC9B8, - 31580 - 11905: 0xB959, - 31581 - 11905: 0xF3DD, - 31582 - 11905: 0xB95A, - 31583 - 11905: 0xB95B, - 31584 - 11905: 0xF3DE, - 31585 - 11905: 0xB95C, - 31586 - 11905: 0xF3E1, - 31587 - 11905: 0xB95D, - 31588 - 11905: 0xB95E, - 31589 - 11905: 0xB95F, - 31590 - 11905: 0xB960, - 31591 - 11905: 0xB961, - 31592 - 11905: 0xB962, - 31593 - 11905: 0xB963, - 31594 - 11905: 0xB964, - 31595 - 11905: 0xB965, - 31596 - 11905: 0xB966, - 31597 - 11905: 0xB967, - 31598 - 11905: 0xF3DF, - 31599 - 11905: 0xB968, - 31600 - 11905: 0xB969, - 31601 - 11905: 0xF3E3, - 31602 - 11905: 0xF3E2, - 31603 - 11905: 0xB96A, - 31604 - 11905: 0xB96B, - 31605 - 11905: 0xF3DB, - 31606 - 11905: 0xB96C, - 31607 - 11905: 0xBFEA, - 31608 - 11905: 0xB96D, - 31609 - 11905: 0xB3EF, - 31610 - 11905: 0xB96E, - 31611 - 11905: 0xF3E0, - 31612 - 11905: 0xB96F, - 31613 - 11905: 0xB970, - 31614 - 11905: 0xC7A9, - 31615 - 11905: 0xB971, - 31616 - 11905: 0xBCF2, - 31617 - 11905: 0xB972, - 31618 - 11905: 0xB973, - 31619 - 11905: 0xB974, - 31620 - 11905: 0xB975, - 31621 - 11905: 0xF3EB, - 31622 - 11905: 0xB976, - 31623 - 11905: 0xB977, - 31624 - 11905: 0xB978, - 31625 - 11905: 0xB979, - 31626 - 11905: 0xB97A, - 31627 - 11905: 0xB97B, - 31628 - 11905: 0xB97C, - 31629 - 11905: 0xB9BF, - 31630 - 11905: 0xB97D, - 31631 - 11905: 0xB97E, - 31632 - 11905: 0xF3E4, - 31633 - 11905: 0xB980, - 31634 - 11905: 0xB981, - 31635 - 11905: 0xB982, - 31636 - 11905: 0xB2AD, - 31637 - 11905: 0xBBFE, - 31638 - 11905: 0xB983, - 31639 - 11905: 0xCBE3, - 31640 - 11905: 0xB984, - 31641 - 11905: 0xB985, - 31642 - 11905: 0xB986, - 31643 - 11905: 0xB987, - 31644 - 11905: 0xF3ED, - 31645 - 11905: 0xF3E9, - 31646 - 11905: 0xB988, - 31647 - 11905: 0xB989, - 31648 - 11905: 0xB98A, - 31649 - 11905: 0xB9DC, - 31650 - 11905: 0xF3EE, - 31651 - 11905: 0xB98B, - 31652 - 11905: 0xB98C, - 31653 - 11905: 0xB98D, - 31654 - 11905: 0xF3E5, - 31655 - 11905: 0xF3E6, - 31656 - 11905: 0xF3EA, - 31657 - 11905: 0xC2E1, - 31658 - 11905: 0xF3EC, - 31659 - 11905: 0xF3EF, - 31660 - 11905: 0xF3E8, - 31661 - 11905: 0xBCFD, - 31662 - 11905: 0xB98E, - 31663 - 11905: 0xB98F, - 31664 - 11905: 0xB990, - 31665 - 11905: 0xCFE4, - 31666 - 11905: 0xB991, - 31667 - 11905: 0xB992, - 31668 - 11905: 0xF3F0, - 31669 - 11905: 0xB993, - 31670 - 11905: 0xB994, - 31671 - 11905: 0xB995, - 31672 - 11905: 0xF3E7, - 31673 - 11905: 0xB996, - 31674 - 11905: 0xB997, - 31675 - 11905: 0xB998, - 31676 - 11905: 0xB999, - 31677 - 11905: 0xB99A, - 31678 - 11905: 0xB99B, - 31679 - 11905: 0xB99C, - 31680 - 11905: 0xB99D, - 31681 - 11905: 0xF3F2, - 31682 - 11905: 0xB99E, - 31683 - 11905: 0xB99F, - 31684 - 11905: 0xB9A0, - 31685 - 11905: 0xBA40, - 31686 - 11905: 0xD7AD, - 31687 - 11905: 0xC6AA, - 31688 - 11905: 0xBA41, - 31689 - 11905: 0xBA42, - 31690 - 11905: 0xBA43, - 31691 - 11905: 0xBA44, - 31692 - 11905: 0xF3F3, - 31693 - 11905: 0xBA45, - 31694 - 11905: 0xBA46, - 31695 - 11905: 0xBA47, - 31696 - 11905: 0xBA48, - 31697 - 11905: 0xF3F1, - 31698 - 11905: 0xBA49, - 31699 - 11905: 0xC2A8, - 31700 - 11905: 0xBA4A, - 31701 - 11905: 0xBA4B, - 31702 - 11905: 0xBA4C, - 31703 - 11905: 0xBA4D, - 31704 - 11905: 0xBA4E, - 31705 - 11905: 0xB8DD, - 31706 - 11905: 0xF3F5, - 31707 - 11905: 0xBA4F, - 31708 - 11905: 0xBA50, - 31709 - 11905: 0xF3F4, - 31710 - 11905: 0xBA51, - 31711 - 11905: 0xBA52, - 31712 - 11905: 0xBA53, - 31713 - 11905: 0xB4DB, - 31714 - 11905: 0xBA54, - 31715 - 11905: 0xBA55, - 31716 - 11905: 0xBA56, - 31717 - 11905: 0xF3F6, - 31718 - 11905: 0xF3F7, - 31719 - 11905: 0xBA57, - 31720 - 11905: 0xBA58, - 31721 - 11905: 0xBA59, - 31722 - 11905: 0xF3F8, - 31723 - 11905: 0xBA5A, - 31724 - 11905: 0xBA5B, - 31725 - 11905: 0xBA5C, - 31726 - 11905: 0xC0BA, - 31727 - 11905: 0xBA5D, - 31728 - 11905: 0xBA5E, - 31729 - 11905: 0xC0E9, - 31730 - 11905: 0xBA5F, - 31731 - 11905: 0xBA60, - 31732 - 11905: 0xBA61, - 31733 - 11905: 0xBA62, - 31734 - 11905: 0xBA63, - 31735 - 11905: 0xC5F1, - 31736 - 11905: 0xBA64, - 31737 - 11905: 0xBA65, - 31738 - 11905: 0xBA66, - 31739 - 11905: 0xBA67, - 31740 - 11905: 0xF3FB, - 31741 - 11905: 0xBA68, - 31742 - 11905: 0xF3FA, - 31743 - 11905: 0xBA69, - 31744 - 11905: 0xBA6A, - 31745 - 11905: 0xBA6B, - 31746 - 11905: 0xBA6C, - 31747 - 11905: 0xBA6D, - 31748 - 11905: 0xBA6E, - 31749 - 11905: 0xBA6F, - 31750 - 11905: 0xBA70, - 31751 - 11905: 0xB4D8, - 31752 - 11905: 0xBA71, - 31753 - 11905: 0xBA72, - 31754 - 11905: 0xBA73, - 31755 - 11905: 0xF3FE, - 31756 - 11905: 0xF3F9, - 31757 - 11905: 0xBA74, - 31758 - 11905: 0xBA75, - 31759 - 11905: 0xF3FC, - 31760 - 11905: 0xBA76, - 31761 - 11905: 0xBA77, - 31762 - 11905: 0xBA78, - 31763 - 11905: 0xBA79, - 31764 - 11905: 0xBA7A, - 31765 - 11905: 0xBA7B, - 31766 - 11905: 0xF3FD, - 31767 - 11905: 0xBA7C, - 31768 - 11905: 0xBA7D, - 31769 - 11905: 0xBA7E, - 31770 - 11905: 0xBA80, - 31771 - 11905: 0xBA81, - 31772 - 11905: 0xBA82, - 31773 - 11905: 0xBA83, - 31774 - 11905: 0xBA84, - 31775 - 11905: 0xF4A1, - 31776 - 11905: 0xBA85, - 31777 - 11905: 0xBA86, - 31778 - 11905: 0xBA87, - 31779 - 11905: 0xBA88, - 31780 - 11905: 0xBA89, - 31781 - 11905: 0xBA8A, - 31782 - 11905: 0xF4A3, - 31783 - 11905: 0xBBC9, - 31784 - 11905: 0xBA8B, - 31785 - 11905: 0xBA8C, - 31786 - 11905: 0xF4A2, - 31787 - 11905: 0xBA8D, - 31788 - 11905: 0xBA8E, - 31789 - 11905: 0xBA8F, - 31790 - 11905: 0xBA90, - 31791 - 11905: 0xBA91, - 31792 - 11905: 0xBA92, - 31793 - 11905: 0xBA93, - 31794 - 11905: 0xBA94, - 31795 - 11905: 0xBA95, - 31796 - 11905: 0xBA96, - 31797 - 11905: 0xBA97, - 31798 - 11905: 0xBA98, - 31799 - 11905: 0xBA99, - 31800 - 11905: 0xF4A4, - 31801 - 11905: 0xBA9A, - 31802 - 11905: 0xBA9B, - 31803 - 11905: 0xBA9C, - 31804 - 11905: 0xBA9D, - 31805 - 11905: 0xBA9E, - 31806 - 11905: 0xBA9F, - 31807 - 11905: 0xB2BE, - 31808 - 11905: 0xF4A6, - 31809 - 11905: 0xF4A5, - 31810 - 11905: 0xBAA0, - 31811 - 11905: 0xBB40, - 31812 - 11905: 0xBB41, - 31813 - 11905: 0xBB42, - 31814 - 11905: 0xBB43, - 31815 - 11905: 0xBB44, - 31816 - 11905: 0xBB45, - 31817 - 11905: 0xBB46, - 31818 - 11905: 0xBB47, - 31819 - 11905: 0xBB48, - 31820 - 11905: 0xBB49, - 31821 - 11905: 0xBCAE, - 31822 - 11905: 0xBB4A, - 31823 - 11905: 0xBB4B, - 31824 - 11905: 0xBB4C, - 31825 - 11905: 0xBB4D, - 31826 - 11905: 0xBB4E, - 31827 - 11905: 0xBB4F, - 31828 - 11905: 0xBB50, - 31829 - 11905: 0xBB51, - 31830 - 11905: 0xBB52, - 31831 - 11905: 0xBB53, - 31832 - 11905: 0xBB54, - 31833 - 11905: 0xBB55, - 31834 - 11905: 0xBB56, - 31835 - 11905: 0xBB57, - 31836 - 11905: 0xBB58, - 31837 - 11905: 0xBB59, - 31838 - 11905: 0xBB5A, - 31839 - 11905: 0xBB5B, - 31840 - 11905: 0xBB5C, - 31841 - 11905: 0xBB5D, - 31842 - 11905: 0xBB5E, - 31843 - 11905: 0xBB5F, - 31844 - 11905: 0xBB60, - 31845 - 11905: 0xBB61, - 31846 - 11905: 0xBB62, - 31847 - 11905: 0xBB63, - 31848 - 11905: 0xBB64, - 31849 - 11905: 0xBB65, - 31850 - 11905: 0xBB66, - 31851 - 11905: 0xBB67, - 31852 - 11905: 0xBB68, - 31853 - 11905: 0xBB69, - 31854 - 11905: 0xBB6A, - 31855 - 11905: 0xBB6B, - 31856 - 11905: 0xBB6C, - 31857 - 11905: 0xBB6D, - 31858 - 11905: 0xBB6E, - 31859 - 11905: 0xC3D7, - 31860 - 11905: 0xD9E1, - 31861 - 11905: 0xBB6F, - 31862 - 11905: 0xBB70, - 31863 - 11905: 0xBB71, - 31864 - 11905: 0xBB72, - 31865 - 11905: 0xBB73, - 31866 - 11905: 0xBB74, - 31867 - 11905: 0xC0E0, - 31868 - 11905: 0xF4CC, - 31869 - 11905: 0xD7D1, - 31870 - 11905: 0xBB75, - 31871 - 11905: 0xBB76, - 31872 - 11905: 0xBB77, - 31873 - 11905: 0xBB78, - 31874 - 11905: 0xBB79, - 31875 - 11905: 0xBB7A, - 31876 - 11905: 0xBB7B, - 31877 - 11905: 0xBB7C, - 31878 - 11905: 0xBB7D, - 31879 - 11905: 0xBB7E, - 31880 - 11905: 0xBB80, - 31881 - 11905: 0xB7DB, - 31882 - 11905: 0xBB81, - 31883 - 11905: 0xBB82, - 31884 - 11905: 0xBB83, - 31885 - 11905: 0xBB84, - 31886 - 11905: 0xBB85, - 31887 - 11905: 0xBB86, - 31888 - 11905: 0xBB87, - 31889 - 11905: 0xF4CE, - 31890 - 11905: 0xC1A3, - 31891 - 11905: 0xBB88, - 31892 - 11905: 0xBB89, - 31893 - 11905: 0xC6C9, - 31894 - 11905: 0xBB8A, - 31895 - 11905: 0xB4D6, - 31896 - 11905: 0xD5B3, - 31897 - 11905: 0xBB8B, - 31898 - 11905: 0xBB8C, - 31899 - 11905: 0xBB8D, - 31900 - 11905: 0xF4D0, - 31901 - 11905: 0xF4CF, - 31902 - 11905: 0xF4D1, - 31903 - 11905: 0xCBDA, - 31904 - 11905: 0xBB8E, - 31905 - 11905: 0xBB8F, - 31906 - 11905: 0xF4D2, - 31907 - 11905: 0xBB90, - 31908 - 11905: 0xD4C1, - 31909 - 11905: 0xD6E0, - 31910 - 11905: 0xBB91, - 31911 - 11905: 0xBB92, - 31912 - 11905: 0xBB93, - 31913 - 11905: 0xBB94, - 31914 - 11905: 0xB7E0, - 31915 - 11905: 0xBB95, - 31916 - 11905: 0xBB96, - 31917 - 11905: 0xBB97, - 31918 - 11905: 0xC1B8, - 31919 - 11905: 0xBB98, - 31920 - 11905: 0xBB99, - 31921 - 11905: 0xC1BB, - 31922 - 11905: 0xF4D3, - 31923 - 11905: 0xBEAC, - 31924 - 11905: 0xBB9A, - 31925 - 11905: 0xBB9B, - 31926 - 11905: 0xBB9C, - 31927 - 11905: 0xBB9D, - 31928 - 11905: 0xBB9E, - 31929 - 11905: 0xB4E2, - 31930 - 11905: 0xBB9F, - 31931 - 11905: 0xBBA0, - 31932 - 11905: 0xF4D4, - 31933 - 11905: 0xF4D5, - 31934 - 11905: 0xBEAB, - 31935 - 11905: 0xBC40, - 31936 - 11905: 0xBC41, - 31937 - 11905: 0xF4D6, - 31938 - 11905: 0xBC42, - 31939 - 11905: 0xBC43, - 31940 - 11905: 0xBC44, - 31941 - 11905: 0xF4DB, - 31942 - 11905: 0xBC45, - 31943 - 11905: 0xF4D7, - 31944 - 11905: 0xF4DA, - 31945 - 11905: 0xBC46, - 31946 - 11905: 0xBAFD, - 31947 - 11905: 0xBC47, - 31948 - 11905: 0xF4D8, - 31949 - 11905: 0xF4D9, - 31950 - 11905: 0xBC48, - 31951 - 11905: 0xBC49, - 31952 - 11905: 0xBC4A, - 31953 - 11905: 0xBC4B, - 31954 - 11905: 0xBC4C, - 31955 - 11905: 0xBC4D, - 31956 - 11905: 0xBC4E, - 31957 - 11905: 0xB8E2, - 31958 - 11905: 0xCCC7, - 31959 - 11905: 0xF4DC, - 31960 - 11905: 0xBC4F, - 31961 - 11905: 0xB2DA, - 31962 - 11905: 0xBC50, - 31963 - 11905: 0xBC51, - 31964 - 11905: 0xC3D3, - 31965 - 11905: 0xBC52, - 31966 - 11905: 0xBC53, - 31967 - 11905: 0xD4E3, - 31968 - 11905: 0xBFB7, - 31969 - 11905: 0xBC54, - 31970 - 11905: 0xBC55, - 31971 - 11905: 0xBC56, - 31972 - 11905: 0xBC57, - 31973 - 11905: 0xBC58, - 31974 - 11905: 0xBC59, - 31975 - 11905: 0xBC5A, - 31976 - 11905: 0xF4DD, - 31977 - 11905: 0xBC5B, - 31978 - 11905: 0xBC5C, - 31979 - 11905: 0xBC5D, - 31980 - 11905: 0xBC5E, - 31981 - 11905: 0xBC5F, - 31982 - 11905: 0xBC60, - 31983 - 11905: 0xC5B4, - 31984 - 11905: 0xBC61, - 31985 - 11905: 0xBC62, - 31986 - 11905: 0xBC63, - 31987 - 11905: 0xBC64, - 31988 - 11905: 0xBC65, - 31989 - 11905: 0xBC66, - 31990 - 11905: 0xBC67, - 31991 - 11905: 0xBC68, - 31992 - 11905: 0xF4E9, - 31993 - 11905: 0xBC69, - 31994 - 11905: 0xBC6A, - 31995 - 11905: 0xCFB5, - 31996 - 11905: 0xBC6B, - 31997 - 11905: 0xBC6C, - 31998 - 11905: 0xBC6D, - 31999 - 11905: 0xBC6E, - 32000 - 11905: 0xBC6F, - 32001 - 11905: 0xBC70, - 32002 - 11905: 0xBC71, - 32003 - 11905: 0xBC72, - 32004 - 11905: 0xBC73, - 32005 - 11905: 0xBC74, - 32006 - 11905: 0xBC75, - 32007 - 11905: 0xBC76, - 32008 - 11905: 0xBC77, - 32009 - 11905: 0xBC78, - 32010 - 11905: 0xCEC9, - 32011 - 11905: 0xBC79, - 32012 - 11905: 0xBC7A, - 32013 - 11905: 0xBC7B, - 32014 - 11905: 0xBC7C, - 32015 - 11905: 0xBC7D, - 32016 - 11905: 0xBC7E, - 32017 - 11905: 0xBC80, - 32018 - 11905: 0xBC81, - 32019 - 11905: 0xBC82, - 32020 - 11905: 0xBC83, - 32021 - 11905: 0xBC84, - 32022 - 11905: 0xBC85, - 32023 - 11905: 0xBC86, - 32024 - 11905: 0xBC87, - 32025 - 11905: 0xBC88, - 32026 - 11905: 0xBC89, - 32027 - 11905: 0xBC8A, - 32028 - 11905: 0xBC8B, - 32029 - 11905: 0xBC8C, - 32030 - 11905: 0xBC8D, - 32031 - 11905: 0xBC8E, - 32032 - 11905: 0xCBD8, - 32033 - 11905: 0xBC8F, - 32034 - 11905: 0xCBF7, - 32035 - 11905: 0xBC90, - 32036 - 11905: 0xBC91, - 32037 - 11905: 0xBC92, - 32038 - 11905: 0xBC93, - 32039 - 11905: 0xBDF4, - 32040 - 11905: 0xBC94, - 32041 - 11905: 0xBC95, - 32042 - 11905: 0xBC96, - 32043 - 11905: 0xD7CF, - 32044 - 11905: 0xBC97, - 32045 - 11905: 0xBC98, - 32046 - 11905: 0xBC99, - 32047 - 11905: 0xC0DB, - 32048 - 11905: 0xBC9A, - 32049 - 11905: 0xBC9B, - 32050 - 11905: 0xBC9C, - 32051 - 11905: 0xBC9D, - 32052 - 11905: 0xBC9E, - 32053 - 11905: 0xBC9F, - 32054 - 11905: 0xBCA0, - 32055 - 11905: 0xBD40, - 32056 - 11905: 0xBD41, - 32057 - 11905: 0xBD42, - 32058 - 11905: 0xBD43, - 32059 - 11905: 0xBD44, - 32060 - 11905: 0xBD45, - 32061 - 11905: 0xBD46, - 32062 - 11905: 0xBD47, - 32063 - 11905: 0xBD48, - 32064 - 11905: 0xBD49, - 32065 - 11905: 0xBD4A, - 32066 - 11905: 0xBD4B, - 32067 - 11905: 0xBD4C, - 32068 - 11905: 0xBD4D, - 32069 - 11905: 0xBD4E, - 32070 - 11905: 0xBD4F, - 32071 - 11905: 0xBD50, - 32072 - 11905: 0xBD51, - 32073 - 11905: 0xBD52, - 32074 - 11905: 0xBD53, - 32075 - 11905: 0xBD54, - 32076 - 11905: 0xBD55, - 32077 - 11905: 0xBD56, - 32078 - 11905: 0xBD57, - 32079 - 11905: 0xBD58, - 32080 - 11905: 0xBD59, - 32081 - 11905: 0xBD5A, - 32082 - 11905: 0xBD5B, - 32083 - 11905: 0xBD5C, - 32084 - 11905: 0xBD5D, - 32085 - 11905: 0xBD5E, - 32086 - 11905: 0xBD5F, - 32087 - 11905: 0xBD60, - 32088 - 11905: 0xBD61, - 32089 - 11905: 0xBD62, - 32090 - 11905: 0xBD63, - 32091 - 11905: 0xBD64, - 32092 - 11905: 0xBD65, - 32093 - 11905: 0xBD66, - 32094 - 11905: 0xBD67, - 32095 - 11905: 0xBD68, - 32096 - 11905: 0xBD69, - 32097 - 11905: 0xBD6A, - 32098 - 11905: 0xBD6B, - 32099 - 11905: 0xBD6C, - 32100 - 11905: 0xBD6D, - 32101 - 11905: 0xBD6E, - 32102 - 11905: 0xBD6F, - 32103 - 11905: 0xBD70, - 32104 - 11905: 0xBD71, - 32105 - 11905: 0xBD72, - 32106 - 11905: 0xBD73, - 32107 - 11905: 0xBD74, - 32108 - 11905: 0xBD75, - 32109 - 11905: 0xBD76, - 32110 - 11905: 0xD0F5, - 32111 - 11905: 0xBD77, - 32112 - 11905: 0xBD78, - 32113 - 11905: 0xBD79, - 32114 - 11905: 0xBD7A, - 32115 - 11905: 0xBD7B, - 32116 - 11905: 0xBD7C, - 32117 - 11905: 0xBD7D, - 32118 - 11905: 0xBD7E, - 32119 - 11905: 0xF4EA, - 32120 - 11905: 0xBD80, - 32121 - 11905: 0xBD81, - 32122 - 11905: 0xBD82, - 32123 - 11905: 0xBD83, - 32124 - 11905: 0xBD84, - 32125 - 11905: 0xBD85, - 32126 - 11905: 0xBD86, - 32127 - 11905: 0xBD87, - 32128 - 11905: 0xBD88, - 32129 - 11905: 0xBD89, - 32130 - 11905: 0xBD8A, - 32131 - 11905: 0xBD8B, - 32132 - 11905: 0xBD8C, - 32133 - 11905: 0xBD8D, - 32134 - 11905: 0xBD8E, - 32135 - 11905: 0xBD8F, - 32136 - 11905: 0xBD90, - 32137 - 11905: 0xBD91, - 32138 - 11905: 0xBD92, - 32139 - 11905: 0xBD93, - 32140 - 11905: 0xBD94, - 32141 - 11905: 0xBD95, - 32142 - 11905: 0xBD96, - 32143 - 11905: 0xBD97, - 32144 - 11905: 0xBD98, - 32145 - 11905: 0xBD99, - 32146 - 11905: 0xBD9A, - 32147 - 11905: 0xBD9B, - 32148 - 11905: 0xBD9C, - 32149 - 11905: 0xBD9D, - 32150 - 11905: 0xBD9E, - 32151 - 11905: 0xBD9F, - 32152 - 11905: 0xBDA0, - 32153 - 11905: 0xBE40, - 32154 - 11905: 0xBE41, - 32155 - 11905: 0xBE42, - 32156 - 11905: 0xBE43, - 32157 - 11905: 0xBE44, - 32158 - 11905: 0xBE45, - 32159 - 11905: 0xBE46, - 32160 - 11905: 0xBE47, - 32161 - 11905: 0xBE48, - 32162 - 11905: 0xBE49, - 32163 - 11905: 0xBE4A, - 32164 - 11905: 0xBE4B, - 32165 - 11905: 0xBE4C, - 32166 - 11905: 0xF4EB, - 32167 - 11905: 0xBE4D, - 32168 - 11905: 0xBE4E, - 32169 - 11905: 0xBE4F, - 32170 - 11905: 0xBE50, - 32171 - 11905: 0xBE51, - 32172 - 11905: 0xBE52, - 32173 - 11905: 0xBE53, - 32174 - 11905: 0xF4EC, - 32175 - 11905: 0xBE54, - 32176 - 11905: 0xBE55, - 32177 - 11905: 0xBE56, - 32178 - 11905: 0xBE57, - 32179 - 11905: 0xBE58, - 32180 - 11905: 0xBE59, - 32181 - 11905: 0xBE5A, - 32182 - 11905: 0xBE5B, - 32183 - 11905: 0xBE5C, - 32184 - 11905: 0xBE5D, - 32185 - 11905: 0xBE5E, - 32186 - 11905: 0xBE5F, - 32187 - 11905: 0xBE60, - 32188 - 11905: 0xBE61, - 32189 - 11905: 0xBE62, - 32190 - 11905: 0xBE63, - 32191 - 11905: 0xBE64, - 32192 - 11905: 0xBE65, - 32193 - 11905: 0xBE66, - 32194 - 11905: 0xBE67, - 32195 - 11905: 0xBE68, - 32196 - 11905: 0xBE69, - 32197 - 11905: 0xBE6A, - 32198 - 11905: 0xBE6B, - 32199 - 11905: 0xBE6C, - 32200 - 11905: 0xBE6D, - 32201 - 11905: 0xBE6E, - 32202 - 11905: 0xBE6F, - 32203 - 11905: 0xBE70, - 32204 - 11905: 0xBE71, - 32205 - 11905: 0xBE72, - 32206 - 11905: 0xBE73, - 32207 - 11905: 0xBE74, - 32208 - 11905: 0xBE75, - 32209 - 11905: 0xBE76, - 32210 - 11905: 0xBE77, - 32211 - 11905: 0xBE78, - 32212 - 11905: 0xBE79, - 32213 - 11905: 0xBE7A, - 32214 - 11905: 0xBE7B, - 32215 - 11905: 0xBE7C, - 32216 - 11905: 0xBE7D, - 32217 - 11905: 0xBE7E, - 32218 - 11905: 0xBE80, - 32219 - 11905: 0xBE81, - 32220 - 11905: 0xBE82, - 32221 - 11905: 0xBE83, - 32222 - 11905: 0xBE84, - 32223 - 11905: 0xBE85, - 32224 - 11905: 0xBE86, - 32225 - 11905: 0xBE87, - 32226 - 11905: 0xBE88, - 32227 - 11905: 0xBE89, - 32228 - 11905: 0xBE8A, - 32229 - 11905: 0xBE8B, - 32230 - 11905: 0xBE8C, - 32231 - 11905: 0xBE8D, - 32232 - 11905: 0xBE8E, - 32233 - 11905: 0xBE8F, - 32234 - 11905: 0xBE90, - 32235 - 11905: 0xBE91, - 32236 - 11905: 0xBE92, - 32237 - 11905: 0xBE93, - 32238 - 11905: 0xBE94, - 32239 - 11905: 0xBE95, - 32240 - 11905: 0xBE96, - 32241 - 11905: 0xBE97, - 32242 - 11905: 0xBE98, - 32243 - 11905: 0xBE99, - 32244 - 11905: 0xBE9A, - 32245 - 11905: 0xBE9B, - 32246 - 11905: 0xBE9C, - 32247 - 11905: 0xBE9D, - 32248 - 11905: 0xBE9E, - 32249 - 11905: 0xBE9F, - 32250 - 11905: 0xBEA0, - 32251 - 11905: 0xBF40, - 32252 - 11905: 0xBF41, - 32253 - 11905: 0xBF42, - 32254 - 11905: 0xBF43, - 32255 - 11905: 0xBF44, - 32256 - 11905: 0xBF45, - 32257 - 11905: 0xBF46, - 32258 - 11905: 0xBF47, - 32259 - 11905: 0xBF48, - 32260 - 11905: 0xBF49, - 32261 - 11905: 0xBF4A, - 32262 - 11905: 0xBF4B, - 32263 - 11905: 0xBF4C, - 32264 - 11905: 0xBF4D, - 32265 - 11905: 0xBF4E, - 32266 - 11905: 0xBF4F, - 32267 - 11905: 0xBF50, - 32268 - 11905: 0xBF51, - 32269 - 11905: 0xBF52, - 32270 - 11905: 0xBF53, - 32271 - 11905: 0xBF54, - 32272 - 11905: 0xBF55, - 32273 - 11905: 0xBF56, - 32274 - 11905: 0xBF57, - 32275 - 11905: 0xBF58, - 32276 - 11905: 0xBF59, - 32277 - 11905: 0xBF5A, - 32278 - 11905: 0xBF5B, - 32279 - 11905: 0xBF5C, - 32280 - 11905: 0xBF5D, - 32281 - 11905: 0xBF5E, - 32282 - 11905: 0xBF5F, - 32283 - 11905: 0xBF60, - 32284 - 11905: 0xBF61, - 32285 - 11905: 0xBF62, - 32286 - 11905: 0xBF63, - 32287 - 11905: 0xBF64, - 32288 - 11905: 0xBF65, - 32289 - 11905: 0xBF66, - 32290 - 11905: 0xBF67, - 32291 - 11905: 0xBF68, - 32292 - 11905: 0xBF69, - 32293 - 11905: 0xBF6A, - 32294 - 11905: 0xBF6B, - 32295 - 11905: 0xBF6C, - 32296 - 11905: 0xBF6D, - 32297 - 11905: 0xBF6E, - 32298 - 11905: 0xBF6F, - 32299 - 11905: 0xBF70, - 32300 - 11905: 0xBF71, - 32301 - 11905: 0xBF72, - 32302 - 11905: 0xBF73, - 32303 - 11905: 0xBF74, - 32304 - 11905: 0xBF75, - 32305 - 11905: 0xBF76, - 32306 - 11905: 0xBF77, - 32307 - 11905: 0xBF78, - 32308 - 11905: 0xBF79, - 32309 - 11905: 0xBF7A, - 32310 - 11905: 0xBF7B, - 32311 - 11905: 0xBF7C, - 32312 - 11905: 0xBF7D, - 32313 - 11905: 0xBF7E, - 32314 - 11905: 0xBF80, - 32315 - 11905: 0xF7E3, - 32316 - 11905: 0xBF81, - 32317 - 11905: 0xBF82, - 32318 - 11905: 0xBF83, - 32319 - 11905: 0xBF84, - 32320 - 11905: 0xBF85, - 32321 - 11905: 0xB7B1, - 32322 - 11905: 0xBF86, - 32323 - 11905: 0xBF87, - 32324 - 11905: 0xBF88, - 32325 - 11905: 0xBF89, - 32326 - 11905: 0xBF8A, - 32327 - 11905: 0xF4ED, - 32328 - 11905: 0xBF8B, - 32329 - 11905: 0xBF8C, - 32330 - 11905: 0xBF8D, - 32331 - 11905: 0xBF8E, - 32332 - 11905: 0xBF8F, - 32333 - 11905: 0xBF90, - 32334 - 11905: 0xBF91, - 32335 - 11905: 0xBF92, - 32336 - 11905: 0xBF93, - 32337 - 11905: 0xBF94, - 32338 - 11905: 0xBF95, - 32339 - 11905: 0xBF96, - 32340 - 11905: 0xBF97, - 32341 - 11905: 0xBF98, - 32342 - 11905: 0xBF99, - 32343 - 11905: 0xBF9A, - 32344 - 11905: 0xBF9B, - 32345 - 11905: 0xBF9C, - 32346 - 11905: 0xBF9D, - 32347 - 11905: 0xBF9E, - 32348 - 11905: 0xBF9F, - 32349 - 11905: 0xBFA0, - 32350 - 11905: 0xC040, - 32351 - 11905: 0xC041, - 32352 - 11905: 0xC042, - 32353 - 11905: 0xC043, - 32354 - 11905: 0xC044, - 32355 - 11905: 0xC045, - 32356 - 11905: 0xC046, - 32357 - 11905: 0xC047, - 32358 - 11905: 0xC048, - 32359 - 11905: 0xC049, - 32360 - 11905: 0xC04A, - 32361 - 11905: 0xC04B, - 32362 - 11905: 0xC04C, - 32363 - 11905: 0xC04D, - 32364 - 11905: 0xC04E, - 32365 - 11905: 0xC04F, - 32366 - 11905: 0xC050, - 32367 - 11905: 0xC051, - 32368 - 11905: 0xC052, - 32369 - 11905: 0xC053, - 32370 - 11905: 0xC054, - 32371 - 11905: 0xC055, - 32372 - 11905: 0xC056, - 32373 - 11905: 0xC057, - 32374 - 11905: 0xC058, - 32375 - 11905: 0xC059, - 32376 - 11905: 0xC05A, - 32377 - 11905: 0xC05B, - 32378 - 11905: 0xC05C, - 32379 - 11905: 0xC05D, - 32380 - 11905: 0xC05E, - 32381 - 11905: 0xC05F, - 32382 - 11905: 0xC060, - 32383 - 11905: 0xC061, - 32384 - 11905: 0xC062, - 32385 - 11905: 0xC063, - 32386 - 11905: 0xD7EB, - 32387 - 11905: 0xC064, - 32388 - 11905: 0xC065, - 32389 - 11905: 0xC066, - 32390 - 11905: 0xC067, - 32391 - 11905: 0xC068, - 32392 - 11905: 0xC069, - 32393 - 11905: 0xC06A, - 32394 - 11905: 0xC06B, - 32395 - 11905: 0xC06C, - 32396 - 11905: 0xC06D, - 32397 - 11905: 0xC06E, - 32398 - 11905: 0xC06F, - 32399 - 11905: 0xC070, - 32400 - 11905: 0xC071, - 32401 - 11905: 0xC072, - 32402 - 11905: 0xC073, - 32403 - 11905: 0xC074, - 32404 - 11905: 0xC075, - 32405 - 11905: 0xC076, - 32406 - 11905: 0xC077, - 32407 - 11905: 0xC078, - 32408 - 11905: 0xC079, - 32409 - 11905: 0xC07A, - 32410 - 11905: 0xC07B, - 32411 - 11905: 0xF4EE, - 32412 - 11905: 0xC07C, - 32413 - 11905: 0xC07D, - 32414 - 11905: 0xC07E, - 32415 - 11905: 0xE6F9, - 32416 - 11905: 0xBEC0, - 32417 - 11905: 0xE6FA, - 32418 - 11905: 0xBAEC, - 32419 - 11905: 0xE6FB, - 32420 - 11905: 0xCFCB, - 32421 - 11905: 0xE6FC, - 32422 - 11905: 0xD4BC, - 32423 - 11905: 0xBCB6, - 32424 - 11905: 0xE6FD, - 32425 - 11905: 0xE6FE, - 32426 - 11905: 0xBCCD, - 32427 - 11905: 0xC8D2, - 32428 - 11905: 0xCEB3, - 32429 - 11905: 0xE7A1, - 32430 - 11905: 0xC080, - 32431 - 11905: 0xB4BF, - 32432 - 11905: 0xE7A2, - 32433 - 11905: 0xC9B4, - 32434 - 11905: 0xB8D9, - 32435 - 11905: 0xC4C9, - 32436 - 11905: 0xC081, - 32437 - 11905: 0xD7DD, - 32438 - 11905: 0xC2DA, - 32439 - 11905: 0xB7D7, - 32440 - 11905: 0xD6BD, - 32441 - 11905: 0xCEC6, - 32442 - 11905: 0xB7C4, - 32443 - 11905: 0xC082, - 32444 - 11905: 0xC083, - 32445 - 11905: 0xC5A6, - 32446 - 11905: 0xE7A3, - 32447 - 11905: 0xCFDF, - 32448 - 11905: 0xE7A4, - 32449 - 11905: 0xE7A5, - 32450 - 11905: 0xE7A6, - 32451 - 11905: 0xC1B7, - 32452 - 11905: 0xD7E9, - 32453 - 11905: 0xC9F0, - 32454 - 11905: 0xCFB8, - 32455 - 11905: 0xD6AF, - 32456 - 11905: 0xD6D5, - 32457 - 11905: 0xE7A7, - 32458 - 11905: 0xB0ED, - 32459 - 11905: 0xE7A8, - 32460 - 11905: 0xE7A9, - 32461 - 11905: 0xC9DC, - 32462 - 11905: 0xD2EF, - 32463 - 11905: 0xBEAD, - 32464 - 11905: 0xE7AA, - 32465 - 11905: 0xB0F3, - 32466 - 11905: 0xC8DE, - 32467 - 11905: 0xBDE1, - 32468 - 11905: 0xE7AB, - 32469 - 11905: 0xC8C6, - 32470 - 11905: 0xC084, - 32471 - 11905: 0xE7AC, - 32472 - 11905: 0xBBE6, - 32473 - 11905: 0xB8F8, - 32474 - 11905: 0xD1A4, - 32475 - 11905: 0xE7AD, - 32476 - 11905: 0xC2E7, - 32477 - 11905: 0xBEF8, - 32478 - 11905: 0xBDCA, - 32479 - 11905: 0xCDB3, - 32480 - 11905: 0xE7AE, - 32481 - 11905: 0xE7AF, - 32482 - 11905: 0xBEEE, - 32483 - 11905: 0xD0E5, - 32484 - 11905: 0xC085, - 32485 - 11905: 0xCBE7, - 32486 - 11905: 0xCCD0, - 32487 - 11905: 0xBCCC, - 32488 - 11905: 0xE7B0, - 32489 - 11905: 0xBCA8, - 32490 - 11905: 0xD0F7, - 32491 - 11905: 0xE7B1, - 32492 - 11905: 0xC086, - 32493 - 11905: 0xD0F8, - 32494 - 11905: 0xE7B2, - 32495 - 11905: 0xE7B3, - 32496 - 11905: 0xB4C2, - 32497 - 11905: 0xE7B4, - 32498 - 11905: 0xE7B5, - 32499 - 11905: 0xC9FE, - 32500 - 11905: 0xCEAC, - 32501 - 11905: 0xC3E0, - 32502 - 11905: 0xE7B7, - 32503 - 11905: 0xB1C1, - 32504 - 11905: 0xB3F1, - 32505 - 11905: 0xC087, - 32506 - 11905: 0xE7B8, - 32507 - 11905: 0xE7B9, - 32508 - 11905: 0xD7DB, - 32509 - 11905: 0xD5C0, - 32510 - 11905: 0xE7BA, - 32511 - 11905: 0xC2CC, - 32512 - 11905: 0xD7BA, - 32513 - 11905: 0xE7BB, - 32514 - 11905: 0xE7BC, - 32515 - 11905: 0xE7BD, - 32516 - 11905: 0xBCEA, - 32517 - 11905: 0xC3E5, - 32518 - 11905: 0xC0C2, - 32519 - 11905: 0xE7BE, - 32520 - 11905: 0xE7BF, - 32521 - 11905: 0xBCA9, - 32522 - 11905: 0xC088, - 32523 - 11905: 0xE7C0, - 32524 - 11905: 0xE7C1, - 32525 - 11905: 0xE7B6, - 32526 - 11905: 0xB6D0, - 32527 - 11905: 0xE7C2, - 32528 - 11905: 0xC089, - 32529 - 11905: 0xE7C3, - 32530 - 11905: 0xE7C4, - 32531 - 11905: 0xBBBA, - 32532 - 11905: 0xB5DE, - 32533 - 11905: 0xC2C6, - 32534 - 11905: 0xB1E0, - 32535 - 11905: 0xE7C5, - 32536 - 11905: 0xD4B5, - 32537 - 11905: 0xE7C6, - 32538 - 11905: 0xB8BF, - 32539 - 11905: 0xE7C8, - 32540 - 11905: 0xE7C7, - 32541 - 11905: 0xB7EC, - 32542 - 11905: 0xC08A, - 32543 - 11905: 0xE7C9, - 32544 - 11905: 0xB2F8, - 32545 - 11905: 0xE7CA, - 32546 - 11905: 0xE7CB, - 32547 - 11905: 0xE7CC, - 32548 - 11905: 0xE7CD, - 32549 - 11905: 0xE7CE, - 32550 - 11905: 0xE7CF, - 32551 - 11905: 0xE7D0, - 32552 - 11905: 0xD3A7, - 32553 - 11905: 0xCBF5, - 32554 - 11905: 0xE7D1, - 32555 - 11905: 0xE7D2, - 32556 - 11905: 0xE7D3, - 32557 - 11905: 0xE7D4, - 32558 - 11905: 0xC9C9, - 32559 - 11905: 0xE7D5, - 32560 - 11905: 0xE7D6, - 32561 - 11905: 0xE7D7, - 32562 - 11905: 0xE7D8, - 32563 - 11905: 0xE7D9, - 32564 - 11905: 0xBDC9, - 32565 - 11905: 0xE7DA, - 32566 - 11905: 0xF3BE, - 32567 - 11905: 0xC08B, - 32568 - 11905: 0xB8D7, - 32569 - 11905: 0xC08C, - 32570 - 11905: 0xC8B1, - 32571 - 11905: 0xC08D, - 32572 - 11905: 0xC08E, - 32573 - 11905: 0xC08F, - 32574 - 11905: 0xC090, - 32575 - 11905: 0xC091, - 32576 - 11905: 0xC092, - 32577 - 11905: 0xC093, - 32578 - 11905: 0xF3BF, - 32579 - 11905: 0xC094, - 32580 - 11905: 0xF3C0, - 32581 - 11905: 0xF3C1, - 32582 - 11905: 0xC095, - 32583 - 11905: 0xC096, - 32584 - 11905: 0xC097, - 32585 - 11905: 0xC098, - 32586 - 11905: 0xC099, - 32587 - 11905: 0xC09A, - 32588 - 11905: 0xC09B, - 32589 - 11905: 0xC09C, - 32590 - 11905: 0xC09D, - 32591 - 11905: 0xC09E, - 32592 - 11905: 0xB9DE, - 32593 - 11905: 0xCDF8, - 32594 - 11905: 0xC09F, - 32595 - 11905: 0xC0A0, - 32596 - 11905: 0xD8E8, - 32597 - 11905: 0xBAB1, - 32598 - 11905: 0xC140, - 32599 - 11905: 0xC2DE, - 32600 - 11905: 0xEEB7, - 32601 - 11905: 0xC141, - 32602 - 11905: 0xB7A3, - 32603 - 11905: 0xC142, - 32604 - 11905: 0xC143, - 32605 - 11905: 0xC144, - 32606 - 11905: 0xC145, - 32607 - 11905: 0xEEB9, - 32608 - 11905: 0xC146, - 32609 - 11905: 0xEEB8, - 32610 - 11905: 0xB0D5, - 32611 - 11905: 0xC147, - 32612 - 11905: 0xC148, - 32613 - 11905: 0xC149, - 32614 - 11905: 0xC14A, - 32615 - 11905: 0xC14B, - 32616 - 11905: 0xEEBB, - 32617 - 11905: 0xD5D6, - 32618 - 11905: 0xD7EF, - 32619 - 11905: 0xC14C, - 32620 - 11905: 0xC14D, - 32621 - 11905: 0xC14E, - 32622 - 11905: 0xD6C3, - 32623 - 11905: 0xC14F, - 32624 - 11905: 0xC150, - 32625 - 11905: 0xEEBD, - 32626 - 11905: 0xCAF0, - 32627 - 11905: 0xC151, - 32628 - 11905: 0xEEBC, - 32629 - 11905: 0xC152, - 32630 - 11905: 0xC153, - 32631 - 11905: 0xC154, - 32632 - 11905: 0xC155, - 32633 - 11905: 0xEEBE, - 32634 - 11905: 0xC156, - 32635 - 11905: 0xC157, - 32636 - 11905: 0xC158, - 32637 - 11905: 0xC159, - 32638 - 11905: 0xEEC0, - 32639 - 11905: 0xC15A, - 32640 - 11905: 0xC15B, - 32641 - 11905: 0xEEBF, - 32642 - 11905: 0xC15C, - 32643 - 11905: 0xC15D, - 32644 - 11905: 0xC15E, - 32645 - 11905: 0xC15F, - 32646 - 11905: 0xC160, - 32647 - 11905: 0xC161, - 32648 - 11905: 0xC162, - 32649 - 11905: 0xC163, - 32650 - 11905: 0xD1F2, - 32651 - 11905: 0xC164, - 32652 - 11905: 0xC7BC, - 32653 - 11905: 0xC165, - 32654 - 11905: 0xC3C0, - 32655 - 11905: 0xC166, - 32656 - 11905: 0xC167, - 32657 - 11905: 0xC168, - 32658 - 11905: 0xC169, - 32659 - 11905: 0xC16A, - 32660 - 11905: 0xB8E1, - 32661 - 11905: 0xC16B, - 32662 - 11905: 0xC16C, - 32663 - 11905: 0xC16D, - 32664 - 11905: 0xC16E, - 32665 - 11905: 0xC16F, - 32666 - 11905: 0xC1E7, - 32667 - 11905: 0xC170, - 32668 - 11905: 0xC171, - 32669 - 11905: 0xF4C6, - 32670 - 11905: 0xD0DF, - 32671 - 11905: 0xF4C7, - 32672 - 11905: 0xC172, - 32673 - 11905: 0xCFDB, - 32674 - 11905: 0xC173, - 32675 - 11905: 0xC174, - 32676 - 11905: 0xC8BA, - 32677 - 11905: 0xC175, - 32678 - 11905: 0xC176, - 32679 - 11905: 0xF4C8, - 32680 - 11905: 0xC177, - 32681 - 11905: 0xC178, - 32682 - 11905: 0xC179, - 32683 - 11905: 0xC17A, - 32684 - 11905: 0xC17B, - 32685 - 11905: 0xC17C, - 32686 - 11905: 0xC17D, - 32687 - 11905: 0xF4C9, - 32688 - 11905: 0xF4CA, - 32689 - 11905: 0xC17E, - 32690 - 11905: 0xF4CB, - 32691 - 11905: 0xC180, - 32692 - 11905: 0xC181, - 32693 - 11905: 0xC182, - 32694 - 11905: 0xC183, - 32695 - 11905: 0xC184, - 32696 - 11905: 0xD9FA, - 32697 - 11905: 0xB8FE, - 32698 - 11905: 0xC185, - 32699 - 11905: 0xC186, - 32700 - 11905: 0xE5F1, - 32701 - 11905: 0xD3F0, - 32702 - 11905: 0xC187, - 32703 - 11905: 0xF4E0, - 32704 - 11905: 0xC188, - 32705 - 11905: 0xCECC, - 32706 - 11905: 0xC189, - 32707 - 11905: 0xC18A, - 32708 - 11905: 0xC18B, - 32709 - 11905: 0xB3E1, - 32710 - 11905: 0xC18C, - 32711 - 11905: 0xC18D, - 32712 - 11905: 0xC18E, - 32713 - 11905: 0xC18F, - 32714 - 11905: 0xF1B4, - 32715 - 11905: 0xC190, - 32716 - 11905: 0xD2EE, - 32717 - 11905: 0xC191, - 32718 - 11905: 0xF4E1, - 32719 - 11905: 0xC192, - 32720 - 11905: 0xC193, - 32721 - 11905: 0xC194, - 32722 - 11905: 0xC195, - 32723 - 11905: 0xC196, - 32724 - 11905: 0xCFE8, - 32725 - 11905: 0xF4E2, - 32726 - 11905: 0xC197, - 32727 - 11905: 0xC198, - 32728 - 11905: 0xC7CC, - 32729 - 11905: 0xC199, - 32730 - 11905: 0xC19A, - 32731 - 11905: 0xC19B, - 32732 - 11905: 0xC19C, - 32733 - 11905: 0xC19D, - 32734 - 11905: 0xC19E, - 32735 - 11905: 0xB5D4, - 32736 - 11905: 0xB4E4, - 32737 - 11905: 0xF4E4, - 32738 - 11905: 0xC19F, - 32739 - 11905: 0xC1A0, - 32740 - 11905: 0xC240, - 32741 - 11905: 0xF4E3, - 32742 - 11905: 0xF4E5, - 32743 - 11905: 0xC241, - 32744 - 11905: 0xC242, - 32745 - 11905: 0xF4E6, - 32746 - 11905: 0xC243, - 32747 - 11905: 0xC244, - 32748 - 11905: 0xC245, - 32749 - 11905: 0xC246, - 32750 - 11905: 0xF4E7, - 32751 - 11905: 0xC247, - 32752 - 11905: 0xBAB2, - 32753 - 11905: 0xB0BF, - 32754 - 11905: 0xC248, - 32755 - 11905: 0xF4E8, - 32756 - 11905: 0xC249, - 32757 - 11905: 0xC24A, - 32758 - 11905: 0xC24B, - 32759 - 11905: 0xC24C, - 32760 - 11905: 0xC24D, - 32761 - 11905: 0xC24E, - 32762 - 11905: 0xC24F, - 32763 - 11905: 0xB7AD, - 32764 - 11905: 0xD2ED, - 32765 - 11905: 0xC250, - 32766 - 11905: 0xC251, - 32767 - 11905: 0xC252, - 32768 - 11905: 0xD2AB, - 32769 - 11905: 0xC0CF, - 32770 - 11905: 0xC253, - 32771 - 11905: 0xBFBC, - 32772 - 11905: 0xEBA3, - 32773 - 11905: 0xD5DF, - 32774 - 11905: 0xEAC8, - 32775 - 11905: 0xC254, - 32776 - 11905: 0xC255, - 32777 - 11905: 0xC256, - 32778 - 11905: 0xC257, - 32779 - 11905: 0xF1F3, - 32780 - 11905: 0xB6F8, - 32781 - 11905: 0xCBA3, - 32782 - 11905: 0xC258, - 32783 - 11905: 0xC259, - 32784 - 11905: 0xC4CD, - 32785 - 11905: 0xC25A, - 32786 - 11905: 0xF1E7, - 32787 - 11905: 0xC25B, - 32788 - 11905: 0xF1E8, - 32789 - 11905: 0xB8FB, - 32790 - 11905: 0xF1E9, - 32791 - 11905: 0xBAC4, - 32792 - 11905: 0xD4C5, - 32793 - 11905: 0xB0D2, - 32794 - 11905: 0xC25C, - 32795 - 11905: 0xC25D, - 32796 - 11905: 0xF1EA, - 32797 - 11905: 0xC25E, - 32798 - 11905: 0xC25F, - 32799 - 11905: 0xC260, - 32800 - 11905: 0xF1EB, - 32801 - 11905: 0xC261, - 32802 - 11905: 0xF1EC, - 32803 - 11905: 0xC262, - 32804 - 11905: 0xC263, - 32805 - 11905: 0xF1ED, - 32806 - 11905: 0xF1EE, - 32807 - 11905: 0xF1EF, - 32808 - 11905: 0xF1F1, - 32809 - 11905: 0xF1F0, - 32810 - 11905: 0xC5D5, - 32811 - 11905: 0xC264, - 32812 - 11905: 0xC265, - 32813 - 11905: 0xC266, - 32814 - 11905: 0xC267, - 32815 - 11905: 0xC268, - 32816 - 11905: 0xC269, - 32817 - 11905: 0xF1F2, - 32818 - 11905: 0xC26A, - 32819 - 11905: 0xB6FA, - 32820 - 11905: 0xC26B, - 32821 - 11905: 0xF1F4, - 32822 - 11905: 0xD2AE, - 32823 - 11905: 0xDEC7, - 32824 - 11905: 0xCBCA, - 32825 - 11905: 0xC26C, - 32826 - 11905: 0xC26D, - 32827 - 11905: 0xB3DC, - 32828 - 11905: 0xC26E, - 32829 - 11905: 0xB5A2, - 32830 - 11905: 0xC26F, - 32831 - 11905: 0xB9A2, - 32832 - 11905: 0xC270, - 32833 - 11905: 0xC271, - 32834 - 11905: 0xC4F4, - 32835 - 11905: 0xF1F5, - 32836 - 11905: 0xC272, - 32837 - 11905: 0xC273, - 32838 - 11905: 0xF1F6, - 32839 - 11905: 0xC274, - 32840 - 11905: 0xC275, - 32841 - 11905: 0xC276, - 32842 - 11905: 0xC1C4, - 32843 - 11905: 0xC1FB, - 32844 - 11905: 0xD6B0, - 32845 - 11905: 0xF1F7, - 32846 - 11905: 0xC277, - 32847 - 11905: 0xC278, - 32848 - 11905: 0xC279, - 32849 - 11905: 0xC27A, - 32850 - 11905: 0xF1F8, - 32851 - 11905: 0xC27B, - 32852 - 11905: 0xC1AA, - 32853 - 11905: 0xC27C, - 32854 - 11905: 0xC27D, - 32855 - 11905: 0xC27E, - 32856 - 11905: 0xC6B8, - 32857 - 11905: 0xC280, - 32858 - 11905: 0xBEDB, - 32859 - 11905: 0xC281, - 32860 - 11905: 0xC282, - 32861 - 11905: 0xC283, - 32862 - 11905: 0xC284, - 32863 - 11905: 0xC285, - 32864 - 11905: 0xC286, - 32865 - 11905: 0xC287, - 32866 - 11905: 0xC288, - 32867 - 11905: 0xC289, - 32868 - 11905: 0xC28A, - 32869 - 11905: 0xC28B, - 32870 - 11905: 0xC28C, - 32871 - 11905: 0xC28D, - 32872 - 11905: 0xC28E, - 32873 - 11905: 0xF1F9, - 32874 - 11905: 0xB4CF, - 32875 - 11905: 0xC28F, - 32876 - 11905: 0xC290, - 32877 - 11905: 0xC291, - 32878 - 11905: 0xC292, - 32879 - 11905: 0xC293, - 32880 - 11905: 0xC294, - 32881 - 11905: 0xF1FA, - 32882 - 11905: 0xC295, - 32883 - 11905: 0xC296, - 32884 - 11905: 0xC297, - 32885 - 11905: 0xC298, - 32886 - 11905: 0xC299, - 32887 - 11905: 0xC29A, - 32888 - 11905: 0xC29B, - 32889 - 11905: 0xC29C, - 32890 - 11905: 0xC29D, - 32891 - 11905: 0xC29E, - 32892 - 11905: 0xC29F, - 32893 - 11905: 0xC2A0, - 32894 - 11905: 0xC340, - 32895 - 11905: 0xEDB2, - 32896 - 11905: 0xEDB1, - 32897 - 11905: 0xC341, - 32898 - 11905: 0xC342, - 32899 - 11905: 0xCBE0, - 32900 - 11905: 0xD2DE, - 32901 - 11905: 0xC343, - 32902 - 11905: 0xCBC1, - 32903 - 11905: 0xD5D8, - 32904 - 11905: 0xC344, - 32905 - 11905: 0xC8E2, - 32906 - 11905: 0xC345, - 32907 - 11905: 0xC0DF, - 32908 - 11905: 0xBCA1, - 32909 - 11905: 0xC346, - 32910 - 11905: 0xC347, - 32911 - 11905: 0xC348, - 32912 - 11905: 0xC349, - 32913 - 11905: 0xC34A, - 32914 - 11905: 0xC34B, - 32915 - 11905: 0xEBC1, - 32916 - 11905: 0xC34C, - 32917 - 11905: 0xC34D, - 32918 - 11905: 0xD0A4, - 32919 - 11905: 0xC34E, - 32920 - 11905: 0xD6E2, - 32921 - 11905: 0xC34F, - 32922 - 11905: 0xB6C7, - 32923 - 11905: 0xB8D8, - 32924 - 11905: 0xEBC0, - 32925 - 11905: 0xB8CE, - 32926 - 11905: 0xC350, - 32927 - 11905: 0xEBBF, - 32928 - 11905: 0xB3A6, - 32929 - 11905: 0xB9C9, - 32930 - 11905: 0xD6AB, - 32931 - 11905: 0xC351, - 32932 - 11905: 0xB7F4, - 32933 - 11905: 0xB7CA, - 32934 - 11905: 0xC352, - 32935 - 11905: 0xC353, - 32936 - 11905: 0xC354, - 32937 - 11905: 0xBCE7, - 32938 - 11905: 0xB7BE, - 32939 - 11905: 0xEBC6, - 32940 - 11905: 0xC355, - 32941 - 11905: 0xEBC7, - 32942 - 11905: 0xB0B9, - 32943 - 11905: 0xBFCF, - 32944 - 11905: 0xC356, - 32945 - 11905: 0xEBC5, - 32946 - 11905: 0xD3FD, - 32947 - 11905: 0xC357, - 32948 - 11905: 0xEBC8, - 32949 - 11905: 0xC358, - 32950 - 11905: 0xC359, - 32951 - 11905: 0xEBC9, - 32952 - 11905: 0xC35A, - 32953 - 11905: 0xC35B, - 32954 - 11905: 0xB7CE, - 32955 - 11905: 0xC35C, - 32956 - 11905: 0xEBC2, - 32957 - 11905: 0xEBC4, - 32958 - 11905: 0xC9F6, - 32959 - 11905: 0xD6D7, - 32960 - 11905: 0xD5CD, - 32961 - 11905: 0xD0B2, - 32962 - 11905: 0xEBCF, - 32963 - 11905: 0xCEB8, - 32964 - 11905: 0xEBD0, - 32965 - 11905: 0xC35D, - 32966 - 11905: 0xB5A8, - 32967 - 11905: 0xC35E, - 32968 - 11905: 0xC35F, - 32969 - 11905: 0xC360, - 32970 - 11905: 0xC361, - 32971 - 11905: 0xC362, - 32972 - 11905: 0xB1B3, - 32973 - 11905: 0xEBD2, - 32974 - 11905: 0xCCA5, - 32975 - 11905: 0xC363, - 32976 - 11905: 0xC364, - 32977 - 11905: 0xC365, - 32978 - 11905: 0xC366, - 32979 - 11905: 0xC367, - 32980 - 11905: 0xC368, - 32981 - 11905: 0xC369, - 32982 - 11905: 0xC5D6, - 32983 - 11905: 0xEBD3, - 32984 - 11905: 0xC36A, - 32985 - 11905: 0xEBD1, - 32986 - 11905: 0xC5DF, - 32987 - 11905: 0xEBCE, - 32988 - 11905: 0xCAA4, - 32989 - 11905: 0xEBD5, - 32990 - 11905: 0xB0FB, - 32991 - 11905: 0xC36B, - 32992 - 11905: 0xC36C, - 32993 - 11905: 0xBAFA, - 32994 - 11905: 0xC36D, - 32995 - 11905: 0xC36E, - 32996 - 11905: 0xD8B7, - 32997 - 11905: 0xF1E3, - 32998 - 11905: 0xC36F, - 32999 - 11905: 0xEBCA, - 33000 - 11905: 0xEBCB, - 33001 - 11905: 0xEBCC, - 33002 - 11905: 0xEBCD, - 33003 - 11905: 0xEBD6, - 33004 - 11905: 0xE6C0, - 33005 - 11905: 0xEBD9, - 33006 - 11905: 0xC370, - 33007 - 11905: 0xBFE8, - 33008 - 11905: 0xD2C8, - 33009 - 11905: 0xEBD7, - 33010 - 11905: 0xEBDC, - 33011 - 11905: 0xB8EC, - 33012 - 11905: 0xEBD8, - 33013 - 11905: 0xC371, - 33014 - 11905: 0xBDBA, - 33015 - 11905: 0xC372, - 33016 - 11905: 0xD0D8, - 33017 - 11905: 0xC373, - 33018 - 11905: 0xB0B7, - 33019 - 11905: 0xC374, - 33020 - 11905: 0xEBDD, - 33021 - 11905: 0xC4DC, - 33022 - 11905: 0xC375, - 33023 - 11905: 0xC376, - 33024 - 11905: 0xC377, - 33025 - 11905: 0xC378, - 33026 - 11905: 0xD6AC, - 33027 - 11905: 0xC379, - 33028 - 11905: 0xC37A, - 33029 - 11905: 0xC37B, - 33030 - 11905: 0xB4E0, - 33031 - 11905: 0xC37C, - 33032 - 11905: 0xC37D, - 33033 - 11905: 0xC2F6, - 33034 - 11905: 0xBCB9, - 33035 - 11905: 0xC37E, - 33036 - 11905: 0xC380, - 33037 - 11905: 0xEBDA, - 33038 - 11905: 0xEBDB, - 33039 - 11905: 0xD4E0, - 33040 - 11905: 0xC6EA, - 33041 - 11905: 0xC4D4, - 33042 - 11905: 0xEBDF, - 33043 - 11905: 0xC5A7, - 33044 - 11905: 0xD9F5, - 33045 - 11905: 0xC381, - 33046 - 11905: 0xB2B1, - 33047 - 11905: 0xC382, - 33048 - 11905: 0xEBE4, - 33049 - 11905: 0xC383, - 33050 - 11905: 0xBDC5, - 33051 - 11905: 0xC384, - 33052 - 11905: 0xC385, - 33053 - 11905: 0xC386, - 33054 - 11905: 0xEBE2, - 33055 - 11905: 0xC387, - 33056 - 11905: 0xC388, - 33057 - 11905: 0xC389, - 33058 - 11905: 0xC38A, - 33059 - 11905: 0xC38B, - 33060 - 11905: 0xC38C, - 33061 - 11905: 0xC38D, - 33062 - 11905: 0xC38E, - 33063 - 11905: 0xC38F, - 33064 - 11905: 0xC390, - 33065 - 11905: 0xC391, - 33066 - 11905: 0xC392, - 33067 - 11905: 0xC393, - 33068 - 11905: 0xEBE3, - 33069 - 11905: 0xC394, - 33070 - 11905: 0xC395, - 33071 - 11905: 0xB8AC, - 33072 - 11905: 0xC396, - 33073 - 11905: 0xCDD1, - 33074 - 11905: 0xEBE5, - 33075 - 11905: 0xC397, - 33076 - 11905: 0xC398, - 33077 - 11905: 0xC399, - 33078 - 11905: 0xEBE1, - 33079 - 11905: 0xC39A, - 33080 - 11905: 0xC1B3, - 33081 - 11905: 0xC39B, - 33082 - 11905: 0xC39C, - 33083 - 11905: 0xC39D, - 33084 - 11905: 0xC39E, - 33085 - 11905: 0xC39F, - 33086 - 11905: 0xC6A2, - 33087 - 11905: 0xC3A0, - 33088 - 11905: 0xC440, - 33089 - 11905: 0xC441, - 33090 - 11905: 0xC442, - 33091 - 11905: 0xC443, - 33092 - 11905: 0xC444, - 33093 - 11905: 0xC445, - 33094 - 11905: 0xCCF3, - 33095 - 11905: 0xC446, - 33096 - 11905: 0xEBE6, - 33097 - 11905: 0xC447, - 33098 - 11905: 0xC0B0, - 33099 - 11905: 0xD2B8, - 33100 - 11905: 0xEBE7, - 33101 - 11905: 0xC448, - 33102 - 11905: 0xC449, - 33103 - 11905: 0xC44A, - 33104 - 11905: 0xB8AF, - 33105 - 11905: 0xB8AD, - 33106 - 11905: 0xC44B, - 33107 - 11905: 0xEBE8, - 33108 - 11905: 0xC7BB, - 33109 - 11905: 0xCDF3, - 33110 - 11905: 0xC44C, - 33111 - 11905: 0xC44D, - 33112 - 11905: 0xC44E, - 33113 - 11905: 0xEBEA, - 33114 - 11905: 0xEBEB, - 33115 - 11905: 0xC44F, - 33116 - 11905: 0xC450, - 33117 - 11905: 0xC451, - 33118 - 11905: 0xC452, - 33119 - 11905: 0xC453, - 33120 - 11905: 0xEBED, - 33121 - 11905: 0xC454, - 33122 - 11905: 0xC455, - 33123 - 11905: 0xC456, - 33124 - 11905: 0xC457, - 33125 - 11905: 0xD0C8, - 33126 - 11905: 0xC458, - 33127 - 11905: 0xEBF2, - 33128 - 11905: 0xC459, - 33129 - 11905: 0xEBEE, - 33130 - 11905: 0xC45A, - 33131 - 11905: 0xC45B, - 33132 - 11905: 0xC45C, - 33133 - 11905: 0xEBF1, - 33134 - 11905: 0xC8F9, - 33135 - 11905: 0xC45D, - 33136 - 11905: 0xD1FC, - 33137 - 11905: 0xEBEC, - 33138 - 11905: 0xC45E, - 33139 - 11905: 0xC45F, - 33140 - 11905: 0xEBE9, - 33141 - 11905: 0xC460, - 33142 - 11905: 0xC461, - 33143 - 11905: 0xC462, - 33144 - 11905: 0xC463, - 33145 - 11905: 0xB8B9, - 33146 - 11905: 0xCFD9, - 33147 - 11905: 0xC4E5, - 33148 - 11905: 0xEBEF, - 33149 - 11905: 0xEBF0, - 33150 - 11905: 0xCCDA, - 33151 - 11905: 0xCDC8, - 33152 - 11905: 0xB0F2, - 33153 - 11905: 0xC464, - 33154 - 11905: 0xEBF6, - 33155 - 11905: 0xC465, - 33156 - 11905: 0xC466, - 33157 - 11905: 0xC467, - 33158 - 11905: 0xC468, - 33159 - 11905: 0xC469, - 33160 - 11905: 0xEBF5, - 33161 - 11905: 0xC46A, - 33162 - 11905: 0xB2B2, - 33163 - 11905: 0xC46B, - 33164 - 11905: 0xC46C, - 33165 - 11905: 0xC46D, - 33166 - 11905: 0xC46E, - 33167 - 11905: 0xB8E0, - 33168 - 11905: 0xC46F, - 33169 - 11905: 0xEBF7, - 33170 - 11905: 0xC470, - 33171 - 11905: 0xC471, - 33172 - 11905: 0xC472, - 33173 - 11905: 0xC473, - 33174 - 11905: 0xC474, - 33175 - 11905: 0xC475, - 33176 - 11905: 0xB1EC, - 33177 - 11905: 0xC476, - 33178 - 11905: 0xC477, - 33179 - 11905: 0xCCC5, - 33180 - 11905: 0xC4A4, - 33181 - 11905: 0xCFA5, - 33182 - 11905: 0xC478, - 33183 - 11905: 0xC479, - 33184 - 11905: 0xC47A, - 33185 - 11905: 0xC47B, - 33186 - 11905: 0xC47C, - 33187 - 11905: 0xEBF9, - 33188 - 11905: 0xC47D, - 33189 - 11905: 0xC47E, - 33190 - 11905: 0xECA2, - 33191 - 11905: 0xC480, - 33192 - 11905: 0xC5F2, - 33193 - 11905: 0xC481, - 33194 - 11905: 0xEBFA, - 33195 - 11905: 0xC482, - 33196 - 11905: 0xC483, - 33197 - 11905: 0xC484, - 33198 - 11905: 0xC485, - 33199 - 11905: 0xC486, - 33200 - 11905: 0xC487, - 33201 - 11905: 0xC488, - 33202 - 11905: 0xC489, - 33203 - 11905: 0xC9C5, - 33204 - 11905: 0xC48A, - 33205 - 11905: 0xC48B, - 33206 - 11905: 0xC48C, - 33207 - 11905: 0xC48D, - 33208 - 11905: 0xC48E, - 33209 - 11905: 0xC48F, - 33210 - 11905: 0xE2DF, - 33211 - 11905: 0xEBFE, - 33212 - 11905: 0xC490, - 33213 - 11905: 0xC491, - 33214 - 11905: 0xC492, - 33215 - 11905: 0xC493, - 33216 - 11905: 0xCDCE, - 33217 - 11905: 0xECA1, - 33218 - 11905: 0xB1DB, - 33219 - 11905: 0xD3B7, - 33220 - 11905: 0xC494, - 33221 - 11905: 0xC495, - 33222 - 11905: 0xD2DC, - 33223 - 11905: 0xC496, - 33224 - 11905: 0xC497, - 33225 - 11905: 0xC498, - 33226 - 11905: 0xEBFD, - 33227 - 11905: 0xC499, - 33228 - 11905: 0xEBFB, - 33229 - 11905: 0xC49A, - 33230 - 11905: 0xC49B, - 33231 - 11905: 0xC49C, - 33232 - 11905: 0xC49D, - 33233 - 11905: 0xC49E, - 33234 - 11905: 0xC49F, - 33235 - 11905: 0xC4A0, - 33236 - 11905: 0xC540, - 33237 - 11905: 0xC541, - 33238 - 11905: 0xC542, - 33239 - 11905: 0xC543, - 33240 - 11905: 0xC544, - 33241 - 11905: 0xC545, - 33242 - 11905: 0xC546, - 33243 - 11905: 0xC547, - 33244 - 11905: 0xC548, - 33245 - 11905: 0xC549, - 33246 - 11905: 0xC54A, - 33247 - 11905: 0xC54B, - 33248 - 11905: 0xC54C, - 33249 - 11905: 0xC54D, - 33250 - 11905: 0xC54E, - 33251 - 11905: 0xB3BC, - 33252 - 11905: 0xC54F, - 33253 - 11905: 0xC550, - 33254 - 11905: 0xC551, - 33255 - 11905: 0xEAB0, - 33256 - 11905: 0xC552, - 33257 - 11905: 0xC553, - 33258 - 11905: 0xD7D4, - 33259 - 11905: 0xC554, - 33260 - 11905: 0xF4AB, - 33261 - 11905: 0xB3F4, - 33262 - 11905: 0xC555, - 33263 - 11905: 0xC556, - 33264 - 11905: 0xC557, - 33265 - 11905: 0xC558, - 33266 - 11905: 0xC559, - 33267 - 11905: 0xD6C1, - 33268 - 11905: 0xD6C2, - 33269 - 11905: 0xC55A, - 33270 - 11905: 0xC55B, - 33271 - 11905: 0xC55C, - 33272 - 11905: 0xC55D, - 33273 - 11905: 0xC55E, - 33274 - 11905: 0xC55F, - 33275 - 11905: 0xD5E9, - 33276 - 11905: 0xBECA, - 33277 - 11905: 0xC560, - 33278 - 11905: 0xF4A7, - 33279 - 11905: 0xC561, - 33280 - 11905: 0xD2A8, - 33281 - 11905: 0xF4A8, - 33282 - 11905: 0xF4A9, - 33283 - 11905: 0xC562, - 33284 - 11905: 0xF4AA, - 33285 - 11905: 0xBECB, - 33286 - 11905: 0xD3DF, - 33287 - 11905: 0xC563, - 33288 - 11905: 0xC564, - 33289 - 11905: 0xC565, - 33290 - 11905: 0xC566, - 33291 - 11905: 0xC567, - 33292 - 11905: 0xC9E0, - 33293 - 11905: 0xC9E1, - 33294 - 11905: 0xC568, - 33295 - 11905: 0xC569, - 33296 - 11905: 0xF3C2, - 33297 - 11905: 0xC56A, - 33298 - 11905: 0xCAE6, - 33299 - 11905: 0xC56B, - 33300 - 11905: 0xCCF2, - 33301 - 11905: 0xC56C, - 33302 - 11905: 0xC56D, - 33303 - 11905: 0xC56E, - 33304 - 11905: 0xC56F, - 33305 - 11905: 0xC570, - 33306 - 11905: 0xC571, - 33307 - 11905: 0xE2B6, - 33308 - 11905: 0xCBB4, - 33309 - 11905: 0xC572, - 33310 - 11905: 0xCEE8, - 33311 - 11905: 0xD6DB, - 33312 - 11905: 0xC573, - 33313 - 11905: 0xF4AD, - 33314 - 11905: 0xF4AE, - 33315 - 11905: 0xF4AF, - 33316 - 11905: 0xC574, - 33317 - 11905: 0xC575, - 33318 - 11905: 0xC576, - 33319 - 11905: 0xC577, - 33320 - 11905: 0xF4B2, - 33321 - 11905: 0xC578, - 33322 - 11905: 0xBABD, - 33323 - 11905: 0xF4B3, - 33324 - 11905: 0xB0E3, - 33325 - 11905: 0xF4B0, - 33326 - 11905: 0xC579, - 33327 - 11905: 0xF4B1, - 33328 - 11905: 0xBDA2, - 33329 - 11905: 0xB2D5, - 33330 - 11905: 0xC57A, - 33331 - 11905: 0xF4B6, - 33332 - 11905: 0xF4B7, - 33333 - 11905: 0xB6E6, - 33334 - 11905: 0xB2B0, - 33335 - 11905: 0xCFCF, - 33336 - 11905: 0xF4B4, - 33337 - 11905: 0xB4AC, - 33338 - 11905: 0xC57B, - 33339 - 11905: 0xF4B5, - 33340 - 11905: 0xC57C, - 33341 - 11905: 0xC57D, - 33342 - 11905: 0xF4B8, - 33343 - 11905: 0xC57E, - 33344 - 11905: 0xC580, - 33345 - 11905: 0xC581, - 33346 - 11905: 0xC582, - 33347 - 11905: 0xC583, - 33348 - 11905: 0xF4B9, - 33349 - 11905: 0xC584, - 33350 - 11905: 0xC585, - 33351 - 11905: 0xCDA7, - 33352 - 11905: 0xC586, - 33353 - 11905: 0xF4BA, - 33354 - 11905: 0xC587, - 33355 - 11905: 0xF4BB, - 33356 - 11905: 0xC588, - 33357 - 11905: 0xC589, - 33358 - 11905: 0xC58A, - 33359 - 11905: 0xF4BC, - 33360 - 11905: 0xC58B, - 33361 - 11905: 0xC58C, - 33362 - 11905: 0xC58D, - 33363 - 11905: 0xC58E, - 33364 - 11905: 0xC58F, - 33365 - 11905: 0xC590, - 33366 - 11905: 0xC591, - 33367 - 11905: 0xC592, - 33368 - 11905: 0xCBD2, - 33369 - 11905: 0xC593, - 33370 - 11905: 0xF4BD, - 33371 - 11905: 0xC594, - 33372 - 11905: 0xC595, - 33373 - 11905: 0xC596, - 33374 - 11905: 0xC597, - 33375 - 11905: 0xF4BE, - 33376 - 11905: 0xC598, - 33377 - 11905: 0xC599, - 33378 - 11905: 0xC59A, - 33379 - 11905: 0xC59B, - 33380 - 11905: 0xC59C, - 33381 - 11905: 0xC59D, - 33382 - 11905: 0xC59E, - 33383 - 11905: 0xC59F, - 33384 - 11905: 0xF4BF, - 33385 - 11905: 0xC5A0, - 33386 - 11905: 0xC640, - 33387 - 11905: 0xC641, - 33388 - 11905: 0xC642, - 33389 - 11905: 0xC643, - 33390 - 11905: 0xF4DE, - 33391 - 11905: 0xC1BC, - 33392 - 11905: 0xBCE8, - 33393 - 11905: 0xC644, - 33394 - 11905: 0xC9AB, - 33395 - 11905: 0xD1DE, - 33396 - 11905: 0xE5F5, - 33397 - 11905: 0xC645, - 33398 - 11905: 0xC646, - 33399 - 11905: 0xC647, - 33400 - 11905: 0xC648, - 33401 - 11905: 0xDCB3, - 33402 - 11905: 0xD2D5, - 33403 - 11905: 0xC649, - 33404 - 11905: 0xC64A, - 33405 - 11905: 0xDCB4, - 33406 - 11905: 0xB0AC, - 33407 - 11905: 0xDCB5, - 33408 - 11905: 0xC64B, - 33409 - 11905: 0xC64C, - 33410 - 11905: 0xBDDA, - 33411 - 11905: 0xC64D, - 33412 - 11905: 0xDCB9, - 33413 - 11905: 0xC64E, - 33414 - 11905: 0xC64F, - 33415 - 11905: 0xC650, - 33416 - 11905: 0xD8C2, - 33417 - 11905: 0xC651, - 33418 - 11905: 0xDCB7, - 33419 - 11905: 0xD3F3, - 33420 - 11905: 0xC652, - 33421 - 11905: 0xC9D6, - 33422 - 11905: 0xDCBA, - 33423 - 11905: 0xDCB6, - 33424 - 11905: 0xC653, - 33425 - 11905: 0xDCBB, - 33426 - 11905: 0xC3A2, - 33427 - 11905: 0xC654, - 33428 - 11905: 0xC655, - 33429 - 11905: 0xC656, - 33430 - 11905: 0xC657, - 33431 - 11905: 0xDCBC, - 33432 - 11905: 0xDCC5, - 33433 - 11905: 0xDCBD, - 33434 - 11905: 0xC658, - 33435 - 11905: 0xC659, - 33436 - 11905: 0xCEDF, - 33437 - 11905: 0xD6A5, - 33438 - 11905: 0xC65A, - 33439 - 11905: 0xDCCF, - 33440 - 11905: 0xC65B, - 33441 - 11905: 0xDCCD, - 33442 - 11905: 0xC65C, - 33443 - 11905: 0xC65D, - 33444 - 11905: 0xDCD2, - 33445 - 11905: 0xBDE6, - 33446 - 11905: 0xC2AB, - 33447 - 11905: 0xC65E, - 33448 - 11905: 0xDCB8, - 33449 - 11905: 0xDCCB, - 33450 - 11905: 0xDCCE, - 33451 - 11905: 0xDCBE, - 33452 - 11905: 0xB7D2, - 33453 - 11905: 0xB0C5, - 33454 - 11905: 0xDCC7, - 33455 - 11905: 0xD0BE, - 33456 - 11905: 0xDCC1, - 33457 - 11905: 0xBBA8, - 33458 - 11905: 0xC65F, - 33459 - 11905: 0xB7BC, - 33460 - 11905: 0xDCCC, - 33461 - 11905: 0xC660, - 33462 - 11905: 0xC661, - 33463 - 11905: 0xDCC6, - 33464 - 11905: 0xDCBF, - 33465 - 11905: 0xC7DB, - 33466 - 11905: 0xC662, - 33467 - 11905: 0xC663, - 33468 - 11905: 0xC664, - 33469 - 11905: 0xD1BF, - 33470 - 11905: 0xDCC0, - 33471 - 11905: 0xC665, - 33472 - 11905: 0xC666, - 33473 - 11905: 0xDCCA, - 33474 - 11905: 0xC667, - 33475 - 11905: 0xC668, - 33476 - 11905: 0xDCD0, - 33477 - 11905: 0xC669, - 33478 - 11905: 0xC66A, - 33479 - 11905: 0xCEAD, - 33480 - 11905: 0xDCC2, - 33481 - 11905: 0xC66B, - 33482 - 11905: 0xDCC3, - 33483 - 11905: 0xDCC8, - 33484 - 11905: 0xDCC9, - 33485 - 11905: 0xB2D4, - 33486 - 11905: 0xDCD1, - 33487 - 11905: 0xCBD5, - 33488 - 11905: 0xC66C, - 33489 - 11905: 0xD4B7, - 33490 - 11905: 0xDCDB, - 33491 - 11905: 0xDCDF, - 33492 - 11905: 0xCCA6, - 33493 - 11905: 0xDCE6, - 33494 - 11905: 0xC66D, - 33495 - 11905: 0xC3E7, - 33496 - 11905: 0xDCDC, - 33497 - 11905: 0xC66E, - 33498 - 11905: 0xC66F, - 33499 - 11905: 0xBFC1, - 33500 - 11905: 0xDCD9, - 33501 - 11905: 0xC670, - 33502 - 11905: 0xB0FA, - 33503 - 11905: 0xB9B6, - 33504 - 11905: 0xDCE5, - 33505 - 11905: 0xDCD3, - 33506 - 11905: 0xC671, - 33507 - 11905: 0xDCC4, - 33508 - 11905: 0xDCD6, - 33509 - 11905: 0xC8F4, - 33510 - 11905: 0xBFE0, - 33511 - 11905: 0xC672, - 33512 - 11905: 0xC673, - 33513 - 11905: 0xC674, - 33514 - 11905: 0xC675, - 33515 - 11905: 0xC9BB, - 33516 - 11905: 0xC676, - 33517 - 11905: 0xC677, - 33518 - 11905: 0xC678, - 33519 - 11905: 0xB1BD, - 33520 - 11905: 0xC679, - 33521 - 11905: 0xD3A2, - 33522 - 11905: 0xC67A, - 33523 - 11905: 0xC67B, - 33524 - 11905: 0xDCDA, - 33525 - 11905: 0xC67C, - 33526 - 11905: 0xC67D, - 33527 - 11905: 0xDCD5, - 33528 - 11905: 0xC67E, - 33529 - 11905: 0xC6BB, - 33530 - 11905: 0xC680, - 33531 - 11905: 0xDCDE, - 33532 - 11905: 0xC681, - 33533 - 11905: 0xC682, - 33534 - 11905: 0xC683, - 33535 - 11905: 0xC684, - 33536 - 11905: 0xC685, - 33537 - 11905: 0xD7C2, - 33538 - 11905: 0xC3AF, - 33539 - 11905: 0xB7B6, - 33540 - 11905: 0xC7D1, - 33541 - 11905: 0xC3A9, - 33542 - 11905: 0xDCE2, - 33543 - 11905: 0xDCD8, - 33544 - 11905: 0xDCEB, - 33545 - 11905: 0xDCD4, - 33546 - 11905: 0xC686, - 33547 - 11905: 0xC687, - 33548 - 11905: 0xDCDD, - 33549 - 11905: 0xC688, - 33550 - 11905: 0xBEA5, - 33551 - 11905: 0xDCD7, - 33552 - 11905: 0xC689, - 33553 - 11905: 0xDCE0, - 33554 - 11905: 0xC68A, - 33555 - 11905: 0xC68B, - 33556 - 11905: 0xDCE3, - 33557 - 11905: 0xDCE4, - 33558 - 11905: 0xC68C, - 33559 - 11905: 0xDCF8, - 33560 - 11905: 0xC68D, - 33561 - 11905: 0xC68E, - 33562 - 11905: 0xDCE1, - 33563 - 11905: 0xDDA2, - 33564 - 11905: 0xDCE7, - 33565 - 11905: 0xC68F, - 33566 - 11905: 0xC690, - 33567 - 11905: 0xC691, - 33568 - 11905: 0xC692, - 33569 - 11905: 0xC693, - 33570 - 11905: 0xC694, - 33571 - 11905: 0xC695, - 33572 - 11905: 0xC696, - 33573 - 11905: 0xC697, - 33574 - 11905: 0xC698, - 33575 - 11905: 0xBCEB, - 33576 - 11905: 0xB4C4, - 33577 - 11905: 0xC699, - 33578 - 11905: 0xC69A, - 33579 - 11905: 0xC3A3, - 33580 - 11905: 0xB2E7, - 33581 - 11905: 0xDCFA, - 33582 - 11905: 0xC69B, - 33583 - 11905: 0xDCF2, - 33584 - 11905: 0xC69C, - 33585 - 11905: 0xDCEF, - 33586 - 11905: 0xC69D, - 33587 - 11905: 0xDCFC, - 33588 - 11905: 0xDCEE, - 33589 - 11905: 0xD2F0, - 33590 - 11905: 0xB2E8, - 33591 - 11905: 0xC69E, - 33592 - 11905: 0xC8D7, - 33593 - 11905: 0xC8E3, - 33594 - 11905: 0xDCFB, - 33595 - 11905: 0xC69F, - 33596 - 11905: 0xDCED, - 33597 - 11905: 0xC6A0, - 33598 - 11905: 0xC740, - 33599 - 11905: 0xC741, - 33600 - 11905: 0xDCF7, - 33601 - 11905: 0xC742, - 33602 - 11905: 0xC743, - 33603 - 11905: 0xDCF5, - 33604 - 11905: 0xC744, - 33605 - 11905: 0xC745, - 33606 - 11905: 0xBEA3, - 33607 - 11905: 0xDCF4, - 33608 - 11905: 0xC746, - 33609 - 11905: 0xB2DD, - 33610 - 11905: 0xC747, - 33611 - 11905: 0xC748, - 33612 - 11905: 0xC749, - 33613 - 11905: 0xC74A, - 33614 - 11905: 0xC74B, - 33615 - 11905: 0xDCF3, - 33616 - 11905: 0xBCF6, - 33617 - 11905: 0xDCE8, - 33618 - 11905: 0xBBC4, - 33619 - 11905: 0xC74C, - 33620 - 11905: 0xC0F3, - 33621 - 11905: 0xC74D, - 33622 - 11905: 0xC74E, - 33623 - 11905: 0xC74F, - 33624 - 11905: 0xC750, - 33625 - 11905: 0xC751, - 33626 - 11905: 0xBCD4, - 33627 - 11905: 0xDCE9, - 33628 - 11905: 0xDCEA, - 33629 - 11905: 0xC752, - 33630 - 11905: 0xDCF1, - 33631 - 11905: 0xDCF6, - 33632 - 11905: 0xDCF9, - 33633 - 11905: 0xB5B4, - 33634 - 11905: 0xC753, - 33635 - 11905: 0xC8D9, - 33636 - 11905: 0xBBE7, - 33637 - 11905: 0xDCFE, - 33638 - 11905: 0xDCFD, - 33639 - 11905: 0xD3AB, - 33640 - 11905: 0xDDA1, - 33641 - 11905: 0xDDA3, - 33642 - 11905: 0xDDA5, - 33643 - 11905: 0xD2F1, - 33644 - 11905: 0xDDA4, - 33645 - 11905: 0xDDA6, - 33646 - 11905: 0xDDA7, - 33647 - 11905: 0xD2A9, - 33648 - 11905: 0xC754, - 33649 - 11905: 0xC755, - 33650 - 11905: 0xC756, - 33651 - 11905: 0xC757, - 33652 - 11905: 0xC758, - 33653 - 11905: 0xC759, - 33654 - 11905: 0xC75A, - 33655 - 11905: 0xBAC9, - 33656 - 11905: 0xDDA9, - 33657 - 11905: 0xC75B, - 33658 - 11905: 0xC75C, - 33659 - 11905: 0xDDB6, - 33660 - 11905: 0xDDB1, - 33661 - 11905: 0xDDB4, - 33662 - 11905: 0xC75D, - 33663 - 11905: 0xC75E, - 33664 - 11905: 0xC75F, - 33665 - 11905: 0xC760, - 33666 - 11905: 0xC761, - 33667 - 11905: 0xC762, - 33668 - 11905: 0xC763, - 33669 - 11905: 0xDDB0, - 33670 - 11905: 0xC6CE, - 33671 - 11905: 0xC764, - 33672 - 11905: 0xC765, - 33673 - 11905: 0xC0F2, - 33674 - 11905: 0xC766, - 33675 - 11905: 0xC767, - 33676 - 11905: 0xC768, - 33677 - 11905: 0xC769, - 33678 - 11905: 0xC9AF, - 33679 - 11905: 0xC76A, - 33680 - 11905: 0xC76B, - 33681 - 11905: 0xC76C, - 33682 - 11905: 0xDCEC, - 33683 - 11905: 0xDDAE, - 33684 - 11905: 0xC76D, - 33685 - 11905: 0xC76E, - 33686 - 11905: 0xC76F, - 33687 - 11905: 0xC770, - 33688 - 11905: 0xDDB7, - 33689 - 11905: 0xC771, - 33690 - 11905: 0xC772, - 33691 - 11905: 0xDCF0, - 33692 - 11905: 0xDDAF, - 33693 - 11905: 0xC773, - 33694 - 11905: 0xDDB8, - 33695 - 11905: 0xC774, - 33696 - 11905: 0xDDAC, - 33697 - 11905: 0xC775, - 33698 - 11905: 0xC776, - 33699 - 11905: 0xC777, - 33700 - 11905: 0xC778, - 33701 - 11905: 0xC779, - 33702 - 11905: 0xC77A, - 33703 - 11905: 0xC77B, - 33704 - 11905: 0xDDB9, - 33705 - 11905: 0xDDB3, - 33706 - 11905: 0xDDAD, - 33707 - 11905: 0xC4AA, - 33708 - 11905: 0xC77C, - 33709 - 11905: 0xC77D, - 33710 - 11905: 0xC77E, - 33711 - 11905: 0xC780, - 33712 - 11905: 0xDDA8, - 33713 - 11905: 0xC0B3, - 33714 - 11905: 0xC1AB, - 33715 - 11905: 0xDDAA, - 33716 - 11905: 0xDDAB, - 33717 - 11905: 0xC781, - 33718 - 11905: 0xDDB2, - 33719 - 11905: 0xBBF1, - 33720 - 11905: 0xDDB5, - 33721 - 11905: 0xD3A8, - 33722 - 11905: 0xDDBA, - 33723 - 11905: 0xC782, - 33724 - 11905: 0xDDBB, - 33725 - 11905: 0xC3A7, - 33726 - 11905: 0xC783, - 33727 - 11905: 0xC784, - 33728 - 11905: 0xDDD2, - 33729 - 11905: 0xDDBC, - 33730 - 11905: 0xC785, - 33731 - 11905: 0xC786, - 33732 - 11905: 0xC787, - 33733 - 11905: 0xDDD1, - 33734 - 11905: 0xC788, - 33735 - 11905: 0xB9BD, - 33736 - 11905: 0xC789, - 33737 - 11905: 0xC78A, - 33738 - 11905: 0xBED5, - 33739 - 11905: 0xC78B, - 33740 - 11905: 0xBEFA, - 33741 - 11905: 0xC78C, - 33742 - 11905: 0xC78D, - 33743 - 11905: 0xBACA, - 33744 - 11905: 0xC78E, - 33745 - 11905: 0xC78F, - 33746 - 11905: 0xC790, - 33747 - 11905: 0xC791, - 33748 - 11905: 0xDDCA, - 33749 - 11905: 0xC792, - 33750 - 11905: 0xDDC5, - 33751 - 11905: 0xC793, - 33752 - 11905: 0xDDBF, - 33753 - 11905: 0xC794, - 33754 - 11905: 0xC795, - 33755 - 11905: 0xC796, - 33756 - 11905: 0xB2CB, - 33757 - 11905: 0xDDC3, - 33758 - 11905: 0xC797, - 33759 - 11905: 0xDDCB, - 33760 - 11905: 0xB2A4, - 33761 - 11905: 0xDDD5, - 33762 - 11905: 0xC798, - 33763 - 11905: 0xC799, - 33764 - 11905: 0xC79A, - 33765 - 11905: 0xDDBE, - 33766 - 11905: 0xC79B, - 33767 - 11905: 0xC79C, - 33768 - 11905: 0xC79D, - 33769 - 11905: 0xC6D0, - 33770 - 11905: 0xDDD0, - 33771 - 11905: 0xC79E, - 33772 - 11905: 0xC79F, - 33773 - 11905: 0xC7A0, - 33774 - 11905: 0xC840, - 33775 - 11905: 0xC841, - 33776 - 11905: 0xDDD4, - 33777 - 11905: 0xC1E2, - 33778 - 11905: 0xB7C6, - 33779 - 11905: 0xC842, - 33780 - 11905: 0xC843, - 33781 - 11905: 0xC844, - 33782 - 11905: 0xC845, - 33783 - 11905: 0xC846, - 33784 - 11905: 0xDDCE, - 33785 - 11905: 0xDDCF, - 33786 - 11905: 0xC847, - 33787 - 11905: 0xC848, - 33788 - 11905: 0xC849, - 33789 - 11905: 0xDDC4, - 33790 - 11905: 0xC84A, - 33791 - 11905: 0xC84B, - 33792 - 11905: 0xC84C, - 33793 - 11905: 0xDDBD, - 33794 - 11905: 0xC84D, - 33795 - 11905: 0xDDCD, - 33796 - 11905: 0xCCD1, - 33797 - 11905: 0xC84E, - 33798 - 11905: 0xDDC9, - 33799 - 11905: 0xC84F, - 33800 - 11905: 0xC850, - 33801 - 11905: 0xC851, - 33802 - 11905: 0xC852, - 33803 - 11905: 0xDDC2, - 33804 - 11905: 0xC3C8, - 33805 - 11905: 0xC6BC, - 33806 - 11905: 0xCEAE, - 33807 - 11905: 0xDDCC, - 33808 - 11905: 0xC853, - 33809 - 11905: 0xDDC8, - 33810 - 11905: 0xC854, - 33811 - 11905: 0xC855, - 33812 - 11905: 0xC856, - 33813 - 11905: 0xC857, - 33814 - 11905: 0xC858, - 33815 - 11905: 0xC859, - 33816 - 11905: 0xDDC1, - 33817 - 11905: 0xC85A, - 33818 - 11905: 0xC85B, - 33819 - 11905: 0xC85C, - 33820 - 11905: 0xDDC6, - 33821 - 11905: 0xC2DC, - 33822 - 11905: 0xC85D, - 33823 - 11905: 0xC85E, - 33824 - 11905: 0xC85F, - 33825 - 11905: 0xC860, - 33826 - 11905: 0xC861, - 33827 - 11905: 0xC862, - 33828 - 11905: 0xD3A9, - 33829 - 11905: 0xD3AA, - 33830 - 11905: 0xDDD3, - 33831 - 11905: 0xCFF4, - 33832 - 11905: 0xC8F8, - 33833 - 11905: 0xC863, - 33834 - 11905: 0xC864, - 33835 - 11905: 0xC865, - 33836 - 11905: 0xC866, - 33837 - 11905: 0xC867, - 33838 - 11905: 0xC868, - 33839 - 11905: 0xC869, - 33840 - 11905: 0xC86A, - 33841 - 11905: 0xDDE6, - 33842 - 11905: 0xC86B, - 33843 - 11905: 0xC86C, - 33844 - 11905: 0xC86D, - 33845 - 11905: 0xC86E, - 33846 - 11905: 0xC86F, - 33847 - 11905: 0xC870, - 33848 - 11905: 0xDDC7, - 33849 - 11905: 0xC871, - 33850 - 11905: 0xC872, - 33851 - 11905: 0xC873, - 33852 - 11905: 0xDDE0, - 33853 - 11905: 0xC2E4, - 33854 - 11905: 0xC874, - 33855 - 11905: 0xC875, - 33856 - 11905: 0xC876, - 33857 - 11905: 0xC877, - 33858 - 11905: 0xC878, - 33859 - 11905: 0xC879, - 33860 - 11905: 0xC87A, - 33861 - 11905: 0xC87B, - 33862 - 11905: 0xDDE1, - 33863 - 11905: 0xC87C, - 33864 - 11905: 0xC87D, - 33865 - 11905: 0xC87E, - 33866 - 11905: 0xC880, - 33867 - 11905: 0xC881, - 33868 - 11905: 0xC882, - 33869 - 11905: 0xC883, - 33870 - 11905: 0xC884, - 33871 - 11905: 0xC885, - 33872 - 11905: 0xC886, - 33873 - 11905: 0xDDD7, - 33874 - 11905: 0xC887, - 33875 - 11905: 0xC888, - 33876 - 11905: 0xC889, - 33877 - 11905: 0xC88A, - 33878 - 11905: 0xC88B, - 33879 - 11905: 0xD6F8, - 33880 - 11905: 0xC88C, - 33881 - 11905: 0xDDD9, - 33882 - 11905: 0xDDD8, - 33883 - 11905: 0xB8F0, - 33884 - 11905: 0xDDD6, - 33885 - 11905: 0xC88D, - 33886 - 11905: 0xC88E, - 33887 - 11905: 0xC88F, - 33888 - 11905: 0xC890, - 33889 - 11905: 0xC6CF, - 33890 - 11905: 0xC891, - 33891 - 11905: 0xB6AD, - 33892 - 11905: 0xC892, - 33893 - 11905: 0xC893, - 33894 - 11905: 0xC894, - 33895 - 11905: 0xC895, - 33896 - 11905: 0xC896, - 33897 - 11905: 0xDDE2, - 33898 - 11905: 0xC897, - 33899 - 11905: 0xBAF9, - 33900 - 11905: 0xD4E1, - 33901 - 11905: 0xDDE7, - 33902 - 11905: 0xC898, - 33903 - 11905: 0xC899, - 33904 - 11905: 0xC89A, - 33905 - 11905: 0xB4D0, - 33906 - 11905: 0xC89B, - 33907 - 11905: 0xDDDA, - 33908 - 11905: 0xC89C, - 33909 - 11905: 0xBFFB, - 33910 - 11905: 0xDDE3, - 33911 - 11905: 0xC89D, - 33912 - 11905: 0xDDDF, - 33913 - 11905: 0xC89E, - 33914 - 11905: 0xDDDD, - 33915 - 11905: 0xC89F, - 33916 - 11905: 0xC8A0, - 33917 - 11905: 0xC940, - 33918 - 11905: 0xC941, - 33919 - 11905: 0xC942, - 33920 - 11905: 0xC943, - 33921 - 11905: 0xC944, - 33922 - 11905: 0xB5D9, - 33923 - 11905: 0xC945, - 33924 - 11905: 0xC946, - 33925 - 11905: 0xC947, - 33926 - 11905: 0xC948, - 33927 - 11905: 0xDDDB, - 33928 - 11905: 0xDDDC, - 33929 - 11905: 0xDDDE, - 33930 - 11905: 0xC949, - 33931 - 11905: 0xBDAF, - 33932 - 11905: 0xDDE4, - 33933 - 11905: 0xC94A, - 33934 - 11905: 0xDDE5, - 33935 - 11905: 0xC94B, - 33936 - 11905: 0xC94C, - 33937 - 11905: 0xC94D, - 33938 - 11905: 0xC94E, - 33939 - 11905: 0xC94F, - 33940 - 11905: 0xC950, - 33941 - 11905: 0xC951, - 33942 - 11905: 0xC952, - 33943 - 11905: 0xDDF5, - 33944 - 11905: 0xC953, - 33945 - 11905: 0xC3C9, - 33946 - 11905: 0xC954, - 33947 - 11905: 0xC955, - 33948 - 11905: 0xCBE2, - 33949 - 11905: 0xC956, - 33950 - 11905: 0xC957, - 33951 - 11905: 0xC958, - 33952 - 11905: 0xC959, - 33953 - 11905: 0xDDF2, - 33954 - 11905: 0xC95A, - 33955 - 11905: 0xC95B, - 33956 - 11905: 0xC95C, - 33957 - 11905: 0xC95D, - 33958 - 11905: 0xC95E, - 33959 - 11905: 0xC95F, - 33960 - 11905: 0xC960, - 33961 - 11905: 0xC961, - 33962 - 11905: 0xC962, - 33963 - 11905: 0xC963, - 33964 - 11905: 0xC964, - 33965 - 11905: 0xC965, - 33966 - 11905: 0xC966, - 33967 - 11905: 0xD8E1, - 33968 - 11905: 0xC967, - 33969 - 11905: 0xC968, - 33970 - 11905: 0xC6D1, - 33971 - 11905: 0xC969, - 33972 - 11905: 0xDDF4, - 33973 - 11905: 0xC96A, - 33974 - 11905: 0xC96B, - 33975 - 11905: 0xC96C, - 33976 - 11905: 0xD5F4, - 33977 - 11905: 0xDDF3, - 33978 - 11905: 0xDDF0, - 33979 - 11905: 0xC96D, - 33980 - 11905: 0xC96E, - 33981 - 11905: 0xDDEC, - 33982 - 11905: 0xC96F, - 33983 - 11905: 0xDDEF, - 33984 - 11905: 0xC970, - 33985 - 11905: 0xDDE8, - 33986 - 11905: 0xC971, - 33987 - 11905: 0xC972, - 33988 - 11905: 0xD0EE, - 33989 - 11905: 0xC973, - 33990 - 11905: 0xC974, - 33991 - 11905: 0xC975, - 33992 - 11905: 0xC976, - 33993 - 11905: 0xC8D8, - 33994 - 11905: 0xDDEE, - 33995 - 11905: 0xC977, - 33996 - 11905: 0xC978, - 33997 - 11905: 0xDDE9, - 33998 - 11905: 0xC979, - 33999 - 11905: 0xC97A, - 34000 - 11905: 0xDDEA, - 34001 - 11905: 0xCBF2, - 34002 - 11905: 0xC97B, - 34003 - 11905: 0xDDED, - 34004 - 11905: 0xC97C, - 34005 - 11905: 0xC97D, - 34006 - 11905: 0xB1CD, - 34007 - 11905: 0xC97E, - 34008 - 11905: 0xC980, - 34009 - 11905: 0xC981, - 34010 - 11905: 0xC982, - 34011 - 11905: 0xC983, - 34012 - 11905: 0xC984, - 34013 - 11905: 0xC0B6, - 34014 - 11905: 0xC985, - 34015 - 11905: 0xBCBB, - 34016 - 11905: 0xDDF1, - 34017 - 11905: 0xC986, - 34018 - 11905: 0xC987, - 34019 - 11905: 0xDDF7, - 34020 - 11905: 0xC988, - 34021 - 11905: 0xDDF6, - 34022 - 11905: 0xDDEB, - 34023 - 11905: 0xC989, - 34024 - 11905: 0xC98A, - 34025 - 11905: 0xC98B, - 34026 - 11905: 0xC98C, - 34027 - 11905: 0xC98D, - 34028 - 11905: 0xC5EE, - 34029 - 11905: 0xC98E, - 34030 - 11905: 0xC98F, - 34031 - 11905: 0xC990, - 34032 - 11905: 0xDDFB, - 34033 - 11905: 0xC991, - 34034 - 11905: 0xC992, - 34035 - 11905: 0xC993, - 34036 - 11905: 0xC994, - 34037 - 11905: 0xC995, - 34038 - 11905: 0xC996, - 34039 - 11905: 0xC997, - 34040 - 11905: 0xC998, - 34041 - 11905: 0xC999, - 34042 - 11905: 0xC99A, - 34043 - 11905: 0xC99B, - 34044 - 11905: 0xDEA4, - 34045 - 11905: 0xC99C, - 34046 - 11905: 0xC99D, - 34047 - 11905: 0xDEA3, - 34048 - 11905: 0xC99E, - 34049 - 11905: 0xC99F, - 34050 - 11905: 0xC9A0, - 34051 - 11905: 0xCA40, - 34052 - 11905: 0xCA41, - 34053 - 11905: 0xCA42, - 34054 - 11905: 0xCA43, - 34055 - 11905: 0xCA44, - 34056 - 11905: 0xCA45, - 34057 - 11905: 0xCA46, - 34058 - 11905: 0xCA47, - 34059 - 11905: 0xCA48, - 34060 - 11905: 0xDDF8, - 34061 - 11905: 0xCA49, - 34062 - 11905: 0xCA4A, - 34063 - 11905: 0xCA4B, - 34064 - 11905: 0xCA4C, - 34065 - 11905: 0xC3EF, - 34066 - 11905: 0xCA4D, - 34067 - 11905: 0xC2FB, - 34068 - 11905: 0xCA4E, - 34069 - 11905: 0xCA4F, - 34070 - 11905: 0xCA50, - 34071 - 11905: 0xD5E1, - 34072 - 11905: 0xCA51, - 34073 - 11905: 0xCA52, - 34074 - 11905: 0xCEB5, - 34075 - 11905: 0xCA53, - 34076 - 11905: 0xCA54, - 34077 - 11905: 0xCA55, - 34078 - 11905: 0xCA56, - 34079 - 11905: 0xDDFD, - 34080 - 11905: 0xCA57, - 34081 - 11905: 0xB2CC, - 34082 - 11905: 0xCA58, - 34083 - 11905: 0xCA59, - 34084 - 11905: 0xCA5A, - 34085 - 11905: 0xCA5B, - 34086 - 11905: 0xCA5C, - 34087 - 11905: 0xCA5D, - 34088 - 11905: 0xCA5E, - 34089 - 11905: 0xCA5F, - 34090 - 11905: 0xCA60, - 34091 - 11905: 0xC4E8, - 34092 - 11905: 0xCADF, - 34093 - 11905: 0xCA61, - 34094 - 11905: 0xCA62, - 34095 - 11905: 0xCA63, - 34096 - 11905: 0xCA64, - 34097 - 11905: 0xCA65, - 34098 - 11905: 0xCA66, - 34099 - 11905: 0xCA67, - 34100 - 11905: 0xCA68, - 34101 - 11905: 0xCA69, - 34102 - 11905: 0xCA6A, - 34103 - 11905: 0xC7BE, - 34104 - 11905: 0xDDFA, - 34105 - 11905: 0xDDFC, - 34106 - 11905: 0xDDFE, - 34107 - 11905: 0xDEA2, - 34108 - 11905: 0xB0AA, - 34109 - 11905: 0xB1CE, - 34110 - 11905: 0xCA6B, - 34111 - 11905: 0xCA6C, - 34112 - 11905: 0xCA6D, - 34113 - 11905: 0xCA6E, - 34114 - 11905: 0xCA6F, - 34115 - 11905: 0xDEAC, - 34116 - 11905: 0xCA70, - 34117 - 11905: 0xCA71, - 34118 - 11905: 0xCA72, - 34119 - 11905: 0xCA73, - 34120 - 11905: 0xDEA6, - 34121 - 11905: 0xBDB6, - 34122 - 11905: 0xC8EF, - 34123 - 11905: 0xCA74, - 34124 - 11905: 0xCA75, - 34125 - 11905: 0xCA76, - 34126 - 11905: 0xCA77, - 34127 - 11905: 0xCA78, - 34128 - 11905: 0xCA79, - 34129 - 11905: 0xCA7A, - 34130 - 11905: 0xCA7B, - 34131 - 11905: 0xCA7C, - 34132 - 11905: 0xCA7D, - 34133 - 11905: 0xCA7E, - 34134 - 11905: 0xDEA1, - 34135 - 11905: 0xCA80, - 34136 - 11905: 0xCA81, - 34137 - 11905: 0xDEA5, - 34138 - 11905: 0xCA82, - 34139 - 11905: 0xCA83, - 34140 - 11905: 0xCA84, - 34141 - 11905: 0xCA85, - 34142 - 11905: 0xDEA9, - 34143 - 11905: 0xCA86, - 34144 - 11905: 0xCA87, - 34145 - 11905: 0xCA88, - 34146 - 11905: 0xCA89, - 34147 - 11905: 0xCA8A, - 34148 - 11905: 0xDEA8, - 34149 - 11905: 0xCA8B, - 34150 - 11905: 0xCA8C, - 34151 - 11905: 0xCA8D, - 34152 - 11905: 0xDEA7, - 34153 - 11905: 0xCA8E, - 34154 - 11905: 0xCA8F, - 34155 - 11905: 0xCA90, - 34156 - 11905: 0xCA91, - 34157 - 11905: 0xCA92, - 34158 - 11905: 0xCA93, - 34159 - 11905: 0xCA94, - 34160 - 11905: 0xCA95, - 34161 - 11905: 0xCA96, - 34162 - 11905: 0xDEAD, - 34163 - 11905: 0xCA97, - 34164 - 11905: 0xD4CC, - 34165 - 11905: 0xCA98, - 34166 - 11905: 0xCA99, - 34167 - 11905: 0xCA9A, - 34168 - 11905: 0xCA9B, - 34169 - 11905: 0xDEB3, - 34170 - 11905: 0xDEAA, - 34171 - 11905: 0xDEAE, - 34172 - 11905: 0xCA9C, - 34173 - 11905: 0xCA9D, - 34174 - 11905: 0xC0D9, - 34175 - 11905: 0xCA9E, - 34176 - 11905: 0xCA9F, - 34177 - 11905: 0xCAA0, - 34178 - 11905: 0xCB40, - 34179 - 11905: 0xCB41, - 34180 - 11905: 0xB1A1, - 34181 - 11905: 0xDEB6, - 34182 - 11905: 0xCB42, - 34183 - 11905: 0xDEB1, - 34184 - 11905: 0xCB43, - 34185 - 11905: 0xCB44, - 34186 - 11905: 0xCB45, - 34187 - 11905: 0xCB46, - 34188 - 11905: 0xCB47, - 34189 - 11905: 0xCB48, - 34190 - 11905: 0xCB49, - 34191 - 11905: 0xDEB2, - 34192 - 11905: 0xCB4A, - 34193 - 11905: 0xCB4B, - 34194 - 11905: 0xCB4C, - 34195 - 11905: 0xCB4D, - 34196 - 11905: 0xCB4E, - 34197 - 11905: 0xCB4F, - 34198 - 11905: 0xCB50, - 34199 - 11905: 0xCB51, - 34200 - 11905: 0xCB52, - 34201 - 11905: 0xCB53, - 34202 - 11905: 0xCB54, - 34203 - 11905: 0xD1A6, - 34204 - 11905: 0xDEB5, - 34205 - 11905: 0xCB55, - 34206 - 11905: 0xCB56, - 34207 - 11905: 0xCB57, - 34208 - 11905: 0xCB58, - 34209 - 11905: 0xCB59, - 34210 - 11905: 0xCB5A, - 34211 - 11905: 0xCB5B, - 34212 - 11905: 0xDEAF, - 34213 - 11905: 0xCB5C, - 34214 - 11905: 0xCB5D, - 34215 - 11905: 0xCB5E, - 34216 - 11905: 0xDEB0, - 34217 - 11905: 0xCB5F, - 34218 - 11905: 0xD0BD, - 34219 - 11905: 0xCB60, - 34220 - 11905: 0xCB61, - 34221 - 11905: 0xCB62, - 34222 - 11905: 0xDEB4, - 34223 - 11905: 0xCAED, - 34224 - 11905: 0xDEB9, - 34225 - 11905: 0xCB63, - 34226 - 11905: 0xCB64, - 34227 - 11905: 0xCB65, - 34228 - 11905: 0xCB66, - 34229 - 11905: 0xCB67, - 34230 - 11905: 0xCB68, - 34231 - 11905: 0xDEB8, - 34232 - 11905: 0xCB69, - 34233 - 11905: 0xDEB7, - 34234 - 11905: 0xCB6A, - 34235 - 11905: 0xCB6B, - 34236 - 11905: 0xCB6C, - 34237 - 11905: 0xCB6D, - 34238 - 11905: 0xCB6E, - 34239 - 11905: 0xCB6F, - 34240 - 11905: 0xCB70, - 34241 - 11905: 0xDEBB, - 34242 - 11905: 0xCB71, - 34243 - 11905: 0xCB72, - 34244 - 11905: 0xCB73, - 34245 - 11905: 0xCB74, - 34246 - 11905: 0xCB75, - 34247 - 11905: 0xCB76, - 34248 - 11905: 0xCB77, - 34249 - 11905: 0xBDE5, - 34250 - 11905: 0xCB78, - 34251 - 11905: 0xCB79, - 34252 - 11905: 0xCB7A, - 34253 - 11905: 0xCB7B, - 34254 - 11905: 0xCB7C, - 34255 - 11905: 0xB2D8, - 34256 - 11905: 0xC3EA, - 34257 - 11905: 0xCB7D, - 34258 - 11905: 0xCB7E, - 34259 - 11905: 0xDEBA, - 34260 - 11905: 0xCB80, - 34261 - 11905: 0xC5BA, - 34262 - 11905: 0xCB81, - 34263 - 11905: 0xCB82, - 34264 - 11905: 0xCB83, - 34265 - 11905: 0xCB84, - 34266 - 11905: 0xCB85, - 34267 - 11905: 0xCB86, - 34268 - 11905: 0xDEBC, - 34269 - 11905: 0xCB87, - 34270 - 11905: 0xCB88, - 34271 - 11905: 0xCB89, - 34272 - 11905: 0xCB8A, - 34273 - 11905: 0xCB8B, - 34274 - 11905: 0xCB8C, - 34275 - 11905: 0xCB8D, - 34276 - 11905: 0xCCD9, - 34277 - 11905: 0xCB8E, - 34278 - 11905: 0xCB8F, - 34279 - 11905: 0xCB90, - 34280 - 11905: 0xCB91, - 34281 - 11905: 0xB7AA, - 34282 - 11905: 0xCB92, - 34283 - 11905: 0xCB93, - 34284 - 11905: 0xCB94, - 34285 - 11905: 0xCB95, - 34286 - 11905: 0xCB96, - 34287 - 11905: 0xCB97, - 34288 - 11905: 0xCB98, - 34289 - 11905: 0xCB99, - 34290 - 11905: 0xCB9A, - 34291 - 11905: 0xCB9B, - 34292 - 11905: 0xCB9C, - 34293 - 11905: 0xCB9D, - 34294 - 11905: 0xCB9E, - 34295 - 11905: 0xCB9F, - 34296 - 11905: 0xCBA0, - 34297 - 11905: 0xCC40, - 34298 - 11905: 0xCC41, - 34299 - 11905: 0xD4E5, - 34300 - 11905: 0xCC42, - 34301 - 11905: 0xCC43, - 34302 - 11905: 0xCC44, - 34303 - 11905: 0xDEBD, - 34304 - 11905: 0xCC45, - 34305 - 11905: 0xCC46, - 34306 - 11905: 0xCC47, - 34307 - 11905: 0xCC48, - 34308 - 11905: 0xCC49, - 34309 - 11905: 0xDEBF, - 34310 - 11905: 0xCC4A, - 34311 - 11905: 0xCC4B, - 34312 - 11905: 0xCC4C, - 34313 - 11905: 0xCC4D, - 34314 - 11905: 0xCC4E, - 34315 - 11905: 0xCC4F, - 34316 - 11905: 0xCC50, - 34317 - 11905: 0xCC51, - 34318 - 11905: 0xCC52, - 34319 - 11905: 0xCC53, - 34320 - 11905: 0xCC54, - 34321 - 11905: 0xC4A2, - 34322 - 11905: 0xCC55, - 34323 - 11905: 0xCC56, - 34324 - 11905: 0xCC57, - 34325 - 11905: 0xCC58, - 34326 - 11905: 0xDEC1, - 34327 - 11905: 0xCC59, - 34328 - 11905: 0xCC5A, - 34329 - 11905: 0xCC5B, - 34330 - 11905: 0xCC5C, - 34331 - 11905: 0xCC5D, - 34332 - 11905: 0xCC5E, - 34333 - 11905: 0xCC5F, - 34334 - 11905: 0xCC60, - 34335 - 11905: 0xCC61, - 34336 - 11905: 0xCC62, - 34337 - 11905: 0xCC63, - 34338 - 11905: 0xCC64, - 34339 - 11905: 0xCC65, - 34340 - 11905: 0xCC66, - 34341 - 11905: 0xCC67, - 34342 - 11905: 0xCC68, - 34343 - 11905: 0xDEBE, - 34344 - 11905: 0xCC69, - 34345 - 11905: 0xDEC0, - 34346 - 11905: 0xCC6A, - 34347 - 11905: 0xCC6B, - 34348 - 11905: 0xCC6C, - 34349 - 11905: 0xCC6D, - 34350 - 11905: 0xCC6E, - 34351 - 11905: 0xCC6F, - 34352 - 11905: 0xCC70, - 34353 - 11905: 0xCC71, - 34354 - 11905: 0xCC72, - 34355 - 11905: 0xCC73, - 34356 - 11905: 0xCC74, - 34357 - 11905: 0xCC75, - 34358 - 11905: 0xCC76, - 34359 - 11905: 0xCC77, - 34360 - 11905: 0xD5BA, - 34361 - 11905: 0xCC78, - 34362 - 11905: 0xCC79, - 34363 - 11905: 0xCC7A, - 34364 - 11905: 0xDEC2, - 34365 - 11905: 0xCC7B, - 34366 - 11905: 0xCC7C, - 34367 - 11905: 0xCC7D, - 34368 - 11905: 0xCC7E, - 34369 - 11905: 0xCC80, - 34370 - 11905: 0xCC81, - 34371 - 11905: 0xCC82, - 34372 - 11905: 0xCC83, - 34373 - 11905: 0xCC84, - 34374 - 11905: 0xCC85, - 34375 - 11905: 0xCC86, - 34376 - 11905: 0xCC87, - 34377 - 11905: 0xCC88, - 34378 - 11905: 0xCC89, - 34379 - 11905: 0xCC8A, - 34380 - 11905: 0xCC8B, - 34381 - 11905: 0xF2AE, - 34382 - 11905: 0xBBA2, - 34383 - 11905: 0xC2B2, - 34384 - 11905: 0xC5B0, - 34385 - 11905: 0xC2C7, - 34386 - 11905: 0xCC8C, - 34387 - 11905: 0xCC8D, - 34388 - 11905: 0xF2AF, - 34389 - 11905: 0xCC8E, - 34390 - 11905: 0xCC8F, - 34391 - 11905: 0xCC90, - 34392 - 11905: 0xCC91, - 34393 - 11905: 0xCC92, - 34394 - 11905: 0xD0E9, - 34395 - 11905: 0xCC93, - 34396 - 11905: 0xCC94, - 34397 - 11905: 0xCC95, - 34398 - 11905: 0xD3DD, - 34399 - 11905: 0xCC96, - 34400 - 11905: 0xCC97, - 34401 - 11905: 0xCC98, - 34402 - 11905: 0xEBBD, - 34403 - 11905: 0xCC99, - 34404 - 11905: 0xCC9A, - 34405 - 11905: 0xCC9B, - 34406 - 11905: 0xCC9C, - 34407 - 11905: 0xCC9D, - 34408 - 11905: 0xCC9E, - 34409 - 11905: 0xCC9F, - 34410 - 11905: 0xCCA0, - 34411 - 11905: 0xB3E6, - 34412 - 11905: 0xF2B0, - 34413 - 11905: 0xCD40, - 34414 - 11905: 0xF2B1, - 34415 - 11905: 0xCD41, - 34416 - 11905: 0xCD42, - 34417 - 11905: 0xCAAD, - 34418 - 11905: 0xCD43, - 34419 - 11905: 0xCD44, - 34420 - 11905: 0xCD45, - 34421 - 11905: 0xCD46, - 34422 - 11905: 0xCD47, - 34423 - 11905: 0xCD48, - 34424 - 11905: 0xCD49, - 34425 - 11905: 0xBAE7, - 34426 - 11905: 0xF2B3, - 34427 - 11905: 0xF2B5, - 34428 - 11905: 0xF2B4, - 34429 - 11905: 0xCBE4, - 34430 - 11905: 0xCFBA, - 34431 - 11905: 0xF2B2, - 34432 - 11905: 0xCAB4, - 34433 - 11905: 0xD2CF, - 34434 - 11905: 0xC2EC, - 34435 - 11905: 0xCD4A, - 34436 - 11905: 0xCD4B, - 34437 - 11905: 0xCD4C, - 34438 - 11905: 0xCD4D, - 34439 - 11905: 0xCD4E, - 34440 - 11905: 0xCD4F, - 34441 - 11905: 0xCD50, - 34442 - 11905: 0xCEC3, - 34443 - 11905: 0xF2B8, - 34444 - 11905: 0xB0F6, - 34445 - 11905: 0xF2B7, - 34446 - 11905: 0xCD51, - 34447 - 11905: 0xCD52, - 34448 - 11905: 0xCD53, - 34449 - 11905: 0xCD54, - 34450 - 11905: 0xCD55, - 34451 - 11905: 0xF2BE, - 34452 - 11905: 0xCD56, - 34453 - 11905: 0xB2CF, - 34454 - 11905: 0xCD57, - 34455 - 11905: 0xCD58, - 34456 - 11905: 0xCD59, - 34457 - 11905: 0xCD5A, - 34458 - 11905: 0xCD5B, - 34459 - 11905: 0xCD5C, - 34460 - 11905: 0xD1C1, - 34461 - 11905: 0xF2BA, - 34462 - 11905: 0xCD5D, - 34463 - 11905: 0xCD5E, - 34464 - 11905: 0xCD5F, - 34465 - 11905: 0xCD60, - 34466 - 11905: 0xCD61, - 34467 - 11905: 0xF2BC, - 34468 - 11905: 0xD4E9, - 34469 - 11905: 0xCD62, - 34470 - 11905: 0xCD63, - 34471 - 11905: 0xF2BB, - 34472 - 11905: 0xF2B6, - 34473 - 11905: 0xF2BF, - 34474 - 11905: 0xF2BD, - 34475 - 11905: 0xCD64, - 34476 - 11905: 0xF2B9, - 34477 - 11905: 0xCD65, - 34478 - 11905: 0xCD66, - 34479 - 11905: 0xF2C7, - 34480 - 11905: 0xF2C4, - 34481 - 11905: 0xF2C6, - 34482 - 11905: 0xCD67, - 34483 - 11905: 0xCD68, - 34484 - 11905: 0xF2CA, - 34485 - 11905: 0xF2C2, - 34486 - 11905: 0xF2C0, - 34487 - 11905: 0xCD69, - 34488 - 11905: 0xCD6A, - 34489 - 11905: 0xCD6B, - 34490 - 11905: 0xF2C5, - 34491 - 11905: 0xCD6C, - 34492 - 11905: 0xCD6D, - 34493 - 11905: 0xCD6E, - 34494 - 11905: 0xCD6F, - 34495 - 11905: 0xCD70, - 34496 - 11905: 0xD6FB, - 34497 - 11905: 0xCD71, - 34498 - 11905: 0xCD72, - 34499 - 11905: 0xCD73, - 34500 - 11905: 0xF2C1, - 34501 - 11905: 0xCD74, - 34502 - 11905: 0xC7F9, - 34503 - 11905: 0xC9DF, - 34504 - 11905: 0xCD75, - 34505 - 11905: 0xF2C8, - 34506 - 11905: 0xB9C6, - 34507 - 11905: 0xB5B0, - 34508 - 11905: 0xCD76, - 34509 - 11905: 0xCD77, - 34510 - 11905: 0xF2C3, - 34511 - 11905: 0xF2C9, - 34512 - 11905: 0xF2D0, - 34513 - 11905: 0xF2D6, - 34514 - 11905: 0xCD78, - 34515 - 11905: 0xCD79, - 34516 - 11905: 0xBBD7, - 34517 - 11905: 0xCD7A, - 34518 - 11905: 0xCD7B, - 34519 - 11905: 0xCD7C, - 34520 - 11905: 0xF2D5, - 34521 - 11905: 0xCDDC, - 34522 - 11905: 0xCD7D, - 34523 - 11905: 0xD6EB, - 34524 - 11905: 0xCD7E, - 34525 - 11905: 0xCD80, - 34526 - 11905: 0xF2D2, - 34527 - 11905: 0xF2D4, - 34528 - 11905: 0xCD81, - 34529 - 11905: 0xCD82, - 34530 - 11905: 0xCD83, - 34531 - 11905: 0xCD84, - 34532 - 11905: 0xB8F2, - 34533 - 11905: 0xCD85, - 34534 - 11905: 0xCD86, - 34535 - 11905: 0xCD87, - 34536 - 11905: 0xCD88, - 34537 - 11905: 0xF2CB, - 34538 - 11905: 0xCD89, - 34539 - 11905: 0xCD8A, - 34540 - 11905: 0xCD8B, - 34541 - 11905: 0xF2CE, - 34542 - 11905: 0xC2F9, - 34543 - 11905: 0xCD8C, - 34544 - 11905: 0xD5DD, - 34545 - 11905: 0xF2CC, - 34546 - 11905: 0xF2CD, - 34547 - 11905: 0xF2CF, - 34548 - 11905: 0xF2D3, - 34549 - 11905: 0xCD8D, - 34550 - 11905: 0xCD8E, - 34551 - 11905: 0xCD8F, - 34552 - 11905: 0xF2D9, - 34553 - 11905: 0xD3BC, - 34554 - 11905: 0xCD90, - 34555 - 11905: 0xCD91, - 34556 - 11905: 0xCD92, - 34557 - 11905: 0xCD93, - 34558 - 11905: 0xB6EA, - 34559 - 11905: 0xCD94, - 34560 - 11905: 0xCAF1, - 34561 - 11905: 0xCD95, - 34562 - 11905: 0xB7E4, - 34563 - 11905: 0xF2D7, - 34564 - 11905: 0xCD96, - 34565 - 11905: 0xCD97, - 34566 - 11905: 0xCD98, - 34567 - 11905: 0xF2D8, - 34568 - 11905: 0xF2DA, - 34569 - 11905: 0xF2DD, - 34570 - 11905: 0xF2DB, - 34571 - 11905: 0xCD99, - 34572 - 11905: 0xCD9A, - 34573 - 11905: 0xF2DC, - 34574 - 11905: 0xCD9B, - 34575 - 11905: 0xCD9C, - 34576 - 11905: 0xCD9D, - 34577 - 11905: 0xCD9E, - 34578 - 11905: 0xD1D1, - 34579 - 11905: 0xF2D1, - 34580 - 11905: 0xCD9F, - 34581 - 11905: 0xCDC9, - 34582 - 11905: 0xCDA0, - 34583 - 11905: 0xCECF, - 34584 - 11905: 0xD6A9, - 34585 - 11905: 0xCE40, - 34586 - 11905: 0xF2E3, - 34587 - 11905: 0xCE41, - 34588 - 11905: 0xC3DB, - 34589 - 11905: 0xCE42, - 34590 - 11905: 0xF2E0, - 34591 - 11905: 0xCE43, - 34592 - 11905: 0xCE44, - 34593 - 11905: 0xC0AF, - 34594 - 11905: 0xF2EC, - 34595 - 11905: 0xF2DE, - 34596 - 11905: 0xCE45, - 34597 - 11905: 0xF2E1, - 34598 - 11905: 0xCE46, - 34599 - 11905: 0xCE47, - 34600 - 11905: 0xCE48, - 34601 - 11905: 0xF2E8, - 34602 - 11905: 0xCE49, - 34603 - 11905: 0xCE4A, - 34604 - 11905: 0xCE4B, - 34605 - 11905: 0xCE4C, - 34606 - 11905: 0xF2E2, - 34607 - 11905: 0xCE4D, - 34608 - 11905: 0xCE4E, - 34609 - 11905: 0xF2E7, - 34610 - 11905: 0xCE4F, - 34611 - 11905: 0xCE50, - 34612 - 11905: 0xF2E6, - 34613 - 11905: 0xCE51, - 34614 - 11905: 0xCE52, - 34615 - 11905: 0xF2E9, - 34616 - 11905: 0xCE53, - 34617 - 11905: 0xCE54, - 34618 - 11905: 0xCE55, - 34619 - 11905: 0xF2DF, - 34620 - 11905: 0xCE56, - 34621 - 11905: 0xCE57, - 34622 - 11905: 0xF2E4, - 34623 - 11905: 0xF2EA, - 34624 - 11905: 0xCE58, - 34625 - 11905: 0xCE59, - 34626 - 11905: 0xCE5A, - 34627 - 11905: 0xCE5B, - 34628 - 11905: 0xCE5C, - 34629 - 11905: 0xCE5D, - 34630 - 11905: 0xCE5E, - 34631 - 11905: 0xD3AC, - 34632 - 11905: 0xF2E5, - 34633 - 11905: 0xB2F5, - 34634 - 11905: 0xCE5F, - 34635 - 11905: 0xCE60, - 34636 - 11905: 0xF2F2, - 34637 - 11905: 0xCE61, - 34638 - 11905: 0xD0AB, - 34639 - 11905: 0xCE62, - 34640 - 11905: 0xCE63, - 34641 - 11905: 0xCE64, - 34642 - 11905: 0xCE65, - 34643 - 11905: 0xF2F5, - 34644 - 11905: 0xCE66, - 34645 - 11905: 0xCE67, - 34646 - 11905: 0xCE68, - 34647 - 11905: 0xBBC8, - 34648 - 11905: 0xCE69, - 34649 - 11905: 0xF2F9, - 34650 - 11905: 0xCE6A, - 34651 - 11905: 0xCE6B, - 34652 - 11905: 0xCE6C, - 34653 - 11905: 0xCE6D, - 34654 - 11905: 0xCE6E, - 34655 - 11905: 0xCE6F, - 34656 - 11905: 0xF2F0, - 34657 - 11905: 0xCE70, - 34658 - 11905: 0xCE71, - 34659 - 11905: 0xF2F6, - 34660 - 11905: 0xF2F8, - 34661 - 11905: 0xF2FA, - 34662 - 11905: 0xCE72, - 34663 - 11905: 0xCE73, - 34664 - 11905: 0xCE74, - 34665 - 11905: 0xCE75, - 34666 - 11905: 0xCE76, - 34667 - 11905: 0xCE77, - 34668 - 11905: 0xCE78, - 34669 - 11905: 0xCE79, - 34670 - 11905: 0xF2F3, - 34671 - 11905: 0xCE7A, - 34672 - 11905: 0xF2F1, - 34673 - 11905: 0xCE7B, - 34674 - 11905: 0xCE7C, - 34675 - 11905: 0xCE7D, - 34676 - 11905: 0xBAFB, - 34677 - 11905: 0xCE7E, - 34678 - 11905: 0xB5FB, - 34679 - 11905: 0xCE80, - 34680 - 11905: 0xCE81, - 34681 - 11905: 0xCE82, - 34682 - 11905: 0xCE83, - 34683 - 11905: 0xF2EF, - 34684 - 11905: 0xF2F7, - 34685 - 11905: 0xF2ED, - 34686 - 11905: 0xF2EE, - 34687 - 11905: 0xCE84, - 34688 - 11905: 0xCE85, - 34689 - 11905: 0xCE86, - 34690 - 11905: 0xF2EB, - 34691 - 11905: 0xF3A6, - 34692 - 11905: 0xCE87, - 34693 - 11905: 0xF3A3, - 34694 - 11905: 0xCE88, - 34695 - 11905: 0xCE89, - 34696 - 11905: 0xF3A2, - 34697 - 11905: 0xCE8A, - 34698 - 11905: 0xCE8B, - 34699 - 11905: 0xF2F4, - 34700 - 11905: 0xCE8C, - 34701 - 11905: 0xC8DA, - 34702 - 11905: 0xCE8D, - 34703 - 11905: 0xCE8E, - 34704 - 11905: 0xCE8F, - 34705 - 11905: 0xCE90, - 34706 - 11905: 0xCE91, - 34707 - 11905: 0xF2FB, - 34708 - 11905: 0xCE92, - 34709 - 11905: 0xCE93, - 34710 - 11905: 0xCE94, - 34711 - 11905: 0xF3A5, - 34712 - 11905: 0xCE95, - 34713 - 11905: 0xCE96, - 34714 - 11905: 0xCE97, - 34715 - 11905: 0xCE98, - 34716 - 11905: 0xCE99, - 34717 - 11905: 0xCE9A, - 34718 - 11905: 0xCE9B, - 34719 - 11905: 0xC3F8, - 34720 - 11905: 0xCE9C, - 34721 - 11905: 0xCE9D, - 34722 - 11905: 0xCE9E, - 34723 - 11905: 0xCE9F, - 34724 - 11905: 0xCEA0, - 34725 - 11905: 0xCF40, - 34726 - 11905: 0xCF41, - 34727 - 11905: 0xCF42, - 34728 - 11905: 0xF2FD, - 34729 - 11905: 0xCF43, - 34730 - 11905: 0xCF44, - 34731 - 11905: 0xF3A7, - 34732 - 11905: 0xF3A9, - 34733 - 11905: 0xF3A4, - 34734 - 11905: 0xCF45, - 34735 - 11905: 0xF2FC, - 34736 - 11905: 0xCF46, - 34737 - 11905: 0xCF47, - 34738 - 11905: 0xCF48, - 34739 - 11905: 0xF3AB, - 34740 - 11905: 0xCF49, - 34741 - 11905: 0xF3AA, - 34742 - 11905: 0xCF4A, - 34743 - 11905: 0xCF4B, - 34744 - 11905: 0xCF4C, - 34745 - 11905: 0xCF4D, - 34746 - 11905: 0xC2DD, - 34747 - 11905: 0xCF4E, - 34748 - 11905: 0xCF4F, - 34749 - 11905: 0xF3AE, - 34750 - 11905: 0xCF50, - 34751 - 11905: 0xCF51, - 34752 - 11905: 0xF3B0, - 34753 - 11905: 0xCF52, - 34754 - 11905: 0xCF53, - 34755 - 11905: 0xCF54, - 34756 - 11905: 0xCF55, - 34757 - 11905: 0xCF56, - 34758 - 11905: 0xF3A1, - 34759 - 11905: 0xCF57, - 34760 - 11905: 0xCF58, - 34761 - 11905: 0xCF59, - 34762 - 11905: 0xF3B1, - 34763 - 11905: 0xF3AC, - 34764 - 11905: 0xCF5A, - 34765 - 11905: 0xCF5B, - 34766 - 11905: 0xCF5C, - 34767 - 11905: 0xCF5D, - 34768 - 11905: 0xCF5E, - 34769 - 11905: 0xF3AF, - 34770 - 11905: 0xF2FE, - 34771 - 11905: 0xF3AD, - 34772 - 11905: 0xCF5F, - 34773 - 11905: 0xCF60, - 34774 - 11905: 0xCF61, - 34775 - 11905: 0xCF62, - 34776 - 11905: 0xCF63, - 34777 - 11905: 0xCF64, - 34778 - 11905: 0xCF65, - 34779 - 11905: 0xF3B2, - 34780 - 11905: 0xCF66, - 34781 - 11905: 0xCF67, - 34782 - 11905: 0xCF68, - 34783 - 11905: 0xCF69, - 34784 - 11905: 0xF3B4, - 34785 - 11905: 0xCF6A, - 34786 - 11905: 0xCF6B, - 34787 - 11905: 0xCF6C, - 34788 - 11905: 0xCF6D, - 34789 - 11905: 0xF3A8, - 34790 - 11905: 0xCF6E, - 34791 - 11905: 0xCF6F, - 34792 - 11905: 0xCF70, - 34793 - 11905: 0xCF71, - 34794 - 11905: 0xF3B3, - 34795 - 11905: 0xCF72, - 34796 - 11905: 0xCF73, - 34797 - 11905: 0xCF74, - 34798 - 11905: 0xF3B5, - 34799 - 11905: 0xCF75, - 34800 - 11905: 0xCF76, - 34801 - 11905: 0xCF77, - 34802 - 11905: 0xCF78, - 34803 - 11905: 0xCF79, - 34804 - 11905: 0xCF7A, - 34805 - 11905: 0xCF7B, - 34806 - 11905: 0xCF7C, - 34807 - 11905: 0xCF7D, - 34808 - 11905: 0xCF7E, - 34809 - 11905: 0xD0B7, - 34810 - 11905: 0xCF80, - 34811 - 11905: 0xCF81, - 34812 - 11905: 0xCF82, - 34813 - 11905: 0xCF83, - 34814 - 11905: 0xF3B8, - 34815 - 11905: 0xCF84, - 34816 - 11905: 0xCF85, - 34817 - 11905: 0xCF86, - 34818 - 11905: 0xCF87, - 34819 - 11905: 0xD9F9, - 34820 - 11905: 0xCF88, - 34821 - 11905: 0xCF89, - 34822 - 11905: 0xCF8A, - 34823 - 11905: 0xCF8B, - 34824 - 11905: 0xCF8C, - 34825 - 11905: 0xCF8D, - 34826 - 11905: 0xF3B9, - 34827 - 11905: 0xCF8E, - 34828 - 11905: 0xCF8F, - 34829 - 11905: 0xCF90, - 34830 - 11905: 0xCF91, - 34831 - 11905: 0xCF92, - 34832 - 11905: 0xCF93, - 34833 - 11905: 0xCF94, - 34834 - 11905: 0xCF95, - 34835 - 11905: 0xF3B7, - 34836 - 11905: 0xCF96, - 34837 - 11905: 0xC8E4, - 34838 - 11905: 0xF3B6, - 34839 - 11905: 0xCF97, - 34840 - 11905: 0xCF98, - 34841 - 11905: 0xCF99, - 34842 - 11905: 0xCF9A, - 34843 - 11905: 0xF3BA, - 34844 - 11905: 0xCF9B, - 34845 - 11905: 0xCF9C, - 34846 - 11905: 0xCF9D, - 34847 - 11905: 0xCF9E, - 34848 - 11905: 0xCF9F, - 34849 - 11905: 0xF3BB, - 34850 - 11905: 0xB4C0, - 34851 - 11905: 0xCFA0, - 34852 - 11905: 0xD040, - 34853 - 11905: 0xD041, - 34854 - 11905: 0xD042, - 34855 - 11905: 0xD043, - 34856 - 11905: 0xD044, - 34857 - 11905: 0xD045, - 34858 - 11905: 0xD046, - 34859 - 11905: 0xD047, - 34860 - 11905: 0xD048, - 34861 - 11905: 0xD049, - 34862 - 11905: 0xD04A, - 34863 - 11905: 0xD04B, - 34864 - 11905: 0xD04C, - 34865 - 11905: 0xD04D, - 34866 - 11905: 0xEEC3, - 34867 - 11905: 0xD04E, - 34868 - 11905: 0xD04F, - 34869 - 11905: 0xD050, - 34870 - 11905: 0xD051, - 34871 - 11905: 0xD052, - 34872 - 11905: 0xD053, - 34873 - 11905: 0xF3BC, - 34874 - 11905: 0xD054, - 34875 - 11905: 0xD055, - 34876 - 11905: 0xF3BD, - 34877 - 11905: 0xD056, - 34878 - 11905: 0xD057, - 34879 - 11905: 0xD058, - 34880 - 11905: 0xD1AA, - 34881 - 11905: 0xD059, - 34882 - 11905: 0xD05A, - 34883 - 11905: 0xD05B, - 34884 - 11905: 0xF4AC, - 34885 - 11905: 0xD0C6, - 34886 - 11905: 0xD05C, - 34887 - 11905: 0xD05D, - 34888 - 11905: 0xD05E, - 34889 - 11905: 0xD05F, - 34890 - 11905: 0xD060, - 34891 - 11905: 0xD061, - 34892 - 11905: 0xD0D0, - 34893 - 11905: 0xD1DC, - 34894 - 11905: 0xD062, - 34895 - 11905: 0xD063, - 34896 - 11905: 0xD064, - 34897 - 11905: 0xD065, - 34898 - 11905: 0xD066, - 34899 - 11905: 0xD067, - 34900 - 11905: 0xCFCE, - 34901 - 11905: 0xD068, - 34902 - 11905: 0xD069, - 34903 - 11905: 0xBDD6, - 34904 - 11905: 0xD06A, - 34905 - 11905: 0xD1C3, - 34906 - 11905: 0xD06B, - 34907 - 11905: 0xD06C, - 34908 - 11905: 0xD06D, - 34909 - 11905: 0xD06E, - 34910 - 11905: 0xD06F, - 34911 - 11905: 0xD070, - 34912 - 11905: 0xD071, - 34913 - 11905: 0xBAE2, - 34914 - 11905: 0xE1E9, - 34915 - 11905: 0xD2C2, - 34916 - 11905: 0xF1C2, - 34917 - 11905: 0xB2B9, - 34918 - 11905: 0xD072, - 34919 - 11905: 0xD073, - 34920 - 11905: 0xB1ED, - 34921 - 11905: 0xF1C3, - 34922 - 11905: 0xD074, - 34923 - 11905: 0xC9C0, - 34924 - 11905: 0xB3C4, - 34925 - 11905: 0xD075, - 34926 - 11905: 0xD9F2, - 34927 - 11905: 0xD076, - 34928 - 11905: 0xCBA5, - 34929 - 11905: 0xD077, - 34930 - 11905: 0xF1C4, - 34931 - 11905: 0xD078, - 34932 - 11905: 0xD079, - 34933 - 11905: 0xD07A, - 34934 - 11905: 0xD07B, - 34935 - 11905: 0xD6D4, - 34936 - 11905: 0xD07C, - 34937 - 11905: 0xD07D, - 34938 - 11905: 0xD07E, - 34939 - 11905: 0xD080, - 34940 - 11905: 0xD081, - 34941 - 11905: 0xF1C5, - 34942 - 11905: 0xF4C0, - 34943 - 11905: 0xF1C6, - 34944 - 11905: 0xD082, - 34945 - 11905: 0xD4AC, - 34946 - 11905: 0xF1C7, - 34947 - 11905: 0xD083, - 34948 - 11905: 0xB0C0, - 34949 - 11905: 0xF4C1, - 34950 - 11905: 0xD084, - 34951 - 11905: 0xD085, - 34952 - 11905: 0xF4C2, - 34953 - 11905: 0xD086, - 34954 - 11905: 0xD087, - 34955 - 11905: 0xB4FC, - 34956 - 11905: 0xD088, - 34957 - 11905: 0xC5DB, - 34958 - 11905: 0xD089, - 34959 - 11905: 0xD08A, - 34960 - 11905: 0xD08B, - 34961 - 11905: 0xD08C, - 34962 - 11905: 0xCCBB, - 34963 - 11905: 0xD08D, - 34964 - 11905: 0xD08E, - 34965 - 11905: 0xD08F, - 34966 - 11905: 0xD0E4, - 34967 - 11905: 0xD090, - 34968 - 11905: 0xD091, - 34969 - 11905: 0xD092, - 34970 - 11905: 0xD093, - 34971 - 11905: 0xD094, - 34972 - 11905: 0xCDE0, - 34973 - 11905: 0xD095, - 34974 - 11905: 0xD096, - 34975 - 11905: 0xD097, - 34976 - 11905: 0xD098, - 34977 - 11905: 0xD099, - 34978 - 11905: 0xF1C8, - 34979 - 11905: 0xD09A, - 34980 - 11905: 0xD9F3, - 34981 - 11905: 0xD09B, - 34982 - 11905: 0xD09C, - 34983 - 11905: 0xD09D, - 34984 - 11905: 0xD09E, - 34985 - 11905: 0xD09F, - 34986 - 11905: 0xD0A0, - 34987 - 11905: 0xB1BB, - 34988 - 11905: 0xD140, - 34989 - 11905: 0xCFAE, - 34990 - 11905: 0xD141, - 34991 - 11905: 0xD142, - 34992 - 11905: 0xD143, - 34993 - 11905: 0xB8A4, - 34994 - 11905: 0xD144, - 34995 - 11905: 0xD145, - 34996 - 11905: 0xD146, - 34997 - 11905: 0xD147, - 34998 - 11905: 0xD148, - 34999 - 11905: 0xF1CA, - 35000 - 11905: 0xD149, - 35001 - 11905: 0xD14A, - 35002 - 11905: 0xD14B, - 35003 - 11905: 0xD14C, - 35004 - 11905: 0xF1CB, - 35005 - 11905: 0xD14D, - 35006 - 11905: 0xD14E, - 35007 - 11905: 0xD14F, - 35008 - 11905: 0xD150, - 35009 - 11905: 0xB2C3, - 35010 - 11905: 0xC1D1, - 35011 - 11905: 0xD151, - 35012 - 11905: 0xD152, - 35013 - 11905: 0xD7B0, - 35014 - 11905: 0xF1C9, - 35015 - 11905: 0xD153, - 35016 - 11905: 0xD154, - 35017 - 11905: 0xF1CC, - 35018 - 11905: 0xD155, - 35019 - 11905: 0xD156, - 35020 - 11905: 0xD157, - 35021 - 11905: 0xD158, - 35022 - 11905: 0xF1CE, - 35023 - 11905: 0xD159, - 35024 - 11905: 0xD15A, - 35025 - 11905: 0xD15B, - 35026 - 11905: 0xD9F6, - 35027 - 11905: 0xD15C, - 35028 - 11905: 0xD2E1, - 35029 - 11905: 0xD4A3, - 35030 - 11905: 0xD15D, - 35031 - 11905: 0xD15E, - 35032 - 11905: 0xF4C3, - 35033 - 11905: 0xC8B9, - 35034 - 11905: 0xD15F, - 35035 - 11905: 0xD160, - 35036 - 11905: 0xD161, - 35037 - 11905: 0xD162, - 35038 - 11905: 0xD163, - 35039 - 11905: 0xF4C4, - 35040 - 11905: 0xD164, - 35041 - 11905: 0xD165, - 35042 - 11905: 0xF1CD, - 35043 - 11905: 0xF1CF, - 35044 - 11905: 0xBFE3, - 35045 - 11905: 0xF1D0, - 35046 - 11905: 0xD166, - 35047 - 11905: 0xD167, - 35048 - 11905: 0xF1D4, - 35049 - 11905: 0xD168, - 35050 - 11905: 0xD169, - 35051 - 11905: 0xD16A, - 35052 - 11905: 0xD16B, - 35053 - 11905: 0xD16C, - 35054 - 11905: 0xD16D, - 35055 - 11905: 0xD16E, - 35056 - 11905: 0xF1D6, - 35057 - 11905: 0xF1D1, - 35058 - 11905: 0xD16F, - 35059 - 11905: 0xC9D1, - 35060 - 11905: 0xC5E1, - 35061 - 11905: 0xD170, - 35062 - 11905: 0xD171, - 35063 - 11905: 0xD172, - 35064 - 11905: 0xC2E3, - 35065 - 11905: 0xB9FC, - 35066 - 11905: 0xD173, - 35067 - 11905: 0xD174, - 35068 - 11905: 0xF1D3, - 35069 - 11905: 0xD175, - 35070 - 11905: 0xF1D5, - 35071 - 11905: 0xD176, - 35072 - 11905: 0xD177, - 35073 - 11905: 0xD178, - 35074 - 11905: 0xB9D3, - 35075 - 11905: 0xD179, - 35076 - 11905: 0xD17A, - 35077 - 11905: 0xD17B, - 35078 - 11905: 0xD17C, - 35079 - 11905: 0xD17D, - 35080 - 11905: 0xD17E, - 35081 - 11905: 0xD180, - 35082 - 11905: 0xF1DB, - 35083 - 11905: 0xD181, - 35084 - 11905: 0xD182, - 35085 - 11905: 0xD183, - 35086 - 11905: 0xD184, - 35087 - 11905: 0xD185, - 35088 - 11905: 0xBAD6, - 35089 - 11905: 0xD186, - 35090 - 11905: 0xB0FD, - 35091 - 11905: 0xF1D9, - 35092 - 11905: 0xD187, - 35093 - 11905: 0xD188, - 35094 - 11905: 0xD189, - 35095 - 11905: 0xD18A, - 35096 - 11905: 0xD18B, - 35097 - 11905: 0xF1D8, - 35098 - 11905: 0xF1D2, - 35099 - 11905: 0xF1DA, - 35100 - 11905: 0xD18C, - 35101 - 11905: 0xD18D, - 35102 - 11905: 0xD18E, - 35103 - 11905: 0xD18F, - 35104 - 11905: 0xD190, - 35105 - 11905: 0xF1D7, - 35106 - 11905: 0xD191, - 35107 - 11905: 0xD192, - 35108 - 11905: 0xD193, - 35109 - 11905: 0xC8EC, - 35110 - 11905: 0xD194, - 35111 - 11905: 0xD195, - 35112 - 11905: 0xD196, - 35113 - 11905: 0xD197, - 35114 - 11905: 0xCDCA, - 35115 - 11905: 0xF1DD, - 35116 - 11905: 0xD198, - 35117 - 11905: 0xD199, - 35118 - 11905: 0xD19A, - 35119 - 11905: 0xD19B, - 35120 - 11905: 0xE5BD, - 35121 - 11905: 0xD19C, - 35122 - 11905: 0xD19D, - 35123 - 11905: 0xD19E, - 35124 - 11905: 0xF1DC, - 35125 - 11905: 0xD19F, - 35126 - 11905: 0xF1DE, - 35127 - 11905: 0xD1A0, - 35128 - 11905: 0xD240, - 35129 - 11905: 0xD241, - 35130 - 11905: 0xD242, - 35131 - 11905: 0xD243, - 35132 - 11905: 0xD244, - 35133 - 11905: 0xD245, - 35134 - 11905: 0xD246, - 35135 - 11905: 0xD247, - 35136 - 11905: 0xD248, - 35137 - 11905: 0xF1DF, - 35138 - 11905: 0xD249, - 35139 - 11905: 0xD24A, - 35140 - 11905: 0xCFE5, - 35141 - 11905: 0xD24B, - 35142 - 11905: 0xD24C, - 35143 - 11905: 0xD24D, - 35144 - 11905: 0xD24E, - 35145 - 11905: 0xD24F, - 35146 - 11905: 0xD250, - 35147 - 11905: 0xD251, - 35148 - 11905: 0xD252, - 35149 - 11905: 0xD253, - 35150 - 11905: 0xD254, - 35151 - 11905: 0xD255, - 35152 - 11905: 0xD256, - 35153 - 11905: 0xD257, - 35154 - 11905: 0xD258, - 35155 - 11905: 0xD259, - 35156 - 11905: 0xD25A, - 35157 - 11905: 0xD25B, - 35158 - 11905: 0xD25C, - 35159 - 11905: 0xD25D, - 35160 - 11905: 0xD25E, - 35161 - 11905: 0xD25F, - 35162 - 11905: 0xD260, - 35163 - 11905: 0xD261, - 35164 - 11905: 0xD262, - 35165 - 11905: 0xD263, - 35166 - 11905: 0xF4C5, - 35167 - 11905: 0xBDF3, - 35168 - 11905: 0xD264, - 35169 - 11905: 0xD265, - 35170 - 11905: 0xD266, - 35171 - 11905: 0xD267, - 35172 - 11905: 0xD268, - 35173 - 11905: 0xD269, - 35174 - 11905: 0xF1E0, - 35175 - 11905: 0xD26A, - 35176 - 11905: 0xD26B, - 35177 - 11905: 0xD26C, - 35178 - 11905: 0xD26D, - 35179 - 11905: 0xD26E, - 35180 - 11905: 0xD26F, - 35181 - 11905: 0xD270, - 35182 - 11905: 0xD271, - 35183 - 11905: 0xD272, - 35184 - 11905: 0xD273, - 35185 - 11905: 0xD274, - 35186 - 11905: 0xD275, - 35187 - 11905: 0xD276, - 35188 - 11905: 0xD277, - 35189 - 11905: 0xD278, - 35190 - 11905: 0xD279, - 35191 - 11905: 0xD27A, - 35192 - 11905: 0xD27B, - 35193 - 11905: 0xD27C, - 35194 - 11905: 0xD27D, - 35195 - 11905: 0xF1E1, - 35196 - 11905: 0xD27E, - 35197 - 11905: 0xD280, - 35198 - 11905: 0xD281, - 35199 - 11905: 0xCEF7, - 35200 - 11905: 0xD282, - 35201 - 11905: 0xD2AA, - 35202 - 11905: 0xD283, - 35203 - 11905: 0xF1FB, - 35204 - 11905: 0xD284, - 35205 - 11905: 0xD285, - 35206 - 11905: 0xB8B2, - 35207 - 11905: 0xD286, - 35208 - 11905: 0xD287, - 35209 - 11905: 0xD288, - 35210 - 11905: 0xD289, - 35211 - 11905: 0xD28A, - 35212 - 11905: 0xD28B, - 35213 - 11905: 0xD28C, - 35214 - 11905: 0xD28D, - 35215 - 11905: 0xD28E, - 35216 - 11905: 0xD28F, - 35217 - 11905: 0xD290, - 35218 - 11905: 0xD291, - 35219 - 11905: 0xD292, - 35220 - 11905: 0xD293, - 35221 - 11905: 0xD294, - 35222 - 11905: 0xD295, - 35223 - 11905: 0xD296, - 35224 - 11905: 0xD297, - 35225 - 11905: 0xD298, - 35226 - 11905: 0xD299, - 35227 - 11905: 0xD29A, - 35228 - 11905: 0xD29B, - 35229 - 11905: 0xD29C, - 35230 - 11905: 0xD29D, - 35231 - 11905: 0xD29E, - 35232 - 11905: 0xD29F, - 35233 - 11905: 0xD2A0, - 35234 - 11905: 0xD340, - 35235 - 11905: 0xD341, - 35236 - 11905: 0xD342, - 35237 - 11905: 0xD343, - 35238 - 11905: 0xD344, - 35239 - 11905: 0xD345, - 35240 - 11905: 0xD346, - 35241 - 11905: 0xD347, - 35242 - 11905: 0xD348, - 35243 - 11905: 0xD349, - 35244 - 11905: 0xD34A, - 35245 - 11905: 0xD34B, - 35246 - 11905: 0xD34C, - 35247 - 11905: 0xD34D, - 35248 - 11905: 0xD34E, - 35249 - 11905: 0xD34F, - 35250 - 11905: 0xD350, - 35251 - 11905: 0xD351, - 35252 - 11905: 0xD352, - 35253 - 11905: 0xD353, - 35254 - 11905: 0xD354, - 35255 - 11905: 0xD355, - 35256 - 11905: 0xD356, - 35257 - 11905: 0xD357, - 35258 - 11905: 0xD358, - 35259 - 11905: 0xD359, - 35260 - 11905: 0xD35A, - 35261 - 11905: 0xD35B, - 35262 - 11905: 0xD35C, - 35263 - 11905: 0xD35D, - 35264 - 11905: 0xD35E, - 35265 - 11905: 0xBCFB, - 35266 - 11905: 0xB9DB, - 35267 - 11905: 0xD35F, - 35268 - 11905: 0xB9E6, - 35269 - 11905: 0xC3D9, - 35270 - 11905: 0xCAD3, - 35271 - 11905: 0xEAE8, - 35272 - 11905: 0xC0C0, - 35273 - 11905: 0xBEF5, - 35274 - 11905: 0xEAE9, - 35275 - 11905: 0xEAEA, - 35276 - 11905: 0xEAEB, - 35277 - 11905: 0xD360, - 35278 - 11905: 0xEAEC, - 35279 - 11905: 0xEAED, - 35280 - 11905: 0xEAEE, - 35281 - 11905: 0xEAEF, - 35282 - 11905: 0xBDC7, - 35283 - 11905: 0xD361, - 35284 - 11905: 0xD362, - 35285 - 11905: 0xD363, - 35286 - 11905: 0xF5FB, - 35287 - 11905: 0xD364, - 35288 - 11905: 0xD365, - 35289 - 11905: 0xD366, - 35290 - 11905: 0xF5FD, - 35291 - 11905: 0xD367, - 35292 - 11905: 0xF5FE, - 35293 - 11905: 0xD368, - 35294 - 11905: 0xF5FC, - 35295 - 11905: 0xD369, - 35296 - 11905: 0xD36A, - 35297 - 11905: 0xD36B, - 35298 - 11905: 0xD36C, - 35299 - 11905: 0xBDE2, - 35300 - 11905: 0xD36D, - 35301 - 11905: 0xF6A1, - 35302 - 11905: 0xB4A5, - 35303 - 11905: 0xD36E, - 35304 - 11905: 0xD36F, - 35305 - 11905: 0xD370, - 35306 - 11905: 0xD371, - 35307 - 11905: 0xF6A2, - 35308 - 11905: 0xD372, - 35309 - 11905: 0xD373, - 35310 - 11905: 0xD374, - 35311 - 11905: 0xF6A3, - 35312 - 11905: 0xD375, - 35313 - 11905: 0xD376, - 35314 - 11905: 0xD377, - 35315 - 11905: 0xECB2, - 35316 - 11905: 0xD378, - 35317 - 11905: 0xD379, - 35318 - 11905: 0xD37A, - 35319 - 11905: 0xD37B, - 35320 - 11905: 0xD37C, - 35321 - 11905: 0xD37D, - 35322 - 11905: 0xD37E, - 35323 - 11905: 0xD380, - 35324 - 11905: 0xD381, - 35325 - 11905: 0xD382, - 35326 - 11905: 0xD383, - 35327 - 11905: 0xD384, - 35328 - 11905: 0xD1D4, - 35329 - 11905: 0xD385, - 35330 - 11905: 0xD386, - 35331 - 11905: 0xD387, - 35332 - 11905: 0xD388, - 35333 - 11905: 0xD389, - 35334 - 11905: 0xD38A, - 35335 - 11905: 0xD9EA, - 35336 - 11905: 0xD38B, - 35337 - 11905: 0xD38C, - 35338 - 11905: 0xD38D, - 35339 - 11905: 0xD38E, - 35340 - 11905: 0xD38F, - 35341 - 11905: 0xD390, - 35342 - 11905: 0xD391, - 35343 - 11905: 0xD392, - 35344 - 11905: 0xD393, - 35345 - 11905: 0xD394, - 35346 - 11905: 0xD395, - 35347 - 11905: 0xD396, - 35348 - 11905: 0xD397, - 35349 - 11905: 0xD398, - 35350 - 11905: 0xD399, - 35351 - 11905: 0xD39A, - 35352 - 11905: 0xD39B, - 35353 - 11905: 0xD39C, - 35354 - 11905: 0xD39D, - 35355 - 11905: 0xD39E, - 35356 - 11905: 0xD39F, - 35357 - 11905: 0xD3A0, - 35358 - 11905: 0xD440, - 35359 - 11905: 0xD441, - 35360 - 11905: 0xD442, - 35361 - 11905: 0xD443, - 35362 - 11905: 0xD444, - 35363 - 11905: 0xD445, - 35364 - 11905: 0xD446, - 35365 - 11905: 0xD447, - 35366 - 11905: 0xD448, - 35367 - 11905: 0xD449, - 35368 - 11905: 0xD44A, - 35369 - 11905: 0xD44B, - 35370 - 11905: 0xD44C, - 35371 - 11905: 0xD44D, - 35372 - 11905: 0xD44E, - 35373 - 11905: 0xD44F, - 35374 - 11905: 0xD450, - 35375 - 11905: 0xD451, - 35376 - 11905: 0xD452, - 35377 - 11905: 0xD453, - 35378 - 11905: 0xD454, - 35379 - 11905: 0xD455, - 35380 - 11905: 0xD456, - 35381 - 11905: 0xD457, - 35382 - 11905: 0xD458, - 35383 - 11905: 0xD459, - 35384 - 11905: 0xD45A, - 35385 - 11905: 0xD45B, - 35386 - 11905: 0xD45C, - 35387 - 11905: 0xD45D, - 35388 - 11905: 0xD45E, - 35389 - 11905: 0xD45F, - 35390 - 11905: 0xF6A4, - 35391 - 11905: 0xD460, - 35392 - 11905: 0xD461, - 35393 - 11905: 0xD462, - 35394 - 11905: 0xD463, - 35395 - 11905: 0xD464, - 35396 - 11905: 0xD465, - 35397 - 11905: 0xD466, - 35398 - 11905: 0xD467, - 35399 - 11905: 0xD468, - 35400 - 11905: 0xEEBA, - 35401 - 11905: 0xD469, - 35402 - 11905: 0xD46A, - 35403 - 11905: 0xD46B, - 35404 - 11905: 0xD46C, - 35405 - 11905: 0xD46D, - 35406 - 11905: 0xD46E, - 35407 - 11905: 0xD46F, - 35408 - 11905: 0xD470, - 35409 - 11905: 0xD471, - 35410 - 11905: 0xD472, - 35411 - 11905: 0xD473, - 35412 - 11905: 0xD474, - 35413 - 11905: 0xD475, - 35414 - 11905: 0xD476, - 35415 - 11905: 0xD477, - 35416 - 11905: 0xD478, - 35417 - 11905: 0xD479, - 35418 - 11905: 0xD47A, - 35419 - 11905: 0xD47B, - 35420 - 11905: 0xD47C, - 35421 - 11905: 0xD47D, - 35422 - 11905: 0xD47E, - 35423 - 11905: 0xD480, - 35424 - 11905: 0xD481, - 35425 - 11905: 0xD482, - 35426 - 11905: 0xD483, - 35427 - 11905: 0xD484, - 35428 - 11905: 0xD485, - 35429 - 11905: 0xD486, - 35430 - 11905: 0xD487, - 35431 - 11905: 0xD488, - 35432 - 11905: 0xD489, - 35433 - 11905: 0xD48A, - 35434 - 11905: 0xD48B, - 35435 - 11905: 0xD48C, - 35436 - 11905: 0xD48D, - 35437 - 11905: 0xD48E, - 35438 - 11905: 0xD48F, - 35439 - 11905: 0xD490, - 35440 - 11905: 0xD491, - 35441 - 11905: 0xD492, - 35442 - 11905: 0xD493, - 35443 - 11905: 0xD494, - 35444 - 11905: 0xD495, - 35445 - 11905: 0xD496, - 35446 - 11905: 0xD497, - 35447 - 11905: 0xD498, - 35448 - 11905: 0xD499, - 35449 - 11905: 0xD5B2, - 35450 - 11905: 0xD49A, - 35451 - 11905: 0xD49B, - 35452 - 11905: 0xD49C, - 35453 - 11905: 0xD49D, - 35454 - 11905: 0xD49E, - 35455 - 11905: 0xD49F, - 35456 - 11905: 0xD4A0, - 35457 - 11905: 0xD540, - 35458 - 11905: 0xD541, - 35459 - 11905: 0xD542, - 35460 - 11905: 0xD543, - 35461 - 11905: 0xD544, - 35462 - 11905: 0xD545, - 35463 - 11905: 0xD546, - 35464 - 11905: 0xD547, - 35465 - 11905: 0xD3FE, - 35466 - 11905: 0xCCDC, - 35467 - 11905: 0xD548, - 35468 - 11905: 0xD549, - 35469 - 11905: 0xD54A, - 35470 - 11905: 0xD54B, - 35471 - 11905: 0xD54C, - 35472 - 11905: 0xD54D, - 35473 - 11905: 0xD54E, - 35474 - 11905: 0xD54F, - 35475 - 11905: 0xCAC4, - 35476 - 11905: 0xD550, - 35477 - 11905: 0xD551, - 35478 - 11905: 0xD552, - 35479 - 11905: 0xD553, - 35480 - 11905: 0xD554, - 35481 - 11905: 0xD555, - 35482 - 11905: 0xD556, - 35483 - 11905: 0xD557, - 35484 - 11905: 0xD558, - 35485 - 11905: 0xD559, - 35486 - 11905: 0xD55A, - 35487 - 11905: 0xD55B, - 35488 - 11905: 0xD55C, - 35489 - 11905: 0xD55D, - 35490 - 11905: 0xD55E, - 35491 - 11905: 0xD55F, - 35492 - 11905: 0xD560, - 35493 - 11905: 0xD561, - 35494 - 11905: 0xD562, - 35495 - 11905: 0xD563, - 35496 - 11905: 0xD564, - 35497 - 11905: 0xD565, - 35498 - 11905: 0xD566, - 35499 - 11905: 0xD567, - 35500 - 11905: 0xD568, - 35501 - 11905: 0xD569, - 35502 - 11905: 0xD56A, - 35503 - 11905: 0xD56B, - 35504 - 11905: 0xD56C, - 35505 - 11905: 0xD56D, - 35506 - 11905: 0xD56E, - 35507 - 11905: 0xD56F, - 35508 - 11905: 0xD570, - 35509 - 11905: 0xD571, - 35510 - 11905: 0xD572, - 35511 - 11905: 0xD573, - 35512 - 11905: 0xD574, - 35513 - 11905: 0xD575, - 35514 - 11905: 0xD576, - 35515 - 11905: 0xD577, - 35516 - 11905: 0xD578, - 35517 - 11905: 0xD579, - 35518 - 11905: 0xD57A, - 35519 - 11905: 0xD57B, - 35520 - 11905: 0xD57C, - 35521 - 11905: 0xD57D, - 35522 - 11905: 0xD57E, - 35523 - 11905: 0xD580, - 35524 - 11905: 0xD581, - 35525 - 11905: 0xD582, - 35526 - 11905: 0xD583, - 35527 - 11905: 0xD584, - 35528 - 11905: 0xD585, - 35529 - 11905: 0xD586, - 35530 - 11905: 0xD587, - 35531 - 11905: 0xD588, - 35532 - 11905: 0xD589, - 35533 - 11905: 0xD58A, - 35534 - 11905: 0xD58B, - 35535 - 11905: 0xD58C, - 35536 - 11905: 0xD58D, - 35537 - 11905: 0xD58E, - 35538 - 11905: 0xD58F, - 35539 - 11905: 0xD590, - 35540 - 11905: 0xD591, - 35541 - 11905: 0xD592, - 35542 - 11905: 0xD593, - 35543 - 11905: 0xD594, - 35544 - 11905: 0xD595, - 35545 - 11905: 0xD596, - 35546 - 11905: 0xD597, - 35547 - 11905: 0xD598, - 35548 - 11905: 0xD599, - 35549 - 11905: 0xD59A, - 35550 - 11905: 0xD59B, - 35551 - 11905: 0xD59C, - 35552 - 11905: 0xD59D, - 35553 - 11905: 0xD59E, - 35554 - 11905: 0xD59F, - 35555 - 11905: 0xD5A0, - 35556 - 11905: 0xD640, - 35557 - 11905: 0xD641, - 35558 - 11905: 0xD642, - 35559 - 11905: 0xD643, - 35560 - 11905: 0xD644, - 35561 - 11905: 0xD645, - 35562 - 11905: 0xD646, - 35563 - 11905: 0xD647, - 35564 - 11905: 0xD648, - 35565 - 11905: 0xD649, - 35566 - 11905: 0xD64A, - 35567 - 11905: 0xD64B, - 35568 - 11905: 0xD64C, - 35569 - 11905: 0xD64D, - 35570 - 11905: 0xD64E, - 35571 - 11905: 0xD64F, - 35572 - 11905: 0xD650, - 35573 - 11905: 0xD651, - 35574 - 11905: 0xD652, - 35575 - 11905: 0xD653, - 35576 - 11905: 0xD654, - 35577 - 11905: 0xD655, - 35578 - 11905: 0xD656, - 35579 - 11905: 0xD657, - 35580 - 11905: 0xD658, - 35581 - 11905: 0xD659, - 35582 - 11905: 0xD65A, - 35583 - 11905: 0xD65B, - 35584 - 11905: 0xD65C, - 35585 - 11905: 0xD65D, - 35586 - 11905: 0xD65E, - 35587 - 11905: 0xD65F, - 35588 - 11905: 0xD660, - 35589 - 11905: 0xD661, - 35590 - 11905: 0xD662, - 35591 - 11905: 0xE5C0, - 35592 - 11905: 0xD663, - 35593 - 11905: 0xD664, - 35594 - 11905: 0xD665, - 35595 - 11905: 0xD666, - 35596 - 11905: 0xD667, - 35597 - 11905: 0xD668, - 35598 - 11905: 0xD669, - 35599 - 11905: 0xD66A, - 35600 - 11905: 0xD66B, - 35601 - 11905: 0xD66C, - 35602 - 11905: 0xD66D, - 35603 - 11905: 0xD66E, - 35604 - 11905: 0xD66F, - 35605 - 11905: 0xD670, - 35606 - 11905: 0xD671, - 35607 - 11905: 0xD672, - 35608 - 11905: 0xD673, - 35609 - 11905: 0xD674, - 35610 - 11905: 0xD675, - 35611 - 11905: 0xD676, - 35612 - 11905: 0xD677, - 35613 - 11905: 0xD678, - 35614 - 11905: 0xD679, - 35615 - 11905: 0xD67A, - 35616 - 11905: 0xD67B, - 35617 - 11905: 0xD67C, - 35618 - 11905: 0xD67D, - 35619 - 11905: 0xD67E, - 35620 - 11905: 0xD680, - 35621 - 11905: 0xD681, - 35622 - 11905: 0xF6A5, - 35623 - 11905: 0xD682, - 35624 - 11905: 0xD683, - 35625 - 11905: 0xD684, - 35626 - 11905: 0xD685, - 35627 - 11905: 0xD686, - 35628 - 11905: 0xD687, - 35629 - 11905: 0xD688, - 35630 - 11905: 0xD689, - 35631 - 11905: 0xD68A, - 35632 - 11905: 0xD68B, - 35633 - 11905: 0xD68C, - 35634 - 11905: 0xD68D, - 35635 - 11905: 0xD68E, - 35636 - 11905: 0xD68F, - 35637 - 11905: 0xD690, - 35638 - 11905: 0xD691, - 35639 - 11905: 0xD692, - 35640 - 11905: 0xD693, - 35641 - 11905: 0xD694, - 35642 - 11905: 0xD695, - 35643 - 11905: 0xD696, - 35644 - 11905: 0xD697, - 35645 - 11905: 0xD698, - 35646 - 11905: 0xD699, - 35647 - 11905: 0xD69A, - 35648 - 11905: 0xD69B, - 35649 - 11905: 0xD69C, - 35650 - 11905: 0xD69D, - 35651 - 11905: 0xD69E, - 35652 - 11905: 0xD69F, - 35653 - 11905: 0xD6A0, - 35654 - 11905: 0xD740, - 35655 - 11905: 0xD741, - 35656 - 11905: 0xD742, - 35657 - 11905: 0xD743, - 35658 - 11905: 0xD744, - 35659 - 11905: 0xD745, - 35660 - 11905: 0xD746, - 35661 - 11905: 0xD747, - 35662 - 11905: 0xD748, - 35663 - 11905: 0xD749, - 35664 - 11905: 0xD74A, - 35665 - 11905: 0xD74B, - 35666 - 11905: 0xD74C, - 35667 - 11905: 0xD74D, - 35668 - 11905: 0xD74E, - 35669 - 11905: 0xD74F, - 35670 - 11905: 0xD750, - 35671 - 11905: 0xD751, - 35672 - 11905: 0xD752, - 35673 - 11905: 0xD753, - 35674 - 11905: 0xD754, - 35675 - 11905: 0xD755, - 35676 - 11905: 0xD756, - 35677 - 11905: 0xD757, - 35678 - 11905: 0xD758, - 35679 - 11905: 0xD759, - 35680 - 11905: 0xD75A, - 35681 - 11905: 0xD75B, - 35682 - 11905: 0xD75C, - 35683 - 11905: 0xD75D, - 35684 - 11905: 0xD75E, - 35685 - 11905: 0xD75F, - 35686 - 11905: 0xBEAF, - 35687 - 11905: 0xD760, - 35688 - 11905: 0xD761, - 35689 - 11905: 0xD762, - 35690 - 11905: 0xD763, - 35691 - 11905: 0xD764, - 35692 - 11905: 0xC6A9, - 35693 - 11905: 0xD765, - 35694 - 11905: 0xD766, - 35695 - 11905: 0xD767, - 35696 - 11905: 0xD768, - 35697 - 11905: 0xD769, - 35698 - 11905: 0xD76A, - 35699 - 11905: 0xD76B, - 35700 - 11905: 0xD76C, - 35701 - 11905: 0xD76D, - 35702 - 11905: 0xD76E, - 35703 - 11905: 0xD76F, - 35704 - 11905: 0xD770, - 35705 - 11905: 0xD771, - 35706 - 11905: 0xD772, - 35707 - 11905: 0xD773, - 35708 - 11905: 0xD774, - 35709 - 11905: 0xD775, - 35710 - 11905: 0xD776, - 35711 - 11905: 0xD777, - 35712 - 11905: 0xD778, - 35713 - 11905: 0xD779, - 35714 - 11905: 0xD77A, - 35715 - 11905: 0xD77B, - 35716 - 11905: 0xD77C, - 35717 - 11905: 0xD77D, - 35718 - 11905: 0xD77E, - 35719 - 11905: 0xD780, - 35720 - 11905: 0xD781, - 35721 - 11905: 0xD782, - 35722 - 11905: 0xD783, - 35723 - 11905: 0xD784, - 35724 - 11905: 0xD785, - 35725 - 11905: 0xD786, - 35726 - 11905: 0xD787, - 35727 - 11905: 0xD788, - 35728 - 11905: 0xD789, - 35729 - 11905: 0xD78A, - 35730 - 11905: 0xD78B, - 35731 - 11905: 0xD78C, - 35732 - 11905: 0xD78D, - 35733 - 11905: 0xD78E, - 35734 - 11905: 0xD78F, - 35735 - 11905: 0xD790, - 35736 - 11905: 0xD791, - 35737 - 11905: 0xD792, - 35738 - 11905: 0xD793, - 35739 - 11905: 0xD794, - 35740 - 11905: 0xD795, - 35741 - 11905: 0xD796, - 35742 - 11905: 0xD797, - 35743 - 11905: 0xD798, - 35744 - 11905: 0xDAA5, - 35745 - 11905: 0xBCC6, - 35746 - 11905: 0xB6A9, - 35747 - 11905: 0xB8BC, - 35748 - 11905: 0xC8CF, - 35749 - 11905: 0xBCA5, - 35750 - 11905: 0xDAA6, - 35751 - 11905: 0xDAA7, - 35752 - 11905: 0xCCD6, - 35753 - 11905: 0xC8C3, - 35754 - 11905: 0xDAA8, - 35755 - 11905: 0xC6FD, - 35756 - 11905: 0xD799, - 35757 - 11905: 0xD1B5, - 35758 - 11905: 0xD2E9, - 35759 - 11905: 0xD1B6, - 35760 - 11905: 0xBCC7, - 35761 - 11905: 0xD79A, - 35762 - 11905: 0xBDB2, - 35763 - 11905: 0xBBE4, - 35764 - 11905: 0xDAA9, - 35765 - 11905: 0xDAAA, - 35766 - 11905: 0xD1C8, - 35767 - 11905: 0xDAAB, - 35768 - 11905: 0xD0ED, - 35769 - 11905: 0xB6EF, - 35770 - 11905: 0xC2DB, - 35771 - 11905: 0xD79B, - 35772 - 11905: 0xCBCF, - 35773 - 11905: 0xB7ED, - 35774 - 11905: 0xC9E8, - 35775 - 11905: 0xB7C3, - 35776 - 11905: 0xBEF7, - 35777 - 11905: 0xD6A4, - 35778 - 11905: 0xDAAC, - 35779 - 11905: 0xDAAD, - 35780 - 11905: 0xC6C0, - 35781 - 11905: 0xD7E7, - 35782 - 11905: 0xCAB6, - 35783 - 11905: 0xD79C, - 35784 - 11905: 0xD5A9, - 35785 - 11905: 0xCBDF, - 35786 - 11905: 0xD5EF, - 35787 - 11905: 0xDAAE, - 35788 - 11905: 0xD6DF, - 35789 - 11905: 0xB4CA, - 35790 - 11905: 0xDAB0, - 35791 - 11905: 0xDAAF, - 35792 - 11905: 0xD79D, - 35793 - 11905: 0xD2EB, - 35794 - 11905: 0xDAB1, - 35795 - 11905: 0xDAB2, - 35796 - 11905: 0xDAB3, - 35797 - 11905: 0xCAD4, - 35798 - 11905: 0xDAB4, - 35799 - 11905: 0xCAAB, - 35800 - 11905: 0xDAB5, - 35801 - 11905: 0xDAB6, - 35802 - 11905: 0xB3CF, - 35803 - 11905: 0xD6EF, - 35804 - 11905: 0xDAB7, - 35805 - 11905: 0xBBB0, - 35806 - 11905: 0xB5AE, - 35807 - 11905: 0xDAB8, - 35808 - 11905: 0xDAB9, - 35809 - 11905: 0xB9EE, - 35810 - 11905: 0xD1AF, - 35811 - 11905: 0xD2E8, - 35812 - 11905: 0xDABA, - 35813 - 11905: 0xB8C3, - 35814 - 11905: 0xCFEA, - 35815 - 11905: 0xB2EF, - 35816 - 11905: 0xDABB, - 35817 - 11905: 0xDABC, - 35818 - 11905: 0xD79E, - 35819 - 11905: 0xBDEB, - 35820 - 11905: 0xCEDC, - 35821 - 11905: 0xD3EF, - 35822 - 11905: 0xDABD, - 35823 - 11905: 0xCEF3, - 35824 - 11905: 0xDABE, - 35825 - 11905: 0xD3D5, - 35826 - 11905: 0xBBE5, - 35827 - 11905: 0xDABF, - 35828 - 11905: 0xCBB5, - 35829 - 11905: 0xCBD0, - 35830 - 11905: 0xDAC0, - 35831 - 11905: 0xC7EB, - 35832 - 11905: 0xD6EE, - 35833 - 11905: 0xDAC1, - 35834 - 11905: 0xC5B5, - 35835 - 11905: 0xB6C1, - 35836 - 11905: 0xDAC2, - 35837 - 11905: 0xB7CC, - 35838 - 11905: 0xBFCE, - 35839 - 11905: 0xDAC3, - 35840 - 11905: 0xDAC4, - 35841 - 11905: 0xCBAD, - 35842 - 11905: 0xDAC5, - 35843 - 11905: 0xB5F7, - 35844 - 11905: 0xDAC6, - 35845 - 11905: 0xC1C2, - 35846 - 11905: 0xD7BB, - 35847 - 11905: 0xDAC7, - 35848 - 11905: 0xCCB8, - 35849 - 11905: 0xD79F, - 35850 - 11905: 0xD2EA, - 35851 - 11905: 0xC4B1, - 35852 - 11905: 0xDAC8, - 35853 - 11905: 0xB5FD, - 35854 - 11905: 0xBBD1, - 35855 - 11905: 0xDAC9, - 35856 - 11905: 0xD0B3, - 35857 - 11905: 0xDACA, - 35858 - 11905: 0xDACB, - 35859 - 11905: 0xCEBD, - 35860 - 11905: 0xDACC, - 35861 - 11905: 0xDACD, - 35862 - 11905: 0xDACE, - 35863 - 11905: 0xB2F7, - 35864 - 11905: 0xDAD1, - 35865 - 11905: 0xDACF, - 35866 - 11905: 0xD1E8, - 35867 - 11905: 0xDAD0, - 35868 - 11905: 0xC3D5, - 35869 - 11905: 0xDAD2, - 35870 - 11905: 0xD7A0, - 35871 - 11905: 0xDAD3, - 35872 - 11905: 0xDAD4, - 35873 - 11905: 0xDAD5, - 35874 - 11905: 0xD0BB, - 35875 - 11905: 0xD2A5, - 35876 - 11905: 0xB0F9, - 35877 - 11905: 0xDAD6, - 35878 - 11905: 0xC7AB, - 35879 - 11905: 0xDAD7, - 35880 - 11905: 0xBDF7, - 35881 - 11905: 0xC3A1, - 35882 - 11905: 0xDAD8, - 35883 - 11905: 0xDAD9, - 35884 - 11905: 0xC3FD, - 35885 - 11905: 0xCCB7, - 35886 - 11905: 0xDADA, - 35887 - 11905: 0xDADB, - 35888 - 11905: 0xC0BE, - 35889 - 11905: 0xC6D7, - 35890 - 11905: 0xDADC, - 35891 - 11905: 0xDADD, - 35892 - 11905: 0xC7B4, - 35893 - 11905: 0xDADE, - 35894 - 11905: 0xDADF, - 35895 - 11905: 0xB9C8, - 35896 - 11905: 0xD840, - 35897 - 11905: 0xD841, - 35898 - 11905: 0xD842, - 35899 - 11905: 0xD843, - 35900 - 11905: 0xD844, - 35901 - 11905: 0xD845, - 35902 - 11905: 0xD846, - 35903 - 11905: 0xD847, - 35904 - 11905: 0xD848, - 35905 - 11905: 0xBBED, - 35906 - 11905: 0xD849, - 35907 - 11905: 0xD84A, - 35908 - 11905: 0xD84B, - 35909 - 11905: 0xD84C, - 35910 - 11905: 0xB6B9, - 35911 - 11905: 0xF4F8, - 35912 - 11905: 0xD84D, - 35913 - 11905: 0xF4F9, - 35914 - 11905: 0xD84E, - 35915 - 11905: 0xD84F, - 35916 - 11905: 0xCDE3, - 35917 - 11905: 0xD850, - 35918 - 11905: 0xD851, - 35919 - 11905: 0xD852, - 35920 - 11905: 0xD853, - 35921 - 11905: 0xD854, - 35922 - 11905: 0xD855, - 35923 - 11905: 0xD856, - 35924 - 11905: 0xD857, - 35925 - 11905: 0xF5B9, - 35926 - 11905: 0xD858, - 35927 - 11905: 0xD859, - 35928 - 11905: 0xD85A, - 35929 - 11905: 0xD85B, - 35930 - 11905: 0xEBE0, - 35931 - 11905: 0xD85C, - 35932 - 11905: 0xD85D, - 35933 - 11905: 0xD85E, - 35934 - 11905: 0xD85F, - 35935 - 11905: 0xD860, - 35936 - 11905: 0xD861, - 35937 - 11905: 0xCFF3, - 35938 - 11905: 0xBBBF, - 35939 - 11905: 0xD862, - 35940 - 11905: 0xD863, - 35941 - 11905: 0xD864, - 35942 - 11905: 0xD865, - 35943 - 11905: 0xD866, - 35944 - 11905: 0xD867, - 35945 - 11905: 0xD868, - 35946 - 11905: 0xBAC0, - 35947 - 11905: 0xD4A5, - 35948 - 11905: 0xD869, - 35949 - 11905: 0xD86A, - 35950 - 11905: 0xD86B, - 35951 - 11905: 0xD86C, - 35952 - 11905: 0xD86D, - 35953 - 11905: 0xD86E, - 35954 - 11905: 0xD86F, - 35955 - 11905: 0xE1D9, - 35956 - 11905: 0xD870, - 35957 - 11905: 0xD871, - 35958 - 11905: 0xD872, - 35959 - 11905: 0xD873, - 35960 - 11905: 0xF5F4, - 35961 - 11905: 0xB1AA, - 35962 - 11905: 0xB2F2, - 35963 - 11905: 0xD874, - 35964 - 11905: 0xD875, - 35965 - 11905: 0xD876, - 35966 - 11905: 0xD877, - 35967 - 11905: 0xD878, - 35968 - 11905: 0xD879, - 35969 - 11905: 0xD87A, - 35970 - 11905: 0xF5F5, - 35971 - 11905: 0xD87B, - 35972 - 11905: 0xD87C, - 35973 - 11905: 0xF5F7, - 35974 - 11905: 0xD87D, - 35975 - 11905: 0xD87E, - 35976 - 11905: 0xD880, - 35977 - 11905: 0xBAD1, - 35978 - 11905: 0xF5F6, - 35979 - 11905: 0xD881, - 35980 - 11905: 0xC3B2, - 35981 - 11905: 0xD882, - 35982 - 11905: 0xD883, - 35983 - 11905: 0xD884, - 35984 - 11905: 0xD885, - 35985 - 11905: 0xD886, - 35986 - 11905: 0xD887, - 35987 - 11905: 0xD888, - 35988 - 11905: 0xF5F9, - 35989 - 11905: 0xD889, - 35990 - 11905: 0xD88A, - 35991 - 11905: 0xD88B, - 35992 - 11905: 0xF5F8, - 35993 - 11905: 0xD88C, - 35994 - 11905: 0xD88D, - 35995 - 11905: 0xD88E, - 35996 - 11905: 0xD88F, - 35997 - 11905: 0xD890, - 35998 - 11905: 0xD891, - 35999 - 11905: 0xD892, - 36000 - 11905: 0xD893, - 36001 - 11905: 0xD894, - 36002 - 11905: 0xD895, - 36003 - 11905: 0xD896, - 36004 - 11905: 0xD897, - 36005 - 11905: 0xD898, - 36006 - 11905: 0xD899, - 36007 - 11905: 0xD89A, - 36008 - 11905: 0xD89B, - 36009 - 11905: 0xD89C, - 36010 - 11905: 0xD89D, - 36011 - 11905: 0xD89E, - 36012 - 11905: 0xD89F, - 36013 - 11905: 0xD8A0, - 36014 - 11905: 0xD940, - 36015 - 11905: 0xD941, - 36016 - 11905: 0xD942, - 36017 - 11905: 0xD943, - 36018 - 11905: 0xD944, - 36019 - 11905: 0xD945, - 36020 - 11905: 0xD946, - 36021 - 11905: 0xD947, - 36022 - 11905: 0xD948, - 36023 - 11905: 0xD949, - 36024 - 11905: 0xD94A, - 36025 - 11905: 0xD94B, - 36026 - 11905: 0xD94C, - 36027 - 11905: 0xD94D, - 36028 - 11905: 0xD94E, - 36029 - 11905: 0xD94F, - 36030 - 11905: 0xD950, - 36031 - 11905: 0xD951, - 36032 - 11905: 0xD952, - 36033 - 11905: 0xD953, - 36034 - 11905: 0xD954, - 36035 - 11905: 0xD955, - 36036 - 11905: 0xD956, - 36037 - 11905: 0xD957, - 36038 - 11905: 0xD958, - 36039 - 11905: 0xD959, - 36040 - 11905: 0xD95A, - 36041 - 11905: 0xD95B, - 36042 - 11905: 0xD95C, - 36043 - 11905: 0xD95D, - 36044 - 11905: 0xD95E, - 36045 - 11905: 0xD95F, - 36046 - 11905: 0xD960, - 36047 - 11905: 0xD961, - 36048 - 11905: 0xD962, - 36049 - 11905: 0xD963, - 36050 - 11905: 0xD964, - 36051 - 11905: 0xD965, - 36052 - 11905: 0xD966, - 36053 - 11905: 0xD967, - 36054 - 11905: 0xD968, - 36055 - 11905: 0xD969, - 36056 - 11905: 0xD96A, - 36057 - 11905: 0xD96B, - 36058 - 11905: 0xD96C, - 36059 - 11905: 0xD96D, - 36060 - 11905: 0xD96E, - 36061 - 11905: 0xD96F, - 36062 - 11905: 0xD970, - 36063 - 11905: 0xD971, - 36064 - 11905: 0xD972, - 36065 - 11905: 0xD973, - 36066 - 11905: 0xD974, - 36067 - 11905: 0xD975, - 36068 - 11905: 0xD976, - 36069 - 11905: 0xD977, - 36070 - 11905: 0xD978, - 36071 - 11905: 0xD979, - 36072 - 11905: 0xD97A, - 36073 - 11905: 0xD97B, - 36074 - 11905: 0xD97C, - 36075 - 11905: 0xD97D, - 36076 - 11905: 0xD97E, - 36077 - 11905: 0xD980, - 36078 - 11905: 0xD981, - 36079 - 11905: 0xD982, - 36080 - 11905: 0xD983, - 36081 - 11905: 0xD984, - 36082 - 11905: 0xD985, - 36083 - 11905: 0xD986, - 36084 - 11905: 0xD987, - 36085 - 11905: 0xD988, - 36086 - 11905: 0xD989, - 36087 - 11905: 0xD98A, - 36088 - 11905: 0xD98B, - 36089 - 11905: 0xD98C, - 36090 - 11905: 0xD98D, - 36091 - 11905: 0xD98E, - 36092 - 11905: 0xD98F, - 36093 - 11905: 0xD990, - 36094 - 11905: 0xD991, - 36095 - 11905: 0xD992, - 36096 - 11905: 0xD993, - 36097 - 11905: 0xD994, - 36098 - 11905: 0xD995, - 36099 - 11905: 0xD996, - 36100 - 11905: 0xD997, - 36101 - 11905: 0xD998, - 36102 - 11905: 0xD999, - 36103 - 11905: 0xD99A, - 36104 - 11905: 0xD99B, - 36105 - 11905: 0xD99C, - 36106 - 11905: 0xD99D, - 36107 - 11905: 0xD99E, - 36108 - 11905: 0xD99F, - 36109 - 11905: 0xD9A0, - 36110 - 11905: 0xDA40, - 36111 - 11905: 0xDA41, - 36112 - 11905: 0xDA42, - 36113 - 11905: 0xDA43, - 36114 - 11905: 0xDA44, - 36115 - 11905: 0xDA45, - 36116 - 11905: 0xDA46, - 36117 - 11905: 0xDA47, - 36118 - 11905: 0xDA48, - 36119 - 11905: 0xDA49, - 36120 - 11905: 0xDA4A, - 36121 - 11905: 0xDA4B, - 36122 - 11905: 0xDA4C, - 36123 - 11905: 0xDA4D, - 36124 - 11905: 0xDA4E, - 36125 - 11905: 0xB1B4, - 36126 - 11905: 0xD5EA, - 36127 - 11905: 0xB8BA, - 36128 - 11905: 0xDA4F, - 36129 - 11905: 0xB9B1, - 36130 - 11905: 0xB2C6, - 36131 - 11905: 0xD4F0, - 36132 - 11905: 0xCFCD, - 36133 - 11905: 0xB0DC, - 36134 - 11905: 0xD5CB, - 36135 - 11905: 0xBBF5, - 36136 - 11905: 0xD6CA, - 36137 - 11905: 0xB7B7, - 36138 - 11905: 0xCCB0, - 36139 - 11905: 0xC6B6, - 36140 - 11905: 0xB1E1, - 36141 - 11905: 0xB9BA, - 36142 - 11905: 0xD6FC, - 36143 - 11905: 0xB9E1, - 36144 - 11905: 0xB7A1, - 36145 - 11905: 0xBCFA, - 36146 - 11905: 0xEADA, - 36147 - 11905: 0xEADB, - 36148 - 11905: 0xCCF9, - 36149 - 11905: 0xB9F3, - 36150 - 11905: 0xEADC, - 36151 - 11905: 0xB4FB, - 36152 - 11905: 0xC3B3, - 36153 - 11905: 0xB7D1, - 36154 - 11905: 0xBAD8, - 36155 - 11905: 0xEADD, - 36156 - 11905: 0xD4F4, - 36157 - 11905: 0xEADE, - 36158 - 11905: 0xBCD6, - 36159 - 11905: 0xBBDF, - 36160 - 11905: 0xEADF, - 36161 - 11905: 0xC1DE, - 36162 - 11905: 0xC2B8, - 36163 - 11905: 0xD4DF, - 36164 - 11905: 0xD7CA, - 36165 - 11905: 0xEAE0, - 36166 - 11905: 0xEAE1, - 36167 - 11905: 0xEAE4, - 36168 - 11905: 0xEAE2, - 36169 - 11905: 0xEAE3, - 36170 - 11905: 0xC9DE, - 36171 - 11905: 0xB8B3, - 36172 - 11905: 0xB6C4, - 36173 - 11905: 0xEAE5, - 36174 - 11905: 0xCAEA, - 36175 - 11905: 0xC9CD, - 36176 - 11905: 0xB4CD, - 36177 - 11905: 0xDA50, - 36178 - 11905: 0xDA51, - 36179 - 11905: 0xE2D9, - 36180 - 11905: 0xC5E2, - 36181 - 11905: 0xEAE6, - 36182 - 11905: 0xC0B5, - 36183 - 11905: 0xDA52, - 36184 - 11905: 0xD7B8, - 36185 - 11905: 0xEAE7, - 36186 - 11905: 0xD7AC, - 36187 - 11905: 0xC8FC, - 36188 - 11905: 0xD8D3, - 36189 - 11905: 0xD8CD, - 36190 - 11905: 0xD4DE, - 36191 - 11905: 0xDA53, - 36192 - 11905: 0xD4F9, - 36193 - 11905: 0xC9C4, - 36194 - 11905: 0xD3AE, - 36195 - 11905: 0xB8D3, - 36196 - 11905: 0xB3E0, - 36197 - 11905: 0xDA54, - 36198 - 11905: 0xC9E2, - 36199 - 11905: 0xF4F6, - 36200 - 11905: 0xDA55, - 36201 - 11905: 0xDA56, - 36202 - 11905: 0xDA57, - 36203 - 11905: 0xBAD5, - 36204 - 11905: 0xDA58, - 36205 - 11905: 0xF4F7, - 36206 - 11905: 0xDA59, - 36207 - 11905: 0xDA5A, - 36208 - 11905: 0xD7DF, - 36209 - 11905: 0xDA5B, - 36210 - 11905: 0xDA5C, - 36211 - 11905: 0xF4F1, - 36212 - 11905: 0xB8B0, - 36213 - 11905: 0xD5D4, - 36214 - 11905: 0xB8CF, - 36215 - 11905: 0xC6F0, - 36216 - 11905: 0xDA5D, - 36217 - 11905: 0xDA5E, - 36218 - 11905: 0xDA5F, - 36219 - 11905: 0xDA60, - 36220 - 11905: 0xDA61, - 36221 - 11905: 0xDA62, - 36222 - 11905: 0xDA63, - 36223 - 11905: 0xDA64, - 36224 - 11905: 0xDA65, - 36225 - 11905: 0xB3C3, - 36226 - 11905: 0xDA66, - 36227 - 11905: 0xDA67, - 36228 - 11905: 0xF4F2, - 36229 - 11905: 0xB3AC, - 36230 - 11905: 0xDA68, - 36231 - 11905: 0xDA69, - 36232 - 11905: 0xDA6A, - 36233 - 11905: 0xDA6B, - 36234 - 11905: 0xD4BD, - 36235 - 11905: 0xC7F7, - 36236 - 11905: 0xDA6C, - 36237 - 11905: 0xDA6D, - 36238 - 11905: 0xDA6E, - 36239 - 11905: 0xDA6F, - 36240 - 11905: 0xDA70, - 36241 - 11905: 0xF4F4, - 36242 - 11905: 0xDA71, - 36243 - 11905: 0xDA72, - 36244 - 11905: 0xF4F3, - 36245 - 11905: 0xDA73, - 36246 - 11905: 0xDA74, - 36247 - 11905: 0xDA75, - 36248 - 11905: 0xDA76, - 36249 - 11905: 0xDA77, - 36250 - 11905: 0xDA78, - 36251 - 11905: 0xDA79, - 36252 - 11905: 0xDA7A, - 36253 - 11905: 0xDA7B, - 36254 - 11905: 0xDA7C, - 36255 - 11905: 0xCCCB, - 36256 - 11905: 0xDA7D, - 36257 - 11905: 0xDA7E, - 36258 - 11905: 0xDA80, - 36259 - 11905: 0xC8A4, - 36260 - 11905: 0xDA81, - 36261 - 11905: 0xDA82, - 36262 - 11905: 0xDA83, - 36263 - 11905: 0xDA84, - 36264 - 11905: 0xDA85, - 36265 - 11905: 0xDA86, - 36266 - 11905: 0xDA87, - 36267 - 11905: 0xDA88, - 36268 - 11905: 0xDA89, - 36269 - 11905: 0xDA8A, - 36270 - 11905: 0xDA8B, - 36271 - 11905: 0xDA8C, - 36272 - 11905: 0xDA8D, - 36273 - 11905: 0xF4F5, - 36274 - 11905: 0xDA8E, - 36275 - 11905: 0xD7E3, - 36276 - 11905: 0xC5BF, - 36277 - 11905: 0xF5C0, - 36278 - 11905: 0xDA8F, - 36279 - 11905: 0xDA90, - 36280 - 11905: 0xF5BB, - 36281 - 11905: 0xDA91, - 36282 - 11905: 0xF5C3, - 36283 - 11905: 0xDA92, - 36284 - 11905: 0xF5C2, - 36285 - 11905: 0xDA93, - 36286 - 11905: 0xD6BA, - 36287 - 11905: 0xF5C1, - 36288 - 11905: 0xDA94, - 36289 - 11905: 0xDA95, - 36290 - 11905: 0xDA96, - 36291 - 11905: 0xD4BE, - 36292 - 11905: 0xF5C4, - 36293 - 11905: 0xDA97, - 36294 - 11905: 0xF5CC, - 36295 - 11905: 0xDA98, - 36296 - 11905: 0xDA99, - 36297 - 11905: 0xDA9A, - 36298 - 11905: 0xDA9B, - 36299 - 11905: 0xB0CF, - 36300 - 11905: 0xB5F8, - 36301 - 11905: 0xDA9C, - 36302 - 11905: 0xF5C9, - 36303 - 11905: 0xF5CA, - 36304 - 11905: 0xDA9D, - 36305 - 11905: 0xC5DC, - 36306 - 11905: 0xDA9E, - 36307 - 11905: 0xDA9F, - 36308 - 11905: 0xDAA0, - 36309 - 11905: 0xDB40, - 36310 - 11905: 0xF5C5, - 36311 - 11905: 0xF5C6, - 36312 - 11905: 0xDB41, - 36313 - 11905: 0xDB42, - 36314 - 11905: 0xF5C7, - 36315 - 11905: 0xF5CB, - 36316 - 11905: 0xDB43, - 36317 - 11905: 0xBEE0, - 36318 - 11905: 0xF5C8, - 36319 - 11905: 0xB8FA, - 36320 - 11905: 0xDB44, - 36321 - 11905: 0xDB45, - 36322 - 11905: 0xDB46, - 36323 - 11905: 0xF5D0, - 36324 - 11905: 0xF5D3, - 36325 - 11905: 0xDB47, - 36326 - 11905: 0xDB48, - 36327 - 11905: 0xDB49, - 36328 - 11905: 0xBFE7, - 36329 - 11905: 0xDB4A, - 36330 - 11905: 0xB9F2, - 36331 - 11905: 0xF5BC, - 36332 - 11905: 0xF5CD, - 36333 - 11905: 0xDB4B, - 36334 - 11905: 0xDB4C, - 36335 - 11905: 0xC2B7, - 36336 - 11905: 0xDB4D, - 36337 - 11905: 0xDB4E, - 36338 - 11905: 0xDB4F, - 36339 - 11905: 0xCCF8, - 36340 - 11905: 0xDB50, - 36341 - 11905: 0xBCF9, - 36342 - 11905: 0xDB51, - 36343 - 11905: 0xF5CE, - 36344 - 11905: 0xF5CF, - 36345 - 11905: 0xF5D1, - 36346 - 11905: 0xB6E5, - 36347 - 11905: 0xF5D2, - 36348 - 11905: 0xDB52, - 36349 - 11905: 0xF5D5, - 36350 - 11905: 0xDB53, - 36351 - 11905: 0xDB54, - 36352 - 11905: 0xDB55, - 36353 - 11905: 0xDB56, - 36354 - 11905: 0xDB57, - 36355 - 11905: 0xDB58, - 36356 - 11905: 0xDB59, - 36357 - 11905: 0xF5BD, - 36358 - 11905: 0xDB5A, - 36359 - 11905: 0xDB5B, - 36360 - 11905: 0xDB5C, - 36361 - 11905: 0xF5D4, - 36362 - 11905: 0xD3BB, - 36363 - 11905: 0xDB5D, - 36364 - 11905: 0xB3EC, - 36365 - 11905: 0xDB5E, - 36366 - 11905: 0xDB5F, - 36367 - 11905: 0xCCA4, - 36368 - 11905: 0xDB60, - 36369 - 11905: 0xDB61, - 36370 - 11905: 0xDB62, - 36371 - 11905: 0xDB63, - 36372 - 11905: 0xF5D6, - 36373 - 11905: 0xDB64, - 36374 - 11905: 0xDB65, - 36375 - 11905: 0xDB66, - 36376 - 11905: 0xDB67, - 36377 - 11905: 0xDB68, - 36378 - 11905: 0xDB69, - 36379 - 11905: 0xDB6A, - 36380 - 11905: 0xDB6B, - 36381 - 11905: 0xF5D7, - 36382 - 11905: 0xBEE1, - 36383 - 11905: 0xF5D8, - 36384 - 11905: 0xDB6C, - 36385 - 11905: 0xDB6D, - 36386 - 11905: 0xCCDF, - 36387 - 11905: 0xF5DB, - 36388 - 11905: 0xDB6E, - 36389 - 11905: 0xDB6F, - 36390 - 11905: 0xDB70, - 36391 - 11905: 0xDB71, - 36392 - 11905: 0xDB72, - 36393 - 11905: 0xB2C8, - 36394 - 11905: 0xD7D9, - 36395 - 11905: 0xDB73, - 36396 - 11905: 0xF5D9, - 36397 - 11905: 0xDB74, - 36398 - 11905: 0xF5DA, - 36399 - 11905: 0xF5DC, - 36400 - 11905: 0xDB75, - 36401 - 11905: 0xF5E2, - 36402 - 11905: 0xDB76, - 36403 - 11905: 0xDB77, - 36404 - 11905: 0xDB78, - 36405 - 11905: 0xF5E0, - 36406 - 11905: 0xDB79, - 36407 - 11905: 0xDB7A, - 36408 - 11905: 0xDB7B, - 36409 - 11905: 0xF5DF, - 36410 - 11905: 0xF5DD, - 36411 - 11905: 0xDB7C, - 36412 - 11905: 0xDB7D, - 36413 - 11905: 0xF5E1, - 36414 - 11905: 0xDB7E, - 36415 - 11905: 0xDB80, - 36416 - 11905: 0xF5DE, - 36417 - 11905: 0xF5E4, - 36418 - 11905: 0xF5E5, - 36419 - 11905: 0xDB81, - 36420 - 11905: 0xCCE3, - 36421 - 11905: 0xDB82, - 36422 - 11905: 0xDB83, - 36423 - 11905: 0xE5BF, - 36424 - 11905: 0xB5B8, - 36425 - 11905: 0xF5E3, - 36426 - 11905: 0xF5E8, - 36427 - 11905: 0xCCA3, - 36428 - 11905: 0xDB84, - 36429 - 11905: 0xDB85, - 36430 - 11905: 0xDB86, - 36431 - 11905: 0xDB87, - 36432 - 11905: 0xDB88, - 36433 - 11905: 0xF5E6, - 36434 - 11905: 0xF5E7, - 36435 - 11905: 0xDB89, - 36436 - 11905: 0xDB8A, - 36437 - 11905: 0xDB8B, - 36438 - 11905: 0xDB8C, - 36439 - 11905: 0xDB8D, - 36440 - 11905: 0xDB8E, - 36441 - 11905: 0xF5BE, - 36442 - 11905: 0xDB8F, - 36443 - 11905: 0xDB90, - 36444 - 11905: 0xDB91, - 36445 - 11905: 0xDB92, - 36446 - 11905: 0xDB93, - 36447 - 11905: 0xDB94, - 36448 - 11905: 0xDB95, - 36449 - 11905: 0xDB96, - 36450 - 11905: 0xDB97, - 36451 - 11905: 0xDB98, - 36452 - 11905: 0xDB99, - 36453 - 11905: 0xDB9A, - 36454 - 11905: 0xB1C4, - 36455 - 11905: 0xDB9B, - 36456 - 11905: 0xDB9C, - 36457 - 11905: 0xF5BF, - 36458 - 11905: 0xDB9D, - 36459 - 11905: 0xDB9E, - 36460 - 11905: 0xB5C5, - 36461 - 11905: 0xB2E4, - 36462 - 11905: 0xDB9F, - 36463 - 11905: 0xF5EC, - 36464 - 11905: 0xF5E9, - 36465 - 11905: 0xDBA0, - 36466 - 11905: 0xB6D7, - 36467 - 11905: 0xDC40, - 36468 - 11905: 0xF5ED, - 36469 - 11905: 0xDC41, - 36470 - 11905: 0xF5EA, - 36471 - 11905: 0xDC42, - 36472 - 11905: 0xDC43, - 36473 - 11905: 0xDC44, - 36474 - 11905: 0xDC45, - 36475 - 11905: 0xDC46, - 36476 - 11905: 0xF5EB, - 36477 - 11905: 0xDC47, - 36478 - 11905: 0xDC48, - 36479 - 11905: 0xB4DA, - 36480 - 11905: 0xDC49, - 36481 - 11905: 0xD4EA, - 36482 - 11905: 0xDC4A, - 36483 - 11905: 0xDC4B, - 36484 - 11905: 0xDC4C, - 36485 - 11905: 0xF5EE, - 36486 - 11905: 0xDC4D, - 36487 - 11905: 0xB3F9, - 36488 - 11905: 0xDC4E, - 36489 - 11905: 0xDC4F, - 36490 - 11905: 0xDC50, - 36491 - 11905: 0xDC51, - 36492 - 11905: 0xDC52, - 36493 - 11905: 0xDC53, - 36494 - 11905: 0xDC54, - 36495 - 11905: 0xF5EF, - 36496 - 11905: 0xF5F1, - 36497 - 11905: 0xDC55, - 36498 - 11905: 0xDC56, - 36499 - 11905: 0xDC57, - 36500 - 11905: 0xF5F0, - 36501 - 11905: 0xDC58, - 36502 - 11905: 0xDC59, - 36503 - 11905: 0xDC5A, - 36504 - 11905: 0xDC5B, - 36505 - 11905: 0xDC5C, - 36506 - 11905: 0xDC5D, - 36507 - 11905: 0xDC5E, - 36508 - 11905: 0xF5F2, - 36509 - 11905: 0xDC5F, - 36510 - 11905: 0xF5F3, - 36511 - 11905: 0xDC60, - 36512 - 11905: 0xDC61, - 36513 - 11905: 0xDC62, - 36514 - 11905: 0xDC63, - 36515 - 11905: 0xDC64, - 36516 - 11905: 0xDC65, - 36517 - 11905: 0xDC66, - 36518 - 11905: 0xDC67, - 36519 - 11905: 0xDC68, - 36520 - 11905: 0xDC69, - 36521 - 11905: 0xDC6A, - 36522 - 11905: 0xDC6B, - 36523 - 11905: 0xC9ED, - 36524 - 11905: 0xB9AA, - 36525 - 11905: 0xDC6C, - 36526 - 11905: 0xDC6D, - 36527 - 11905: 0xC7FB, - 36528 - 11905: 0xDC6E, - 36529 - 11905: 0xDC6F, - 36530 - 11905: 0xB6E3, - 36531 - 11905: 0xDC70, - 36532 - 11905: 0xDC71, - 36533 - 11905: 0xDC72, - 36534 - 11905: 0xDC73, - 36535 - 11905: 0xDC74, - 36536 - 11905: 0xDC75, - 36537 - 11905: 0xDC76, - 36538 - 11905: 0xCCC9, - 36539 - 11905: 0xDC77, - 36540 - 11905: 0xDC78, - 36541 - 11905: 0xDC79, - 36542 - 11905: 0xDC7A, - 36543 - 11905: 0xDC7B, - 36544 - 11905: 0xDC7C, - 36545 - 11905: 0xDC7D, - 36546 - 11905: 0xDC7E, - 36547 - 11905: 0xDC80, - 36548 - 11905: 0xDC81, - 36549 - 11905: 0xDC82, - 36550 - 11905: 0xDC83, - 36551 - 11905: 0xDC84, - 36552 - 11905: 0xDC85, - 36553 - 11905: 0xDC86, - 36554 - 11905: 0xDC87, - 36555 - 11905: 0xDC88, - 36556 - 11905: 0xDC89, - 36557 - 11905: 0xDC8A, - 36558 - 11905: 0xEAA6, - 36559 - 11905: 0xDC8B, - 36560 - 11905: 0xDC8C, - 36561 - 11905: 0xDC8D, - 36562 - 11905: 0xDC8E, - 36563 - 11905: 0xDC8F, - 36564 - 11905: 0xDC90, - 36565 - 11905: 0xDC91, - 36566 - 11905: 0xDC92, - 36567 - 11905: 0xDC93, - 36568 - 11905: 0xDC94, - 36569 - 11905: 0xDC95, - 36570 - 11905: 0xDC96, - 36571 - 11905: 0xDC97, - 36572 - 11905: 0xDC98, - 36573 - 11905: 0xDC99, - 36574 - 11905: 0xDC9A, - 36575 - 11905: 0xDC9B, - 36576 - 11905: 0xDC9C, - 36577 - 11905: 0xDC9D, - 36578 - 11905: 0xDC9E, - 36579 - 11905: 0xDC9F, - 36580 - 11905: 0xDCA0, - 36581 - 11905: 0xDD40, - 36582 - 11905: 0xDD41, - 36583 - 11905: 0xDD42, - 36584 - 11905: 0xDD43, - 36585 - 11905: 0xDD44, - 36586 - 11905: 0xDD45, - 36587 - 11905: 0xDD46, - 36588 - 11905: 0xDD47, - 36589 - 11905: 0xDD48, - 36590 - 11905: 0xDD49, - 36591 - 11905: 0xDD4A, - 36592 - 11905: 0xDD4B, - 36593 - 11905: 0xDD4C, - 36594 - 11905: 0xDD4D, - 36595 - 11905: 0xDD4E, - 36596 - 11905: 0xDD4F, - 36597 - 11905: 0xDD50, - 36598 - 11905: 0xDD51, - 36599 - 11905: 0xDD52, - 36600 - 11905: 0xDD53, - 36601 - 11905: 0xDD54, - 36602 - 11905: 0xDD55, - 36603 - 11905: 0xDD56, - 36604 - 11905: 0xDD57, - 36605 - 11905: 0xDD58, - 36606 - 11905: 0xDD59, - 36607 - 11905: 0xDD5A, - 36608 - 11905: 0xDD5B, - 36609 - 11905: 0xDD5C, - 36610 - 11905: 0xDD5D, - 36611 - 11905: 0xDD5E, - 36612 - 11905: 0xDD5F, - 36613 - 11905: 0xDD60, - 36614 - 11905: 0xDD61, - 36615 - 11905: 0xDD62, - 36616 - 11905: 0xDD63, - 36617 - 11905: 0xDD64, - 36618 - 11905: 0xDD65, - 36619 - 11905: 0xDD66, - 36620 - 11905: 0xDD67, - 36621 - 11905: 0xDD68, - 36622 - 11905: 0xDD69, - 36623 - 11905: 0xDD6A, - 36624 - 11905: 0xDD6B, - 36625 - 11905: 0xDD6C, - 36626 - 11905: 0xDD6D, - 36627 - 11905: 0xDD6E, - 36628 - 11905: 0xDD6F, - 36629 - 11905: 0xDD70, - 36630 - 11905: 0xDD71, - 36631 - 11905: 0xDD72, - 36632 - 11905: 0xDD73, - 36633 - 11905: 0xDD74, - 36634 - 11905: 0xDD75, - 36635 - 11905: 0xDD76, - 36636 - 11905: 0xDD77, - 36637 - 11905: 0xDD78, - 36638 - 11905: 0xDD79, - 36639 - 11905: 0xDD7A, - 36640 - 11905: 0xDD7B, - 36641 - 11905: 0xDD7C, - 36642 - 11905: 0xDD7D, - 36643 - 11905: 0xDD7E, - 36644 - 11905: 0xDD80, - 36645 - 11905: 0xDD81, - 36646 - 11905: 0xDD82, - 36647 - 11905: 0xDD83, - 36648 - 11905: 0xDD84, - 36649 - 11905: 0xDD85, - 36650 - 11905: 0xDD86, - 36651 - 11905: 0xDD87, - 36652 - 11905: 0xDD88, - 36653 - 11905: 0xDD89, - 36654 - 11905: 0xDD8A, - 36655 - 11905: 0xDD8B, - 36656 - 11905: 0xDD8C, - 36657 - 11905: 0xDD8D, - 36658 - 11905: 0xDD8E, - 36659 - 11905: 0xDD8F, - 36660 - 11905: 0xDD90, - 36661 - 11905: 0xDD91, - 36662 - 11905: 0xDD92, - 36663 - 11905: 0xDD93, - 36664 - 11905: 0xDD94, - 36665 - 11905: 0xDD95, - 36666 - 11905: 0xDD96, - 36667 - 11905: 0xDD97, - 36668 - 11905: 0xDD98, - 36669 - 11905: 0xDD99, - 36670 - 11905: 0xDD9A, - 36671 - 11905: 0xDD9B, - 36672 - 11905: 0xDD9C, - 36673 - 11905: 0xDD9D, - 36674 - 11905: 0xDD9E, - 36675 - 11905: 0xDD9F, - 36676 - 11905: 0xDDA0, - 36677 - 11905: 0xDE40, - 36678 - 11905: 0xDE41, - 36679 - 11905: 0xDE42, - 36680 - 11905: 0xDE43, - 36681 - 11905: 0xDE44, - 36682 - 11905: 0xDE45, - 36683 - 11905: 0xDE46, - 36684 - 11905: 0xDE47, - 36685 - 11905: 0xDE48, - 36686 - 11905: 0xDE49, - 36687 - 11905: 0xDE4A, - 36688 - 11905: 0xDE4B, - 36689 - 11905: 0xDE4C, - 36690 - 11905: 0xDE4D, - 36691 - 11905: 0xDE4E, - 36692 - 11905: 0xDE4F, - 36693 - 11905: 0xDE50, - 36694 - 11905: 0xDE51, - 36695 - 11905: 0xDE52, - 36696 - 11905: 0xDE53, - 36697 - 11905: 0xDE54, - 36698 - 11905: 0xDE55, - 36699 - 11905: 0xDE56, - 36700 - 11905: 0xDE57, - 36701 - 11905: 0xDE58, - 36702 - 11905: 0xDE59, - 36703 - 11905: 0xDE5A, - 36704 - 11905: 0xDE5B, - 36705 - 11905: 0xDE5C, - 36706 - 11905: 0xDE5D, - 36707 - 11905: 0xDE5E, - 36708 - 11905: 0xDE5F, - 36709 - 11905: 0xDE60, - 36710 - 11905: 0xB3B5, - 36711 - 11905: 0xD4FE, - 36712 - 11905: 0xB9EC, - 36713 - 11905: 0xD0F9, - 36714 - 11905: 0xDE61, - 36715 - 11905: 0xE9ED, - 36716 - 11905: 0xD7AA, - 36717 - 11905: 0xE9EE, - 36718 - 11905: 0xC2D6, - 36719 - 11905: 0xC8ED, - 36720 - 11905: 0xBAE4, - 36721 - 11905: 0xE9EF, - 36722 - 11905: 0xE9F0, - 36723 - 11905: 0xE9F1, - 36724 - 11905: 0xD6E1, - 36725 - 11905: 0xE9F2, - 36726 - 11905: 0xE9F3, - 36727 - 11905: 0xE9F5, - 36728 - 11905: 0xE9F4, - 36729 - 11905: 0xE9F6, - 36730 - 11905: 0xE9F7, - 36731 - 11905: 0xC7E1, - 36732 - 11905: 0xE9F8, - 36733 - 11905: 0xD4D8, - 36734 - 11905: 0xE9F9, - 36735 - 11905: 0xBDCE, - 36736 - 11905: 0xDE62, - 36737 - 11905: 0xE9FA, - 36738 - 11905: 0xE9FB, - 36739 - 11905: 0xBDCF, - 36740 - 11905: 0xE9FC, - 36741 - 11905: 0xB8A8, - 36742 - 11905: 0xC1BE, - 36743 - 11905: 0xE9FD, - 36744 - 11905: 0xB1B2, - 36745 - 11905: 0xBBD4, - 36746 - 11905: 0xB9F5, - 36747 - 11905: 0xE9FE, - 36748 - 11905: 0xDE63, - 36749 - 11905: 0xEAA1, - 36750 - 11905: 0xEAA2, - 36751 - 11905: 0xEAA3, - 36752 - 11905: 0xB7F8, - 36753 - 11905: 0xBCAD, - 36754 - 11905: 0xDE64, - 36755 - 11905: 0xCAE4, - 36756 - 11905: 0xE0CE, - 36757 - 11905: 0xD4AF, - 36758 - 11905: 0xCFBD, - 36759 - 11905: 0xD5B7, - 36760 - 11905: 0xEAA4, - 36761 - 11905: 0xD5DE, - 36762 - 11905: 0xEAA5, - 36763 - 11905: 0xD0C1, - 36764 - 11905: 0xB9BC, - 36765 - 11905: 0xDE65, - 36766 - 11905: 0xB4C7, - 36767 - 11905: 0xB1D9, - 36768 - 11905: 0xDE66, - 36769 - 11905: 0xDE67, - 36770 - 11905: 0xDE68, - 36771 - 11905: 0xC0B1, - 36772 - 11905: 0xDE69, - 36773 - 11905: 0xDE6A, - 36774 - 11905: 0xDE6B, - 36775 - 11905: 0xDE6C, - 36776 - 11905: 0xB1E6, - 36777 - 11905: 0xB1E7, - 36778 - 11905: 0xDE6D, - 36779 - 11905: 0xB1E8, - 36780 - 11905: 0xDE6E, - 36781 - 11905: 0xDE6F, - 36782 - 11905: 0xDE70, - 36783 - 11905: 0xDE71, - 36784 - 11905: 0xB3BD, - 36785 - 11905: 0xC8E8, - 36786 - 11905: 0xDE72, - 36787 - 11905: 0xDE73, - 36788 - 11905: 0xDE74, - 36789 - 11905: 0xDE75, - 36790 - 11905: 0xE5C1, - 36791 - 11905: 0xDE76, - 36792 - 11905: 0xDE77, - 36793 - 11905: 0xB1DF, - 36794 - 11905: 0xDE78, - 36795 - 11905: 0xDE79, - 36796 - 11905: 0xDE7A, - 36797 - 11905: 0xC1C9, - 36798 - 11905: 0xB4EF, - 36799 - 11905: 0xDE7B, - 36800 - 11905: 0xDE7C, - 36801 - 11905: 0xC7A8, - 36802 - 11905: 0xD3D8, - 36803 - 11905: 0xDE7D, - 36804 - 11905: 0xC6F9, - 36805 - 11905: 0xD1B8, - 36806 - 11905: 0xDE7E, - 36807 - 11905: 0xB9FD, - 36808 - 11905: 0xC2F5, - 36809 - 11905: 0xDE80, - 36810 - 11905: 0xDE81, - 36811 - 11905: 0xDE82, - 36812 - 11905: 0xDE83, - 36813 - 11905: 0xDE84, - 36814 - 11905: 0xD3AD, - 36815 - 11905: 0xDE85, - 36816 - 11905: 0xD4CB, - 36817 - 11905: 0xBDFC, - 36818 - 11905: 0xDE86, - 36819 - 11905: 0xE5C2, - 36820 - 11905: 0xB7B5, - 36821 - 11905: 0xE5C3, - 36822 - 11905: 0xDE87, - 36823 - 11905: 0xDE88, - 36824 - 11905: 0xBBB9, - 36825 - 11905: 0xD5E2, - 36826 - 11905: 0xDE89, - 36827 - 11905: 0xBDF8, - 36828 - 11905: 0xD4B6, - 36829 - 11905: 0xCEA5, - 36830 - 11905: 0xC1AC, - 36831 - 11905: 0xB3D9, - 36832 - 11905: 0xDE8A, - 36833 - 11905: 0xDE8B, - 36834 - 11905: 0xCCF6, - 36835 - 11905: 0xDE8C, - 36836 - 11905: 0xE5C6, - 36837 - 11905: 0xE5C4, - 36838 - 11905: 0xE5C8, - 36839 - 11905: 0xDE8D, - 36840 - 11905: 0xE5CA, - 36841 - 11905: 0xE5C7, - 36842 - 11905: 0xB5CF, - 36843 - 11905: 0xC6C8, - 36844 - 11905: 0xDE8E, - 36845 - 11905: 0xB5FC, - 36846 - 11905: 0xE5C5, - 36847 - 11905: 0xDE8F, - 36848 - 11905: 0xCAF6, - 36849 - 11905: 0xDE90, - 36850 - 11905: 0xDE91, - 36851 - 11905: 0xE5C9, - 36852 - 11905: 0xDE92, - 36853 - 11905: 0xDE93, - 36854 - 11905: 0xDE94, - 36855 - 11905: 0xC3D4, - 36856 - 11905: 0xB1C5, - 36857 - 11905: 0xBCA3, - 36858 - 11905: 0xDE95, - 36859 - 11905: 0xDE96, - 36860 - 11905: 0xDE97, - 36861 - 11905: 0xD7B7, - 36862 - 11905: 0xDE98, - 36863 - 11905: 0xDE99, - 36864 - 11905: 0xCDCB, - 36865 - 11905: 0xCBCD, - 36866 - 11905: 0xCACA, - 36867 - 11905: 0xCCD3, - 36868 - 11905: 0xE5CC, - 36869 - 11905: 0xE5CB, - 36870 - 11905: 0xC4E6, - 36871 - 11905: 0xDE9A, - 36872 - 11905: 0xDE9B, - 36873 - 11905: 0xD1A1, - 36874 - 11905: 0xD1B7, - 36875 - 11905: 0xE5CD, - 36876 - 11905: 0xDE9C, - 36877 - 11905: 0xE5D0, - 36878 - 11905: 0xDE9D, - 36879 - 11905: 0xCDB8, - 36880 - 11905: 0xD6F0, - 36881 - 11905: 0xE5CF, - 36882 - 11905: 0xB5DD, - 36883 - 11905: 0xDE9E, - 36884 - 11905: 0xCDBE, - 36885 - 11905: 0xDE9F, - 36886 - 11905: 0xE5D1, - 36887 - 11905: 0xB6BA, - 36888 - 11905: 0xDEA0, - 36889 - 11905: 0xDF40, - 36890 - 11905: 0xCDA8, - 36891 - 11905: 0xB9E4, - 36892 - 11905: 0xDF41, - 36893 - 11905: 0xCAC5, - 36894 - 11905: 0xB3D1, - 36895 - 11905: 0xCBD9, - 36896 - 11905: 0xD4EC, - 36897 - 11905: 0xE5D2, - 36898 - 11905: 0xB7EA, - 36899 - 11905: 0xDF42, - 36900 - 11905: 0xDF43, - 36901 - 11905: 0xDF44, - 36902 - 11905: 0xE5CE, - 36903 - 11905: 0xDF45, - 36904 - 11905: 0xDF46, - 36905 - 11905: 0xDF47, - 36906 - 11905: 0xDF48, - 36907 - 11905: 0xDF49, - 36908 - 11905: 0xDF4A, - 36909 - 11905: 0xE5D5, - 36910 - 11905: 0xB4FE, - 36911 - 11905: 0xE5D6, - 36912 - 11905: 0xDF4B, - 36913 - 11905: 0xDF4C, - 36914 - 11905: 0xDF4D, - 36915 - 11905: 0xDF4E, - 36916 - 11905: 0xDF4F, - 36917 - 11905: 0xE5D3, - 36918 - 11905: 0xE5D4, - 36919 - 11905: 0xDF50, - 36920 - 11905: 0xD2DD, - 36921 - 11905: 0xDF51, - 36922 - 11905: 0xDF52, - 36923 - 11905: 0xC2DF, - 36924 - 11905: 0xB1C6, - 36925 - 11905: 0xDF53, - 36926 - 11905: 0xD3E2, - 36927 - 11905: 0xDF54, - 36928 - 11905: 0xDF55, - 36929 - 11905: 0xB6DD, - 36930 - 11905: 0xCBEC, - 36931 - 11905: 0xDF56, - 36932 - 11905: 0xE5D7, - 36933 - 11905: 0xDF57, - 36934 - 11905: 0xDF58, - 36935 - 11905: 0xD3F6, - 36936 - 11905: 0xDF59, - 36937 - 11905: 0xDF5A, - 36938 - 11905: 0xDF5B, - 36939 - 11905: 0xDF5C, - 36940 - 11905: 0xDF5D, - 36941 - 11905: 0xB1E9, - 36942 - 11905: 0xDF5E, - 36943 - 11905: 0xB6F4, - 36944 - 11905: 0xE5DA, - 36945 - 11905: 0xE5D8, - 36946 - 11905: 0xE5D9, - 36947 - 11905: 0xB5C0, - 36948 - 11905: 0xDF5F, - 36949 - 11905: 0xDF60, - 36950 - 11905: 0xDF61, - 36951 - 11905: 0xD2C5, - 36952 - 11905: 0xE5DC, - 36953 - 11905: 0xDF62, - 36954 - 11905: 0xDF63, - 36955 - 11905: 0xE5DE, - 36956 - 11905: 0xDF64, - 36957 - 11905: 0xDF65, - 36958 - 11905: 0xDF66, - 36959 - 11905: 0xDF67, - 36960 - 11905: 0xDF68, - 36961 - 11905: 0xDF69, - 36962 - 11905: 0xE5DD, - 36963 - 11905: 0xC7B2, - 36964 - 11905: 0xDF6A, - 36965 - 11905: 0xD2A3, - 36966 - 11905: 0xDF6B, - 36967 - 11905: 0xDF6C, - 36968 - 11905: 0xE5DB, - 36969 - 11905: 0xDF6D, - 36970 - 11905: 0xDF6E, - 36971 - 11905: 0xDF6F, - 36972 - 11905: 0xDF70, - 36973 - 11905: 0xD4E2, - 36974 - 11905: 0xD5DA, - 36975 - 11905: 0xDF71, - 36976 - 11905: 0xDF72, - 36977 - 11905: 0xDF73, - 36978 - 11905: 0xDF74, - 36979 - 11905: 0xDF75, - 36980 - 11905: 0xE5E0, - 36981 - 11905: 0xD7F1, - 36982 - 11905: 0xDF76, - 36983 - 11905: 0xDF77, - 36984 - 11905: 0xDF78, - 36985 - 11905: 0xDF79, - 36986 - 11905: 0xDF7A, - 36987 - 11905: 0xDF7B, - 36988 - 11905: 0xDF7C, - 36989 - 11905: 0xE5E1, - 36990 - 11905: 0xDF7D, - 36991 - 11905: 0xB1DC, - 36992 - 11905: 0xD1FB, - 36993 - 11905: 0xDF7E, - 36994 - 11905: 0xE5E2, - 36995 - 11905: 0xE5E4, - 36996 - 11905: 0xDF80, - 36997 - 11905: 0xDF81, - 36998 - 11905: 0xDF82, - 36999 - 11905: 0xDF83, - 37000 - 11905: 0xE5E3, - 37001 - 11905: 0xDF84, - 37002 - 11905: 0xDF85, - 37003 - 11905: 0xE5E5, - 37004 - 11905: 0xDF86, - 37005 - 11905: 0xDF87, - 37006 - 11905: 0xDF88, - 37007 - 11905: 0xDF89, - 37008 - 11905: 0xDF8A, - 37009 - 11905: 0xD2D8, - 37010 - 11905: 0xDF8B, - 37011 - 11905: 0xB5CB, - 37012 - 11905: 0xDF8C, - 37013 - 11905: 0xE7DF, - 37014 - 11905: 0xDF8D, - 37015 - 11905: 0xDAF5, - 37016 - 11905: 0xDF8E, - 37017 - 11905: 0xDAF8, - 37018 - 11905: 0xDF8F, - 37019 - 11905: 0xDAF6, - 37020 - 11905: 0xDF90, - 37021 - 11905: 0xDAF7, - 37022 - 11905: 0xDF91, - 37023 - 11905: 0xDF92, - 37024 - 11905: 0xDF93, - 37025 - 11905: 0xDAFA, - 37026 - 11905: 0xD0CF, - 37027 - 11905: 0xC4C7, - 37028 - 11905: 0xDF94, - 37029 - 11905: 0xDF95, - 37030 - 11905: 0xB0EE, - 37031 - 11905: 0xDF96, - 37032 - 11905: 0xDF97, - 37033 - 11905: 0xDF98, - 37034 - 11905: 0xD0B0, - 37035 - 11905: 0xDF99, - 37036 - 11905: 0xDAF9, - 37037 - 11905: 0xDF9A, - 37038 - 11905: 0xD3CA, - 37039 - 11905: 0xBAAA, - 37040 - 11905: 0xDBA2, - 37041 - 11905: 0xC7F1, - 37042 - 11905: 0xDF9B, - 37043 - 11905: 0xDAFC, - 37044 - 11905: 0xDAFB, - 37045 - 11905: 0xC9DB, - 37046 - 11905: 0xDAFD, - 37047 - 11905: 0xDF9C, - 37048 - 11905: 0xDBA1, - 37049 - 11905: 0xD7DE, - 37050 - 11905: 0xDAFE, - 37051 - 11905: 0xC1DA, - 37052 - 11905: 0xDF9D, - 37053 - 11905: 0xDF9E, - 37054 - 11905: 0xDBA5, - 37055 - 11905: 0xDF9F, - 37056 - 11905: 0xDFA0, - 37057 - 11905: 0xD3F4, - 37058 - 11905: 0xE040, - 37059 - 11905: 0xE041, - 37060 - 11905: 0xDBA7, - 37061 - 11905: 0xDBA4, - 37062 - 11905: 0xE042, - 37063 - 11905: 0xDBA8, - 37064 - 11905: 0xE043, - 37065 - 11905: 0xE044, - 37066 - 11905: 0xBDBC, - 37067 - 11905: 0xE045, - 37068 - 11905: 0xE046, - 37069 - 11905: 0xE047, - 37070 - 11905: 0xC0C9, - 37071 - 11905: 0xDBA3, - 37072 - 11905: 0xDBA6, - 37073 - 11905: 0xD6A3, - 37074 - 11905: 0xE048, - 37075 - 11905: 0xDBA9, - 37076 - 11905: 0xE049, - 37077 - 11905: 0xE04A, - 37078 - 11905: 0xE04B, - 37079 - 11905: 0xDBAD, - 37080 - 11905: 0xE04C, - 37081 - 11905: 0xE04D, - 37082 - 11905: 0xE04E, - 37083 - 11905: 0xDBAE, - 37084 - 11905: 0xDBAC, - 37085 - 11905: 0xBAC2, - 37086 - 11905: 0xE04F, - 37087 - 11905: 0xE050, - 37088 - 11905: 0xE051, - 37089 - 11905: 0xBFA4, - 37090 - 11905: 0xDBAB, - 37091 - 11905: 0xE052, - 37092 - 11905: 0xE053, - 37093 - 11905: 0xE054, - 37094 - 11905: 0xDBAA, - 37095 - 11905: 0xD4C7, - 37096 - 11905: 0xB2BF, - 37097 - 11905: 0xE055, - 37098 - 11905: 0xE056, - 37099 - 11905: 0xDBAF, - 37100 - 11905: 0xE057, - 37101 - 11905: 0xB9F9, - 37102 - 11905: 0xE058, - 37103 - 11905: 0xDBB0, - 37104 - 11905: 0xE059, - 37105 - 11905: 0xE05A, - 37106 - 11905: 0xE05B, - 37107 - 11905: 0xE05C, - 37108 - 11905: 0xB3BB, - 37109 - 11905: 0xE05D, - 37110 - 11905: 0xE05E, - 37111 - 11905: 0xE05F, - 37112 - 11905: 0xB5A6, - 37113 - 11905: 0xE060, - 37114 - 11905: 0xE061, - 37115 - 11905: 0xE062, - 37116 - 11905: 0xE063, - 37117 - 11905: 0xB6BC, - 37118 - 11905: 0xDBB1, - 37119 - 11905: 0xE064, - 37120 - 11905: 0xE065, - 37121 - 11905: 0xE066, - 37122 - 11905: 0xB6F5, - 37123 - 11905: 0xE067, - 37124 - 11905: 0xDBB2, - 37125 - 11905: 0xE068, - 37126 - 11905: 0xE069, - 37127 - 11905: 0xE06A, - 37128 - 11905: 0xE06B, - 37129 - 11905: 0xE06C, - 37130 - 11905: 0xE06D, - 37131 - 11905: 0xE06E, - 37132 - 11905: 0xE06F, - 37133 - 11905: 0xE070, - 37134 - 11905: 0xE071, - 37135 - 11905: 0xE072, - 37136 - 11905: 0xE073, - 37137 - 11905: 0xE074, - 37138 - 11905: 0xE075, - 37139 - 11905: 0xE076, - 37140 - 11905: 0xE077, - 37141 - 11905: 0xE078, - 37142 - 11905: 0xE079, - 37143 - 11905: 0xE07A, - 37144 - 11905: 0xE07B, - 37145 - 11905: 0xB1C9, - 37146 - 11905: 0xE07C, - 37147 - 11905: 0xE07D, - 37148 - 11905: 0xE07E, - 37149 - 11905: 0xE080, - 37150 - 11905: 0xDBB4, - 37151 - 11905: 0xE081, - 37152 - 11905: 0xE082, - 37153 - 11905: 0xE083, - 37154 - 11905: 0xDBB3, - 37155 - 11905: 0xDBB5, - 37156 - 11905: 0xE084, - 37157 - 11905: 0xE085, - 37158 - 11905: 0xE086, - 37159 - 11905: 0xE087, - 37160 - 11905: 0xE088, - 37161 - 11905: 0xE089, - 37162 - 11905: 0xE08A, - 37163 - 11905: 0xE08B, - 37164 - 11905: 0xE08C, - 37165 - 11905: 0xE08D, - 37166 - 11905: 0xE08E, - 37167 - 11905: 0xDBB7, - 37168 - 11905: 0xE08F, - 37169 - 11905: 0xDBB6, - 37170 - 11905: 0xE090, - 37171 - 11905: 0xE091, - 37172 - 11905: 0xE092, - 37173 - 11905: 0xE093, - 37174 - 11905: 0xE094, - 37175 - 11905: 0xE095, - 37176 - 11905: 0xE096, - 37177 - 11905: 0xDBB8, - 37178 - 11905: 0xE097, - 37179 - 11905: 0xE098, - 37180 - 11905: 0xE099, - 37181 - 11905: 0xE09A, - 37182 - 11905: 0xE09B, - 37183 - 11905: 0xE09C, - 37184 - 11905: 0xE09D, - 37185 - 11905: 0xE09E, - 37186 - 11905: 0xE09F, - 37187 - 11905: 0xDBB9, - 37188 - 11905: 0xE0A0, - 37189 - 11905: 0xE140, - 37190 - 11905: 0xDBBA, - 37191 - 11905: 0xE141, - 37192 - 11905: 0xE142, - 37193 - 11905: 0xD3CF, - 37194 - 11905: 0xF4FA, - 37195 - 11905: 0xC7F5, - 37196 - 11905: 0xD7C3, - 37197 - 11905: 0xC5E4, - 37198 - 11905: 0xF4FC, - 37199 - 11905: 0xF4FD, - 37200 - 11905: 0xF4FB, - 37201 - 11905: 0xE143, - 37202 - 11905: 0xBEC6, - 37203 - 11905: 0xE144, - 37204 - 11905: 0xE145, - 37205 - 11905: 0xE146, - 37206 - 11905: 0xE147, - 37207 - 11905: 0xD0EF, - 37208 - 11905: 0xE148, - 37209 - 11905: 0xE149, - 37210 - 11905: 0xB7D3, - 37211 - 11905: 0xE14A, - 37212 - 11905: 0xE14B, - 37213 - 11905: 0xD4CD, - 37214 - 11905: 0xCCAA, - 37215 - 11905: 0xE14C, - 37216 - 11905: 0xE14D, - 37217 - 11905: 0xF5A2, - 37218 - 11905: 0xF5A1, - 37219 - 11905: 0xBAA8, - 37220 - 11905: 0xF4FE, - 37221 - 11905: 0xCBD6, - 37222 - 11905: 0xE14E, - 37223 - 11905: 0xE14F, - 37224 - 11905: 0xE150, - 37225 - 11905: 0xF5A4, - 37226 - 11905: 0xC0D2, - 37227 - 11905: 0xE151, - 37228 - 11905: 0xB3EA, - 37229 - 11905: 0xE152, - 37230 - 11905: 0xCDAA, - 37231 - 11905: 0xF5A5, - 37232 - 11905: 0xF5A3, - 37233 - 11905: 0xBDB4, - 37234 - 11905: 0xF5A8, - 37235 - 11905: 0xE153, - 37236 - 11905: 0xF5A9, - 37237 - 11905: 0xBDCD, - 37238 - 11905: 0xC3B8, - 37239 - 11905: 0xBFE1, - 37240 - 11905: 0xCBE1, - 37241 - 11905: 0xF5AA, - 37242 - 11905: 0xE154, - 37243 - 11905: 0xE155, - 37244 - 11905: 0xE156, - 37245 - 11905: 0xF5A6, - 37246 - 11905: 0xF5A7, - 37247 - 11905: 0xC4F0, - 37248 - 11905: 0xE157, - 37249 - 11905: 0xE158, - 37250 - 11905: 0xE159, - 37251 - 11905: 0xE15A, - 37252 - 11905: 0xE15B, - 37253 - 11905: 0xF5AC, - 37254 - 11905: 0xE15C, - 37255 - 11905: 0xB4BC, - 37256 - 11905: 0xE15D, - 37257 - 11905: 0xD7ED, - 37258 - 11905: 0xE15E, - 37259 - 11905: 0xB4D7, - 37260 - 11905: 0xF5AB, - 37261 - 11905: 0xF5AE, - 37262 - 11905: 0xE15F, - 37263 - 11905: 0xE160, - 37264 - 11905: 0xF5AD, - 37265 - 11905: 0xF5AF, - 37266 - 11905: 0xD0D1, - 37267 - 11905: 0xE161, - 37268 - 11905: 0xE162, - 37269 - 11905: 0xE163, - 37270 - 11905: 0xE164, - 37271 - 11905: 0xE165, - 37272 - 11905: 0xE166, - 37273 - 11905: 0xE167, - 37274 - 11905: 0xC3D1, - 37275 - 11905: 0xC8A9, - 37276 - 11905: 0xE168, - 37277 - 11905: 0xE169, - 37278 - 11905: 0xE16A, - 37279 - 11905: 0xE16B, - 37280 - 11905: 0xE16C, - 37281 - 11905: 0xE16D, - 37282 - 11905: 0xF5B0, - 37283 - 11905: 0xF5B1, - 37284 - 11905: 0xE16E, - 37285 - 11905: 0xE16F, - 37286 - 11905: 0xE170, - 37287 - 11905: 0xE171, - 37288 - 11905: 0xE172, - 37289 - 11905: 0xE173, - 37290 - 11905: 0xF5B2, - 37291 - 11905: 0xE174, - 37292 - 11905: 0xE175, - 37293 - 11905: 0xF5B3, - 37294 - 11905: 0xF5B4, - 37295 - 11905: 0xF5B5, - 37296 - 11905: 0xE176, - 37297 - 11905: 0xE177, - 37298 - 11905: 0xE178, - 37299 - 11905: 0xE179, - 37300 - 11905: 0xF5B7, - 37301 - 11905: 0xF5B6, - 37302 - 11905: 0xE17A, - 37303 - 11905: 0xE17B, - 37304 - 11905: 0xE17C, - 37305 - 11905: 0xE17D, - 37306 - 11905: 0xF5B8, - 37307 - 11905: 0xE17E, - 37308 - 11905: 0xE180, - 37309 - 11905: 0xE181, - 37310 - 11905: 0xE182, - 37311 - 11905: 0xE183, - 37312 - 11905: 0xE184, - 37313 - 11905: 0xE185, - 37314 - 11905: 0xE186, - 37315 - 11905: 0xE187, - 37316 - 11905: 0xE188, - 37317 - 11905: 0xE189, - 37318 - 11905: 0xE18A, - 37319 - 11905: 0xB2C9, - 37320 - 11905: 0xE18B, - 37321 - 11905: 0xD3D4, - 37322 - 11905: 0xCACD, - 37323 - 11905: 0xE18C, - 37324 - 11905: 0xC0EF, - 37325 - 11905: 0xD6D8, - 37326 - 11905: 0xD2B0, - 37327 - 11905: 0xC1BF, - 37328 - 11905: 0xE18D, - 37329 - 11905: 0xBDF0, - 37330 - 11905: 0xE18E, - 37331 - 11905: 0xE18F, - 37332 - 11905: 0xE190, - 37333 - 11905: 0xE191, - 37334 - 11905: 0xE192, - 37335 - 11905: 0xE193, - 37336 - 11905: 0xE194, - 37337 - 11905: 0xE195, - 37338 - 11905: 0xE196, - 37339 - 11905: 0xE197, - 37340 - 11905: 0xB8AA, - 37341 - 11905: 0xE198, - 37342 - 11905: 0xE199, - 37343 - 11905: 0xE19A, - 37344 - 11905: 0xE19B, - 37345 - 11905: 0xE19C, - 37346 - 11905: 0xE19D, - 37347 - 11905: 0xE19E, - 37348 - 11905: 0xE19F, - 37349 - 11905: 0xE1A0, - 37350 - 11905: 0xE240, - 37351 - 11905: 0xE241, - 37352 - 11905: 0xE242, - 37353 - 11905: 0xE243, - 37354 - 11905: 0xE244, - 37355 - 11905: 0xE245, - 37356 - 11905: 0xE246, - 37357 - 11905: 0xE247, - 37358 - 11905: 0xE248, - 37359 - 11905: 0xE249, - 37360 - 11905: 0xE24A, - 37361 - 11905: 0xE24B, - 37362 - 11905: 0xE24C, - 37363 - 11905: 0xE24D, - 37364 - 11905: 0xE24E, - 37365 - 11905: 0xE24F, - 37366 - 11905: 0xE250, - 37367 - 11905: 0xE251, - 37368 - 11905: 0xE252, - 37369 - 11905: 0xE253, - 37370 - 11905: 0xE254, - 37371 - 11905: 0xE255, - 37372 - 11905: 0xE256, - 37373 - 11905: 0xE257, - 37374 - 11905: 0xE258, - 37375 - 11905: 0xE259, - 37376 - 11905: 0xE25A, - 37377 - 11905: 0xE25B, - 37378 - 11905: 0xE25C, - 37379 - 11905: 0xE25D, - 37380 - 11905: 0xE25E, - 37381 - 11905: 0xE25F, - 37382 - 11905: 0xE260, - 37383 - 11905: 0xE261, - 37384 - 11905: 0xE262, - 37385 - 11905: 0xE263, - 37386 - 11905: 0xE264, - 37387 - 11905: 0xE265, - 37388 - 11905: 0xE266, - 37389 - 11905: 0xE267, - 37390 - 11905: 0xE268, - 37391 - 11905: 0xE269, - 37392 - 11905: 0xE26A, - 37393 - 11905: 0xE26B, - 37394 - 11905: 0xE26C, - 37395 - 11905: 0xE26D, - 37396 - 11905: 0xE26E, - 37397 - 11905: 0xE26F, - 37398 - 11905: 0xE270, - 37399 - 11905: 0xE271, - 37400 - 11905: 0xE272, - 37401 - 11905: 0xE273, - 37402 - 11905: 0xE274, - 37403 - 11905: 0xE275, - 37404 - 11905: 0xE276, - 37405 - 11905: 0xE277, - 37406 - 11905: 0xE278, - 37407 - 11905: 0xE279, - 37408 - 11905: 0xE27A, - 37409 - 11905: 0xE27B, - 37410 - 11905: 0xE27C, - 37411 - 11905: 0xE27D, - 37412 - 11905: 0xE27E, - 37413 - 11905: 0xE280, - 37414 - 11905: 0xE281, - 37415 - 11905: 0xE282, - 37416 - 11905: 0xE283, - 37417 - 11905: 0xE284, - 37418 - 11905: 0xE285, - 37419 - 11905: 0xE286, - 37420 - 11905: 0xE287, - 37421 - 11905: 0xE288, - 37422 - 11905: 0xE289, - 37423 - 11905: 0xE28A, - 37424 - 11905: 0xE28B, - 37425 - 11905: 0xE28C, - 37426 - 11905: 0xE28D, - 37427 - 11905: 0xE28E, - 37428 - 11905: 0xE28F, - 37429 - 11905: 0xE290, - 37430 - 11905: 0xE291, - 37431 - 11905: 0xE292, - 37432 - 11905: 0xE293, - 37433 - 11905: 0xE294, - 37434 - 11905: 0xE295, - 37435 - 11905: 0xE296, - 37436 - 11905: 0xE297, - 37437 - 11905: 0xE298, - 37438 - 11905: 0xE299, - 37439 - 11905: 0xE29A, - 37440 - 11905: 0xE29B, - 37441 - 11905: 0xE29C, - 37442 - 11905: 0xE29D, - 37443 - 11905: 0xE29E, - 37444 - 11905: 0xE29F, - 37445 - 11905: 0xE2A0, - 37446 - 11905: 0xE340, - 37447 - 11905: 0xE341, - 37448 - 11905: 0xE342, - 37449 - 11905: 0xE343, - 37450 - 11905: 0xE344, - 37451 - 11905: 0xE345, - 37452 - 11905: 0xE346, - 37453 - 11905: 0xE347, - 37454 - 11905: 0xE348, - 37455 - 11905: 0xE349, - 37456 - 11905: 0xE34A, - 37457 - 11905: 0xE34B, - 37458 - 11905: 0xE34C, - 37459 - 11905: 0xE34D, - 37460 - 11905: 0xE34E, - 37461 - 11905: 0xE34F, - 37462 - 11905: 0xE350, - 37463 - 11905: 0xE351, - 37464 - 11905: 0xE352, - 37465 - 11905: 0xE353, - 37466 - 11905: 0xE354, - 37467 - 11905: 0xE355, - 37468 - 11905: 0xE356, - 37469 - 11905: 0xE357, - 37470 - 11905: 0xE358, - 37471 - 11905: 0xE359, - 37472 - 11905: 0xE35A, - 37473 - 11905: 0xE35B, - 37474 - 11905: 0xE35C, - 37475 - 11905: 0xE35D, - 37476 - 11905: 0xE35E, - 37477 - 11905: 0xE35F, - 37478 - 11905: 0xE360, - 37479 - 11905: 0xE361, - 37480 - 11905: 0xE362, - 37481 - 11905: 0xE363, - 37482 - 11905: 0xE364, - 37483 - 11905: 0xE365, - 37484 - 11905: 0xE366, - 37485 - 11905: 0xE367, - 37486 - 11905: 0xE368, - 37487 - 11905: 0xE369, - 37488 - 11905: 0xE36A, - 37489 - 11905: 0xE36B, - 37490 - 11905: 0xE36C, - 37491 - 11905: 0xE36D, - 37492 - 11905: 0xBCF8, - 37493 - 11905: 0xE36E, - 37494 - 11905: 0xE36F, - 37495 - 11905: 0xE370, - 37496 - 11905: 0xE371, - 37497 - 11905: 0xE372, - 37498 - 11905: 0xE373, - 37499 - 11905: 0xE374, - 37500 - 11905: 0xE375, - 37501 - 11905: 0xE376, - 37502 - 11905: 0xE377, - 37503 - 11905: 0xE378, - 37504 - 11905: 0xE379, - 37505 - 11905: 0xE37A, - 37506 - 11905: 0xE37B, - 37507 - 11905: 0xE37C, - 37508 - 11905: 0xE37D, - 37509 - 11905: 0xE37E, - 37510 - 11905: 0xE380, - 37511 - 11905: 0xE381, - 37512 - 11905: 0xE382, - 37513 - 11905: 0xE383, - 37514 - 11905: 0xE384, - 37515 - 11905: 0xE385, - 37516 - 11905: 0xE386, - 37517 - 11905: 0xE387, - 37518 - 11905: 0xF6C6, - 37519 - 11905: 0xE388, - 37520 - 11905: 0xE389, - 37521 - 11905: 0xE38A, - 37522 - 11905: 0xE38B, - 37523 - 11905: 0xE38C, - 37524 - 11905: 0xE38D, - 37525 - 11905: 0xE38E, - 37526 - 11905: 0xE38F, - 37527 - 11905: 0xE390, - 37528 - 11905: 0xE391, - 37529 - 11905: 0xE392, - 37530 - 11905: 0xE393, - 37531 - 11905: 0xE394, - 37532 - 11905: 0xE395, - 37533 - 11905: 0xE396, - 37534 - 11905: 0xE397, - 37535 - 11905: 0xE398, - 37536 - 11905: 0xE399, - 37537 - 11905: 0xE39A, - 37538 - 11905: 0xE39B, - 37539 - 11905: 0xE39C, - 37540 - 11905: 0xE39D, - 37541 - 11905: 0xE39E, - 37542 - 11905: 0xE39F, - 37543 - 11905: 0xE3A0, - 37544 - 11905: 0xE440, - 37545 - 11905: 0xE441, - 37546 - 11905: 0xE442, - 37547 - 11905: 0xE443, - 37548 - 11905: 0xE444, - 37549 - 11905: 0xE445, - 37550 - 11905: 0xF6C7, - 37551 - 11905: 0xE446, - 37552 - 11905: 0xE447, - 37553 - 11905: 0xE448, - 37554 - 11905: 0xE449, - 37555 - 11905: 0xE44A, - 37556 - 11905: 0xE44B, - 37557 - 11905: 0xE44C, - 37558 - 11905: 0xE44D, - 37559 - 11905: 0xE44E, - 37560 - 11905: 0xE44F, - 37561 - 11905: 0xE450, - 37562 - 11905: 0xE451, - 37563 - 11905: 0xE452, - 37564 - 11905: 0xE453, - 37565 - 11905: 0xE454, - 37566 - 11905: 0xE455, - 37567 - 11905: 0xE456, - 37568 - 11905: 0xE457, - 37569 - 11905: 0xE458, - 37570 - 11905: 0xE459, - 37571 - 11905: 0xE45A, - 37572 - 11905: 0xE45B, - 37573 - 11905: 0xE45C, - 37574 - 11905: 0xE45D, - 37575 - 11905: 0xE45E, - 37576 - 11905: 0xF6C8, - 37577 - 11905: 0xE45F, - 37578 - 11905: 0xE460, - 37579 - 11905: 0xE461, - 37580 - 11905: 0xE462, - 37581 - 11905: 0xE463, - 37582 - 11905: 0xE464, - 37583 - 11905: 0xE465, - 37584 - 11905: 0xE466, - 37585 - 11905: 0xE467, - 37586 - 11905: 0xE468, - 37587 - 11905: 0xE469, - 37588 - 11905: 0xE46A, - 37589 - 11905: 0xE46B, - 37590 - 11905: 0xE46C, - 37591 - 11905: 0xE46D, - 37592 - 11905: 0xE46E, - 37593 - 11905: 0xE46F, - 37594 - 11905: 0xE470, - 37595 - 11905: 0xE471, - 37596 - 11905: 0xE472, - 37597 - 11905: 0xE473, - 37598 - 11905: 0xE474, - 37599 - 11905: 0xE475, - 37600 - 11905: 0xE476, - 37601 - 11905: 0xE477, - 37602 - 11905: 0xE478, - 37603 - 11905: 0xE479, - 37604 - 11905: 0xE47A, - 37605 - 11905: 0xE47B, - 37606 - 11905: 0xE47C, - 37607 - 11905: 0xE47D, - 37608 - 11905: 0xE47E, - 37609 - 11905: 0xE480, - 37610 - 11905: 0xE481, - 37611 - 11905: 0xE482, - 37612 - 11905: 0xE483, - 37613 - 11905: 0xE484, - 37614 - 11905: 0xE485, - 37615 - 11905: 0xE486, - 37616 - 11905: 0xE487, - 37617 - 11905: 0xE488, - 37618 - 11905: 0xE489, - 37619 - 11905: 0xE48A, - 37620 - 11905: 0xE48B, - 37621 - 11905: 0xE48C, - 37622 - 11905: 0xE48D, - 37623 - 11905: 0xE48E, - 37624 - 11905: 0xE48F, - 37625 - 11905: 0xE490, - 37626 - 11905: 0xE491, - 37627 - 11905: 0xE492, - 37628 - 11905: 0xE493, - 37629 - 11905: 0xE494, - 37630 - 11905: 0xE495, - 37631 - 11905: 0xE496, - 37632 - 11905: 0xE497, - 37633 - 11905: 0xE498, - 37634 - 11905: 0xE499, - 37635 - 11905: 0xE49A, - 37636 - 11905: 0xE49B, - 37637 - 11905: 0xE49C, - 37638 - 11905: 0xE49D, - 37639 - 11905: 0xE49E, - 37640 - 11905: 0xE49F, - 37641 - 11905: 0xE4A0, - 37642 - 11905: 0xE540, - 37643 - 11905: 0xE541, - 37644 - 11905: 0xE542, - 37645 - 11905: 0xE543, - 37646 - 11905: 0xE544, - 37647 - 11905: 0xE545, - 37648 - 11905: 0xE546, - 37649 - 11905: 0xE547, - 37650 - 11905: 0xE548, - 37651 - 11905: 0xE549, - 37652 - 11905: 0xE54A, - 37653 - 11905: 0xE54B, - 37654 - 11905: 0xE54C, - 37655 - 11905: 0xE54D, - 37656 - 11905: 0xE54E, - 37657 - 11905: 0xE54F, - 37658 - 11905: 0xE550, - 37659 - 11905: 0xE551, - 37660 - 11905: 0xE552, - 37661 - 11905: 0xE553, - 37662 - 11905: 0xE554, - 37663 - 11905: 0xE555, - 37664 - 11905: 0xE556, - 37665 - 11905: 0xE557, - 37666 - 11905: 0xE558, - 37667 - 11905: 0xE559, - 37668 - 11905: 0xE55A, - 37669 - 11905: 0xE55B, - 37670 - 11905: 0xE55C, - 37671 - 11905: 0xE55D, - 37672 - 11905: 0xE55E, - 37673 - 11905: 0xE55F, - 37674 - 11905: 0xE560, - 37675 - 11905: 0xE561, - 37676 - 11905: 0xE562, - 37677 - 11905: 0xE563, - 37678 - 11905: 0xE564, - 37679 - 11905: 0xE565, - 37680 - 11905: 0xE566, - 37681 - 11905: 0xE567, - 37682 - 11905: 0xE568, - 37683 - 11905: 0xE569, - 37684 - 11905: 0xE56A, - 37685 - 11905: 0xE56B, - 37686 - 11905: 0xE56C, - 37687 - 11905: 0xE56D, - 37688 - 11905: 0xE56E, - 37689 - 11905: 0xE56F, - 37690 - 11905: 0xE570, - 37691 - 11905: 0xE571, - 37692 - 11905: 0xE572, - 37693 - 11905: 0xE573, - 37694 - 11905: 0xF6C9, - 37695 - 11905: 0xE574, - 37696 - 11905: 0xE575, - 37697 - 11905: 0xE576, - 37698 - 11905: 0xE577, - 37699 - 11905: 0xE578, - 37700 - 11905: 0xE579, - 37701 - 11905: 0xE57A, - 37702 - 11905: 0xE57B, - 37703 - 11905: 0xE57C, - 37704 - 11905: 0xE57D, - 37705 - 11905: 0xE57E, - 37706 - 11905: 0xE580, - 37707 - 11905: 0xE581, - 37708 - 11905: 0xE582, - 37709 - 11905: 0xE583, - 37710 - 11905: 0xE584, - 37711 - 11905: 0xE585, - 37712 - 11905: 0xE586, - 37713 - 11905: 0xE587, - 37714 - 11905: 0xE588, - 37715 - 11905: 0xE589, - 37716 - 11905: 0xE58A, - 37717 - 11905: 0xE58B, - 37718 - 11905: 0xE58C, - 37719 - 11905: 0xE58D, - 37720 - 11905: 0xE58E, - 37721 - 11905: 0xE58F, - 37722 - 11905: 0xE590, - 37723 - 11905: 0xE591, - 37724 - 11905: 0xE592, - 37725 - 11905: 0xE593, - 37726 - 11905: 0xE594, - 37727 - 11905: 0xE595, - 37728 - 11905: 0xE596, - 37729 - 11905: 0xE597, - 37730 - 11905: 0xE598, - 37731 - 11905: 0xE599, - 37732 - 11905: 0xE59A, - 37733 - 11905: 0xE59B, - 37734 - 11905: 0xE59C, - 37735 - 11905: 0xE59D, - 37736 - 11905: 0xE59E, - 37737 - 11905: 0xE59F, - 37738 - 11905: 0xF6CA, - 37739 - 11905: 0xE5A0, - 37740 - 11905: 0xE640, - 37741 - 11905: 0xE641, - 37742 - 11905: 0xE642, - 37743 - 11905: 0xE643, - 37744 - 11905: 0xE644, - 37745 - 11905: 0xE645, - 37746 - 11905: 0xE646, - 37747 - 11905: 0xE647, - 37748 - 11905: 0xE648, - 37749 - 11905: 0xE649, - 37750 - 11905: 0xE64A, - 37751 - 11905: 0xE64B, - 37752 - 11905: 0xE64C, - 37753 - 11905: 0xE64D, - 37754 - 11905: 0xE64E, - 37755 - 11905: 0xE64F, - 37756 - 11905: 0xE650, - 37757 - 11905: 0xE651, - 37758 - 11905: 0xE652, - 37759 - 11905: 0xE653, - 37760 - 11905: 0xE654, - 37761 - 11905: 0xE655, - 37762 - 11905: 0xE656, - 37763 - 11905: 0xE657, - 37764 - 11905: 0xE658, - 37765 - 11905: 0xE659, - 37766 - 11905: 0xE65A, - 37767 - 11905: 0xE65B, - 37768 - 11905: 0xE65C, - 37769 - 11905: 0xE65D, - 37770 - 11905: 0xE65E, - 37771 - 11905: 0xE65F, - 37772 - 11905: 0xE660, - 37773 - 11905: 0xE661, - 37774 - 11905: 0xE662, - 37775 - 11905: 0xF6CC, - 37776 - 11905: 0xE663, - 37777 - 11905: 0xE664, - 37778 - 11905: 0xE665, - 37779 - 11905: 0xE666, - 37780 - 11905: 0xE667, - 37781 - 11905: 0xE668, - 37782 - 11905: 0xE669, - 37783 - 11905: 0xE66A, - 37784 - 11905: 0xE66B, - 37785 - 11905: 0xE66C, - 37786 - 11905: 0xE66D, - 37787 - 11905: 0xE66E, - 37788 - 11905: 0xE66F, - 37789 - 11905: 0xE670, - 37790 - 11905: 0xE671, - 37791 - 11905: 0xE672, - 37792 - 11905: 0xE673, - 37793 - 11905: 0xE674, - 37794 - 11905: 0xE675, - 37795 - 11905: 0xE676, - 37796 - 11905: 0xE677, - 37797 - 11905: 0xE678, - 37798 - 11905: 0xE679, - 37799 - 11905: 0xE67A, - 37800 - 11905: 0xE67B, - 37801 - 11905: 0xE67C, - 37802 - 11905: 0xE67D, - 37803 - 11905: 0xE67E, - 37804 - 11905: 0xE680, - 37805 - 11905: 0xE681, - 37806 - 11905: 0xE682, - 37807 - 11905: 0xE683, - 37808 - 11905: 0xE684, - 37809 - 11905: 0xE685, - 37810 - 11905: 0xE686, - 37811 - 11905: 0xE687, - 37812 - 11905: 0xE688, - 37813 - 11905: 0xE689, - 37814 - 11905: 0xE68A, - 37815 - 11905: 0xE68B, - 37816 - 11905: 0xE68C, - 37817 - 11905: 0xE68D, - 37818 - 11905: 0xE68E, - 37819 - 11905: 0xE68F, - 37820 - 11905: 0xE690, - 37821 - 11905: 0xE691, - 37822 - 11905: 0xE692, - 37823 - 11905: 0xE693, - 37824 - 11905: 0xE694, - 37825 - 11905: 0xE695, - 37826 - 11905: 0xE696, - 37827 - 11905: 0xE697, - 37828 - 11905: 0xE698, - 37829 - 11905: 0xE699, - 37830 - 11905: 0xE69A, - 37831 - 11905: 0xE69B, - 37832 - 11905: 0xE69C, - 37833 - 11905: 0xE69D, - 37834 - 11905: 0xF6CB, - 37835 - 11905: 0xE69E, - 37836 - 11905: 0xE69F, - 37837 - 11905: 0xE6A0, - 37838 - 11905: 0xE740, - 37839 - 11905: 0xE741, - 37840 - 11905: 0xE742, - 37841 - 11905: 0xE743, - 37842 - 11905: 0xE744, - 37843 - 11905: 0xE745, - 37844 - 11905: 0xE746, - 37845 - 11905: 0xE747, - 37846 - 11905: 0xF7E9, - 37847 - 11905: 0xE748, - 37848 - 11905: 0xE749, - 37849 - 11905: 0xE74A, - 37850 - 11905: 0xE74B, - 37851 - 11905: 0xE74C, - 37852 - 11905: 0xE74D, - 37853 - 11905: 0xE74E, - 37854 - 11905: 0xE74F, - 37855 - 11905: 0xE750, - 37856 - 11905: 0xE751, - 37857 - 11905: 0xE752, - 37858 - 11905: 0xE753, - 37859 - 11905: 0xE754, - 37860 - 11905: 0xE755, - 37861 - 11905: 0xE756, - 37862 - 11905: 0xE757, - 37863 - 11905: 0xE758, - 37864 - 11905: 0xE759, - 37865 - 11905: 0xE75A, - 37866 - 11905: 0xE75B, - 37867 - 11905: 0xE75C, - 37868 - 11905: 0xE75D, - 37869 - 11905: 0xE75E, - 37870 - 11905: 0xE75F, - 37871 - 11905: 0xE760, - 37872 - 11905: 0xE761, - 37873 - 11905: 0xE762, - 37874 - 11905: 0xE763, - 37875 - 11905: 0xE764, - 37876 - 11905: 0xE765, - 37877 - 11905: 0xE766, - 37878 - 11905: 0xE767, - 37879 - 11905: 0xE768, - 37880 - 11905: 0xE769, - 37881 - 11905: 0xE76A, - 37882 - 11905: 0xE76B, - 37883 - 11905: 0xE76C, - 37884 - 11905: 0xE76D, - 37885 - 11905: 0xE76E, - 37886 - 11905: 0xE76F, - 37887 - 11905: 0xE770, - 37888 - 11905: 0xE771, - 37889 - 11905: 0xE772, - 37890 - 11905: 0xE773, - 37891 - 11905: 0xE774, - 37892 - 11905: 0xE775, - 37893 - 11905: 0xE776, - 37894 - 11905: 0xE777, - 37895 - 11905: 0xE778, - 37896 - 11905: 0xE779, - 37897 - 11905: 0xE77A, - 37898 - 11905: 0xE77B, - 37899 - 11905: 0xE77C, - 37900 - 11905: 0xE77D, - 37901 - 11905: 0xE77E, - 37902 - 11905: 0xE780, - 37903 - 11905: 0xE781, - 37904 - 11905: 0xE782, - 37905 - 11905: 0xE783, - 37906 - 11905: 0xE784, - 37907 - 11905: 0xE785, - 37908 - 11905: 0xE786, - 37909 - 11905: 0xE787, - 37910 - 11905: 0xE788, - 37911 - 11905: 0xE789, - 37912 - 11905: 0xE78A, - 37913 - 11905: 0xE78B, - 37914 - 11905: 0xE78C, - 37915 - 11905: 0xE78D, - 37916 - 11905: 0xE78E, - 37917 - 11905: 0xE78F, - 37918 - 11905: 0xE790, - 37919 - 11905: 0xE791, - 37920 - 11905: 0xE792, - 37921 - 11905: 0xE793, - 37922 - 11905: 0xE794, - 37923 - 11905: 0xE795, - 37924 - 11905: 0xE796, - 37925 - 11905: 0xE797, - 37926 - 11905: 0xE798, - 37927 - 11905: 0xE799, - 37928 - 11905: 0xE79A, - 37929 - 11905: 0xE79B, - 37930 - 11905: 0xE79C, - 37931 - 11905: 0xE79D, - 37932 - 11905: 0xE79E, - 37933 - 11905: 0xE79F, - 37934 - 11905: 0xE7A0, - 37935 - 11905: 0xE840, - 37936 - 11905: 0xE841, - 37937 - 11905: 0xE842, - 37938 - 11905: 0xE843, - 37939 - 11905: 0xE844, - 37940 - 11905: 0xE845, - 37941 - 11905: 0xE846, - 37942 - 11905: 0xE847, - 37943 - 11905: 0xE848, - 37944 - 11905: 0xE849, - 37945 - 11905: 0xE84A, - 37946 - 11905: 0xE84B, - 37947 - 11905: 0xE84C, - 37948 - 11905: 0xE84D, - 37949 - 11905: 0xE84E, - 37950 - 11905: 0xF6CD, - 37951 - 11905: 0xE84F, - 37952 - 11905: 0xE850, - 37953 - 11905: 0xE851, - 37954 - 11905: 0xE852, - 37955 - 11905: 0xE853, - 37956 - 11905: 0xE854, - 37957 - 11905: 0xE855, - 37958 - 11905: 0xE856, - 37959 - 11905: 0xE857, - 37960 - 11905: 0xE858, - 37961 - 11905: 0xE859, - 37962 - 11905: 0xE85A, - 37963 - 11905: 0xE85B, - 37964 - 11905: 0xE85C, - 37965 - 11905: 0xE85D, - 37966 - 11905: 0xE85E, - 37967 - 11905: 0xE85F, - 37968 - 11905: 0xE860, - 37969 - 11905: 0xE861, - 37970 - 11905: 0xE862, - 37971 - 11905: 0xE863, - 37972 - 11905: 0xE864, - 37973 - 11905: 0xE865, - 37974 - 11905: 0xE866, - 37975 - 11905: 0xE867, - 37976 - 11905: 0xE868, - 37977 - 11905: 0xE869, - 37978 - 11905: 0xE86A, - 37979 - 11905: 0xE86B, - 37980 - 11905: 0xE86C, - 37981 - 11905: 0xE86D, - 37982 - 11905: 0xE86E, - 37983 - 11905: 0xE86F, - 37984 - 11905: 0xE870, - 37985 - 11905: 0xE871, - 37986 - 11905: 0xE872, - 37987 - 11905: 0xE873, - 37988 - 11905: 0xE874, - 37989 - 11905: 0xE875, - 37990 - 11905: 0xE876, - 37991 - 11905: 0xE877, - 37992 - 11905: 0xE878, - 37993 - 11905: 0xE879, - 37994 - 11905: 0xE87A, - 37995 - 11905: 0xF6CE, - 37996 - 11905: 0xE87B, - 37997 - 11905: 0xE87C, - 37998 - 11905: 0xE87D, - 37999 - 11905: 0xE87E, - 38000 - 11905: 0xE880, - 38001 - 11905: 0xE881, - 38002 - 11905: 0xE882, - 38003 - 11905: 0xE883, - 38004 - 11905: 0xE884, - 38005 - 11905: 0xE885, - 38006 - 11905: 0xE886, - 38007 - 11905: 0xE887, - 38008 - 11905: 0xE888, - 38009 - 11905: 0xE889, - 38010 - 11905: 0xE88A, - 38011 - 11905: 0xE88B, - 38012 - 11905: 0xE88C, - 38013 - 11905: 0xE88D, - 38014 - 11905: 0xE88E, - 38015 - 11905: 0xE88F, - 38016 - 11905: 0xE890, - 38017 - 11905: 0xE891, - 38018 - 11905: 0xE892, - 38019 - 11905: 0xE893, - 38020 - 11905: 0xE894, - 38021 - 11905: 0xEEC4, - 38022 - 11905: 0xEEC5, - 38023 - 11905: 0xEEC6, - 38024 - 11905: 0xD5EB, - 38025 - 11905: 0xB6A4, - 38026 - 11905: 0xEEC8, - 38027 - 11905: 0xEEC7, - 38028 - 11905: 0xEEC9, - 38029 - 11905: 0xEECA, - 38030 - 11905: 0xC7A5, - 38031 - 11905: 0xEECB, - 38032 - 11905: 0xEECC, - 38033 - 11905: 0xE895, - 38034 - 11905: 0xB7B0, - 38035 - 11905: 0xB5F6, - 38036 - 11905: 0xEECD, - 38037 - 11905: 0xEECF, - 38038 - 11905: 0xE896, - 38039 - 11905: 0xEECE, - 38040 - 11905: 0xE897, - 38041 - 11905: 0xB8C6, - 38042 - 11905: 0xEED0, - 38043 - 11905: 0xEED1, - 38044 - 11905: 0xEED2, - 38045 - 11905: 0xB6DB, - 38046 - 11905: 0xB3AE, - 38047 - 11905: 0xD6D3, - 38048 - 11905: 0xC4C6, - 38049 - 11905: 0xB1B5, - 38050 - 11905: 0xB8D6, - 38051 - 11905: 0xEED3, - 38052 - 11905: 0xEED4, - 38053 - 11905: 0xD4BF, - 38054 - 11905: 0xC7D5, - 38055 - 11905: 0xBEFB, - 38056 - 11905: 0xCED9, - 38057 - 11905: 0xB9B3, - 38058 - 11905: 0xEED6, - 38059 - 11905: 0xEED5, - 38060 - 11905: 0xEED8, - 38061 - 11905: 0xEED7, - 38062 - 11905: 0xC5A5, - 38063 - 11905: 0xEED9, - 38064 - 11905: 0xEEDA, - 38065 - 11905: 0xC7AE, - 38066 - 11905: 0xEEDB, - 38067 - 11905: 0xC7AF, - 38068 - 11905: 0xEEDC, - 38069 - 11905: 0xB2A7, - 38070 - 11905: 0xEEDD, - 38071 - 11905: 0xEEDE, - 38072 - 11905: 0xEEDF, - 38073 - 11905: 0xEEE0, - 38074 - 11905: 0xEEE1, - 38075 - 11905: 0xD7EA, - 38076 - 11905: 0xEEE2, - 38077 - 11905: 0xEEE3, - 38078 - 11905: 0xBCD8, - 38079 - 11905: 0xEEE4, - 38080 - 11905: 0xD3CB, - 38081 - 11905: 0xCCFA, - 38082 - 11905: 0xB2AC, - 38083 - 11905: 0xC1E5, - 38084 - 11905: 0xEEE5, - 38085 - 11905: 0xC7A6, - 38086 - 11905: 0xC3AD, - 38087 - 11905: 0xE898, - 38088 - 11905: 0xEEE6, - 38089 - 11905: 0xEEE7, - 38090 - 11905: 0xEEE8, - 38091 - 11905: 0xEEE9, - 38092 - 11905: 0xEEEA, - 38093 - 11905: 0xEEEB, - 38094 - 11905: 0xEEEC, - 38095 - 11905: 0xE899, - 38096 - 11905: 0xEEED, - 38097 - 11905: 0xEEEE, - 38098 - 11905: 0xEEEF, - 38099 - 11905: 0xE89A, - 38100 - 11905: 0xE89B, - 38101 - 11905: 0xEEF0, - 38102 - 11905: 0xEEF1, - 38103 - 11905: 0xEEF2, - 38104 - 11905: 0xEEF4, - 38105 - 11905: 0xEEF3, - 38106 - 11905: 0xE89C, - 38107 - 11905: 0xEEF5, - 38108 - 11905: 0xCDAD, - 38109 - 11905: 0xC2C1, - 38110 - 11905: 0xEEF6, - 38111 - 11905: 0xEEF7, - 38112 - 11905: 0xEEF8, - 38113 - 11905: 0xD5A1, - 38114 - 11905: 0xEEF9, - 38115 - 11905: 0xCFB3, - 38116 - 11905: 0xEEFA, - 38117 - 11905: 0xEEFB, - 38118 - 11905: 0xE89D, - 38119 - 11905: 0xEEFC, - 38120 - 11905: 0xEEFD, - 38121 - 11905: 0xEFA1, - 38122 - 11905: 0xEEFE, - 38123 - 11905: 0xEFA2, - 38124 - 11905: 0xB8F5, - 38125 - 11905: 0xC3FA, - 38126 - 11905: 0xEFA3, - 38127 - 11905: 0xEFA4, - 38128 - 11905: 0xBDC2, - 38129 - 11905: 0xD2BF, - 38130 - 11905: 0xB2F9, - 38131 - 11905: 0xEFA5, - 38132 - 11905: 0xEFA6, - 38133 - 11905: 0xEFA7, - 38134 - 11905: 0xD2F8, - 38135 - 11905: 0xEFA8, - 38136 - 11905: 0xD6FD, - 38137 - 11905: 0xEFA9, - 38138 - 11905: 0xC6CC, - 38139 - 11905: 0xE89E, - 38140 - 11905: 0xEFAA, - 38141 - 11905: 0xEFAB, - 38142 - 11905: 0xC1B4, - 38143 - 11905: 0xEFAC, - 38144 - 11905: 0xCFFA, - 38145 - 11905: 0xCBF8, - 38146 - 11905: 0xEFAE, - 38147 - 11905: 0xEFAD, - 38148 - 11905: 0xB3FA, - 38149 - 11905: 0xB9F8, - 38150 - 11905: 0xEFAF, - 38151 - 11905: 0xEFB0, - 38152 - 11905: 0xD0E2, - 38153 - 11905: 0xEFB1, - 38154 - 11905: 0xEFB2, - 38155 - 11905: 0xB7E6, - 38156 - 11905: 0xD0BF, - 38157 - 11905: 0xEFB3, - 38158 - 11905: 0xEFB4, - 38159 - 11905: 0xEFB5, - 38160 - 11905: 0xC8F1, - 38161 - 11905: 0xCCE0, - 38162 - 11905: 0xEFB6, - 38163 - 11905: 0xEFB7, - 38164 - 11905: 0xEFB8, - 38165 - 11905: 0xEFB9, - 38166 - 11905: 0xEFBA, - 38167 - 11905: 0xD5E0, - 38168 - 11905: 0xEFBB, - 38169 - 11905: 0xB4ED, - 38170 - 11905: 0xC3AA, - 38171 - 11905: 0xEFBC, - 38172 - 11905: 0xE89F, - 38173 - 11905: 0xEFBD, - 38174 - 11905: 0xEFBE, - 38175 - 11905: 0xEFBF, - 38176 - 11905: 0xE8A0, - 38177 - 11905: 0xCEFD, - 38178 - 11905: 0xEFC0, - 38179 - 11905: 0xC2E0, - 38180 - 11905: 0xB4B8, - 38181 - 11905: 0xD7B6, - 38182 - 11905: 0xBDF5, - 38183 - 11905: 0xE940, - 38184 - 11905: 0xCFC7, - 38185 - 11905: 0xEFC3, - 38186 - 11905: 0xEFC1, - 38187 - 11905: 0xEFC2, - 38188 - 11905: 0xEFC4, - 38189 - 11905: 0xB6A7, - 38190 - 11905: 0xBCFC, - 38191 - 11905: 0xBEE2, - 38192 - 11905: 0xC3CC, - 38193 - 11905: 0xEFC5, - 38194 - 11905: 0xEFC6, - 38195 - 11905: 0xE941, - 38196 - 11905: 0xEFC7, - 38197 - 11905: 0xEFCF, - 38198 - 11905: 0xEFC8, - 38199 - 11905: 0xEFC9, - 38200 - 11905: 0xEFCA, - 38201 - 11905: 0xC7C2, - 38202 - 11905: 0xEFF1, - 38203 - 11905: 0xB6CD, - 38204 - 11905: 0xEFCB, - 38205 - 11905: 0xE942, - 38206 - 11905: 0xEFCC, - 38207 - 11905: 0xEFCD, - 38208 - 11905: 0xB6C6, - 38209 - 11905: 0xC3BE, - 38210 - 11905: 0xEFCE, - 38211 - 11905: 0xE943, - 38212 - 11905: 0xEFD0, - 38213 - 11905: 0xEFD1, - 38214 - 11905: 0xEFD2, - 38215 - 11905: 0xD5F2, - 38216 - 11905: 0xE944, - 38217 - 11905: 0xEFD3, - 38218 - 11905: 0xC4F7, - 38219 - 11905: 0xE945, - 38220 - 11905: 0xEFD4, - 38221 - 11905: 0xC4F8, - 38222 - 11905: 0xEFD5, - 38223 - 11905: 0xEFD6, - 38224 - 11905: 0xB8E4, - 38225 - 11905: 0xB0F7, - 38226 - 11905: 0xEFD7, - 38227 - 11905: 0xEFD8, - 38228 - 11905: 0xEFD9, - 38229 - 11905: 0xE946, - 38230 - 11905: 0xEFDA, - 38231 - 11905: 0xEFDB, - 38232 - 11905: 0xEFDC, - 38233 - 11905: 0xEFDD, - 38234 - 11905: 0xE947, - 38235 - 11905: 0xEFDE, - 38236 - 11905: 0xBEB5, - 38237 - 11905: 0xEFE1, - 38238 - 11905: 0xEFDF, - 38239 - 11905: 0xEFE0, - 38240 - 11905: 0xE948, - 38241 - 11905: 0xEFE2, - 38242 - 11905: 0xEFE3, - 38243 - 11905: 0xC1CD, - 38244 - 11905: 0xEFE4, - 38245 - 11905: 0xEFE5, - 38246 - 11905: 0xEFE6, - 38247 - 11905: 0xEFE7, - 38248 - 11905: 0xEFE8, - 38249 - 11905: 0xEFE9, - 38250 - 11905: 0xEFEA, - 38251 - 11905: 0xEFEB, - 38252 - 11905: 0xEFEC, - 38253 - 11905: 0xC0D8, - 38254 - 11905: 0xE949, - 38255 - 11905: 0xEFED, - 38256 - 11905: 0xC1AD, - 38257 - 11905: 0xEFEE, - 38258 - 11905: 0xEFEF, - 38259 - 11905: 0xEFF0, - 38260 - 11905: 0xE94A, - 38261 - 11905: 0xE94B, - 38262 - 11905: 0xCFE2, - 38263 - 11905: 0xE94C, - 38264 - 11905: 0xE94D, - 38265 - 11905: 0xE94E, - 38266 - 11905: 0xE94F, - 38267 - 11905: 0xE950, - 38268 - 11905: 0xE951, - 38269 - 11905: 0xE952, - 38270 - 11905: 0xE953, - 38271 - 11905: 0xB3A4, - 38272 - 11905: 0xE954, - 38273 - 11905: 0xE955, - 38274 - 11905: 0xE956, - 38275 - 11905: 0xE957, - 38276 - 11905: 0xE958, - 38277 - 11905: 0xE959, - 38278 - 11905: 0xE95A, - 38279 - 11905: 0xE95B, - 38280 - 11905: 0xE95C, - 38281 - 11905: 0xE95D, - 38282 - 11905: 0xE95E, - 38283 - 11905: 0xE95F, - 38284 - 11905: 0xE960, - 38285 - 11905: 0xE961, - 38286 - 11905: 0xE962, - 38287 - 11905: 0xE963, - 38288 - 11905: 0xE964, - 38289 - 11905: 0xE965, - 38290 - 11905: 0xE966, - 38291 - 11905: 0xE967, - 38292 - 11905: 0xE968, - 38293 - 11905: 0xE969, - 38294 - 11905: 0xE96A, - 38295 - 11905: 0xE96B, - 38296 - 11905: 0xE96C, - 38297 - 11905: 0xE96D, - 38298 - 11905: 0xE96E, - 38299 - 11905: 0xE96F, - 38300 - 11905: 0xE970, - 38301 - 11905: 0xE971, - 38302 - 11905: 0xE972, - 38303 - 11905: 0xE973, - 38304 - 11905: 0xE974, - 38305 - 11905: 0xE975, - 38306 - 11905: 0xE976, - 38307 - 11905: 0xE977, - 38308 - 11905: 0xE978, - 38309 - 11905: 0xE979, - 38310 - 11905: 0xE97A, - 38311 - 11905: 0xE97B, - 38312 - 11905: 0xE97C, - 38313 - 11905: 0xE97D, - 38314 - 11905: 0xE97E, - 38315 - 11905: 0xE980, - 38316 - 11905: 0xE981, - 38317 - 11905: 0xE982, - 38318 - 11905: 0xE983, - 38319 - 11905: 0xE984, - 38320 - 11905: 0xE985, - 38321 - 11905: 0xE986, - 38322 - 11905: 0xE987, - 38323 - 11905: 0xE988, - 38324 - 11905: 0xE989, - 38325 - 11905: 0xE98A, - 38326 - 11905: 0xE98B, - 38327 - 11905: 0xE98C, - 38328 - 11905: 0xE98D, - 38329 - 11905: 0xE98E, - 38330 - 11905: 0xE98F, - 38331 - 11905: 0xE990, - 38332 - 11905: 0xE991, - 38333 - 11905: 0xE992, - 38334 - 11905: 0xE993, - 38335 - 11905: 0xE994, - 38336 - 11905: 0xE995, - 38337 - 11905: 0xE996, - 38338 - 11905: 0xE997, - 38339 - 11905: 0xE998, - 38340 - 11905: 0xE999, - 38341 - 11905: 0xE99A, - 38342 - 11905: 0xE99B, - 38343 - 11905: 0xE99C, - 38344 - 11905: 0xE99D, - 38345 - 11905: 0xE99E, - 38346 - 11905: 0xE99F, - 38347 - 11905: 0xE9A0, - 38348 - 11905: 0xEA40, - 38349 - 11905: 0xEA41, - 38350 - 11905: 0xEA42, - 38351 - 11905: 0xEA43, - 38352 - 11905: 0xEA44, - 38353 - 11905: 0xEA45, - 38354 - 11905: 0xEA46, - 38355 - 11905: 0xEA47, - 38356 - 11905: 0xEA48, - 38357 - 11905: 0xEA49, - 38358 - 11905: 0xEA4A, - 38359 - 11905: 0xEA4B, - 38360 - 11905: 0xEA4C, - 38361 - 11905: 0xEA4D, - 38362 - 11905: 0xEA4E, - 38363 - 11905: 0xEA4F, - 38364 - 11905: 0xEA50, - 38365 - 11905: 0xEA51, - 38366 - 11905: 0xEA52, - 38367 - 11905: 0xEA53, - 38368 - 11905: 0xEA54, - 38369 - 11905: 0xEA55, - 38370 - 11905: 0xEA56, - 38371 - 11905: 0xEA57, - 38372 - 11905: 0xEA58, - 38373 - 11905: 0xEA59, - 38374 - 11905: 0xEA5A, - 38375 - 11905: 0xEA5B, - 38376 - 11905: 0xC3C5, - 38377 - 11905: 0xE3C5, - 38378 - 11905: 0xC9C1, - 38379 - 11905: 0xE3C6, - 38380 - 11905: 0xEA5C, - 38381 - 11905: 0xB1D5, - 38382 - 11905: 0xCECA, - 38383 - 11905: 0xB4B3, - 38384 - 11905: 0xC8F2, - 38385 - 11905: 0xE3C7, - 38386 - 11905: 0xCFD0, - 38387 - 11905: 0xE3C8, - 38388 - 11905: 0xBCE4, - 38389 - 11905: 0xE3C9, - 38390 - 11905: 0xE3CA, - 38391 - 11905: 0xC3C6, - 38392 - 11905: 0xD5A2, - 38393 - 11905: 0xC4D6, - 38394 - 11905: 0xB9EB, - 38395 - 11905: 0xCEC5, - 38396 - 11905: 0xE3CB, - 38397 - 11905: 0xC3F6, - 38398 - 11905: 0xE3CC, - 38399 - 11905: 0xEA5D, - 38400 - 11905: 0xB7A7, - 38401 - 11905: 0xB8F3, - 38402 - 11905: 0xBAD2, - 38403 - 11905: 0xE3CD, - 38404 - 11905: 0xE3CE, - 38405 - 11905: 0xD4C4, - 38406 - 11905: 0xE3CF, - 38407 - 11905: 0xEA5E, - 38408 - 11905: 0xE3D0, - 38409 - 11905: 0xD1CB, - 38410 - 11905: 0xE3D1, - 38411 - 11905: 0xE3D2, - 38412 - 11905: 0xE3D3, - 38413 - 11905: 0xE3D4, - 38414 - 11905: 0xD1D6, - 38415 - 11905: 0xE3D5, - 38416 - 11905: 0xB2FB, - 38417 - 11905: 0xC0BB, - 38418 - 11905: 0xE3D6, - 38419 - 11905: 0xEA5F, - 38420 - 11905: 0xC0AB, - 38421 - 11905: 0xE3D7, - 38422 - 11905: 0xE3D8, - 38423 - 11905: 0xE3D9, - 38424 - 11905: 0xEA60, - 38425 - 11905: 0xE3DA, - 38426 - 11905: 0xE3DB, - 38427 - 11905: 0xEA61, - 38428 - 11905: 0xB8B7, - 38429 - 11905: 0xDAE2, - 38430 - 11905: 0xEA62, - 38431 - 11905: 0xB6D3, - 38432 - 11905: 0xEA63, - 38433 - 11905: 0xDAE4, - 38434 - 11905: 0xDAE3, - 38435 - 11905: 0xEA64, - 38436 - 11905: 0xEA65, - 38437 - 11905: 0xEA66, - 38438 - 11905: 0xEA67, - 38439 - 11905: 0xEA68, - 38440 - 11905: 0xEA69, - 38441 - 11905: 0xEA6A, - 38442 - 11905: 0xDAE6, - 38443 - 11905: 0xEA6B, - 38444 - 11905: 0xEA6C, - 38445 - 11905: 0xEA6D, - 38446 - 11905: 0xC8EE, - 38447 - 11905: 0xEA6E, - 38448 - 11905: 0xEA6F, - 38449 - 11905: 0xDAE5, - 38450 - 11905: 0xB7C0, - 38451 - 11905: 0xD1F4, - 38452 - 11905: 0xD2F5, - 38453 - 11905: 0xD5F3, - 38454 - 11905: 0xBDD7, - 38455 - 11905: 0xEA70, - 38456 - 11905: 0xEA71, - 38457 - 11905: 0xEA72, - 38458 - 11905: 0xEA73, - 38459 - 11905: 0xD7E8, - 38460 - 11905: 0xDAE8, - 38461 - 11905: 0xDAE7, - 38462 - 11905: 0xEA74, - 38463 - 11905: 0xB0A2, - 38464 - 11905: 0xCDD3, - 38465 - 11905: 0xEA75, - 38466 - 11905: 0xDAE9, - 38467 - 11905: 0xEA76, - 38468 - 11905: 0xB8BD, - 38469 - 11905: 0xBCCA, - 38470 - 11905: 0xC2BD, - 38471 - 11905: 0xC2A4, - 38472 - 11905: 0xB3C2, - 38473 - 11905: 0xDAEA, - 38474 - 11905: 0xEA77, - 38475 - 11905: 0xC2AA, - 38476 - 11905: 0xC4B0, - 38477 - 11905: 0xBDB5, - 38478 - 11905: 0xEA78, - 38479 - 11905: 0xEA79, - 38480 - 11905: 0xCFDE, - 38481 - 11905: 0xEA7A, - 38482 - 11905: 0xEA7B, - 38483 - 11905: 0xEA7C, - 38484 - 11905: 0xDAEB, - 38485 - 11905: 0xC9C2, - 38486 - 11905: 0xEA7D, - 38487 - 11905: 0xEA7E, - 38488 - 11905: 0xEA80, - 38489 - 11905: 0xEA81, - 38490 - 11905: 0xEA82, - 38491 - 11905: 0xB1DD, - 38492 - 11905: 0xEA83, - 38493 - 11905: 0xEA84, - 38494 - 11905: 0xEA85, - 38495 - 11905: 0xDAEC, - 38496 - 11905: 0xEA86, - 38497 - 11905: 0xB6B8, - 38498 - 11905: 0xD4BA, - 38499 - 11905: 0xEA87, - 38500 - 11905: 0xB3FD, - 38501 - 11905: 0xEA88, - 38502 - 11905: 0xEA89, - 38503 - 11905: 0xDAED, - 38504 - 11905: 0xD4C9, - 38505 - 11905: 0xCFD5, - 38506 - 11905: 0xC5E3, - 38507 - 11905: 0xEA8A, - 38508 - 11905: 0xDAEE, - 38509 - 11905: 0xEA8B, - 38510 - 11905: 0xEA8C, - 38511 - 11905: 0xEA8D, - 38512 - 11905: 0xEA8E, - 38513 - 11905: 0xEA8F, - 38514 - 11905: 0xDAEF, - 38515 - 11905: 0xEA90, - 38516 - 11905: 0xDAF0, - 38517 - 11905: 0xC1EA, - 38518 - 11905: 0xCCD5, - 38519 - 11905: 0xCFDD, - 38520 - 11905: 0xEA91, - 38521 - 11905: 0xEA92, - 38522 - 11905: 0xEA93, - 38523 - 11905: 0xEA94, - 38524 - 11905: 0xEA95, - 38525 - 11905: 0xEA96, - 38526 - 11905: 0xEA97, - 38527 - 11905: 0xEA98, - 38528 - 11905: 0xEA99, - 38529 - 11905: 0xEA9A, - 38530 - 11905: 0xEA9B, - 38531 - 11905: 0xEA9C, - 38532 - 11905: 0xEA9D, - 38533 - 11905: 0xD3E7, - 38534 - 11905: 0xC2A1, - 38535 - 11905: 0xEA9E, - 38536 - 11905: 0xDAF1, - 38537 - 11905: 0xEA9F, - 38538 - 11905: 0xEAA0, - 38539 - 11905: 0xCBE5, - 38540 - 11905: 0xEB40, - 38541 - 11905: 0xDAF2, - 38542 - 11905: 0xEB41, - 38543 - 11905: 0xCBE6, - 38544 - 11905: 0xD2FE, - 38545 - 11905: 0xEB42, - 38546 - 11905: 0xEB43, - 38547 - 11905: 0xEB44, - 38548 - 11905: 0xB8F4, - 38549 - 11905: 0xEB45, - 38550 - 11905: 0xEB46, - 38551 - 11905: 0xDAF3, - 38552 - 11905: 0xB0AF, - 38553 - 11905: 0xCFB6, - 38554 - 11905: 0xEB47, - 38555 - 11905: 0xEB48, - 38556 - 11905: 0xD5CF, - 38557 - 11905: 0xEB49, - 38558 - 11905: 0xEB4A, - 38559 - 11905: 0xEB4B, - 38560 - 11905: 0xEB4C, - 38561 - 11905: 0xEB4D, - 38562 - 11905: 0xEB4E, - 38563 - 11905: 0xEB4F, - 38564 - 11905: 0xEB50, - 38565 - 11905: 0xEB51, - 38566 - 11905: 0xEB52, - 38567 - 11905: 0xCBED, - 38568 - 11905: 0xEB53, - 38569 - 11905: 0xEB54, - 38570 - 11905: 0xEB55, - 38571 - 11905: 0xEB56, - 38572 - 11905: 0xEB57, - 38573 - 11905: 0xEB58, - 38574 - 11905: 0xEB59, - 38575 - 11905: 0xEB5A, - 38576 - 11905: 0xDAF4, - 38577 - 11905: 0xEB5B, - 38578 - 11905: 0xEB5C, - 38579 - 11905: 0xE3C4, - 38580 - 11905: 0xEB5D, - 38581 - 11905: 0xEB5E, - 38582 - 11905: 0xC1A5, - 38583 - 11905: 0xEB5F, - 38584 - 11905: 0xEB60, - 38585 - 11905: 0xF6BF, - 38586 - 11905: 0xEB61, - 38587 - 11905: 0xEB62, - 38588 - 11905: 0xF6C0, - 38589 - 11905: 0xF6C1, - 38590 - 11905: 0xC4D1, - 38591 - 11905: 0xEB63, - 38592 - 11905: 0xC8B8, - 38593 - 11905: 0xD1E3, - 38594 - 11905: 0xEB64, - 38595 - 11905: 0xEB65, - 38596 - 11905: 0xD0DB, - 38597 - 11905: 0xD1C5, - 38598 - 11905: 0xBCAF, - 38599 - 11905: 0xB9CD, - 38600 - 11905: 0xEB66, - 38601 - 11905: 0xEFF4, - 38602 - 11905: 0xEB67, - 38603 - 11905: 0xEB68, - 38604 - 11905: 0xB4C6, - 38605 - 11905: 0xD3BA, - 38606 - 11905: 0xF6C2, - 38607 - 11905: 0xB3FB, - 38608 - 11905: 0xEB69, - 38609 - 11905: 0xEB6A, - 38610 - 11905: 0xF6C3, - 38611 - 11905: 0xEB6B, - 38612 - 11905: 0xEB6C, - 38613 - 11905: 0xB5F1, - 38614 - 11905: 0xEB6D, - 38615 - 11905: 0xEB6E, - 38616 - 11905: 0xEB6F, - 38617 - 11905: 0xEB70, - 38618 - 11905: 0xEB71, - 38619 - 11905: 0xEB72, - 38620 - 11905: 0xEB73, - 38621 - 11905: 0xEB74, - 38622 - 11905: 0xEB75, - 38623 - 11905: 0xEB76, - 38624 - 11905: 0xF6C5, - 38625 - 11905: 0xEB77, - 38626 - 11905: 0xEB78, - 38627 - 11905: 0xEB79, - 38628 - 11905: 0xEB7A, - 38629 - 11905: 0xEB7B, - 38630 - 11905: 0xEB7C, - 38631 - 11905: 0xEB7D, - 38632 - 11905: 0xD3EA, - 38633 - 11905: 0xF6A7, - 38634 - 11905: 0xD1A9, - 38635 - 11905: 0xEB7E, - 38636 - 11905: 0xEB80, - 38637 - 11905: 0xEB81, - 38638 - 11905: 0xEB82, - 38639 - 11905: 0xF6A9, - 38640 - 11905: 0xEB83, - 38641 - 11905: 0xEB84, - 38642 - 11905: 0xEB85, - 38643 - 11905: 0xF6A8, - 38644 - 11905: 0xEB86, - 38645 - 11905: 0xEB87, - 38646 - 11905: 0xC1E3, - 38647 - 11905: 0xC0D7, - 38648 - 11905: 0xEB88, - 38649 - 11905: 0xB1A2, - 38650 - 11905: 0xEB89, - 38651 - 11905: 0xEB8A, - 38652 - 11905: 0xEB8B, - 38653 - 11905: 0xEB8C, - 38654 - 11905: 0xCEED, - 38655 - 11905: 0xEB8D, - 38656 - 11905: 0xD0E8, - 38657 - 11905: 0xF6AB, - 38658 - 11905: 0xEB8E, - 38659 - 11905: 0xEB8F, - 38660 - 11905: 0xCFF6, - 38661 - 11905: 0xEB90, - 38662 - 11905: 0xF6AA, - 38663 - 11905: 0xD5F0, - 38664 - 11905: 0xF6AC, - 38665 - 11905: 0xC3B9, - 38666 - 11905: 0xEB91, - 38667 - 11905: 0xEB92, - 38668 - 11905: 0xEB93, - 38669 - 11905: 0xBBF4, - 38670 - 11905: 0xF6AE, - 38671 - 11905: 0xF6AD, - 38672 - 11905: 0xEB94, - 38673 - 11905: 0xEB95, - 38674 - 11905: 0xEB96, - 38675 - 11905: 0xC4DE, - 38676 - 11905: 0xEB97, - 38677 - 11905: 0xEB98, - 38678 - 11905: 0xC1D8, - 38679 - 11905: 0xEB99, - 38680 - 11905: 0xEB9A, - 38681 - 11905: 0xEB9B, - 38682 - 11905: 0xEB9C, - 38683 - 11905: 0xEB9D, - 38684 - 11905: 0xCBAA, - 38685 - 11905: 0xEB9E, - 38686 - 11905: 0xCFBC, - 38687 - 11905: 0xEB9F, - 38688 - 11905: 0xEBA0, - 38689 - 11905: 0xEC40, - 38690 - 11905: 0xEC41, - 38691 - 11905: 0xEC42, - 38692 - 11905: 0xEC43, - 38693 - 11905: 0xEC44, - 38694 - 11905: 0xEC45, - 38695 - 11905: 0xEC46, - 38696 - 11905: 0xEC47, - 38697 - 11905: 0xEC48, - 38698 - 11905: 0xF6AF, - 38699 - 11905: 0xEC49, - 38700 - 11905: 0xEC4A, - 38701 - 11905: 0xF6B0, - 38702 - 11905: 0xEC4B, - 38703 - 11905: 0xEC4C, - 38704 - 11905: 0xF6B1, - 38705 - 11905: 0xEC4D, - 38706 - 11905: 0xC2B6, - 38707 - 11905: 0xEC4E, - 38708 - 11905: 0xEC4F, - 38709 - 11905: 0xEC50, - 38710 - 11905: 0xEC51, - 38711 - 11905: 0xEC52, - 38712 - 11905: 0xB0D4, - 38713 - 11905: 0xC5F9, - 38714 - 11905: 0xEC53, - 38715 - 11905: 0xEC54, - 38716 - 11905: 0xEC55, - 38717 - 11905: 0xEC56, - 38718 - 11905: 0xF6B2, - 38719 - 11905: 0xEC57, - 38720 - 11905: 0xEC58, - 38721 - 11905: 0xEC59, - 38722 - 11905: 0xEC5A, - 38723 - 11905: 0xEC5B, - 38724 - 11905: 0xEC5C, - 38725 - 11905: 0xEC5D, - 38726 - 11905: 0xEC5E, - 38727 - 11905: 0xEC5F, - 38728 - 11905: 0xEC60, - 38729 - 11905: 0xEC61, - 38730 - 11905: 0xEC62, - 38731 - 11905: 0xEC63, - 38732 - 11905: 0xEC64, - 38733 - 11905: 0xEC65, - 38734 - 11905: 0xEC66, - 38735 - 11905: 0xEC67, - 38736 - 11905: 0xEC68, - 38737 - 11905: 0xEC69, - 38738 - 11905: 0xC7E0, - 38739 - 11905: 0xF6A6, - 38740 - 11905: 0xEC6A, - 38741 - 11905: 0xEC6B, - 38742 - 11905: 0xBEB8, - 38743 - 11905: 0xEC6C, - 38744 - 11905: 0xEC6D, - 38745 - 11905: 0xBEB2, - 38746 - 11905: 0xEC6E, - 38747 - 11905: 0xB5E5, - 38748 - 11905: 0xEC6F, - 38749 - 11905: 0xEC70, - 38750 - 11905: 0xB7C7, - 38751 - 11905: 0xEC71, - 38752 - 11905: 0xBFBF, - 38753 - 11905: 0xC3D2, - 38754 - 11905: 0xC3E6, - 38755 - 11905: 0xEC72, - 38756 - 11905: 0xEC73, - 38757 - 11905: 0xD8CC, - 38758 - 11905: 0xEC74, - 38759 - 11905: 0xEC75, - 38760 - 11905: 0xEC76, - 38761 - 11905: 0xB8EF, - 38762 - 11905: 0xEC77, - 38763 - 11905: 0xEC78, - 38764 - 11905: 0xEC79, - 38765 - 11905: 0xEC7A, - 38766 - 11905: 0xEC7B, - 38767 - 11905: 0xEC7C, - 38768 - 11905: 0xEC7D, - 38769 - 11905: 0xEC7E, - 38770 - 11905: 0xEC80, - 38771 - 11905: 0xBDF9, - 38772 - 11905: 0xD1A5, - 38773 - 11905: 0xEC81, - 38774 - 11905: 0xB0D0, - 38775 - 11905: 0xEC82, - 38776 - 11905: 0xEC83, - 38777 - 11905: 0xEC84, - 38778 - 11905: 0xEC85, - 38779 - 11905: 0xEC86, - 38780 - 11905: 0xF7B0, - 38781 - 11905: 0xEC87, - 38782 - 11905: 0xEC88, - 38783 - 11905: 0xEC89, - 38784 - 11905: 0xEC8A, - 38785 - 11905: 0xEC8B, - 38786 - 11905: 0xEC8C, - 38787 - 11905: 0xEC8D, - 38788 - 11905: 0xEC8E, - 38789 - 11905: 0xF7B1, - 38790 - 11905: 0xEC8F, - 38791 - 11905: 0xEC90, - 38792 - 11905: 0xEC91, - 38793 - 11905: 0xEC92, - 38794 - 11905: 0xEC93, - 38795 - 11905: 0xD0AC, - 38796 - 11905: 0xEC94, - 38797 - 11905: 0xB0B0, - 38798 - 11905: 0xEC95, - 38799 - 11905: 0xEC96, - 38800 - 11905: 0xEC97, - 38801 - 11905: 0xF7B2, - 38802 - 11905: 0xF7B3, - 38803 - 11905: 0xEC98, - 38804 - 11905: 0xF7B4, - 38805 - 11905: 0xEC99, - 38806 - 11905: 0xEC9A, - 38807 - 11905: 0xEC9B, - 38808 - 11905: 0xC7CA, - 38809 - 11905: 0xEC9C, - 38810 - 11905: 0xEC9D, - 38811 - 11905: 0xEC9E, - 38812 - 11905: 0xEC9F, - 38813 - 11905: 0xECA0, - 38814 - 11905: 0xED40, - 38815 - 11905: 0xED41, - 38816 - 11905: 0xBECF, - 38817 - 11905: 0xED42, - 38818 - 11905: 0xED43, - 38819 - 11905: 0xF7B7, - 38820 - 11905: 0xED44, - 38821 - 11905: 0xED45, - 38822 - 11905: 0xED46, - 38823 - 11905: 0xED47, - 38824 - 11905: 0xED48, - 38825 - 11905: 0xED49, - 38826 - 11905: 0xED4A, - 38827 - 11905: 0xF7B6, - 38828 - 11905: 0xED4B, - 38829 - 11905: 0xB1DE, - 38830 - 11905: 0xED4C, - 38831 - 11905: 0xF7B5, - 38832 - 11905: 0xED4D, - 38833 - 11905: 0xED4E, - 38834 - 11905: 0xF7B8, - 38835 - 11905: 0xED4F, - 38836 - 11905: 0xF7B9, - 38837 - 11905: 0xED50, - 38838 - 11905: 0xED51, - 38839 - 11905: 0xED52, - 38840 - 11905: 0xED53, - 38841 - 11905: 0xED54, - 38842 - 11905: 0xED55, - 38843 - 11905: 0xED56, - 38844 - 11905: 0xED57, - 38845 - 11905: 0xED58, - 38846 - 11905: 0xED59, - 38847 - 11905: 0xED5A, - 38848 - 11905: 0xED5B, - 38849 - 11905: 0xED5C, - 38850 - 11905: 0xED5D, - 38851 - 11905: 0xED5E, - 38852 - 11905: 0xED5F, - 38853 - 11905: 0xED60, - 38854 - 11905: 0xED61, - 38855 - 11905: 0xED62, - 38856 - 11905: 0xED63, - 38857 - 11905: 0xED64, - 38858 - 11905: 0xED65, - 38859 - 11905: 0xED66, - 38860 - 11905: 0xED67, - 38861 - 11905: 0xED68, - 38862 - 11905: 0xED69, - 38863 - 11905: 0xED6A, - 38864 - 11905: 0xED6B, - 38865 - 11905: 0xED6C, - 38866 - 11905: 0xED6D, - 38867 - 11905: 0xED6E, - 38868 - 11905: 0xED6F, - 38869 - 11905: 0xED70, - 38870 - 11905: 0xED71, - 38871 - 11905: 0xED72, - 38872 - 11905: 0xED73, - 38873 - 11905: 0xED74, - 38874 - 11905: 0xED75, - 38875 - 11905: 0xED76, - 38876 - 11905: 0xED77, - 38877 - 11905: 0xED78, - 38878 - 11905: 0xED79, - 38879 - 11905: 0xED7A, - 38880 - 11905: 0xED7B, - 38881 - 11905: 0xED7C, - 38882 - 11905: 0xED7D, - 38883 - 11905: 0xED7E, - 38884 - 11905: 0xED80, - 38885 - 11905: 0xED81, - 38886 - 11905: 0xCEA4, - 38887 - 11905: 0xC8CD, - 38888 - 11905: 0xED82, - 38889 - 11905: 0xBAAB, - 38890 - 11905: 0xE8B8, - 38891 - 11905: 0xE8B9, - 38892 - 11905: 0xE8BA, - 38893 - 11905: 0xBEC2, - 38894 - 11905: 0xED83, - 38895 - 11905: 0xED84, - 38896 - 11905: 0xED85, - 38897 - 11905: 0xED86, - 38898 - 11905: 0xED87, - 38899 - 11905: 0xD2F4, - 38900 - 11905: 0xED88, - 38901 - 11905: 0xD4CF, - 38902 - 11905: 0xC9D8, - 38903 - 11905: 0xED89, - 38904 - 11905: 0xED8A, - 38905 - 11905: 0xED8B, - 38906 - 11905: 0xED8C, - 38907 - 11905: 0xED8D, - 38908 - 11905: 0xED8E, - 38909 - 11905: 0xED8F, - 38910 - 11905: 0xED90, - 38911 - 11905: 0xED91, - 38912 - 11905: 0xED92, - 38913 - 11905: 0xED93, - 38914 - 11905: 0xED94, - 38915 - 11905: 0xED95, - 38916 - 11905: 0xED96, - 38917 - 11905: 0xED97, - 38918 - 11905: 0xED98, - 38919 - 11905: 0xED99, - 38920 - 11905: 0xED9A, - 38921 - 11905: 0xED9B, - 38922 - 11905: 0xED9C, - 38923 - 11905: 0xED9D, - 38924 - 11905: 0xED9E, - 38925 - 11905: 0xED9F, - 38926 - 11905: 0xEDA0, - 38927 - 11905: 0xEE40, - 38928 - 11905: 0xEE41, - 38929 - 11905: 0xEE42, - 38930 - 11905: 0xEE43, - 38931 - 11905: 0xEE44, - 38932 - 11905: 0xEE45, - 38933 - 11905: 0xEE46, - 38934 - 11905: 0xEE47, - 38935 - 11905: 0xEE48, - 38936 - 11905: 0xEE49, - 38937 - 11905: 0xEE4A, - 38938 - 11905: 0xEE4B, - 38939 - 11905: 0xEE4C, - 38940 - 11905: 0xEE4D, - 38941 - 11905: 0xEE4E, - 38942 - 11905: 0xEE4F, - 38943 - 11905: 0xEE50, - 38944 - 11905: 0xEE51, - 38945 - 11905: 0xEE52, - 38946 - 11905: 0xEE53, - 38947 - 11905: 0xEE54, - 38948 - 11905: 0xEE55, - 38949 - 11905: 0xEE56, - 38950 - 11905: 0xEE57, - 38951 - 11905: 0xEE58, - 38952 - 11905: 0xEE59, - 38953 - 11905: 0xEE5A, - 38954 - 11905: 0xEE5B, - 38955 - 11905: 0xEE5C, - 38956 - 11905: 0xEE5D, - 38957 - 11905: 0xEE5E, - 38958 - 11905: 0xEE5F, - 38959 - 11905: 0xEE60, - 38960 - 11905: 0xEE61, - 38961 - 11905: 0xEE62, - 38962 - 11905: 0xEE63, - 38963 - 11905: 0xEE64, - 38964 - 11905: 0xEE65, - 38965 - 11905: 0xEE66, - 38966 - 11905: 0xEE67, - 38967 - 11905: 0xEE68, - 38968 - 11905: 0xEE69, - 38969 - 11905: 0xEE6A, - 38970 - 11905: 0xEE6B, - 38971 - 11905: 0xEE6C, - 38972 - 11905: 0xEE6D, - 38973 - 11905: 0xEE6E, - 38974 - 11905: 0xEE6F, - 38975 - 11905: 0xEE70, - 38976 - 11905: 0xEE71, - 38977 - 11905: 0xEE72, - 38978 - 11905: 0xEE73, - 38979 - 11905: 0xEE74, - 38980 - 11905: 0xEE75, - 38981 - 11905: 0xEE76, - 38982 - 11905: 0xEE77, - 38983 - 11905: 0xEE78, - 38984 - 11905: 0xEE79, - 38985 - 11905: 0xEE7A, - 38986 - 11905: 0xEE7B, - 38987 - 11905: 0xEE7C, - 38988 - 11905: 0xEE7D, - 38989 - 11905: 0xEE7E, - 38990 - 11905: 0xEE80, - 38991 - 11905: 0xEE81, - 38992 - 11905: 0xEE82, - 38993 - 11905: 0xEE83, - 38994 - 11905: 0xEE84, - 38995 - 11905: 0xEE85, - 38996 - 11905: 0xEE86, - 38997 - 11905: 0xEE87, - 38998 - 11905: 0xEE88, - 38999 - 11905: 0xEE89, - 39000 - 11905: 0xEE8A, - 39001 - 11905: 0xEE8B, - 39002 - 11905: 0xEE8C, - 39003 - 11905: 0xEE8D, - 39004 - 11905: 0xEE8E, - 39005 - 11905: 0xEE8F, - 39006 - 11905: 0xEE90, - 39007 - 11905: 0xEE91, - 39008 - 11905: 0xEE92, - 39009 - 11905: 0xEE93, - 39010 - 11905: 0xEE94, - 39011 - 11905: 0xEE95, - 39012 - 11905: 0xEE96, - 39013 - 11905: 0xEE97, - 39014 - 11905: 0xEE98, - 39015 - 11905: 0xEE99, - 39016 - 11905: 0xEE9A, - 39017 - 11905: 0xEE9B, - 39018 - 11905: 0xEE9C, - 39019 - 11905: 0xEE9D, - 39020 - 11905: 0xEE9E, - 39021 - 11905: 0xEE9F, - 39022 - 11905: 0xEEA0, - 39023 - 11905: 0xEF40, - 39024 - 11905: 0xEF41, - 39025 - 11905: 0xEF42, - 39026 - 11905: 0xEF43, - 39027 - 11905: 0xEF44, - 39028 - 11905: 0xEF45, - 39029 - 11905: 0xD2B3, - 39030 - 11905: 0xB6A5, - 39031 - 11905: 0xC7EA, - 39032 - 11905: 0xF1FC, - 39033 - 11905: 0xCFEE, - 39034 - 11905: 0xCBB3, - 39035 - 11905: 0xD0EB, - 39036 - 11905: 0xE7EF, - 39037 - 11905: 0xCDE7, - 39038 - 11905: 0xB9CB, - 39039 - 11905: 0xB6D9, - 39040 - 11905: 0xF1FD, - 39041 - 11905: 0xB0E4, - 39042 - 11905: 0xCBCC, - 39043 - 11905: 0xF1FE, - 39044 - 11905: 0xD4A4, - 39045 - 11905: 0xC2AD, - 39046 - 11905: 0xC1EC, - 39047 - 11905: 0xC6C4, - 39048 - 11905: 0xBEB1, - 39049 - 11905: 0xF2A1, - 39050 - 11905: 0xBCD5, - 39051 - 11905: 0xEF46, - 39052 - 11905: 0xF2A2, - 39053 - 11905: 0xF2A3, - 39054 - 11905: 0xEF47, - 39055 - 11905: 0xF2A4, - 39056 - 11905: 0xD2C3, - 39057 - 11905: 0xC6B5, - 39058 - 11905: 0xEF48, - 39059 - 11905: 0xCDC7, - 39060 - 11905: 0xF2A5, - 39061 - 11905: 0xEF49, - 39062 - 11905: 0xD3B1, - 39063 - 11905: 0xBFC5, - 39064 - 11905: 0xCCE2, - 39065 - 11905: 0xEF4A, - 39066 - 11905: 0xF2A6, - 39067 - 11905: 0xF2A7, - 39068 - 11905: 0xD1D5, - 39069 - 11905: 0xB6EE, - 39070 - 11905: 0xF2A8, - 39071 - 11905: 0xF2A9, - 39072 - 11905: 0xB5DF, - 39073 - 11905: 0xF2AA, - 39074 - 11905: 0xF2AB, - 39075 - 11905: 0xEF4B, - 39076 - 11905: 0xB2FC, - 39077 - 11905: 0xF2AC, - 39078 - 11905: 0xF2AD, - 39079 - 11905: 0xC8A7, - 39080 - 11905: 0xEF4C, - 39081 - 11905: 0xEF4D, - 39082 - 11905: 0xEF4E, - 39083 - 11905: 0xEF4F, - 39084 - 11905: 0xEF50, - 39085 - 11905: 0xEF51, - 39086 - 11905: 0xEF52, - 39087 - 11905: 0xEF53, - 39088 - 11905: 0xEF54, - 39089 - 11905: 0xEF55, - 39090 - 11905: 0xEF56, - 39091 - 11905: 0xEF57, - 39092 - 11905: 0xEF58, - 39093 - 11905: 0xEF59, - 39094 - 11905: 0xEF5A, - 39095 - 11905: 0xEF5B, - 39096 - 11905: 0xEF5C, - 39097 - 11905: 0xEF5D, - 39098 - 11905: 0xEF5E, - 39099 - 11905: 0xEF5F, - 39100 - 11905: 0xEF60, - 39101 - 11905: 0xEF61, - 39102 - 11905: 0xEF62, - 39103 - 11905: 0xEF63, - 39104 - 11905: 0xEF64, - 39105 - 11905: 0xEF65, - 39106 - 11905: 0xEF66, - 39107 - 11905: 0xEF67, - 39108 - 11905: 0xEF68, - 39109 - 11905: 0xEF69, - 39110 - 11905: 0xEF6A, - 39111 - 11905: 0xEF6B, - 39112 - 11905: 0xEF6C, - 39113 - 11905: 0xEF6D, - 39114 - 11905: 0xEF6E, - 39115 - 11905: 0xEF6F, - 39116 - 11905: 0xEF70, - 39117 - 11905: 0xEF71, - 39118 - 11905: 0xB7E7, - 39119 - 11905: 0xEF72, - 39120 - 11905: 0xEF73, - 39121 - 11905: 0xECA9, - 39122 - 11905: 0xECAA, - 39123 - 11905: 0xECAB, - 39124 - 11905: 0xEF74, - 39125 - 11905: 0xECAC, - 39126 - 11905: 0xEF75, - 39127 - 11905: 0xEF76, - 39128 - 11905: 0xC6AE, - 39129 - 11905: 0xECAD, - 39130 - 11905: 0xECAE, - 39131 - 11905: 0xEF77, - 39132 - 11905: 0xEF78, - 39133 - 11905: 0xEF79, - 39134 - 11905: 0xB7C9, - 39135 - 11905: 0xCAB3, - 39136 - 11905: 0xEF7A, - 39137 - 11905: 0xEF7B, - 39138 - 11905: 0xEF7C, - 39139 - 11905: 0xEF7D, - 39140 - 11905: 0xEF7E, - 39141 - 11905: 0xEF80, - 39142 - 11905: 0xEF81, - 39143 - 11905: 0xE2B8, - 39144 - 11905: 0xF7CF, - 39145 - 11905: 0xEF82, - 39146 - 11905: 0xEF83, - 39147 - 11905: 0xEF84, - 39148 - 11905: 0xEF85, - 39149 - 11905: 0xEF86, - 39150 - 11905: 0xEF87, - 39151 - 11905: 0xEF88, - 39152 - 11905: 0xEF89, - 39153 - 11905: 0xEF8A, - 39154 - 11905: 0xEF8B, - 39155 - 11905: 0xEF8C, - 39156 - 11905: 0xEF8D, - 39157 - 11905: 0xEF8E, - 39158 - 11905: 0xEF8F, - 39159 - 11905: 0xEF90, - 39160 - 11905: 0xEF91, - 39161 - 11905: 0xEF92, - 39162 - 11905: 0xEF93, - 39163 - 11905: 0xEF94, - 39164 - 11905: 0xEF95, - 39165 - 11905: 0xEF96, - 39166 - 11905: 0xEF97, - 39167 - 11905: 0xEF98, - 39168 - 11905: 0xEF99, - 39169 - 11905: 0xEF9A, - 39170 - 11905: 0xEF9B, - 39171 - 11905: 0xEF9C, - 39172 - 11905: 0xEF9D, - 39173 - 11905: 0xEF9E, - 39174 - 11905: 0xEF9F, - 39175 - 11905: 0xEFA0, - 39176 - 11905: 0xF040, - 39177 - 11905: 0xF041, - 39178 - 11905: 0xF042, - 39179 - 11905: 0xF043, - 39180 - 11905: 0xF044, - 39181 - 11905: 0xF7D0, - 39182 - 11905: 0xF045, - 39183 - 11905: 0xF046, - 39184 - 11905: 0xB2CD, - 39185 - 11905: 0xF047, - 39186 - 11905: 0xF048, - 39187 - 11905: 0xF049, - 39188 - 11905: 0xF04A, - 39189 - 11905: 0xF04B, - 39190 - 11905: 0xF04C, - 39191 - 11905: 0xF04D, - 39192 - 11905: 0xF04E, - 39193 - 11905: 0xF04F, - 39194 - 11905: 0xF050, - 39195 - 11905: 0xF051, - 39196 - 11905: 0xF052, - 39197 - 11905: 0xF053, - 39198 - 11905: 0xF054, - 39199 - 11905: 0xF055, - 39200 - 11905: 0xF056, - 39201 - 11905: 0xF057, - 39202 - 11905: 0xF058, - 39203 - 11905: 0xF059, - 39204 - 11905: 0xF05A, - 39205 - 11905: 0xF05B, - 39206 - 11905: 0xF05C, - 39207 - 11905: 0xF05D, - 39208 - 11905: 0xF05E, - 39209 - 11905: 0xF05F, - 39210 - 11905: 0xF060, - 39211 - 11905: 0xF061, - 39212 - 11905: 0xF062, - 39213 - 11905: 0xF063, - 39214 - 11905: 0xF7D1, - 39215 - 11905: 0xF064, - 39216 - 11905: 0xF065, - 39217 - 11905: 0xF066, - 39218 - 11905: 0xF067, - 39219 - 11905: 0xF068, - 39220 - 11905: 0xF069, - 39221 - 11905: 0xF06A, - 39222 - 11905: 0xF06B, - 39223 - 11905: 0xF06C, - 39224 - 11905: 0xF06D, - 39225 - 11905: 0xF06E, - 39226 - 11905: 0xF06F, - 39227 - 11905: 0xF070, - 39228 - 11905: 0xF071, - 39229 - 11905: 0xF072, - 39230 - 11905: 0xF073, - 39231 - 11905: 0xF074, - 39232 - 11905: 0xF075, - 39233 - 11905: 0xF076, - 39234 - 11905: 0xF077, - 39235 - 11905: 0xF078, - 39236 - 11905: 0xF079, - 39237 - 11905: 0xF07A, - 39238 - 11905: 0xF07B, - 39239 - 11905: 0xF07C, - 39240 - 11905: 0xF07D, - 39241 - 11905: 0xF07E, - 39242 - 11905: 0xF080, - 39243 - 11905: 0xF081, - 39244 - 11905: 0xF082, - 39245 - 11905: 0xF083, - 39246 - 11905: 0xF084, - 39247 - 11905: 0xF085, - 39248 - 11905: 0xF086, - 39249 - 11905: 0xF087, - 39250 - 11905: 0xF088, - 39251 - 11905: 0xF089, - 39252 - 11905: 0xF7D3, - 39253 - 11905: 0xF7D2, - 39254 - 11905: 0xF08A, - 39255 - 11905: 0xF08B, - 39256 - 11905: 0xF08C, - 39257 - 11905: 0xF08D, - 39258 - 11905: 0xF08E, - 39259 - 11905: 0xF08F, - 39260 - 11905: 0xF090, - 39261 - 11905: 0xF091, - 39262 - 11905: 0xF092, - 39263 - 11905: 0xF093, - 39264 - 11905: 0xF094, - 39265 - 11905: 0xF095, - 39266 - 11905: 0xF096, - 39267 - 11905: 0xE2BB, - 39268 - 11905: 0xF097, - 39269 - 11905: 0xBCA2, - 39270 - 11905: 0xF098, - 39271 - 11905: 0xE2BC, - 39272 - 11905: 0xE2BD, - 39273 - 11905: 0xE2BE, - 39274 - 11905: 0xE2BF, - 39275 - 11905: 0xE2C0, - 39276 - 11905: 0xE2C1, - 39277 - 11905: 0xB7B9, - 39278 - 11905: 0xD2FB, - 39279 - 11905: 0xBDA4, - 39280 - 11905: 0xCACE, - 39281 - 11905: 0xB1A5, - 39282 - 11905: 0xCBC7, - 39283 - 11905: 0xF099, - 39284 - 11905: 0xE2C2, - 39285 - 11905: 0xB6FC, - 39286 - 11905: 0xC8C4, - 39287 - 11905: 0xE2C3, - 39288 - 11905: 0xF09A, - 39289 - 11905: 0xF09B, - 39290 - 11905: 0xBDC8, - 39291 - 11905: 0xF09C, - 39292 - 11905: 0xB1FD, - 39293 - 11905: 0xE2C4, - 39294 - 11905: 0xF09D, - 39295 - 11905: 0xB6F6, - 39296 - 11905: 0xE2C5, - 39297 - 11905: 0xC4D9, - 39298 - 11905: 0xF09E, - 39299 - 11905: 0xF09F, - 39300 - 11905: 0xE2C6, - 39301 - 11905: 0xCFDA, - 39302 - 11905: 0xB9DD, - 39303 - 11905: 0xE2C7, - 39304 - 11905: 0xC0A1, - 39305 - 11905: 0xF0A0, - 39306 - 11905: 0xE2C8, - 39307 - 11905: 0xB2F6, - 39308 - 11905: 0xF140, - 39309 - 11905: 0xE2C9, - 39310 - 11905: 0xF141, - 39311 - 11905: 0xC1F3, - 39312 - 11905: 0xE2CA, - 39313 - 11905: 0xE2CB, - 39314 - 11905: 0xC2F8, - 39315 - 11905: 0xE2CC, - 39316 - 11905: 0xE2CD, - 39317 - 11905: 0xE2CE, - 39318 - 11905: 0xCAD7, - 39319 - 11905: 0xD8B8, - 39320 - 11905: 0xD9E5, - 39321 - 11905: 0xCFE3, - 39322 - 11905: 0xF142, - 39323 - 11905: 0xF143, - 39324 - 11905: 0xF144, - 39325 - 11905: 0xF145, - 39326 - 11905: 0xF146, - 39327 - 11905: 0xF147, - 39328 - 11905: 0xF148, - 39329 - 11905: 0xF149, - 39330 - 11905: 0xF14A, - 39331 - 11905: 0xF14B, - 39332 - 11905: 0xF14C, - 39333 - 11905: 0xF0A5, - 39334 - 11905: 0xF14D, - 39335 - 11905: 0xF14E, - 39336 - 11905: 0xDCB0, - 39337 - 11905: 0xF14F, - 39338 - 11905: 0xF150, - 39339 - 11905: 0xF151, - 39340 - 11905: 0xF152, - 39341 - 11905: 0xF153, - 39342 - 11905: 0xF154, - 39343 - 11905: 0xF155, - 39344 - 11905: 0xF156, - 39345 - 11905: 0xF157, - 39346 - 11905: 0xF158, - 39347 - 11905: 0xF159, - 39348 - 11905: 0xF15A, - 39349 - 11905: 0xF15B, - 39350 - 11905: 0xF15C, - 39351 - 11905: 0xF15D, - 39352 - 11905: 0xF15E, - 39353 - 11905: 0xF15F, - 39354 - 11905: 0xF160, - 39355 - 11905: 0xF161, - 39356 - 11905: 0xF162, - 39357 - 11905: 0xF163, - 39358 - 11905: 0xF164, - 39359 - 11905: 0xF165, - 39360 - 11905: 0xF166, - 39361 - 11905: 0xF167, - 39362 - 11905: 0xF168, - 39363 - 11905: 0xF169, - 39364 - 11905: 0xF16A, - 39365 - 11905: 0xF16B, - 39366 - 11905: 0xF16C, - 39367 - 11905: 0xF16D, - 39368 - 11905: 0xF16E, - 39369 - 11905: 0xF16F, - 39370 - 11905: 0xF170, - 39371 - 11905: 0xF171, - 39372 - 11905: 0xF172, - 39373 - 11905: 0xF173, - 39374 - 11905: 0xF174, - 39375 - 11905: 0xF175, - 39376 - 11905: 0xF176, - 39377 - 11905: 0xF177, - 39378 - 11905: 0xF178, - 39379 - 11905: 0xF179, - 39380 - 11905: 0xF17A, - 39381 - 11905: 0xF17B, - 39382 - 11905: 0xF17C, - 39383 - 11905: 0xF17D, - 39384 - 11905: 0xF17E, - 39385 - 11905: 0xF180, - 39386 - 11905: 0xF181, - 39387 - 11905: 0xF182, - 39388 - 11905: 0xF183, - 39389 - 11905: 0xF184, - 39390 - 11905: 0xF185, - 39391 - 11905: 0xF186, - 39392 - 11905: 0xF187, - 39393 - 11905: 0xF188, - 39394 - 11905: 0xF189, - 39395 - 11905: 0xF18A, - 39396 - 11905: 0xF18B, - 39397 - 11905: 0xF18C, - 39398 - 11905: 0xF18D, - 39399 - 11905: 0xF18E, - 39400 - 11905: 0xF18F, - 39401 - 11905: 0xF190, - 39402 - 11905: 0xF191, - 39403 - 11905: 0xF192, - 39404 - 11905: 0xF193, - 39405 - 11905: 0xF194, - 39406 - 11905: 0xF195, - 39407 - 11905: 0xF196, - 39408 - 11905: 0xF197, - 39409 - 11905: 0xF198, - 39410 - 11905: 0xF199, - 39411 - 11905: 0xF19A, - 39412 - 11905: 0xF19B, - 39413 - 11905: 0xF19C, - 39414 - 11905: 0xF19D, - 39415 - 11905: 0xF19E, - 39416 - 11905: 0xF19F, - 39417 - 11905: 0xF1A0, - 39418 - 11905: 0xF240, - 39419 - 11905: 0xF241, - 39420 - 11905: 0xF242, - 39421 - 11905: 0xF243, - 39422 - 11905: 0xF244, - 39423 - 11905: 0xF245, - 39424 - 11905: 0xF246, - 39425 - 11905: 0xF247, - 39426 - 11905: 0xF248, - 39427 - 11905: 0xF249, - 39428 - 11905: 0xF24A, - 39429 - 11905: 0xF24B, - 39430 - 11905: 0xF24C, - 39431 - 11905: 0xF24D, - 39432 - 11905: 0xF24E, - 39433 - 11905: 0xF24F, - 39434 - 11905: 0xF250, - 39435 - 11905: 0xF251, - 39436 - 11905: 0xF252, - 39437 - 11905: 0xF253, - 39438 - 11905: 0xF254, - 39439 - 11905: 0xF255, - 39440 - 11905: 0xF256, - 39441 - 11905: 0xF257, - 39442 - 11905: 0xF258, - 39443 - 11905: 0xF259, - 39444 - 11905: 0xF25A, - 39445 - 11905: 0xF25B, - 39446 - 11905: 0xF25C, - 39447 - 11905: 0xF25D, - 39448 - 11905: 0xF25E, - 39449 - 11905: 0xF25F, - 39450 - 11905: 0xF260, - 39451 - 11905: 0xF261, - 39452 - 11905: 0xF262, - 39453 - 11905: 0xF263, - 39454 - 11905: 0xF264, - 39455 - 11905: 0xF265, - 39456 - 11905: 0xF266, - 39457 - 11905: 0xF267, - 39458 - 11905: 0xF268, - 39459 - 11905: 0xF269, - 39460 - 11905: 0xF26A, - 39461 - 11905: 0xF26B, - 39462 - 11905: 0xF26C, - 39463 - 11905: 0xF26D, - 39464 - 11905: 0xF26E, - 39465 - 11905: 0xF26F, - 39466 - 11905: 0xF270, - 39467 - 11905: 0xF271, - 39468 - 11905: 0xF272, - 39469 - 11905: 0xF273, - 39470 - 11905: 0xF274, - 39471 - 11905: 0xF275, - 39472 - 11905: 0xF276, - 39473 - 11905: 0xF277, - 39474 - 11905: 0xF278, - 39475 - 11905: 0xF279, - 39476 - 11905: 0xF27A, - 39477 - 11905: 0xF27B, - 39478 - 11905: 0xF27C, - 39479 - 11905: 0xF27D, - 39480 - 11905: 0xF27E, - 39481 - 11905: 0xF280, - 39482 - 11905: 0xF281, - 39483 - 11905: 0xF282, - 39484 - 11905: 0xF283, - 39485 - 11905: 0xF284, - 39486 - 11905: 0xF285, - 39487 - 11905: 0xF286, - 39488 - 11905: 0xF287, - 39489 - 11905: 0xF288, - 39490 - 11905: 0xF289, - 39491 - 11905: 0xF28A, - 39492 - 11905: 0xF28B, - 39493 - 11905: 0xF28C, - 39494 - 11905: 0xF28D, - 39495 - 11905: 0xF28E, - 39496 - 11905: 0xF28F, - 39497 - 11905: 0xF290, - 39498 - 11905: 0xF291, - 39499 - 11905: 0xF292, - 39500 - 11905: 0xF293, - 39501 - 11905: 0xF294, - 39502 - 11905: 0xF295, - 39503 - 11905: 0xF296, - 39504 - 11905: 0xF297, - 39505 - 11905: 0xF298, - 39506 - 11905: 0xF299, - 39507 - 11905: 0xF29A, - 39508 - 11905: 0xF29B, - 39509 - 11905: 0xF29C, - 39510 - 11905: 0xF29D, - 39511 - 11905: 0xF29E, - 39512 - 11905: 0xF29F, - 39513 - 11905: 0xF2A0, - 39514 - 11905: 0xF340, - 39515 - 11905: 0xF341, - 39516 - 11905: 0xF342, - 39517 - 11905: 0xF343, - 39518 - 11905: 0xF344, - 39519 - 11905: 0xF345, - 39520 - 11905: 0xF346, - 39521 - 11905: 0xF347, - 39522 - 11905: 0xF348, - 39523 - 11905: 0xF349, - 39524 - 11905: 0xF34A, - 39525 - 11905: 0xF34B, - 39526 - 11905: 0xF34C, - 39527 - 11905: 0xF34D, - 39528 - 11905: 0xF34E, - 39529 - 11905: 0xF34F, - 39530 - 11905: 0xF350, - 39531 - 11905: 0xF351, - 39532 - 11905: 0xC2ED, - 39533 - 11905: 0xD4A6, - 39534 - 11905: 0xCDD4, - 39535 - 11905: 0xD1B1, - 39536 - 11905: 0xB3DB, - 39537 - 11905: 0xC7FD, - 39538 - 11905: 0xF352, - 39539 - 11905: 0xB2B5, - 39540 - 11905: 0xC2BF, - 39541 - 11905: 0xE6E0, - 39542 - 11905: 0xCABB, - 39543 - 11905: 0xE6E1, - 39544 - 11905: 0xE6E2, - 39545 - 11905: 0xBED4, - 39546 - 11905: 0xE6E3, - 39547 - 11905: 0xD7A4, - 39548 - 11905: 0xCDD5, - 39549 - 11905: 0xE6E5, - 39550 - 11905: 0xBCDD, - 39551 - 11905: 0xE6E4, - 39552 - 11905: 0xE6E6, - 39553 - 11905: 0xE6E7, - 39554 - 11905: 0xC2EE, - 39555 - 11905: 0xF353, - 39556 - 11905: 0xBDBE, - 39557 - 11905: 0xE6E8, - 39558 - 11905: 0xC2E6, - 39559 - 11905: 0xBAA7, - 39560 - 11905: 0xE6E9, - 39561 - 11905: 0xF354, - 39562 - 11905: 0xE6EA, - 39563 - 11905: 0xB3D2, - 39564 - 11905: 0xD1E9, - 39565 - 11905: 0xF355, - 39566 - 11905: 0xF356, - 39567 - 11905: 0xBFA5, - 39568 - 11905: 0xE6EB, - 39569 - 11905: 0xC6EF, - 39570 - 11905: 0xE6EC, - 39571 - 11905: 0xE6ED, - 39572 - 11905: 0xF357, - 39573 - 11905: 0xF358, - 39574 - 11905: 0xE6EE, - 39575 - 11905: 0xC6AD, - 39576 - 11905: 0xE6EF, - 39577 - 11905: 0xF359, - 39578 - 11905: 0xC9A7, - 39579 - 11905: 0xE6F0, - 39580 - 11905: 0xE6F1, - 39581 - 11905: 0xE6F2, - 39582 - 11905: 0xE5B9, - 39583 - 11905: 0xE6F3, - 39584 - 11905: 0xE6F4, - 39585 - 11905: 0xC2E2, - 39586 - 11905: 0xE6F5, - 39587 - 11905: 0xE6F6, - 39588 - 11905: 0xD6E8, - 39589 - 11905: 0xE6F7, - 39590 - 11905: 0xF35A, - 39591 - 11905: 0xE6F8, - 39592 - 11905: 0xB9C7, - 39593 - 11905: 0xF35B, - 39594 - 11905: 0xF35C, - 39595 - 11905: 0xF35D, - 39596 - 11905: 0xF35E, - 39597 - 11905: 0xF35F, - 39598 - 11905: 0xF360, - 39599 - 11905: 0xF361, - 39600 - 11905: 0xF7BB, - 39601 - 11905: 0xF7BA, - 39602 - 11905: 0xF362, - 39603 - 11905: 0xF363, - 39604 - 11905: 0xF364, - 39605 - 11905: 0xF365, - 39606 - 11905: 0xF7BE, - 39607 - 11905: 0xF7BC, - 39608 - 11905: 0xBAA1, - 39609 - 11905: 0xF366, - 39610 - 11905: 0xF7BF, - 39611 - 11905: 0xF367, - 39612 - 11905: 0xF7C0, - 39613 - 11905: 0xF368, - 39614 - 11905: 0xF369, - 39615 - 11905: 0xF36A, - 39616 - 11905: 0xF7C2, - 39617 - 11905: 0xF7C1, - 39618 - 11905: 0xF7C4, - 39619 - 11905: 0xF36B, - 39620 - 11905: 0xF36C, - 39621 - 11905: 0xF7C3, - 39622 - 11905: 0xF36D, - 39623 - 11905: 0xF36E, - 39624 - 11905: 0xF36F, - 39625 - 11905: 0xF370, - 39626 - 11905: 0xF371, - 39627 - 11905: 0xF7C5, - 39628 - 11905: 0xF7C6, - 39629 - 11905: 0xF372, - 39630 - 11905: 0xF373, - 39631 - 11905: 0xF374, - 39632 - 11905: 0xF375, - 39633 - 11905: 0xF7C7, - 39634 - 11905: 0xF376, - 39635 - 11905: 0xCBE8, - 39636 - 11905: 0xF377, - 39637 - 11905: 0xF378, - 39638 - 11905: 0xF379, - 39639 - 11905: 0xF37A, - 39640 - 11905: 0xB8DF, - 39641 - 11905: 0xF37B, - 39642 - 11905: 0xF37C, - 39643 - 11905: 0xF37D, - 39644 - 11905: 0xF37E, - 39645 - 11905: 0xF380, - 39646 - 11905: 0xF381, - 39647 - 11905: 0xF7D4, - 39648 - 11905: 0xF382, - 39649 - 11905: 0xF7D5, - 39650 - 11905: 0xF383, - 39651 - 11905: 0xF384, - 39652 - 11905: 0xF385, - 39653 - 11905: 0xF386, - 39654 - 11905: 0xF7D6, - 39655 - 11905: 0xF387, - 39656 - 11905: 0xF388, - 39657 - 11905: 0xF389, - 39658 - 11905: 0xF38A, - 39659 - 11905: 0xF7D8, - 39660 - 11905: 0xF38B, - 39661 - 11905: 0xF7DA, - 39662 - 11905: 0xF38C, - 39663 - 11905: 0xF7D7, - 39664 - 11905: 0xF38D, - 39665 - 11905: 0xF38E, - 39666 - 11905: 0xF38F, - 39667 - 11905: 0xF390, - 39668 - 11905: 0xF391, - 39669 - 11905: 0xF392, - 39670 - 11905: 0xF393, - 39671 - 11905: 0xF394, - 39672 - 11905: 0xF395, - 39673 - 11905: 0xF7DB, - 39674 - 11905: 0xF396, - 39675 - 11905: 0xF7D9, - 39676 - 11905: 0xF397, - 39677 - 11905: 0xF398, - 39678 - 11905: 0xF399, - 39679 - 11905: 0xF39A, - 39680 - 11905: 0xF39B, - 39681 - 11905: 0xF39C, - 39682 - 11905: 0xF39D, - 39683 - 11905: 0xD7D7, - 39684 - 11905: 0xF39E, - 39685 - 11905: 0xF39F, - 39686 - 11905: 0xF3A0, - 39687 - 11905: 0xF440, - 39688 - 11905: 0xF7DC, - 39689 - 11905: 0xF441, - 39690 - 11905: 0xF442, - 39691 - 11905: 0xF443, - 39692 - 11905: 0xF444, - 39693 - 11905: 0xF445, - 39694 - 11905: 0xF446, - 39695 - 11905: 0xF7DD, - 39696 - 11905: 0xF447, - 39697 - 11905: 0xF448, - 39698 - 11905: 0xF449, - 39699 - 11905: 0xF7DE, - 39700 - 11905: 0xF44A, - 39701 - 11905: 0xF44B, - 39702 - 11905: 0xF44C, - 39703 - 11905: 0xF44D, - 39704 - 11905: 0xF44E, - 39705 - 11905: 0xF44F, - 39706 - 11905: 0xF450, - 39707 - 11905: 0xF451, - 39708 - 11905: 0xF452, - 39709 - 11905: 0xF453, - 39710 - 11905: 0xF454, - 39711 - 11905: 0xF7DF, - 39712 - 11905: 0xF455, - 39713 - 11905: 0xF456, - 39714 - 11905: 0xF457, - 39715 - 11905: 0xF7E0, - 39716 - 11905: 0xF458, - 39717 - 11905: 0xF459, - 39718 - 11905: 0xF45A, - 39719 - 11905: 0xF45B, - 39720 - 11905: 0xF45C, - 39721 - 11905: 0xF45D, - 39722 - 11905: 0xF45E, - 39723 - 11905: 0xF45F, - 39724 - 11905: 0xF460, - 39725 - 11905: 0xF461, - 39726 - 11905: 0xF462, - 39727 - 11905: 0xDBCB, - 39728 - 11905: 0xF463, - 39729 - 11905: 0xF464, - 39730 - 11905: 0xD8AA, - 39731 - 11905: 0xF465, - 39732 - 11905: 0xF466, - 39733 - 11905: 0xF467, - 39734 - 11905: 0xF468, - 39735 - 11905: 0xF469, - 39736 - 11905: 0xF46A, - 39737 - 11905: 0xF46B, - 39738 - 11905: 0xF46C, - 39739 - 11905: 0xE5F7, - 39740 - 11905: 0xB9ED, - 39741 - 11905: 0xF46D, - 39742 - 11905: 0xF46E, - 39743 - 11905: 0xF46F, - 39744 - 11905: 0xF470, - 39745 - 11905: 0xBFFD, - 39746 - 11905: 0xBBEA, - 39747 - 11905: 0xF7C9, - 39748 - 11905: 0xC6C7, - 39749 - 11905: 0xF7C8, - 39750 - 11905: 0xF471, - 39751 - 11905: 0xF7CA, - 39752 - 11905: 0xF7CC, - 39753 - 11905: 0xF7CB, - 39754 - 11905: 0xF472, - 39755 - 11905: 0xF473, - 39756 - 11905: 0xF474, - 39757 - 11905: 0xF7CD, - 39758 - 11905: 0xF475, - 39759 - 11905: 0xCEBA, - 39760 - 11905: 0xF476, - 39761 - 11905: 0xF7CE, - 39762 - 11905: 0xF477, - 39763 - 11905: 0xF478, - 39764 - 11905: 0xC4A7, - 39765 - 11905: 0xF479, - 39766 - 11905: 0xF47A, - 39767 - 11905: 0xF47B, - 39768 - 11905: 0xF47C, - 39769 - 11905: 0xF47D, - 39770 - 11905: 0xF47E, - 39771 - 11905: 0xF480, - 39772 - 11905: 0xF481, - 39773 - 11905: 0xF482, - 39774 - 11905: 0xF483, - 39775 - 11905: 0xF484, - 39776 - 11905: 0xF485, - 39777 - 11905: 0xF486, - 39778 - 11905: 0xF487, - 39779 - 11905: 0xF488, - 39780 - 11905: 0xF489, - 39781 - 11905: 0xF48A, - 39782 - 11905: 0xF48B, - 39783 - 11905: 0xF48C, - 39784 - 11905: 0xF48D, - 39785 - 11905: 0xF48E, - 39786 - 11905: 0xF48F, - 39787 - 11905: 0xF490, - 39788 - 11905: 0xF491, - 39789 - 11905: 0xF492, - 39790 - 11905: 0xF493, - 39791 - 11905: 0xF494, - 39792 - 11905: 0xF495, - 39793 - 11905: 0xF496, - 39794 - 11905: 0xF497, - 39795 - 11905: 0xF498, - 39796 - 11905: 0xF499, - 39797 - 11905: 0xF49A, - 39798 - 11905: 0xF49B, - 39799 - 11905: 0xF49C, - 39800 - 11905: 0xF49D, - 39801 - 11905: 0xF49E, - 39802 - 11905: 0xF49F, - 39803 - 11905: 0xF4A0, - 39804 - 11905: 0xF540, - 39805 - 11905: 0xF541, - 39806 - 11905: 0xF542, - 39807 - 11905: 0xF543, - 39808 - 11905: 0xF544, - 39809 - 11905: 0xF545, - 39810 - 11905: 0xF546, - 39811 - 11905: 0xF547, - 39812 - 11905: 0xF548, - 39813 - 11905: 0xF549, - 39814 - 11905: 0xF54A, - 39815 - 11905: 0xF54B, - 39816 - 11905: 0xF54C, - 39817 - 11905: 0xF54D, - 39818 - 11905: 0xF54E, - 39819 - 11905: 0xF54F, - 39820 - 11905: 0xF550, - 39821 - 11905: 0xF551, - 39822 - 11905: 0xF552, - 39823 - 11905: 0xF553, - 39824 - 11905: 0xF554, - 39825 - 11905: 0xF555, - 39826 - 11905: 0xF556, - 39827 - 11905: 0xF557, - 39828 - 11905: 0xF558, - 39829 - 11905: 0xF559, - 39830 - 11905: 0xF55A, - 39831 - 11905: 0xF55B, - 39832 - 11905: 0xF55C, - 39833 - 11905: 0xF55D, - 39834 - 11905: 0xF55E, - 39835 - 11905: 0xF55F, - 39836 - 11905: 0xF560, - 39837 - 11905: 0xF561, - 39838 - 11905: 0xF562, - 39839 - 11905: 0xF563, - 39840 - 11905: 0xF564, - 39841 - 11905: 0xF565, - 39842 - 11905: 0xF566, - 39843 - 11905: 0xF567, - 39844 - 11905: 0xF568, - 39845 - 11905: 0xF569, - 39846 - 11905: 0xF56A, - 39847 - 11905: 0xF56B, - 39848 - 11905: 0xF56C, - 39849 - 11905: 0xF56D, - 39850 - 11905: 0xF56E, - 39851 - 11905: 0xF56F, - 39852 - 11905: 0xF570, - 39853 - 11905: 0xF571, - 39854 - 11905: 0xF572, - 39855 - 11905: 0xF573, - 39856 - 11905: 0xF574, - 39857 - 11905: 0xF575, - 39858 - 11905: 0xF576, - 39859 - 11905: 0xF577, - 39860 - 11905: 0xF578, - 39861 - 11905: 0xF579, - 39862 - 11905: 0xF57A, - 39863 - 11905: 0xF57B, - 39864 - 11905: 0xF57C, - 39865 - 11905: 0xF57D, - 39866 - 11905: 0xF57E, - 39867 - 11905: 0xF580, - 39868 - 11905: 0xF581, - 39869 - 11905: 0xF582, - 39870 - 11905: 0xF583, - 39871 - 11905: 0xF584, - 39872 - 11905: 0xF585, - 39873 - 11905: 0xF586, - 39874 - 11905: 0xF587, - 39875 - 11905: 0xF588, - 39876 - 11905: 0xF589, - 39877 - 11905: 0xF58A, - 39878 - 11905: 0xF58B, - 39879 - 11905: 0xF58C, - 39880 - 11905: 0xF58D, - 39881 - 11905: 0xF58E, - 39882 - 11905: 0xF58F, - 39883 - 11905: 0xF590, - 39884 - 11905: 0xF591, - 39885 - 11905: 0xF592, - 39886 - 11905: 0xF593, - 39887 - 11905: 0xF594, - 39888 - 11905: 0xF595, - 39889 - 11905: 0xF596, - 39890 - 11905: 0xF597, - 39891 - 11905: 0xF598, - 39892 - 11905: 0xF599, - 39893 - 11905: 0xF59A, - 39894 - 11905: 0xF59B, - 39895 - 11905: 0xF59C, - 39896 - 11905: 0xF59D, - 39897 - 11905: 0xF59E, - 39898 - 11905: 0xF59F, - 39899 - 11905: 0xF5A0, - 39900 - 11905: 0xF640, - 39901 - 11905: 0xF641, - 39902 - 11905: 0xF642, - 39903 - 11905: 0xF643, - 39904 - 11905: 0xF644, - 39905 - 11905: 0xF645, - 39906 - 11905: 0xF646, - 39907 - 11905: 0xF647, - 39908 - 11905: 0xF648, - 39909 - 11905: 0xF649, - 39910 - 11905: 0xF64A, - 39911 - 11905: 0xF64B, - 39912 - 11905: 0xF64C, - 39913 - 11905: 0xF64D, - 39914 - 11905: 0xF64E, - 39915 - 11905: 0xF64F, - 39916 - 11905: 0xF650, - 39917 - 11905: 0xF651, - 39918 - 11905: 0xF652, - 39919 - 11905: 0xF653, - 39920 - 11905: 0xF654, - 39921 - 11905: 0xF655, - 39922 - 11905: 0xF656, - 39923 - 11905: 0xF657, - 39924 - 11905: 0xF658, - 39925 - 11905: 0xF659, - 39926 - 11905: 0xF65A, - 39927 - 11905: 0xF65B, - 39928 - 11905: 0xF65C, - 39929 - 11905: 0xF65D, - 39930 - 11905: 0xF65E, - 39931 - 11905: 0xF65F, - 39932 - 11905: 0xF660, - 39933 - 11905: 0xF661, - 39934 - 11905: 0xF662, - 39935 - 11905: 0xF663, - 39936 - 11905: 0xF664, - 39937 - 11905: 0xF665, - 39938 - 11905: 0xF666, - 39939 - 11905: 0xF667, - 39940 - 11905: 0xF668, - 39941 - 11905: 0xF669, - 39942 - 11905: 0xF66A, - 39943 - 11905: 0xF66B, - 39944 - 11905: 0xF66C, - 39945 - 11905: 0xF66D, - 39946 - 11905: 0xF66E, - 39947 - 11905: 0xF66F, - 39948 - 11905: 0xF670, - 39949 - 11905: 0xF671, - 39950 - 11905: 0xF672, - 39951 - 11905: 0xF673, - 39952 - 11905: 0xF674, - 39953 - 11905: 0xF675, - 39954 - 11905: 0xF676, - 39955 - 11905: 0xF677, - 39956 - 11905: 0xF678, - 39957 - 11905: 0xF679, - 39958 - 11905: 0xF67A, - 39959 - 11905: 0xF67B, - 39960 - 11905: 0xF67C, - 39961 - 11905: 0xF67D, - 39962 - 11905: 0xF67E, - 39963 - 11905: 0xF680, - 39964 - 11905: 0xF681, - 39965 - 11905: 0xF682, - 39966 - 11905: 0xF683, - 39967 - 11905: 0xF684, - 39968 - 11905: 0xF685, - 39969 - 11905: 0xF686, - 39970 - 11905: 0xF687, - 39971 - 11905: 0xF688, - 39972 - 11905: 0xF689, - 39973 - 11905: 0xF68A, - 39974 - 11905: 0xF68B, - 39975 - 11905: 0xF68C, - 39976 - 11905: 0xF68D, - 39977 - 11905: 0xF68E, - 39978 - 11905: 0xF68F, - 39979 - 11905: 0xF690, - 39980 - 11905: 0xF691, - 39981 - 11905: 0xF692, - 39982 - 11905: 0xF693, - 39983 - 11905: 0xF694, - 39984 - 11905: 0xF695, - 39985 - 11905: 0xF696, - 39986 - 11905: 0xF697, - 39987 - 11905: 0xF698, - 39988 - 11905: 0xF699, - 39989 - 11905: 0xF69A, - 39990 - 11905: 0xF69B, - 39991 - 11905: 0xF69C, - 39992 - 11905: 0xF69D, - 39993 - 11905: 0xF69E, - 39994 - 11905: 0xF69F, - 39995 - 11905: 0xF6A0, - 39996 - 11905: 0xF740, - 39997 - 11905: 0xF741, - 39998 - 11905: 0xF742, - 39999 - 11905: 0xF743, - 40000 - 11905: 0xF744, - 40001 - 11905: 0xF745, - 40002 - 11905: 0xF746, - 40003 - 11905: 0xF747, - 40004 - 11905: 0xF748, - 40005 - 11905: 0xF749, - 40006 - 11905: 0xF74A, - 40007 - 11905: 0xF74B, - 40008 - 11905: 0xF74C, - 40009 - 11905: 0xF74D, - 40010 - 11905: 0xF74E, - 40011 - 11905: 0xF74F, - 40012 - 11905: 0xF750, - 40013 - 11905: 0xF751, - 40014 - 11905: 0xF752, - 40015 - 11905: 0xF753, - 40016 - 11905: 0xF754, - 40017 - 11905: 0xF755, - 40018 - 11905: 0xF756, - 40019 - 11905: 0xF757, - 40020 - 11905: 0xF758, - 40021 - 11905: 0xF759, - 40022 - 11905: 0xF75A, - 40023 - 11905: 0xF75B, - 40024 - 11905: 0xF75C, - 40025 - 11905: 0xF75D, - 40026 - 11905: 0xF75E, - 40027 - 11905: 0xF75F, - 40028 - 11905: 0xF760, - 40029 - 11905: 0xF761, - 40030 - 11905: 0xF762, - 40031 - 11905: 0xF763, - 40032 - 11905: 0xF764, - 40033 - 11905: 0xF765, - 40034 - 11905: 0xF766, - 40035 - 11905: 0xF767, - 40036 - 11905: 0xF768, - 40037 - 11905: 0xF769, - 40038 - 11905: 0xF76A, - 40039 - 11905: 0xF76B, - 40040 - 11905: 0xF76C, - 40041 - 11905: 0xF76D, - 40042 - 11905: 0xF76E, - 40043 - 11905: 0xF76F, - 40044 - 11905: 0xF770, - 40045 - 11905: 0xF771, - 40046 - 11905: 0xF772, - 40047 - 11905: 0xF773, - 40048 - 11905: 0xF774, - 40049 - 11905: 0xF775, - 40050 - 11905: 0xF776, - 40051 - 11905: 0xF777, - 40052 - 11905: 0xF778, - 40053 - 11905: 0xF779, - 40054 - 11905: 0xF77A, - 40055 - 11905: 0xF77B, - 40056 - 11905: 0xF77C, - 40057 - 11905: 0xF77D, - 40058 - 11905: 0xF77E, - 40059 - 11905: 0xF780, - 40060 - 11905: 0xD3E3, - 40061 - 11905: 0xF781, - 40062 - 11905: 0xF782, - 40063 - 11905: 0xF6CF, - 40064 - 11905: 0xF783, - 40065 - 11905: 0xC2B3, - 40066 - 11905: 0xF6D0, - 40067 - 11905: 0xF784, - 40068 - 11905: 0xF785, - 40069 - 11905: 0xF6D1, - 40070 - 11905: 0xF6D2, - 40071 - 11905: 0xF6D3, - 40072 - 11905: 0xF6D4, - 40073 - 11905: 0xF786, - 40074 - 11905: 0xF787, - 40075 - 11905: 0xF6D6, - 40076 - 11905: 0xF788, - 40077 - 11905: 0xB1AB, - 40078 - 11905: 0xF6D7, - 40079 - 11905: 0xF789, - 40080 - 11905: 0xF6D8, - 40081 - 11905: 0xF6D9, - 40082 - 11905: 0xF6DA, - 40083 - 11905: 0xF78A, - 40084 - 11905: 0xF6DB, - 40085 - 11905: 0xF6DC, - 40086 - 11905: 0xF78B, - 40087 - 11905: 0xF78C, - 40088 - 11905: 0xF78D, - 40089 - 11905: 0xF78E, - 40090 - 11905: 0xF6DD, - 40091 - 11905: 0xF6DE, - 40092 - 11905: 0xCFCA, - 40093 - 11905: 0xF78F, - 40094 - 11905: 0xF6DF, - 40095 - 11905: 0xF6E0, - 40096 - 11905: 0xF6E1, - 40097 - 11905: 0xF6E2, - 40098 - 11905: 0xF6E3, - 40099 - 11905: 0xF6E4, - 40100 - 11905: 0xC0F0, - 40101 - 11905: 0xF6E5, - 40102 - 11905: 0xF6E6, - 40103 - 11905: 0xF6E7, - 40104 - 11905: 0xF6E8, - 40105 - 11905: 0xF6E9, - 40106 - 11905: 0xF790, - 40107 - 11905: 0xF6EA, - 40108 - 11905: 0xF791, - 40109 - 11905: 0xF6EB, - 40110 - 11905: 0xF6EC, - 40111 - 11905: 0xF792, - 40112 - 11905: 0xF6ED, - 40113 - 11905: 0xF6EE, - 40114 - 11905: 0xF6EF, - 40115 - 11905: 0xF6F0, - 40116 - 11905: 0xF6F1, - 40117 - 11905: 0xF6F2, - 40118 - 11905: 0xF6F3, - 40119 - 11905: 0xF6F4, - 40120 - 11905: 0xBEA8, - 40121 - 11905: 0xF793, - 40122 - 11905: 0xF6F5, - 40123 - 11905: 0xF6F6, - 40124 - 11905: 0xF6F7, - 40125 - 11905: 0xF6F8, - 40126 - 11905: 0xF794, - 40127 - 11905: 0xF795, - 40128 - 11905: 0xF796, - 40129 - 11905: 0xF797, - 40130 - 11905: 0xF798, - 40131 - 11905: 0xC8FA, - 40132 - 11905: 0xF6F9, - 40133 - 11905: 0xF6FA, - 40134 - 11905: 0xF6FB, - 40135 - 11905: 0xF6FC, - 40136 - 11905: 0xF799, - 40137 - 11905: 0xF79A, - 40138 - 11905: 0xF6FD, - 40139 - 11905: 0xF6FE, - 40140 - 11905: 0xF7A1, - 40141 - 11905: 0xF7A2, - 40142 - 11905: 0xF7A3, - 40143 - 11905: 0xF7A4, - 40144 - 11905: 0xF7A5, - 40145 - 11905: 0xF79B, - 40146 - 11905: 0xF79C, - 40147 - 11905: 0xF7A6, - 40148 - 11905: 0xF7A7, - 40149 - 11905: 0xF7A8, - 40150 - 11905: 0xB1EE, - 40151 - 11905: 0xF7A9, - 40152 - 11905: 0xF7AA, - 40153 - 11905: 0xF7AB, - 40154 - 11905: 0xF79D, - 40155 - 11905: 0xF79E, - 40156 - 11905: 0xF7AC, - 40157 - 11905: 0xF7AD, - 40158 - 11905: 0xC1DB, - 40159 - 11905: 0xF7AE, - 40160 - 11905: 0xF79F, - 40161 - 11905: 0xF7A0, - 40162 - 11905: 0xF7AF, - 40163 - 11905: 0xF840, - 40164 - 11905: 0xF841, - 40165 - 11905: 0xF842, - 40166 - 11905: 0xF843, - 40167 - 11905: 0xF844, - 40168 - 11905: 0xF845, - 40169 - 11905: 0xF846, - 40170 - 11905: 0xF847, - 40171 - 11905: 0xF848, - 40172 - 11905: 0xF849, - 40173 - 11905: 0xF84A, - 40174 - 11905: 0xF84B, - 40175 - 11905: 0xF84C, - 40176 - 11905: 0xF84D, - 40177 - 11905: 0xF84E, - 40178 - 11905: 0xF84F, - 40179 - 11905: 0xF850, - 40180 - 11905: 0xF851, - 40181 - 11905: 0xF852, - 40182 - 11905: 0xF853, - 40183 - 11905: 0xF854, - 40184 - 11905: 0xF855, - 40185 - 11905: 0xF856, - 40186 - 11905: 0xF857, - 40187 - 11905: 0xF858, - 40188 - 11905: 0xF859, - 40189 - 11905: 0xF85A, - 40190 - 11905: 0xF85B, - 40191 - 11905: 0xF85C, - 40192 - 11905: 0xF85D, - 40193 - 11905: 0xF85E, - 40194 - 11905: 0xF85F, - 40195 - 11905: 0xF860, - 40196 - 11905: 0xF861, - 40197 - 11905: 0xF862, - 40198 - 11905: 0xF863, - 40199 - 11905: 0xF864, - 40200 - 11905: 0xF865, - 40201 - 11905: 0xF866, - 40202 - 11905: 0xF867, - 40203 - 11905: 0xF868, - 40204 - 11905: 0xF869, - 40205 - 11905: 0xF86A, - 40206 - 11905: 0xF86B, - 40207 - 11905: 0xF86C, - 40208 - 11905: 0xF86D, - 40209 - 11905: 0xF86E, - 40210 - 11905: 0xF86F, - 40211 - 11905: 0xF870, - 40212 - 11905: 0xF871, - 40213 - 11905: 0xF872, - 40214 - 11905: 0xF873, - 40215 - 11905: 0xF874, - 40216 - 11905: 0xF875, - 40217 - 11905: 0xF876, - 40218 - 11905: 0xF877, - 40219 - 11905: 0xF878, - 40220 - 11905: 0xF879, - 40221 - 11905: 0xF87A, - 40222 - 11905: 0xF87B, - 40223 - 11905: 0xF87C, - 40224 - 11905: 0xF87D, - 40225 - 11905: 0xF87E, - 40226 - 11905: 0xF880, - 40227 - 11905: 0xF881, - 40228 - 11905: 0xF882, - 40229 - 11905: 0xF883, - 40230 - 11905: 0xF884, - 40231 - 11905: 0xF885, - 40232 - 11905: 0xF886, - 40233 - 11905: 0xF887, - 40234 - 11905: 0xF888, - 40235 - 11905: 0xF889, - 40236 - 11905: 0xF88A, - 40237 - 11905: 0xF88B, - 40238 - 11905: 0xF88C, - 40239 - 11905: 0xF88D, - 40240 - 11905: 0xF88E, - 40241 - 11905: 0xF88F, - 40242 - 11905: 0xF890, - 40243 - 11905: 0xF891, - 40244 - 11905: 0xF892, - 40245 - 11905: 0xF893, - 40246 - 11905: 0xF894, - 40247 - 11905: 0xF895, - 40248 - 11905: 0xF896, - 40249 - 11905: 0xF897, - 40250 - 11905: 0xF898, - 40251 - 11905: 0xF899, - 40252 - 11905: 0xF89A, - 40253 - 11905: 0xF89B, - 40254 - 11905: 0xF89C, - 40255 - 11905: 0xF89D, - 40256 - 11905: 0xF89E, - 40257 - 11905: 0xF89F, - 40258 - 11905: 0xF8A0, - 40259 - 11905: 0xF940, - 40260 - 11905: 0xF941, - 40261 - 11905: 0xF942, - 40262 - 11905: 0xF943, - 40263 - 11905: 0xF944, - 40264 - 11905: 0xF945, - 40265 - 11905: 0xF946, - 40266 - 11905: 0xF947, - 40267 - 11905: 0xF948, - 40268 - 11905: 0xF949, - 40269 - 11905: 0xF94A, - 40270 - 11905: 0xF94B, - 40271 - 11905: 0xF94C, - 40272 - 11905: 0xF94D, - 40273 - 11905: 0xF94E, - 40274 - 11905: 0xF94F, - 40275 - 11905: 0xF950, - 40276 - 11905: 0xF951, - 40277 - 11905: 0xF952, - 40278 - 11905: 0xF953, - 40279 - 11905: 0xF954, - 40280 - 11905: 0xF955, - 40281 - 11905: 0xF956, - 40282 - 11905: 0xF957, - 40283 - 11905: 0xF958, - 40284 - 11905: 0xF959, - 40285 - 11905: 0xF95A, - 40286 - 11905: 0xF95B, - 40287 - 11905: 0xF95C, - 40288 - 11905: 0xF95D, - 40289 - 11905: 0xF95E, - 40290 - 11905: 0xF95F, - 40291 - 11905: 0xF960, - 40292 - 11905: 0xF961, - 40293 - 11905: 0xF962, - 40294 - 11905: 0xF963, - 40295 - 11905: 0xF964, - 40296 - 11905: 0xF965, - 40297 - 11905: 0xF966, - 40298 - 11905: 0xF967, - 40299 - 11905: 0xF968, - 40300 - 11905: 0xF969, - 40301 - 11905: 0xF96A, - 40302 - 11905: 0xF96B, - 40303 - 11905: 0xF96C, - 40304 - 11905: 0xF96D, - 40305 - 11905: 0xF96E, - 40306 - 11905: 0xF96F, - 40307 - 11905: 0xF970, - 40308 - 11905: 0xF971, - 40309 - 11905: 0xF972, - 40310 - 11905: 0xF973, - 40311 - 11905: 0xF974, - 40312 - 11905: 0xF975, - 40313 - 11905: 0xF976, - 40314 - 11905: 0xF977, - 40315 - 11905: 0xF978, - 40316 - 11905: 0xF979, - 40317 - 11905: 0xF97A, - 40318 - 11905: 0xF97B, - 40319 - 11905: 0xF97C, - 40320 - 11905: 0xF97D, - 40321 - 11905: 0xF97E, - 40322 - 11905: 0xF980, - 40323 - 11905: 0xF981, - 40324 - 11905: 0xF982, - 40325 - 11905: 0xF983, - 40326 - 11905: 0xF984, - 40327 - 11905: 0xF985, - 40328 - 11905: 0xF986, - 40329 - 11905: 0xF987, - 40330 - 11905: 0xF988, - 40331 - 11905: 0xF989, - 40332 - 11905: 0xF98A, - 40333 - 11905: 0xF98B, - 40334 - 11905: 0xF98C, - 40335 - 11905: 0xF98D, - 40336 - 11905: 0xF98E, - 40337 - 11905: 0xF98F, - 40338 - 11905: 0xF990, - 40339 - 11905: 0xF991, - 40340 - 11905: 0xF992, - 40341 - 11905: 0xF993, - 40342 - 11905: 0xF994, - 40343 - 11905: 0xF995, - 40344 - 11905: 0xF996, - 40345 - 11905: 0xF997, - 40346 - 11905: 0xF998, - 40347 - 11905: 0xF999, - 40348 - 11905: 0xF99A, - 40349 - 11905: 0xF99B, - 40350 - 11905: 0xF99C, - 40351 - 11905: 0xF99D, - 40352 - 11905: 0xF99E, - 40353 - 11905: 0xF99F, - 40354 - 11905: 0xF9A0, - 40355 - 11905: 0xFA40, - 40356 - 11905: 0xFA41, - 40357 - 11905: 0xFA42, - 40358 - 11905: 0xFA43, - 40359 - 11905: 0xFA44, - 40360 - 11905: 0xFA45, - 40361 - 11905: 0xFA46, - 40362 - 11905: 0xFA47, - 40363 - 11905: 0xFA48, - 40364 - 11905: 0xFA49, - 40365 - 11905: 0xFA4A, - 40366 - 11905: 0xFA4B, - 40367 - 11905: 0xFA4C, - 40368 - 11905: 0xFA4D, - 40369 - 11905: 0xFA4E, - 40370 - 11905: 0xFA4F, - 40371 - 11905: 0xFA50, - 40372 - 11905: 0xFA51, - 40373 - 11905: 0xFA52, - 40374 - 11905: 0xFA53, - 40375 - 11905: 0xFA54, - 40376 - 11905: 0xFA55, - 40377 - 11905: 0xFA56, - 40378 - 11905: 0xFA57, - 40379 - 11905: 0xFA58, - 40380 - 11905: 0xFA59, - 40381 - 11905: 0xFA5A, - 40382 - 11905: 0xFA5B, - 40383 - 11905: 0xFA5C, - 40384 - 11905: 0xFA5D, - 40385 - 11905: 0xFA5E, - 40386 - 11905: 0xFA5F, - 40387 - 11905: 0xFA60, - 40388 - 11905: 0xFA61, - 40389 - 11905: 0xFA62, - 40390 - 11905: 0xFA63, - 40391 - 11905: 0xFA64, - 40392 - 11905: 0xFA65, - 40393 - 11905: 0xFA66, - 40394 - 11905: 0xFA67, - 40395 - 11905: 0xFA68, - 40396 - 11905: 0xFA69, - 40397 - 11905: 0xFA6A, - 40398 - 11905: 0xFA6B, - 40399 - 11905: 0xFA6C, - 40400 - 11905: 0xFA6D, - 40401 - 11905: 0xFA6E, - 40402 - 11905: 0xFA6F, - 40403 - 11905: 0xFA70, - 40404 - 11905: 0xFA71, - 40405 - 11905: 0xFA72, - 40406 - 11905: 0xFA73, - 40407 - 11905: 0xFA74, - 40408 - 11905: 0xFA75, - 40409 - 11905: 0xFA76, - 40410 - 11905: 0xFA77, - 40411 - 11905: 0xFA78, - 40412 - 11905: 0xFA79, - 40413 - 11905: 0xFA7A, - 40414 - 11905: 0xFA7B, - 40415 - 11905: 0xFA7C, - 40416 - 11905: 0xFA7D, - 40417 - 11905: 0xFA7E, - 40418 - 11905: 0xFA80, - 40419 - 11905: 0xFA81, - 40420 - 11905: 0xFA82, - 40421 - 11905: 0xFA83, - 40422 - 11905: 0xFA84, - 40423 - 11905: 0xFA85, - 40424 - 11905: 0xFA86, - 40425 - 11905: 0xFA87, - 40426 - 11905: 0xFA88, - 40427 - 11905: 0xFA89, - 40428 - 11905: 0xFA8A, - 40429 - 11905: 0xFA8B, - 40430 - 11905: 0xFA8C, - 40431 - 11905: 0xFA8D, - 40432 - 11905: 0xFA8E, - 40433 - 11905: 0xFA8F, - 40434 - 11905: 0xFA90, - 40435 - 11905: 0xFA91, - 40436 - 11905: 0xFA92, - 40437 - 11905: 0xFA93, - 40438 - 11905: 0xFA94, - 40439 - 11905: 0xFA95, - 40440 - 11905: 0xFA96, - 40441 - 11905: 0xFA97, - 40442 - 11905: 0xFA98, - 40443 - 11905: 0xFA99, - 40444 - 11905: 0xFA9A, - 40445 - 11905: 0xFA9B, - 40446 - 11905: 0xFA9C, - 40447 - 11905: 0xFA9D, - 40448 - 11905: 0xFA9E, - 40449 - 11905: 0xFA9F, - 40450 - 11905: 0xFAA0, - 40451 - 11905: 0xFB40, - 40452 - 11905: 0xFB41, - 40453 - 11905: 0xFB42, - 40454 - 11905: 0xFB43, - 40455 - 11905: 0xFB44, - 40456 - 11905: 0xFB45, - 40457 - 11905: 0xFB46, - 40458 - 11905: 0xFB47, - 40459 - 11905: 0xFB48, - 40460 - 11905: 0xFB49, - 40461 - 11905: 0xFB4A, - 40462 - 11905: 0xFB4B, - 40463 - 11905: 0xFB4C, - 40464 - 11905: 0xFB4D, - 40465 - 11905: 0xFB4E, - 40466 - 11905: 0xFB4F, - 40467 - 11905: 0xFB50, - 40468 - 11905: 0xFB51, - 40469 - 11905: 0xFB52, - 40470 - 11905: 0xFB53, - 40471 - 11905: 0xFB54, - 40472 - 11905: 0xFB55, - 40473 - 11905: 0xFB56, - 40474 - 11905: 0xFB57, - 40475 - 11905: 0xFB58, - 40476 - 11905: 0xFB59, - 40477 - 11905: 0xFB5A, - 40478 - 11905: 0xFB5B, - 40479 - 11905: 0xC4F1, - 40480 - 11905: 0xF0AF, - 40481 - 11905: 0xBCA6, - 40482 - 11905: 0xF0B0, - 40483 - 11905: 0xC3F9, - 40484 - 11905: 0xFB5C, - 40485 - 11905: 0xC5B8, - 40486 - 11905: 0xD1BB, - 40487 - 11905: 0xFB5D, - 40488 - 11905: 0xF0B1, - 40489 - 11905: 0xF0B2, - 40490 - 11905: 0xF0B3, - 40491 - 11905: 0xF0B4, - 40492 - 11905: 0xF0B5, - 40493 - 11905: 0xD1BC, - 40494 - 11905: 0xFB5E, - 40495 - 11905: 0xD1EC, - 40496 - 11905: 0xFB5F, - 40497 - 11905: 0xF0B7, - 40498 - 11905: 0xF0B6, - 40499 - 11905: 0xD4A7, - 40500 - 11905: 0xFB60, - 40501 - 11905: 0xCDD2, - 40502 - 11905: 0xF0B8, - 40503 - 11905: 0xF0BA, - 40504 - 11905: 0xF0B9, - 40505 - 11905: 0xF0BB, - 40506 - 11905: 0xF0BC, - 40507 - 11905: 0xFB61, - 40508 - 11905: 0xFB62, - 40509 - 11905: 0xB8EB, - 40510 - 11905: 0xF0BD, - 40511 - 11905: 0xBAE8, - 40512 - 11905: 0xFB63, - 40513 - 11905: 0xF0BE, - 40514 - 11905: 0xF0BF, - 40515 - 11905: 0xBEE9, - 40516 - 11905: 0xF0C0, - 40517 - 11905: 0xB6EC, - 40518 - 11905: 0xF0C1, - 40519 - 11905: 0xF0C2, - 40520 - 11905: 0xF0C3, - 40521 - 11905: 0xF0C4, - 40522 - 11905: 0xC8B5, - 40523 - 11905: 0xF0C5, - 40524 - 11905: 0xF0C6, - 40525 - 11905: 0xFB64, - 40526 - 11905: 0xF0C7, - 40527 - 11905: 0xC5F4, - 40528 - 11905: 0xFB65, - 40529 - 11905: 0xF0C8, - 40530 - 11905: 0xFB66, - 40531 - 11905: 0xFB67, - 40532 - 11905: 0xFB68, - 40533 - 11905: 0xF0C9, - 40534 - 11905: 0xFB69, - 40535 - 11905: 0xF0CA, - 40536 - 11905: 0xF7BD, - 40537 - 11905: 0xFB6A, - 40538 - 11905: 0xF0CB, - 40539 - 11905: 0xF0CC, - 40540 - 11905: 0xF0CD, - 40541 - 11905: 0xFB6B, - 40542 - 11905: 0xF0CE, - 40543 - 11905: 0xFB6C, - 40544 - 11905: 0xFB6D, - 40545 - 11905: 0xFB6E, - 40546 - 11905: 0xFB6F, - 40547 - 11905: 0xF0CF, - 40548 - 11905: 0xBAD7, - 40549 - 11905: 0xFB70, - 40550 - 11905: 0xF0D0, - 40551 - 11905: 0xF0D1, - 40552 - 11905: 0xF0D2, - 40553 - 11905: 0xF0D3, - 40554 - 11905: 0xF0D4, - 40555 - 11905: 0xF0D5, - 40556 - 11905: 0xF0D6, - 40557 - 11905: 0xF0D8, - 40558 - 11905: 0xFB71, - 40559 - 11905: 0xFB72, - 40560 - 11905: 0xD3A5, - 40561 - 11905: 0xF0D7, - 40562 - 11905: 0xFB73, - 40563 - 11905: 0xF0D9, - 40564 - 11905: 0xFB74, - 40565 - 11905: 0xFB75, - 40566 - 11905: 0xFB76, - 40567 - 11905: 0xFB77, - 40568 - 11905: 0xFB78, - 40569 - 11905: 0xFB79, - 40570 - 11905: 0xFB7A, - 40571 - 11905: 0xFB7B, - 40572 - 11905: 0xFB7C, - 40573 - 11905: 0xFB7D, - 40574 - 11905: 0xF5BA, - 40575 - 11905: 0xC2B9, - 40576 - 11905: 0xFB7E, - 40577 - 11905: 0xFB80, - 40578 - 11905: 0xF7E4, - 40579 - 11905: 0xFB81, - 40580 - 11905: 0xFB82, - 40581 - 11905: 0xFB83, - 40582 - 11905: 0xFB84, - 40583 - 11905: 0xF7E5, - 40584 - 11905: 0xF7E6, - 40585 - 11905: 0xFB85, - 40586 - 11905: 0xFB86, - 40587 - 11905: 0xF7E7, - 40588 - 11905: 0xFB87, - 40589 - 11905: 0xFB88, - 40590 - 11905: 0xFB89, - 40591 - 11905: 0xFB8A, - 40592 - 11905: 0xFB8B, - 40593 - 11905: 0xFB8C, - 40594 - 11905: 0xF7E8, - 40595 - 11905: 0xC2B4, - 40596 - 11905: 0xFB8D, - 40597 - 11905: 0xFB8E, - 40598 - 11905: 0xFB8F, - 40599 - 11905: 0xFB90, - 40600 - 11905: 0xFB91, - 40601 - 11905: 0xFB92, - 40602 - 11905: 0xFB93, - 40603 - 11905: 0xFB94, - 40604 - 11905: 0xFB95, - 40605 - 11905: 0xF7EA, - 40606 - 11905: 0xFB96, - 40607 - 11905: 0xF7EB, - 40608 - 11905: 0xFB97, - 40609 - 11905: 0xFB98, - 40610 - 11905: 0xFB99, - 40611 - 11905: 0xFB9A, - 40612 - 11905: 0xFB9B, - 40613 - 11905: 0xFB9C, - 40614 - 11905: 0xC2F3, - 40615 - 11905: 0xFB9D, - 40616 - 11905: 0xFB9E, - 40617 - 11905: 0xFB9F, - 40618 - 11905: 0xFBA0, - 40619 - 11905: 0xFC40, - 40620 - 11905: 0xFC41, - 40621 - 11905: 0xFC42, - 40622 - 11905: 0xFC43, - 40623 - 11905: 0xFC44, - 40624 - 11905: 0xFC45, - 40625 - 11905: 0xFC46, - 40626 - 11905: 0xFC47, - 40627 - 11905: 0xFC48, - 40628 - 11905: 0xF4F0, - 40629 - 11905: 0xFC49, - 40630 - 11905: 0xFC4A, - 40631 - 11905: 0xFC4B, - 40632 - 11905: 0xF4EF, - 40633 - 11905: 0xFC4C, - 40634 - 11905: 0xFC4D, - 40635 - 11905: 0xC2E9, - 40636 - 11905: 0xFC4E, - 40637 - 11905: 0xF7E1, - 40638 - 11905: 0xF7E2, - 40639 - 11905: 0xFC4F, - 40640 - 11905: 0xFC50, - 40641 - 11905: 0xFC51, - 40642 - 11905: 0xFC52, - 40643 - 11905: 0xFC53, - 40644 - 11905: 0xBBC6, - 40645 - 11905: 0xFC54, - 40646 - 11905: 0xFC55, - 40647 - 11905: 0xFC56, - 40648 - 11905: 0xFC57, - 40649 - 11905: 0xD9E4, - 40650 - 11905: 0xFC58, - 40651 - 11905: 0xFC59, - 40652 - 11905: 0xFC5A, - 40653 - 11905: 0xCAF2, - 40654 - 11905: 0xC0E8, - 40655 - 11905: 0xF0A4, - 40656 - 11905: 0xFC5B, - 40657 - 11905: 0xBADA, - 40658 - 11905: 0xFC5C, - 40659 - 11905: 0xFC5D, - 40660 - 11905: 0xC7AD, - 40661 - 11905: 0xFC5E, - 40662 - 11905: 0xFC5F, - 40663 - 11905: 0xFC60, - 40664 - 11905: 0xC4AC, - 40665 - 11905: 0xFC61, - 40666 - 11905: 0xFC62, - 40667 - 11905: 0xF7EC, - 40668 - 11905: 0xF7ED, - 40669 - 11905: 0xF7EE, - 40670 - 11905: 0xFC63, - 40671 - 11905: 0xF7F0, - 40672 - 11905: 0xF7EF, - 40673 - 11905: 0xFC64, - 40674 - 11905: 0xF7F1, - 40675 - 11905: 0xFC65, - 40676 - 11905: 0xFC66, - 40677 - 11905: 0xF7F4, - 40678 - 11905: 0xFC67, - 40679 - 11905: 0xF7F3, - 40680 - 11905: 0xFC68, - 40681 - 11905: 0xF7F2, - 40682 - 11905: 0xF7F5, - 40683 - 11905: 0xFC69, - 40684 - 11905: 0xFC6A, - 40685 - 11905: 0xFC6B, - 40686 - 11905: 0xFC6C, - 40687 - 11905: 0xF7F6, - 40688 - 11905: 0xFC6D, - 40689 - 11905: 0xFC6E, - 40690 - 11905: 0xFC6F, - 40691 - 11905: 0xFC70, - 40692 - 11905: 0xFC71, - 40693 - 11905: 0xFC72, - 40694 - 11905: 0xFC73, - 40695 - 11905: 0xFC74, - 40696 - 11905: 0xFC75, - 40697 - 11905: 0xEDE9, - 40698 - 11905: 0xFC76, - 40699 - 11905: 0xEDEA, - 40700 - 11905: 0xEDEB, - 40701 - 11905: 0xFC77, - 40702 - 11905: 0xF6BC, - 40703 - 11905: 0xFC78, - 40704 - 11905: 0xFC79, - 40705 - 11905: 0xFC7A, - 40706 - 11905: 0xFC7B, - 40707 - 11905: 0xFC7C, - 40708 - 11905: 0xFC7D, - 40709 - 11905: 0xFC7E, - 40710 - 11905: 0xFC80, - 40711 - 11905: 0xFC81, - 40712 - 11905: 0xFC82, - 40713 - 11905: 0xFC83, - 40714 - 11905: 0xFC84, - 40715 - 11905: 0xF6BD, - 40716 - 11905: 0xFC85, - 40717 - 11905: 0xF6BE, - 40718 - 11905: 0xB6A6, - 40719 - 11905: 0xFC86, - 40720 - 11905: 0xD8BE, - 40721 - 11905: 0xFC87, - 40722 - 11905: 0xFC88, - 40723 - 11905: 0xB9C4, - 40724 - 11905: 0xFC89, - 40725 - 11905: 0xFC8A, - 40726 - 11905: 0xFC8B, - 40727 - 11905: 0xD8BB, - 40728 - 11905: 0xFC8C, - 40729 - 11905: 0xDCB1, - 40730 - 11905: 0xFC8D, - 40731 - 11905: 0xFC8E, - 40732 - 11905: 0xFC8F, - 40733 - 11905: 0xFC90, - 40734 - 11905: 0xFC91, - 40735 - 11905: 0xFC92, - 40736 - 11905: 0xCAF3, - 40737 - 11905: 0xFC93, - 40738 - 11905: 0xF7F7, - 40739 - 11905: 0xFC94, - 40740 - 11905: 0xFC95, - 40741 - 11905: 0xFC96, - 40742 - 11905: 0xFC97, - 40743 - 11905: 0xFC98, - 40744 - 11905: 0xFC99, - 40745 - 11905: 0xFC9A, - 40746 - 11905: 0xFC9B, - 40747 - 11905: 0xFC9C, - 40748 - 11905: 0xF7F8, - 40749 - 11905: 0xFC9D, - 40750 - 11905: 0xFC9E, - 40751 - 11905: 0xF7F9, - 40752 - 11905: 0xFC9F, - 40753 - 11905: 0xFCA0, - 40754 - 11905: 0xFD40, - 40755 - 11905: 0xFD41, - 40756 - 11905: 0xFD42, - 40757 - 11905: 0xFD43, - 40758 - 11905: 0xFD44, - 40759 - 11905: 0xF7FB, - 40760 - 11905: 0xFD45, - 40761 - 11905: 0xF7FA, - 40762 - 11905: 0xFD46, - 40763 - 11905: 0xB1C7, - 40764 - 11905: 0xFD47, - 40765 - 11905: 0xF7FC, - 40766 - 11905: 0xF7FD, - 40767 - 11905: 0xFD48, - 40768 - 11905: 0xFD49, - 40769 - 11905: 0xFD4A, - 40770 - 11905: 0xFD4B, - 40771 - 11905: 0xFD4C, - 40772 - 11905: 0xF7FE, - 40773 - 11905: 0xFD4D, - 40774 - 11905: 0xFD4E, - 40775 - 11905: 0xFD4F, - 40776 - 11905: 0xFD50, - 40777 - 11905: 0xFD51, - 40778 - 11905: 0xFD52, - 40779 - 11905: 0xFD53, - 40780 - 11905: 0xFD54, - 40781 - 11905: 0xFD55, - 40782 - 11905: 0xFD56, - 40783 - 11905: 0xFD57, - 40784 - 11905: 0xC6EB, - 40785 - 11905: 0xECB4, - 40786 - 11905: 0xFD58, - 40787 - 11905: 0xFD59, - 40788 - 11905: 0xFD5A, - 40789 - 11905: 0xFD5B, - 40790 - 11905: 0xFD5C, - 40791 - 11905: 0xFD5D, - 40792 - 11905: 0xFD5E, - 40793 - 11905: 0xFD5F, - 40794 - 11905: 0xFD60, - 40795 - 11905: 0xFD61, - 40796 - 11905: 0xFD62, - 40797 - 11905: 0xFD63, - 40798 - 11905: 0xFD64, - 40799 - 11905: 0xFD65, - 40800 - 11905: 0xFD66, - 40801 - 11905: 0xFD67, - 40802 - 11905: 0xFD68, - 40803 - 11905: 0xFD69, - 40804 - 11905: 0xFD6A, - 40805 - 11905: 0xFD6B, - 40806 - 11905: 0xFD6C, - 40807 - 11905: 0xFD6D, - 40808 - 11905: 0xFD6E, - 40809 - 11905: 0xFD6F, - 40810 - 11905: 0xFD70, - 40811 - 11905: 0xFD71, - 40812 - 11905: 0xFD72, - 40813 - 11905: 0xFD73, - 40814 - 11905: 0xFD74, - 40815 - 11905: 0xFD75, - 40816 - 11905: 0xFD76, - 40817 - 11905: 0xFD77, - 40818 - 11905: 0xFD78, - 40819 - 11905: 0xFD79, - 40820 - 11905: 0xFD7A, - 40821 - 11905: 0xFD7B, - 40822 - 11905: 0xFD7C, - 40823 - 11905: 0xFD7D, - 40824 - 11905: 0xFD7E, - 40825 - 11905: 0xFD80, - 40826 - 11905: 0xFD81, - 40827 - 11905: 0xFD82, - 40828 - 11905: 0xFD83, - 40829 - 11905: 0xFD84, - 40830 - 11905: 0xFD85, - 40831 - 11905: 0xB3DD, - 40832 - 11905: 0xF6B3, - 40833 - 11905: 0xFD86, - 40834 - 11905: 0xFD87, - 40835 - 11905: 0xF6B4, - 40836 - 11905: 0xC1E4, - 40837 - 11905: 0xF6B5, - 40838 - 11905: 0xF6B6, - 40839 - 11905: 0xF6B7, - 40840 - 11905: 0xF6B8, - 40841 - 11905: 0xF6B9, - 40842 - 11905: 0xF6BA, - 40843 - 11905: 0xC8A3, - 40844 - 11905: 0xF6BB, - 40845 - 11905: 0xFD88, - 40846 - 11905: 0xFD89, - 40847 - 11905: 0xFD8A, - 40848 - 11905: 0xFD8B, - 40849 - 11905: 0xFD8C, - 40850 - 11905: 0xFD8D, - 40851 - 11905: 0xFD8E, - 40852 - 11905: 0xFD8F, - 40853 - 11905: 0xFD90, - 40854 - 11905: 0xFD91, - 40855 - 11905: 0xFD92, - 40856 - 11905: 0xFD93, - 40857 - 11905: 0xC1FA, - 40858 - 11905: 0xB9A8, - 40859 - 11905: 0xEDE8, - 40860 - 11905: 0xFD94, - 40861 - 11905: 0xFD95, - 40862 - 11905: 0xFD96, - 40863 - 11905: 0xB9EA, - 40864 - 11905: 0xD9DF, - 40865 - 11905: 0xFD97, - 40866 - 11905: 0xFD98, - 40867 - 11905: 0xFD99, - 40868 - 11905: 0xFD9A, - 40869 - 11905: 0xFD9B, -} - -const encode1Low, encode1High = 8208, 9795 - -var encode1 = [...]uint16{ - 8208 - 8208: 0xA95C, - 8211 - 8208: 0xA843, - 8212 - 8208: 0xA1AA, - 8213 - 8208: 0xA844, - 8214 - 8208: 0xA1AC, - 8216 - 8208: 0xA1AE, - 8217 - 8208: 0xA1AF, - 8220 - 8208: 0xA1B0, - 8221 - 8208: 0xA1B1, - 8229 - 8208: 0xA845, - 8230 - 8208: 0xA1AD, - 8240 - 8208: 0xA1EB, - 8242 - 8208: 0xA1E4, - 8243 - 8208: 0xA1E5, - 8245 - 8208: 0xA846, - 8251 - 8208: 0xA1F9, - 8364 - 8208: 0xA2E3, - 8451 - 8208: 0xA1E6, - 8453 - 8208: 0xA847, - 8457 - 8208: 0xA848, - 8470 - 8208: 0xA1ED, - 8481 - 8208: 0xA959, - 8544 - 8208: 0xA2F1, - 8545 - 8208: 0xA2F2, - 8546 - 8208: 0xA2F3, - 8547 - 8208: 0xA2F4, - 8548 - 8208: 0xA2F5, - 8549 - 8208: 0xA2F6, - 8550 - 8208: 0xA2F7, - 8551 - 8208: 0xA2F8, - 8552 - 8208: 0xA2F9, - 8553 - 8208: 0xA2FA, - 8554 - 8208: 0xA2FB, - 8555 - 8208: 0xA2FC, - 8560 - 8208: 0xA2A1, - 8561 - 8208: 0xA2A2, - 8562 - 8208: 0xA2A3, - 8563 - 8208: 0xA2A4, - 8564 - 8208: 0xA2A5, - 8565 - 8208: 0xA2A6, - 8566 - 8208: 0xA2A7, - 8567 - 8208: 0xA2A8, - 8568 - 8208: 0xA2A9, - 8569 - 8208: 0xA2AA, - 8592 - 8208: 0xA1FB, - 8593 - 8208: 0xA1FC, - 8594 - 8208: 0xA1FA, - 8595 - 8208: 0xA1FD, - 8598 - 8208: 0xA849, - 8599 - 8208: 0xA84A, - 8600 - 8208: 0xA84B, - 8601 - 8208: 0xA84C, - 8712 - 8208: 0xA1CA, - 8719 - 8208: 0xA1C7, - 8721 - 8208: 0xA1C6, - 8725 - 8208: 0xA84D, - 8730 - 8208: 0xA1CC, - 8733 - 8208: 0xA1D8, - 8734 - 8208: 0xA1DE, - 8735 - 8208: 0xA84E, - 8736 - 8208: 0xA1CF, - 8739 - 8208: 0xA84F, - 8741 - 8208: 0xA1CE, - 8743 - 8208: 0xA1C4, - 8744 - 8208: 0xA1C5, - 8745 - 8208: 0xA1C9, - 8746 - 8208: 0xA1C8, - 8747 - 8208: 0xA1D2, - 8750 - 8208: 0xA1D3, - 8756 - 8208: 0xA1E0, - 8757 - 8208: 0xA1DF, - 8758 - 8208: 0xA1C3, - 8759 - 8208: 0xA1CB, - 8765 - 8208: 0xA1D7, - 8776 - 8208: 0xA1D6, - 8780 - 8208: 0xA1D5, - 8786 - 8208: 0xA850, - 8800 - 8208: 0xA1D9, - 8801 - 8208: 0xA1D4, - 8804 - 8208: 0xA1DC, - 8805 - 8208: 0xA1DD, - 8806 - 8208: 0xA851, - 8807 - 8208: 0xA852, - 8814 - 8208: 0xA1DA, - 8815 - 8208: 0xA1DB, - 8853 - 8208: 0xA892, - 8857 - 8208: 0xA1D1, - 8869 - 8208: 0xA1CD, - 8895 - 8208: 0xA853, - 8978 - 8208: 0xA1D0, - 9312 - 8208: 0xA2D9, - 9313 - 8208: 0xA2DA, - 9314 - 8208: 0xA2DB, - 9315 - 8208: 0xA2DC, - 9316 - 8208: 0xA2DD, - 9317 - 8208: 0xA2DE, - 9318 - 8208: 0xA2DF, - 9319 - 8208: 0xA2E0, - 9320 - 8208: 0xA2E1, - 9321 - 8208: 0xA2E2, - 9332 - 8208: 0xA2C5, - 9333 - 8208: 0xA2C6, - 9334 - 8208: 0xA2C7, - 9335 - 8208: 0xA2C8, - 9336 - 8208: 0xA2C9, - 9337 - 8208: 0xA2CA, - 9338 - 8208: 0xA2CB, - 9339 - 8208: 0xA2CC, - 9340 - 8208: 0xA2CD, - 9341 - 8208: 0xA2CE, - 9342 - 8208: 0xA2CF, - 9343 - 8208: 0xA2D0, - 9344 - 8208: 0xA2D1, - 9345 - 8208: 0xA2D2, - 9346 - 8208: 0xA2D3, - 9347 - 8208: 0xA2D4, - 9348 - 8208: 0xA2D5, - 9349 - 8208: 0xA2D6, - 9350 - 8208: 0xA2D7, - 9351 - 8208: 0xA2D8, - 9352 - 8208: 0xA2B1, - 9353 - 8208: 0xA2B2, - 9354 - 8208: 0xA2B3, - 9355 - 8208: 0xA2B4, - 9356 - 8208: 0xA2B5, - 9357 - 8208: 0xA2B6, - 9358 - 8208: 0xA2B7, - 9359 - 8208: 0xA2B8, - 9360 - 8208: 0xA2B9, - 9361 - 8208: 0xA2BA, - 9362 - 8208: 0xA2BB, - 9363 - 8208: 0xA2BC, - 9364 - 8208: 0xA2BD, - 9365 - 8208: 0xA2BE, - 9366 - 8208: 0xA2BF, - 9367 - 8208: 0xA2C0, - 9368 - 8208: 0xA2C1, - 9369 - 8208: 0xA2C2, - 9370 - 8208: 0xA2C3, - 9371 - 8208: 0xA2C4, - 9472 - 8208: 0xA9A4, - 9473 - 8208: 0xA9A5, - 9474 - 8208: 0xA9A6, - 9475 - 8208: 0xA9A7, - 9476 - 8208: 0xA9A8, - 9477 - 8208: 0xA9A9, - 9478 - 8208: 0xA9AA, - 9479 - 8208: 0xA9AB, - 9480 - 8208: 0xA9AC, - 9481 - 8208: 0xA9AD, - 9482 - 8208: 0xA9AE, - 9483 - 8208: 0xA9AF, - 9484 - 8208: 0xA9B0, - 9485 - 8208: 0xA9B1, - 9486 - 8208: 0xA9B2, - 9487 - 8208: 0xA9B3, - 9488 - 8208: 0xA9B4, - 9489 - 8208: 0xA9B5, - 9490 - 8208: 0xA9B6, - 9491 - 8208: 0xA9B7, - 9492 - 8208: 0xA9B8, - 9493 - 8208: 0xA9B9, - 9494 - 8208: 0xA9BA, - 9495 - 8208: 0xA9BB, - 9496 - 8208: 0xA9BC, - 9497 - 8208: 0xA9BD, - 9498 - 8208: 0xA9BE, - 9499 - 8208: 0xA9BF, - 9500 - 8208: 0xA9C0, - 9501 - 8208: 0xA9C1, - 9502 - 8208: 0xA9C2, - 9503 - 8208: 0xA9C3, - 9504 - 8208: 0xA9C4, - 9505 - 8208: 0xA9C5, - 9506 - 8208: 0xA9C6, - 9507 - 8208: 0xA9C7, - 9508 - 8208: 0xA9C8, - 9509 - 8208: 0xA9C9, - 9510 - 8208: 0xA9CA, - 9511 - 8208: 0xA9CB, - 9512 - 8208: 0xA9CC, - 9513 - 8208: 0xA9CD, - 9514 - 8208: 0xA9CE, - 9515 - 8208: 0xA9CF, - 9516 - 8208: 0xA9D0, - 9517 - 8208: 0xA9D1, - 9518 - 8208: 0xA9D2, - 9519 - 8208: 0xA9D3, - 9520 - 8208: 0xA9D4, - 9521 - 8208: 0xA9D5, - 9522 - 8208: 0xA9D6, - 9523 - 8208: 0xA9D7, - 9524 - 8208: 0xA9D8, - 9525 - 8208: 0xA9D9, - 9526 - 8208: 0xA9DA, - 9527 - 8208: 0xA9DB, - 9528 - 8208: 0xA9DC, - 9529 - 8208: 0xA9DD, - 9530 - 8208: 0xA9DE, - 9531 - 8208: 0xA9DF, - 9532 - 8208: 0xA9E0, - 9533 - 8208: 0xA9E1, - 9534 - 8208: 0xA9E2, - 9535 - 8208: 0xA9E3, - 9536 - 8208: 0xA9E4, - 9537 - 8208: 0xA9E5, - 9538 - 8208: 0xA9E6, - 9539 - 8208: 0xA9E7, - 9540 - 8208: 0xA9E8, - 9541 - 8208: 0xA9E9, - 9542 - 8208: 0xA9EA, - 9543 - 8208: 0xA9EB, - 9544 - 8208: 0xA9EC, - 9545 - 8208: 0xA9ED, - 9546 - 8208: 0xA9EE, - 9547 - 8208: 0xA9EF, - 9552 - 8208: 0xA854, - 9553 - 8208: 0xA855, - 9554 - 8208: 0xA856, - 9555 - 8208: 0xA857, - 9556 - 8208: 0xA858, - 9557 - 8208: 0xA859, - 9558 - 8208: 0xA85A, - 9559 - 8208: 0xA85B, - 9560 - 8208: 0xA85C, - 9561 - 8208: 0xA85D, - 9562 - 8208: 0xA85E, - 9563 - 8208: 0xA85F, - 9564 - 8208: 0xA860, - 9565 - 8208: 0xA861, - 9566 - 8208: 0xA862, - 9567 - 8208: 0xA863, - 9568 - 8208: 0xA864, - 9569 - 8208: 0xA865, - 9570 - 8208: 0xA866, - 9571 - 8208: 0xA867, - 9572 - 8208: 0xA868, - 9573 - 8208: 0xA869, - 9574 - 8208: 0xA86A, - 9575 - 8208: 0xA86B, - 9576 - 8208: 0xA86C, - 9577 - 8208: 0xA86D, - 9578 - 8208: 0xA86E, - 9579 - 8208: 0xA86F, - 9580 - 8208: 0xA870, - 9581 - 8208: 0xA871, - 9582 - 8208: 0xA872, - 9583 - 8208: 0xA873, - 9584 - 8208: 0xA874, - 9585 - 8208: 0xA875, - 9586 - 8208: 0xA876, - 9587 - 8208: 0xA877, - 9601 - 8208: 0xA878, - 9602 - 8208: 0xA879, - 9603 - 8208: 0xA87A, - 9604 - 8208: 0xA87B, - 9605 - 8208: 0xA87C, - 9606 - 8208: 0xA87D, - 9607 - 8208: 0xA87E, - 9608 - 8208: 0xA880, - 9609 - 8208: 0xA881, - 9610 - 8208: 0xA882, - 9611 - 8208: 0xA883, - 9612 - 8208: 0xA884, - 9613 - 8208: 0xA885, - 9614 - 8208: 0xA886, - 9615 - 8208: 0xA887, - 9619 - 8208: 0xA888, - 9620 - 8208: 0xA889, - 9621 - 8208: 0xA88A, - 9632 - 8208: 0xA1F6, - 9633 - 8208: 0xA1F5, - 9650 - 8208: 0xA1F8, - 9651 - 8208: 0xA1F7, - 9660 - 8208: 0xA88B, - 9661 - 8208: 0xA88C, - 9670 - 8208: 0xA1F4, - 9671 - 8208: 0xA1F3, - 9675 - 8208: 0xA1F0, - 9678 - 8208: 0xA1F2, - 9679 - 8208: 0xA1F1, - 9698 - 8208: 0xA88D, - 9699 - 8208: 0xA88E, - 9700 - 8208: 0xA88F, - 9701 - 8208: 0xA890, - 9733 - 8208: 0xA1EF, - 9734 - 8208: 0xA1EE, - 9737 - 8208: 0xA891, - 9792 - 8208: 0xA1E2, - 9794 - 8208: 0xA1E1, -} - -const encode2Low, encode2High = 164, 1106 - -var encode2 = [...]uint16{ - 164 - 164: 0xA1E8, - 167 - 164: 0xA1EC, - 168 - 164: 0xA1A7, - 176 - 164: 0xA1E3, - 177 - 164: 0xA1C0, - 183 - 164: 0xA1A4, - 215 - 164: 0xA1C1, - 224 - 164: 0xA8A4, - 225 - 164: 0xA8A2, - 232 - 164: 0xA8A8, - 233 - 164: 0xA8A6, - 234 - 164: 0xA8BA, - 236 - 164: 0xA8AC, - 237 - 164: 0xA8AA, - 242 - 164: 0xA8B0, - 243 - 164: 0xA8AE, - 247 - 164: 0xA1C2, - 249 - 164: 0xA8B4, - 250 - 164: 0xA8B2, - 252 - 164: 0xA8B9, - 257 - 164: 0xA8A1, - 275 - 164: 0xA8A5, - 283 - 164: 0xA8A7, - 299 - 164: 0xA8A9, - 324 - 164: 0xA8BD, - 328 - 164: 0xA8BE, - 333 - 164: 0xA8AD, - 363 - 164: 0xA8B1, - 462 - 164: 0xA8A3, - 464 - 164: 0xA8AB, - 466 - 164: 0xA8AF, - 468 - 164: 0xA8B3, - 470 - 164: 0xA8B5, - 472 - 164: 0xA8B6, - 474 - 164: 0xA8B7, - 476 - 164: 0xA8B8, - 505 - 164: 0xA8BF, - 593 - 164: 0xA8BB, - 609 - 164: 0xA8C0, - 711 - 164: 0xA1A6, - 713 - 164: 0xA1A5, - 714 - 164: 0xA840, - 715 - 164: 0xA841, - 729 - 164: 0xA842, - 913 - 164: 0xA6A1, - 914 - 164: 0xA6A2, - 915 - 164: 0xA6A3, - 916 - 164: 0xA6A4, - 917 - 164: 0xA6A5, - 918 - 164: 0xA6A6, - 919 - 164: 0xA6A7, - 920 - 164: 0xA6A8, - 921 - 164: 0xA6A9, - 922 - 164: 0xA6AA, - 923 - 164: 0xA6AB, - 924 - 164: 0xA6AC, - 925 - 164: 0xA6AD, - 926 - 164: 0xA6AE, - 927 - 164: 0xA6AF, - 928 - 164: 0xA6B0, - 929 - 164: 0xA6B1, - 931 - 164: 0xA6B2, - 932 - 164: 0xA6B3, - 933 - 164: 0xA6B4, - 934 - 164: 0xA6B5, - 935 - 164: 0xA6B6, - 936 - 164: 0xA6B7, - 937 - 164: 0xA6B8, - 945 - 164: 0xA6C1, - 946 - 164: 0xA6C2, - 947 - 164: 0xA6C3, - 948 - 164: 0xA6C4, - 949 - 164: 0xA6C5, - 950 - 164: 0xA6C6, - 951 - 164: 0xA6C7, - 952 - 164: 0xA6C8, - 953 - 164: 0xA6C9, - 954 - 164: 0xA6CA, - 955 - 164: 0xA6CB, - 956 - 164: 0xA6CC, - 957 - 164: 0xA6CD, - 958 - 164: 0xA6CE, - 959 - 164: 0xA6CF, - 960 - 164: 0xA6D0, - 961 - 164: 0xA6D1, - 963 - 164: 0xA6D2, - 964 - 164: 0xA6D3, - 965 - 164: 0xA6D4, - 966 - 164: 0xA6D5, - 967 - 164: 0xA6D6, - 968 - 164: 0xA6D7, - 969 - 164: 0xA6D8, - 1025 - 164: 0xA7A7, - 1040 - 164: 0xA7A1, - 1041 - 164: 0xA7A2, - 1042 - 164: 0xA7A3, - 1043 - 164: 0xA7A4, - 1044 - 164: 0xA7A5, - 1045 - 164: 0xA7A6, - 1046 - 164: 0xA7A8, - 1047 - 164: 0xA7A9, - 1048 - 164: 0xA7AA, - 1049 - 164: 0xA7AB, - 1050 - 164: 0xA7AC, - 1051 - 164: 0xA7AD, - 1052 - 164: 0xA7AE, - 1053 - 164: 0xA7AF, - 1054 - 164: 0xA7B0, - 1055 - 164: 0xA7B1, - 1056 - 164: 0xA7B2, - 1057 - 164: 0xA7B3, - 1058 - 164: 0xA7B4, - 1059 - 164: 0xA7B5, - 1060 - 164: 0xA7B6, - 1061 - 164: 0xA7B7, - 1062 - 164: 0xA7B8, - 1063 - 164: 0xA7B9, - 1064 - 164: 0xA7BA, - 1065 - 164: 0xA7BB, - 1066 - 164: 0xA7BC, - 1067 - 164: 0xA7BD, - 1068 - 164: 0xA7BE, - 1069 - 164: 0xA7BF, - 1070 - 164: 0xA7C0, - 1071 - 164: 0xA7C1, - 1072 - 164: 0xA7D1, - 1073 - 164: 0xA7D2, - 1074 - 164: 0xA7D3, - 1075 - 164: 0xA7D4, - 1076 - 164: 0xA7D5, - 1077 - 164: 0xA7D6, - 1078 - 164: 0xA7D8, - 1079 - 164: 0xA7D9, - 1080 - 164: 0xA7DA, - 1081 - 164: 0xA7DB, - 1082 - 164: 0xA7DC, - 1083 - 164: 0xA7DD, - 1084 - 164: 0xA7DE, - 1085 - 164: 0xA7DF, - 1086 - 164: 0xA7E0, - 1087 - 164: 0xA7E1, - 1088 - 164: 0xA7E2, - 1089 - 164: 0xA7E3, - 1090 - 164: 0xA7E4, - 1091 - 164: 0xA7E5, - 1092 - 164: 0xA7E6, - 1093 - 164: 0xA7E7, - 1094 - 164: 0xA7E8, - 1095 - 164: 0xA7E9, - 1096 - 164: 0xA7EA, - 1097 - 164: 0xA7EB, - 1098 - 164: 0xA7EC, - 1099 - 164: 0xA7ED, - 1100 - 164: 0xA7EE, - 1101 - 164: 0xA7EF, - 1102 - 164: 0xA7F0, - 1103 - 164: 0xA7F1, - 1105 - 164: 0xA7D7, -} - -const encode3Low, encode3High = 65072, 65510 - -var encode3 = [...]uint16{ - 65072 - 65072: 0xA955, - 65073 - 65072: 0xA6F2, - 65075 - 65072: 0xA6F4, - 65076 - 65072: 0xA6F5, - 65077 - 65072: 0xA6E0, - 65078 - 65072: 0xA6E1, - 65079 - 65072: 0xA6F0, - 65080 - 65072: 0xA6F1, - 65081 - 65072: 0xA6E2, - 65082 - 65072: 0xA6E3, - 65083 - 65072: 0xA6EE, - 65084 - 65072: 0xA6EF, - 65085 - 65072: 0xA6E6, - 65086 - 65072: 0xA6E7, - 65087 - 65072: 0xA6E4, - 65088 - 65072: 0xA6E5, - 65089 - 65072: 0xA6E8, - 65090 - 65072: 0xA6E9, - 65091 - 65072: 0xA6EA, - 65092 - 65072: 0xA6EB, - 65097 - 65072: 0xA968, - 65098 - 65072: 0xA969, - 65099 - 65072: 0xA96A, - 65100 - 65072: 0xA96B, - 65101 - 65072: 0xA96C, - 65102 - 65072: 0xA96D, - 65103 - 65072: 0xA96E, - 65104 - 65072: 0xA96F, - 65105 - 65072: 0xA970, - 65106 - 65072: 0xA971, - 65108 - 65072: 0xA972, - 65109 - 65072: 0xA973, - 65110 - 65072: 0xA974, - 65111 - 65072: 0xA975, - 65113 - 65072: 0xA976, - 65114 - 65072: 0xA977, - 65115 - 65072: 0xA978, - 65116 - 65072: 0xA979, - 65117 - 65072: 0xA97A, - 65118 - 65072: 0xA97B, - 65119 - 65072: 0xA97C, - 65120 - 65072: 0xA97D, - 65121 - 65072: 0xA97E, - 65122 - 65072: 0xA980, - 65123 - 65072: 0xA981, - 65124 - 65072: 0xA982, - 65125 - 65072: 0xA983, - 65126 - 65072: 0xA984, - 65128 - 65072: 0xA985, - 65129 - 65072: 0xA986, - 65130 - 65072: 0xA987, - 65131 - 65072: 0xA988, - 65281 - 65072: 0xA3A1, - 65282 - 65072: 0xA3A2, - 65283 - 65072: 0xA3A3, - 65284 - 65072: 0xA1E7, - 65285 - 65072: 0xA3A5, - 65286 - 65072: 0xA3A6, - 65287 - 65072: 0xA3A7, - 65288 - 65072: 0xA3A8, - 65289 - 65072: 0xA3A9, - 65290 - 65072: 0xA3AA, - 65291 - 65072: 0xA3AB, - 65292 - 65072: 0xA3AC, - 65293 - 65072: 0xA3AD, - 65294 - 65072: 0xA3AE, - 65295 - 65072: 0xA3AF, - 65296 - 65072: 0xA3B0, - 65297 - 65072: 0xA3B1, - 65298 - 65072: 0xA3B2, - 65299 - 65072: 0xA3B3, - 65300 - 65072: 0xA3B4, - 65301 - 65072: 0xA3B5, - 65302 - 65072: 0xA3B6, - 65303 - 65072: 0xA3B7, - 65304 - 65072: 0xA3B8, - 65305 - 65072: 0xA3B9, - 65306 - 65072: 0xA3BA, - 65307 - 65072: 0xA3BB, - 65308 - 65072: 0xA3BC, - 65309 - 65072: 0xA3BD, - 65310 - 65072: 0xA3BE, - 65311 - 65072: 0xA3BF, - 65312 - 65072: 0xA3C0, - 65313 - 65072: 0xA3C1, - 65314 - 65072: 0xA3C2, - 65315 - 65072: 0xA3C3, - 65316 - 65072: 0xA3C4, - 65317 - 65072: 0xA3C5, - 65318 - 65072: 0xA3C6, - 65319 - 65072: 0xA3C7, - 65320 - 65072: 0xA3C8, - 65321 - 65072: 0xA3C9, - 65322 - 65072: 0xA3CA, - 65323 - 65072: 0xA3CB, - 65324 - 65072: 0xA3CC, - 65325 - 65072: 0xA3CD, - 65326 - 65072: 0xA3CE, - 65327 - 65072: 0xA3CF, - 65328 - 65072: 0xA3D0, - 65329 - 65072: 0xA3D1, - 65330 - 65072: 0xA3D2, - 65331 - 65072: 0xA3D3, - 65332 - 65072: 0xA3D4, - 65333 - 65072: 0xA3D5, - 65334 - 65072: 0xA3D6, - 65335 - 65072: 0xA3D7, - 65336 - 65072: 0xA3D8, - 65337 - 65072: 0xA3D9, - 65338 - 65072: 0xA3DA, - 65339 - 65072: 0xA3DB, - 65340 - 65072: 0xA3DC, - 65341 - 65072: 0xA3DD, - 65342 - 65072: 0xA3DE, - 65343 - 65072: 0xA3DF, - 65344 - 65072: 0xA3E0, - 65345 - 65072: 0xA3E1, - 65346 - 65072: 0xA3E2, - 65347 - 65072: 0xA3E3, - 65348 - 65072: 0xA3E4, - 65349 - 65072: 0xA3E5, - 65350 - 65072: 0xA3E6, - 65351 - 65072: 0xA3E7, - 65352 - 65072: 0xA3E8, - 65353 - 65072: 0xA3E9, - 65354 - 65072: 0xA3EA, - 65355 - 65072: 0xA3EB, - 65356 - 65072: 0xA3EC, - 65357 - 65072: 0xA3ED, - 65358 - 65072: 0xA3EE, - 65359 - 65072: 0xA3EF, - 65360 - 65072: 0xA3F0, - 65361 - 65072: 0xA3F1, - 65362 - 65072: 0xA3F2, - 65363 - 65072: 0xA3F3, - 65364 - 65072: 0xA3F4, - 65365 - 65072: 0xA3F5, - 65366 - 65072: 0xA3F6, - 65367 - 65072: 0xA3F7, - 65368 - 65072: 0xA3F8, - 65369 - 65072: 0xA3F9, - 65370 - 65072: 0xA3FA, - 65371 - 65072: 0xA3FB, - 65372 - 65072: 0xA3FC, - 65373 - 65072: 0xA3FD, - 65374 - 65072: 0xA1AB, - 65504 - 65072: 0xA1E9, - 65505 - 65072: 0xA1EA, - 65506 - 65072: 0xA956, - 65507 - 65072: 0xA3FE, - 65508 - 65072: 0xA957, - 65509 - 65072: 0xA3A4, -} - -const encode4Low, encode4High = 63788, 64042 - -var encode4 = [...]uint16{ - 63788 - 63788: 0xFD9C, - 63865 - 63788: 0xFD9D, - 63893 - 63788: 0xFD9E, - 63975 - 63788: 0xFD9F, - 63985 - 63788: 0xFDA0, - 64012 - 63788: 0xFE40, - 64013 - 63788: 0xFE41, - 64014 - 63788: 0xFE42, - 64015 - 63788: 0xFE43, - 64017 - 63788: 0xFE44, - 64019 - 63788: 0xFE45, - 64020 - 63788: 0xFE46, - 64024 - 63788: 0xFE47, - 64031 - 63788: 0xFE48, - 64032 - 63788: 0xFE49, - 64033 - 63788: 0xFE4A, - 64035 - 63788: 0xFE4B, - 64036 - 63788: 0xFE4C, - 64039 - 63788: 0xFE4D, - 64040 - 63788: 0xFE4E, - 64041 - 63788: 0xFE4F, -} diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go deleted file mode 100644 index fe47b9b..0000000 --- a/vendor/golang.org/x/text/transform/transform.go +++ /dev/null @@ -1,705 +0,0 @@ -// Copyright 2013 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. - -// Package transform provides reader and writer wrappers that transform the -// bytes passing through as well as various transformations. Example -// transformations provided by other packages include normalization and -// conversion between character sets. -package transform // import "golang.org/x/text/transform" - -import ( - "bytes" - "errors" - "io" - "unicode/utf8" -) - -var ( - // ErrShortDst means that the destination buffer was too short to - // receive all of the transformed bytes. - ErrShortDst = errors.New("transform: short destination buffer") - - // ErrShortSrc means that the source buffer has insufficient data to - // complete the transformation. - ErrShortSrc = errors.New("transform: short source buffer") - - // ErrEndOfSpan means that the input and output (the transformed input) - // are not identical. - ErrEndOfSpan = errors.New("transform: input and output are not identical") - - // errInconsistentByteCount means that Transform returned success (nil - // error) but also returned nSrc inconsistent with the src argument. - errInconsistentByteCount = errors.New("transform: inconsistent byte count returned") - - // errShortInternal means that an internal buffer is not large enough - // to make progress and the Transform operation must be aborted. - errShortInternal = errors.New("transform: short internal buffer") -) - -// Transformer transforms bytes. -type Transformer interface { - // Transform writes to dst the transformed bytes read from src, and - // returns the number of dst bytes written and src bytes read. The - // atEOF argument tells whether src represents the last bytes of the - // input. - // - // Callers should always process the nDst bytes produced and account - // for the nSrc bytes consumed before considering the error err. - // - // A nil error means that all of the transformed bytes (whether freshly - // transformed from src or left over from previous Transform calls) - // were written to dst. A nil error can be returned regardless of - // whether atEOF is true. If err is nil then nSrc must equal len(src); - // the converse is not necessarily true. - // - // ErrShortDst means that dst was too short to receive all of the - // transformed bytes. ErrShortSrc means that src had insufficient data - // to complete the transformation. If both conditions apply, then - // either error may be returned. Other than the error conditions listed - // here, implementations are free to report other errors that arise. - Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) - - // Reset resets the state and allows a Transformer to be reused. - Reset() -} - -// SpanningTransformer extends the Transformer interface with a Span method -// that determines how much of the input already conforms to the Transformer. -type SpanningTransformer interface { - Transformer - - // Span returns a position in src such that transforming src[:n] results in - // identical output src[:n] for these bytes. It does not necessarily return - // the largest such n. The atEOF argument tells whether src represents the - // last bytes of the input. - // - // Callers should always account for the n bytes consumed before - // considering the error err. - // - // A nil error means that all input bytes are known to be identical to the - // output produced by the Transformer. A nil error can be be returned - // regardless of whether atEOF is true. If err is nil, then then n must - // equal len(src); the converse is not necessarily true. - // - // ErrEndOfSpan means that the Transformer output may differ from the - // input after n bytes. Note that n may be len(src), meaning that the output - // would contain additional bytes after otherwise identical output. - // ErrShortSrc means that src had insufficient data to determine whether the - // remaining bytes would change. Other than the error conditions listed - // here, implementations are free to report other errors that arise. - // - // Calling Span can modify the Transformer state as a side effect. In - // effect, it does the transformation just as calling Transform would, only - // without copying to a destination buffer and only up to a point it can - // determine the input and output bytes are the same. This is obviously more - // limited than calling Transform, but can be more efficient in terms of - // copying and allocating buffers. Calls to Span and Transform may be - // interleaved. - Span(src []byte, atEOF bool) (n int, err error) -} - -// NopResetter can be embedded by implementations of Transformer to add a nop -// Reset method. -type NopResetter struct{} - -// Reset implements the Reset method of the Transformer interface. -func (NopResetter) Reset() {} - -// Reader wraps another io.Reader by transforming the bytes read. -type Reader struct { - r io.Reader - t Transformer - err error - - // dst[dst0:dst1] contains bytes that have been transformed by t but - // not yet copied out via Read. - dst []byte - dst0, dst1 int - - // src[src0:src1] contains bytes that have been read from r but not - // yet transformed through t. - src []byte - src0, src1 int - - // transformComplete is whether the transformation is complete, - // regardless of whether or not it was successful. - transformComplete bool -} - -const defaultBufSize = 4096 - -// NewReader returns a new Reader that wraps r by transforming the bytes read -// via t. It calls Reset on t. -func NewReader(r io.Reader, t Transformer) *Reader { - t.Reset() - return &Reader{ - r: r, - t: t, - dst: make([]byte, defaultBufSize), - src: make([]byte, defaultBufSize), - } -} - -// Read implements the io.Reader interface. -func (r *Reader) Read(p []byte) (int, error) { - n, err := 0, error(nil) - for { - // Copy out any transformed bytes and return the final error if we are done. - if r.dst0 != r.dst1 { - n = copy(p, r.dst[r.dst0:r.dst1]) - r.dst0 += n - if r.dst0 == r.dst1 && r.transformComplete { - return n, r.err - } - return n, nil - } else if r.transformComplete { - return 0, r.err - } - - // Try to transform some source bytes, or to flush the transformer if we - // are out of source bytes. We do this even if r.r.Read returned an error. - // As the io.Reader documentation says, "process the n > 0 bytes returned - // before considering the error". - if r.src0 != r.src1 || r.err != nil { - r.dst0 = 0 - r.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF) - r.src0 += n - - switch { - case err == nil: - if r.src0 != r.src1 { - r.err = errInconsistentByteCount - } - // The Transform call was successful; we are complete if we - // cannot read more bytes into src. - r.transformComplete = r.err != nil - continue - case err == ErrShortDst && (r.dst1 != 0 || n != 0): - // Make room in dst by copying out, and try again. - continue - case err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil: - // Read more bytes into src via the code below, and try again. - default: - r.transformComplete = true - // The reader error (r.err) takes precedence over the - // transformer error (err) unless r.err is nil or io.EOF. - if r.err == nil || r.err == io.EOF { - r.err = err - } - continue - } - } - - // Move any untransformed source bytes to the start of the buffer - // and read more bytes. - if r.src0 != 0 { - r.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1]) - } - n, r.err = r.r.Read(r.src[r.src1:]) - r.src1 += n - } -} - -// TODO: implement ReadByte (and ReadRune??). - -// Writer wraps another io.Writer by transforming the bytes read. -// The user needs to call Close to flush unwritten bytes that may -// be buffered. -type Writer struct { - w io.Writer - t Transformer - dst []byte - - // src[:n] contains bytes that have not yet passed through t. - src []byte - n int -} - -// NewWriter returns a new Writer that wraps w by transforming the bytes written -// via t. It calls Reset on t. -func NewWriter(w io.Writer, t Transformer) *Writer { - t.Reset() - return &Writer{ - w: w, - t: t, - dst: make([]byte, defaultBufSize), - src: make([]byte, defaultBufSize), - } -} - -// Write implements the io.Writer interface. If there are not enough -// bytes available to complete a Transform, the bytes will be buffered -// for the next write. Call Close to convert the remaining bytes. -func (w *Writer) Write(data []byte) (n int, err error) { - src := data - if w.n > 0 { - // Append bytes from data to the last remainder. - // TODO: limit the amount copied on first try. - n = copy(w.src[w.n:], data) - w.n += n - src = w.src[:w.n] - } - for { - nDst, nSrc, err := w.t.Transform(w.dst, src, false) - if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { - return n, werr - } - src = src[nSrc:] - if w.n == 0 { - n += nSrc - } else if len(src) <= n { - // Enough bytes from w.src have been consumed. We make src point - // to data instead to reduce the copying. - w.n = 0 - n -= len(src) - src = data[n:] - if n < len(data) && (err == nil || err == ErrShortSrc) { - continue - } - } - switch err { - case ErrShortDst: - // This error is okay as long as we are making progress. - if nDst > 0 || nSrc > 0 { - continue - } - case ErrShortSrc: - if len(src) < len(w.src) { - m := copy(w.src, src) - // If w.n > 0, bytes from data were already copied to w.src and n - // was already set to the number of bytes consumed. - if w.n == 0 { - n += m - } - w.n = m - err = nil - } else if nDst > 0 || nSrc > 0 { - // Not enough buffer to store the remainder. Keep processing as - // long as there is progress. Without this case, transforms that - // require a lookahead larger than the buffer may result in an - // error. This is not something one may expect to be common in - // practice, but it may occur when buffers are set to small - // sizes during testing. - continue - } - case nil: - if w.n > 0 { - err = errInconsistentByteCount - } - } - return n, err - } -} - -// Close implements the io.Closer interface. -func (w *Writer) Close() error { - src := w.src[:w.n] - for { - nDst, nSrc, err := w.t.Transform(w.dst, src, true) - if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { - return werr - } - if err != ErrShortDst { - return err - } - src = src[nSrc:] - } -} - -type nop struct{ NopResetter } - -func (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - n := copy(dst, src) - if n < len(src) { - err = ErrShortDst - } - return n, n, err -} - -func (nop) Span(src []byte, atEOF bool) (n int, err error) { - return len(src), nil -} - -type discard struct{ NopResetter } - -func (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - return 0, len(src), nil -} - -var ( - // Discard is a Transformer for which all Transform calls succeed - // by consuming all bytes and writing nothing. - Discard Transformer = discard{} - - // Nop is a SpanningTransformer that copies src to dst. - Nop SpanningTransformer = nop{} -) - -// chain is a sequence of links. A chain with N Transformers has N+1 links and -// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst -// buffers given to chain.Transform and the middle N-1 buffers are intermediate -// buffers owned by the chain. The i'th link transforms bytes from the i'th -// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer -// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N). -type chain struct { - link []link - err error - // errStart is the index at which the error occurred plus 1. Processing - // errStart at this level at the next call to Transform. As long as - // errStart > 0, chain will not consume any more source bytes. - errStart int -} - -func (c *chain) fatalError(errIndex int, err error) { - if i := errIndex + 1; i > c.errStart { - c.errStart = i - c.err = err - } -} - -type link struct { - t Transformer - // b[p:n] holds the bytes to be transformed by t. - b []byte - p int - n int -} - -func (l *link) src() []byte { - return l.b[l.p:l.n] -} - -func (l *link) dst() []byte { - return l.b[l.n:] -} - -// Chain returns a Transformer that applies t in sequence. -func Chain(t ...Transformer) Transformer { - if len(t) == 0 { - return nop{} - } - c := &chain{link: make([]link, len(t)+1)} - for i, tt := range t { - c.link[i].t = tt - } - // Allocate intermediate buffers. - b := make([][defaultBufSize]byte, len(t)-1) - for i := range b { - c.link[i+1].b = b[i][:] - } - return c -} - -// Reset resets the state of Chain. It calls Reset on all the Transformers. -func (c *chain) Reset() { - for i, l := range c.link { - if l.t != nil { - l.t.Reset() - } - c.link[i].p, c.link[i].n = 0, 0 - } -} - -// TODO: make chain use Span (is going to be fun to implement!) - -// Transform applies the transformers of c in sequence. -func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - // Set up src and dst in the chain. - srcL := &c.link[0] - dstL := &c.link[len(c.link)-1] - srcL.b, srcL.p, srcL.n = src, 0, len(src) - dstL.b, dstL.n = dst, 0 - var lastFull, needProgress bool // for detecting progress - - // i is the index of the next Transformer to apply, for i in [low, high]. - // low is the lowest index for which c.link[low] may still produce bytes. - // high is the highest index for which c.link[high] has a Transformer. - // The error returned by Transform determines whether to increase or - // decrease i. We try to completely fill a buffer before converting it. - for low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; { - in, out := &c.link[i], &c.link[i+1] - nDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i) - out.n += nDst - in.p += nSrc - if i > 0 && in.p == in.n { - in.p, in.n = 0, 0 - } - needProgress, lastFull = lastFull, false - switch err0 { - case ErrShortDst: - // Process the destination buffer next. Return if we are already - // at the high index. - if i == high { - return dstL.n, srcL.p, ErrShortDst - } - if out.n != 0 { - i++ - // If the Transformer at the next index is not able to process any - // source bytes there is nothing that can be done to make progress - // and the bytes will remain unprocessed. lastFull is used to - // detect this and break out of the loop with a fatal error. - lastFull = true - continue - } - // The destination buffer was too small, but is completely empty. - // Return a fatal error as this transformation can never complete. - c.fatalError(i, errShortInternal) - case ErrShortSrc: - if i == 0 { - // Save ErrShortSrc in err. All other errors take precedence. - err = ErrShortSrc - break - } - // Source bytes were depleted before filling up the destination buffer. - // Verify we made some progress, move the remaining bytes to the errStart - // and try to get more source bytes. - if needProgress && nSrc == 0 || in.n-in.p == len(in.b) { - // There were not enough source bytes to proceed while the source - // buffer cannot hold any more bytes. Return a fatal error as this - // transformation can never complete. - c.fatalError(i, errShortInternal) - break - } - // in.b is an internal buffer and we can make progress. - in.p, in.n = 0, copy(in.b, in.src()) - fallthrough - case nil: - // if i == low, we have depleted the bytes at index i or any lower levels. - // In that case we increase low and i. In all other cases we decrease i to - // fetch more bytes before proceeding to the next index. - if i > low { - i-- - continue - } - default: - c.fatalError(i, err0) - } - // Exhausted level low or fatal error: increase low and continue - // to process the bytes accepted so far. - i++ - low = i - } - - // If c.errStart > 0, this means we found a fatal error. We will clear - // all upstream buffers. At this point, no more progress can be made - // downstream, as Transform would have bailed while handling ErrShortDst. - if c.errStart > 0 { - for i := 1; i < c.errStart; i++ { - c.link[i].p, c.link[i].n = 0, 0 - } - err, c.errStart, c.err = c.err, 0, nil - } - return dstL.n, srcL.p, err -} - -// Deprecated: use runes.Remove instead. -func RemoveFunc(f func(r rune) bool) Transformer { - return removeF(f) -} - -type removeF func(r rune) bool - -func (removeF) Reset() {} - -// Transform implements the Transformer interface. -func (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - for r, sz := rune(0), 0; len(src) > 0; src = src[sz:] { - - if r = rune(src[0]); r < utf8.RuneSelf { - sz = 1 - } else { - r, sz = utf8.DecodeRune(src) - - if sz == 1 { - // Invalid rune. - if !atEOF && !utf8.FullRune(src) { - err = ErrShortSrc - break - } - // We replace illegal bytes with RuneError. Not doing so might - // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. - // The resulting byte sequence may subsequently contain runes - // for which t(r) is true that were passed unnoticed. - if !t(r) { - if nDst+3 > len(dst) { - err = ErrShortDst - break - } - nDst += copy(dst[nDst:], "\uFFFD") - } - nSrc++ - continue - } - } - - if !t(r) { - if nDst+sz > len(dst) { - err = ErrShortDst - break - } - nDst += copy(dst[nDst:], src[:sz]) - } - nSrc += sz - } - return -} - -// grow returns a new []byte that is longer than b, and copies the first n bytes -// of b to the start of the new slice. -func grow(b []byte, n int) []byte { - m := len(b) - if m <= 32 { - m = 64 - } else if m <= 256 { - m *= 2 - } else { - m += m >> 1 - } - buf := make([]byte, m) - copy(buf, b[:n]) - return buf -} - -const initialBufSize = 128 - -// String returns a string with the result of converting s[:n] using t, where -// n <= len(s). If err == nil, n will be len(s). It calls Reset on t. -func String(t Transformer, s string) (result string, n int, err error) { - t.Reset() - if s == "" { - // Fast path for the common case for empty input. Results in about a - // 86% reduction of running time for BenchmarkStringLowerEmpty. - if _, _, err := t.Transform(nil, nil, true); err == nil { - return "", 0, nil - } - } - - // Allocate only once. Note that both dst and src escape when passed to - // Transform. - buf := [2 * initialBufSize]byte{} - dst := buf[:initialBufSize:initialBufSize] - src := buf[initialBufSize : 2*initialBufSize] - - // The input string s is transformed in multiple chunks (starting with a - // chunk size of initialBufSize). nDst and nSrc are per-chunk (or - // per-Transform-call) indexes, pDst and pSrc are overall indexes. - nDst, nSrc := 0, 0 - pDst, pSrc := 0, 0 - - // pPrefix is the length of a common prefix: the first pPrefix bytes of the - // result will equal the first pPrefix bytes of s. It is not guaranteed to - // be the largest such value, but if pPrefix, len(result) and len(s) are - // all equal after the final transform (i.e. calling Transform with atEOF - // being true returned nil error) then we don't need to allocate a new - // result string. - pPrefix := 0 - for { - // Invariant: pDst == pPrefix && pSrc == pPrefix. - - n := copy(src, s[pSrc:]) - nDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s)) - pDst += nDst - pSrc += nSrc - - // TODO: let transformers implement an optional Spanner interface, akin - // to norm's QuickSpan. This would even allow us to avoid any allocation. - if !bytes.Equal(dst[:nDst], src[:nSrc]) { - break - } - pPrefix = pSrc - if err == ErrShortDst { - // A buffer can only be short if a transformer modifies its input. - break - } else if err == ErrShortSrc { - if nSrc == 0 { - // No progress was made. - break - } - // Equal so far and !atEOF, so continue checking. - } else if err != nil || pPrefix == len(s) { - return string(s[:pPrefix]), pPrefix, err - } - } - // Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc. - - // We have transformed the first pSrc bytes of the input s to become pDst - // transformed bytes. Those transformed bytes are discontiguous: the first - // pPrefix of them equal s[:pPrefix] and the last nDst of them equal - // dst[:nDst]. We copy them around, into a new dst buffer if necessary, so - // that they become one contiguous slice: dst[:pDst]. - if pPrefix != 0 { - newDst := dst - if pDst > len(newDst) { - newDst = make([]byte, len(s)+nDst-nSrc) - } - copy(newDst[pPrefix:pDst], dst[:nDst]) - copy(newDst[:pPrefix], s[:pPrefix]) - dst = newDst - } - - // Prevent duplicate Transform calls with atEOF being true at the end of - // the input. Also return if we have an unrecoverable error. - if (err == nil && pSrc == len(s)) || - (err != nil && err != ErrShortDst && err != ErrShortSrc) { - return string(dst[:pDst]), pSrc, err - } - - // Transform the remaining input, growing dst and src buffers as necessary. - for { - n := copy(src, s[pSrc:]) - nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) - pDst += nDst - pSrc += nSrc - - // If we got ErrShortDst or ErrShortSrc, do not grow as long as we can - // make progress. This may avoid excessive allocations. - if err == ErrShortDst { - if nDst == 0 { - dst = grow(dst, pDst) - } - } else if err == ErrShortSrc { - if nSrc == 0 { - src = grow(src, 0) - } - } else if err != nil || pSrc == len(s) { - return string(dst[:pDst]), pSrc, err - } - } -} - -// Bytes returns a new byte slice with the result of converting b[:n] using t, -// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t. -func Bytes(t Transformer, b []byte) (result []byte, n int, err error) { - return doAppend(t, 0, make([]byte, len(b)), b) -} - -// Append appends the result of converting src[:n] using t to dst, where -// n <= len(src), If err == nil, n will be len(src). It calls Reset on t. -func Append(t Transformer, dst, src []byte) (result []byte, n int, err error) { - if len(dst) == cap(dst) { - n := len(src) + len(dst) // It is okay for this to be 0. - b := make([]byte, n) - dst = b[:copy(b, dst)] - } - return doAppend(t, len(dst), dst[:cap(dst)], src) -} - -func doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) { - t.Reset() - pSrc := 0 - for { - nDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true) - pDst += nDst - pSrc += nSrc - if err != ErrShortDst { - return dst[:pDst], pSrc, err - } - - // Grow the destination buffer, but do not grow as long as we can make - // progress. This may avoid excessive allocations. - if nDst == 0 { - dst = grow(dst, pDst) - } - } -} diff --git a/vendor/golang.org/x/tools/LICENSE b/vendor/golang.org/x/tools/LICENSE deleted file mode 100644 index 6a66aea..0000000 --- a/vendor/golang.org/x/tools/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/tools/PATENTS b/vendor/golang.org/x/tools/PATENTS deleted file mode 100644 index 7330990..0000000 --- a/vendor/golang.org/x/tools/PATENTS +++ /dev/null @@ -1,22 +0,0 @@ -Additional IP Rights Grant (Patents) - -"This implementation" means the copyrightable works distributed by -Google as part of the Go project. - -Google hereby grants to You a perpetual, worldwide, non-exclusive, -no-charge, royalty-free, irrevocable (except as stated in this section) -patent license to make, have made, use, offer to sell, sell, import, -transfer and otherwise run, modify and propagate the contents of this -implementation of Go, where such license applies only to those patent -claims, both currently owned or controlled by Google and acquired in -the future, licensable by Google that are necessarily infringed by this -implementation of Go. This grant does not include claims that would be -infringed only as a consequence of further modification of this -implementation. If you or your agent or exclusive licensee institute or -order or agree to the institution of patent litigation against any -entity (including a cross-claim or counterclaim in a lawsuit) alleging -that this implementation of Go or any code incorporated within this -implementation of Go constitutes direct or contributory patent -infringement, or inducement of patent infringement, then any patent -rights granted to you under this License for this implementation of Go -shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/tools/container/intsets/sparse.go b/vendor/golang.org/x/tools/container/intsets/sparse.go deleted file mode 100644 index 8847feb..0000000 --- a/vendor/golang.org/x/tools/container/intsets/sparse.go +++ /dev/null @@ -1,967 +0,0 @@ -// Copyright 2014 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. - -// Package intsets provides Sparse, a compact and fast representation -// for sparse sets of int values. -// -// The time complexity of the operations Len, Insert, Remove and Has -// is in O(n) but in practice those methods are faster and more -// space-efficient than equivalent operations on sets based on the Go -// map type. The IsEmpty, Min, Max, Clear and TakeMin operations -// require constant time. -// -package intsets // import "golang.org/x/tools/container/intsets" - -// TODO(adonovan): -// - Add InsertAll(...int), RemoveAll(...int) -// - Add 'bool changed' results for {Intersection,Difference}With too. -// -// TODO(adonovan): implement Dense, a dense bit vector with a similar API. -// The space usage would be proportional to Max(), not Len(), and the -// implementation would be based upon big.Int. -// -// TODO(adonovan): experiment with making the root block indirect (nil -// iff IsEmpty). This would reduce the memory usage when empty and -// might simplify the aliasing invariants. -// -// TODO(adonovan): opt: make UnionWith and Difference faster. -// These are the hot-spots for go/pointer. - -import ( - "bytes" - "fmt" -) - -// A Sparse is a set of int values. -// Sparse operations (even queries) are not concurrency-safe. -// -// The zero value for Sparse is a valid empty set. -// -// Sparse sets must be copied using the Copy method, not by assigning -// a Sparse value. -// -type Sparse struct { - // An uninitialized Sparse represents an empty set. - // An empty set may also be represented by - // root.next == root.prev == &root. - // In a non-empty set, root.next points to the first block and - // root.prev to the last. - // root.offset and root.bits are unused. - root block -} - -type word uintptr - -const ( - _m = ^word(0) - bitsPerWord = 8 << (_m>>8&1 + _m>>16&1 + _m>>32&1) - bitsPerBlock = 256 // optimal value for go/pointer solver performance - wordsPerBlock = bitsPerBlock / bitsPerWord -) - -// Limit values of implementation-specific int type. -const ( - MaxInt = int(^uint(0) >> 1) - MinInt = -MaxInt - 1 -) - -// -- block ------------------------------------------------------------ - -// A set is represented as a circular doubly-linked list of blocks, -// each containing an offset and a bit array of fixed size -// bitsPerBlock; the blocks are ordered by increasing offset. -// -// The set contains an element x iff the block whose offset is x - (x -// mod bitsPerBlock) has the bit (x mod bitsPerBlock) set, where mod -// is the Euclidean remainder. -// -// A block may only be empty transiently. -// -type block struct { - offset int // offset mod bitsPerBlock == 0 - bits [wordsPerBlock]word // contains at least one set bit - next, prev *block // doubly-linked list of blocks -} - -// wordMask returns the word index (in block.bits) -// and single-bit mask for the block's ith bit. -func wordMask(i uint) (w uint, mask word) { - w = i / bitsPerWord - mask = 1 << (i % bitsPerWord) - return -} - -// insert sets the block b's ith bit and -// returns true if it was not already set. -// -func (b *block) insert(i uint) bool { - w, mask := wordMask(i) - if b.bits[w]&mask == 0 { - b.bits[w] |= mask - return true - } - return false -} - -// remove clears the block's ith bit and -// returns true if the bit was previously set. -// NB: may leave the block empty. -// -func (b *block) remove(i uint) bool { - w, mask := wordMask(i) - if b.bits[w]&mask != 0 { - b.bits[w] &^= mask - return true - } - return false -} - -// has reports whether the block's ith bit is set. -func (b *block) has(i uint) bool { - w, mask := wordMask(i) - return b.bits[w]&mask != 0 -} - -// empty reports whether b.len()==0, but more efficiently. -func (b *block) empty() bool { - for _, w := range b.bits { - if w != 0 { - return false - } - } - return true -} - -// len returns the number of set bits in block b. -func (b *block) len() int { - var l int - for _, w := range b.bits { - l += popcount(w) - } - return l -} - -// max returns the maximum element of the block. -// The block must not be empty. -// -func (b *block) max() int { - bi := b.offset + bitsPerBlock - // Decrement bi by number of high zeros in last.bits. - for i := len(b.bits) - 1; i >= 0; i-- { - if w := b.bits[i]; w != 0 { - return bi - nlz(w) - 1 - } - bi -= bitsPerWord - } - panic("BUG: empty block") -} - -// min returns the minimum element of the block, -// and also removes it if take is set. -// The block must not be initially empty. -// NB: may leave the block empty. -// -func (b *block) min(take bool) int { - for i, w := range b.bits { - if w != 0 { - tz := ntz(w) - if take { - b.bits[i] = w &^ (1 << uint(tz)) - } - return b.offset + int(i*bitsPerWord) + tz - } - } - panic("BUG: empty block") -} - -// forEach calls f for each element of block b. -// f must not mutate b's enclosing Sparse. -func (b *block) forEach(f func(int)) { - for i, w := range b.bits { - offset := b.offset + i*bitsPerWord - for bi := 0; w != 0 && bi < bitsPerWord; bi++ { - if w&1 != 0 { - f(offset) - } - offset++ - w >>= 1 - } - } -} - -// offsetAndBitIndex returns the offset of the block that would -// contain x and the bit index of x within that block. -// -func offsetAndBitIndex(x int) (int, uint) { - mod := x % bitsPerBlock - if mod < 0 { - // Euclidean (non-negative) remainder - mod += bitsPerBlock - } - return x - mod, uint(mod) -} - -// -- Sparse -------------------------------------------------------------- - -// start returns the root's next block, which is the root block -// (if s.IsEmpty()) or the first true block otherwise. -// start has the side effect of ensuring that s is properly -// initialized. -// -func (s *Sparse) start() *block { - root := &s.root - if root.next == nil { - root.next = root - root.prev = root - } else if root.next.prev != root { - // Copying a Sparse x leads to pernicious corruption: the - // new Sparse y shares the old linked list, but iteration - // on y will never encounter &y.root so it goes into a - // loop. Fail fast before this occurs. - panic("A Sparse has been copied without (*Sparse).Copy()") - } - - return root.next -} - -// IsEmpty reports whether the set s is empty. -func (s *Sparse) IsEmpty() bool { - return s.start() == &s.root -} - -// Len returns the number of elements in the set s. -func (s *Sparse) Len() int { - var l int - for b := s.start(); b != &s.root; b = b.next { - l += b.len() - } - return l -} - -// Max returns the maximum element of the set s, or MinInt if s is empty. -func (s *Sparse) Max() int { - if s.IsEmpty() { - return MinInt - } - return s.root.prev.max() -} - -// Min returns the minimum element of the set s, or MaxInt if s is empty. -func (s *Sparse) Min() int { - if s.IsEmpty() { - return MaxInt - } - return s.root.next.min(false) -} - -// block returns the block that would contain offset, -// or nil if s contains no such block. -// -func (s *Sparse) block(offset int) *block { - b := s.start() - for b != &s.root && b.offset <= offset { - if b.offset == offset { - return b - } - b = b.next - } - return nil -} - -// Insert adds x to the set s, and reports whether the set grew. -func (s *Sparse) Insert(x int) bool { - offset, i := offsetAndBitIndex(x) - b := s.start() - for b != &s.root && b.offset <= offset { - if b.offset == offset { - return b.insert(i) - } - b = b.next - } - - // Insert new block before b. - new := &block{offset: offset} - new.next = b - new.prev = b.prev - new.prev.next = new - new.next.prev = new - return new.insert(i) -} - -func (s *Sparse) removeBlock(b *block) { - b.prev.next = b.next - b.next.prev = b.prev -} - -// Remove removes x from the set s, and reports whether the set shrank. -func (s *Sparse) Remove(x int) bool { - offset, i := offsetAndBitIndex(x) - if b := s.block(offset); b != nil { - if !b.remove(i) { - return false - } - if b.empty() { - s.removeBlock(b) - } - return true - } - return false -} - -// Clear removes all elements from the set s. -func (s *Sparse) Clear() { - s.root.next = &s.root - s.root.prev = &s.root -} - -// If set s is non-empty, TakeMin sets *p to the minimum element of -// the set s, removes that element from the set and returns true. -// Otherwise, it returns false and *p is undefined. -// -// This method may be used for iteration over a worklist like so: -// -// var x int -// for worklist.TakeMin(&x) { use(x) } -// -func (s *Sparse) TakeMin(p *int) bool { - head := s.start() - if head == &s.root { - return false - } - *p = head.min(true) - if head.empty() { - s.removeBlock(head) - } - return true -} - -// Has reports whether x is an element of the set s. -func (s *Sparse) Has(x int) bool { - offset, i := offsetAndBitIndex(x) - if b := s.block(offset); b != nil { - return b.has(i) - } - return false -} - -// forEach applies function f to each element of the set s in order. -// -// f must not mutate s. Consequently, forEach is not safe to expose -// to clients. In any case, using "range s.AppendTo()" allows more -// natural control flow with continue/break/return. -// -func (s *Sparse) forEach(f func(int)) { - for b := s.start(); b != &s.root; b = b.next { - b.forEach(f) - } -} - -// Copy sets s to the value of x. -func (s *Sparse) Copy(x *Sparse) { - if s == x { - return - } - - xb := x.start() - sb := s.start() - for xb != &x.root { - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = xb.offset - sb.bits = xb.bits - xb = xb.next - sb = sb.next - } - s.discardTail(sb) -} - -// insertBlockBefore returns a new block, inserting it before next. -func (s *Sparse) insertBlockBefore(next *block) *block { - b := new(block) - b.next = next - b.prev = next.prev - b.prev.next = b - next.prev = b - return b -} - -// discardTail removes block b and all its successors from s. -func (s *Sparse) discardTail(b *block) { - if b != &s.root { - b.prev.next = &s.root - s.root.prev = b.prev - } -} - -// IntersectionWith sets s to the intersection s ∩ x. -func (s *Sparse) IntersectionWith(x *Sparse) { - if s == x { - return - } - - xb := x.start() - sb := s.start() - for xb != &x.root && sb != &s.root { - switch { - case xb.offset < sb.offset: - xb = xb.next - - case xb.offset > sb.offset: - sb = sb.next - s.removeBlock(sb.prev) - - default: - var sum word - for i := range sb.bits { - r := xb.bits[i] & sb.bits[i] - sb.bits[i] = r - sum |= r - } - if sum != 0 { - sb = sb.next - } else { - // sb will be overwritten or removed - } - - xb = xb.next - } - } - - s.discardTail(sb) -} - -// Intersection sets s to the intersection x ∩ y. -func (s *Sparse) Intersection(x, y *Sparse) { - switch { - case s == x: - s.IntersectionWith(y) - return - case s == y: - s.IntersectionWith(x) - return - case x == y: - s.Copy(x) - return - } - - xb := x.start() - yb := y.start() - sb := s.start() - for xb != &x.root && yb != &y.root { - switch { - case xb.offset < yb.offset: - xb = xb.next - continue - case xb.offset > yb.offset: - yb = yb.next - continue - } - - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = xb.offset - - var sum word - for i := range sb.bits { - r := xb.bits[i] & yb.bits[i] - sb.bits[i] = r - sum |= r - } - if sum != 0 { - sb = sb.next - } else { - // sb will be overwritten or removed - } - - xb = xb.next - yb = yb.next - } - - s.discardTail(sb) -} - -// Intersects reports whether s ∩ x ≠ ∅. -func (s *Sparse) Intersects(x *Sparse) bool { - sb := s.start() - xb := x.start() - for sb != &s.root && xb != &x.root { - switch { - case xb.offset < sb.offset: - xb = xb.next - case xb.offset > sb.offset: - sb = sb.next - default: - for i := range sb.bits { - if sb.bits[i]&xb.bits[i] != 0 { - return true - } - } - sb = sb.next - xb = xb.next - } - } - return false -} - -// UnionWith sets s to the union s ∪ x, and reports whether s grew. -func (s *Sparse) UnionWith(x *Sparse) bool { - if s == x { - return false - } - - var changed bool - xb := x.start() - sb := s.start() - for xb != &x.root { - if sb != &s.root && sb.offset == xb.offset { - for i := range xb.bits { - if sb.bits[i] != xb.bits[i] { - sb.bits[i] |= xb.bits[i] - changed = true - } - } - xb = xb.next - } else if sb == &s.root || sb.offset > xb.offset { - sb = s.insertBlockBefore(sb) - sb.offset = xb.offset - sb.bits = xb.bits - changed = true - - xb = xb.next - } - sb = sb.next - } - return changed -} - -// Union sets s to the union x ∪ y. -func (s *Sparse) Union(x, y *Sparse) { - switch { - case x == y: - s.Copy(x) - return - case s == x: - s.UnionWith(y) - return - case s == y: - s.UnionWith(x) - return - } - - xb := x.start() - yb := y.start() - sb := s.start() - for xb != &x.root || yb != &y.root { - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - switch { - case yb == &y.root || (xb != &x.root && xb.offset < yb.offset): - sb.offset = xb.offset - sb.bits = xb.bits - xb = xb.next - - case xb == &x.root || (yb != &y.root && yb.offset < xb.offset): - sb.offset = yb.offset - sb.bits = yb.bits - yb = yb.next - - default: - sb.offset = xb.offset - for i := range xb.bits { - sb.bits[i] = xb.bits[i] | yb.bits[i] - } - xb = xb.next - yb = yb.next - } - sb = sb.next - } - - s.discardTail(sb) -} - -// DifferenceWith sets s to the difference s ∖ x. -func (s *Sparse) DifferenceWith(x *Sparse) { - if s == x { - s.Clear() - return - } - - xb := x.start() - sb := s.start() - for xb != &x.root && sb != &s.root { - switch { - case xb.offset > sb.offset: - sb = sb.next - - case xb.offset < sb.offset: - xb = xb.next - - default: - var sum word - for i := range sb.bits { - r := sb.bits[i] & ^xb.bits[i] - sb.bits[i] = r - sum |= r - } - sb = sb.next - xb = xb.next - - if sum == 0 { - s.removeBlock(sb.prev) - } - } - } -} - -// Difference sets s to the difference x ∖ y. -func (s *Sparse) Difference(x, y *Sparse) { - switch { - case x == y: - s.Clear() - return - case s == x: - s.DifferenceWith(y) - return - case s == y: - var y2 Sparse - y2.Copy(y) - s.Difference(x, &y2) - return - } - - xb := x.start() - yb := y.start() - sb := s.start() - for xb != &x.root && yb != &y.root { - if xb.offset > yb.offset { - // y has block, x has none - yb = yb.next - continue - } - - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = xb.offset - - switch { - case xb.offset < yb.offset: - // x has block, y has none - sb.bits = xb.bits - - sb = sb.next - - default: - // x and y have corresponding blocks - var sum word - for i := range sb.bits { - r := xb.bits[i] & ^yb.bits[i] - sb.bits[i] = r - sum |= r - } - if sum != 0 { - sb = sb.next - } else { - // sb will be overwritten or removed - } - - yb = yb.next - } - xb = xb.next - } - - for xb != &x.root { - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = xb.offset - sb.bits = xb.bits - sb = sb.next - - xb = xb.next - } - - s.discardTail(sb) -} - -// SymmetricDifferenceWith sets s to the symmetric difference s ∆ x. -func (s *Sparse) SymmetricDifferenceWith(x *Sparse) { - if s == x { - s.Clear() - return - } - - sb := s.start() - xb := x.start() - for xb != &x.root && sb != &s.root { - switch { - case sb.offset < xb.offset: - sb = sb.next - case xb.offset < sb.offset: - nb := s.insertBlockBefore(sb) - nb.offset = xb.offset - nb.bits = xb.bits - xb = xb.next - default: - var sum word - for i := range sb.bits { - r := sb.bits[i] ^ xb.bits[i] - sb.bits[i] = r - sum |= r - } - sb = sb.next - xb = xb.next - if sum == 0 { - s.removeBlock(sb.prev) - } - } - } - - for xb != &x.root { // append the tail of x to s - sb = s.insertBlockBefore(sb) - sb.offset = xb.offset - sb.bits = xb.bits - sb = sb.next - xb = xb.next - } -} - -// SymmetricDifference sets s to the symmetric difference x ∆ y. -func (s *Sparse) SymmetricDifference(x, y *Sparse) { - switch { - case x == y: - s.Clear() - return - case s == x: - s.SymmetricDifferenceWith(y) - return - case s == y: - s.SymmetricDifferenceWith(x) - return - } - - sb := s.start() - xb := x.start() - yb := y.start() - for xb != &x.root && yb != &y.root { - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - switch { - case yb.offset < xb.offset: - sb.offset = yb.offset - sb.bits = yb.bits - sb = sb.next - yb = yb.next - case xb.offset < yb.offset: - sb.offset = xb.offset - sb.bits = xb.bits - sb = sb.next - xb = xb.next - default: - var sum word - for i := range sb.bits { - r := xb.bits[i] ^ yb.bits[i] - sb.bits[i] = r - sum |= r - } - if sum != 0 { - sb.offset = xb.offset - sb = sb.next - } - xb = xb.next - yb = yb.next - } - } - - for xb != &x.root { // append the tail of x to s - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = xb.offset - sb.bits = xb.bits - sb = sb.next - xb = xb.next - } - - for yb != &y.root { // append the tail of y to s - if sb == &s.root { - sb = s.insertBlockBefore(sb) - } - sb.offset = yb.offset - sb.bits = yb.bits - sb = sb.next - yb = yb.next - } - - s.discardTail(sb) -} - -// SubsetOf reports whether s ∖ x = ∅. -func (s *Sparse) SubsetOf(x *Sparse) bool { - if s == x { - return true - } - - sb := s.start() - xb := x.start() - for sb != &s.root { - switch { - case xb == &x.root || xb.offset > sb.offset: - return false - case xb.offset < sb.offset: - xb = xb.next - default: - for i := range sb.bits { - if sb.bits[i]&^xb.bits[i] != 0 { - return false - } - } - sb = sb.next - xb = xb.next - } - } - return true -} - -// Equals reports whether the sets s and t have the same elements. -func (s *Sparse) Equals(t *Sparse) bool { - if s == t { - return true - } - sb := s.start() - tb := t.start() - for { - switch { - case sb == &s.root && tb == &t.root: - return true - case sb == &s.root || tb == &t.root: - return false - case sb.offset != tb.offset: - return false - case sb.bits != tb.bits: - return false - } - - sb = sb.next - tb = tb.next - } -} - -// String returns a human-readable description of the set s. -func (s *Sparse) String() string { - var buf bytes.Buffer - buf.WriteByte('{') - s.forEach(func(x int) { - if buf.Len() > 1 { - buf.WriteByte(' ') - } - fmt.Fprintf(&buf, "%d", x) - }) - buf.WriteByte('}') - return buf.String() -} - -// BitString returns the set as a string of 1s and 0s denoting the sum -// of the i'th powers of 2, for each i in s. A radix point, always -// preceded by a digit, appears if the sum is non-integral. -// -// Examples: -// {}.BitString() = "0" -// {4,5}.BitString() = "110000" -// {-3}.BitString() = "0.001" -// {-3,0,4,5}.BitString() = "110001.001" -// -func (s *Sparse) BitString() string { - if s.IsEmpty() { - return "0" - } - - min, max := s.Min(), s.Max() - var nbytes int - if max > 0 { - nbytes = max - } - nbytes++ // zero bit - radix := nbytes - if min < 0 { - nbytes += len(".") - min - } - - b := make([]byte, nbytes) - for i := range b { - b[i] = '0' - } - if radix < nbytes { - b[radix] = '.' - } - s.forEach(func(x int) { - if x >= 0 { - x += len(".") - } - b[radix-x] = '1' - }) - return string(b) -} - -// GoString returns a string showing the internal representation of -// the set s. -// -func (s *Sparse) GoString() string { - var buf bytes.Buffer - for b := s.start(); b != &s.root; b = b.next { - fmt.Fprintf(&buf, "block %p {offset=%d next=%p prev=%p", - b, b.offset, b.next, b.prev) - for _, w := range b.bits { - fmt.Fprintf(&buf, " 0%016x", w) - } - fmt.Fprintf(&buf, "}\n") - } - return buf.String() -} - -// AppendTo returns the result of appending the elements of s to slice -// in order. -func (s *Sparse) AppendTo(slice []int) []int { - s.forEach(func(x int) { - slice = append(slice, x) - }) - return slice -} - -// -- Testing/debugging ------------------------------------------------ - -// check returns an error if the representation invariants of s are violated. -func (s *Sparse) check() error { - if !s.root.empty() { - return fmt.Errorf("non-empty root block") - } - if s.root.offset != 0 { - return fmt.Errorf("root block has non-zero offset %d", s.root.offset) - } - for b := s.start(); b != &s.root; b = b.next { - if b.offset%bitsPerBlock != 0 { - return fmt.Errorf("bad offset modulo: %d", b.offset) - } - if b.empty() { - return fmt.Errorf("empty block") - } - if b.prev.next != b { - return fmt.Errorf("bad prev.next link") - } - if b.next.prev != b { - return fmt.Errorf("bad next.prev link") - } - if b.prev != &s.root { - if b.offset <= b.prev.offset { - return fmt.Errorf("bad offset order: b.offset=%d, prev.offset=%d", - b.offset, b.prev.offset) - } - } - } - return nil -} diff --git a/vendor/golang.org/x/tools/container/intsets/util.go b/vendor/golang.org/x/tools/container/intsets/util.go deleted file mode 100644 index 76e682c..0000000 --- a/vendor/golang.org/x/tools/container/intsets/util.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2013 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. - -package intsets - -var a [1 << 8]byte - -func init() { - for i := range a { - var n byte - for x := i; x != 0; x >>= 1 { - if x&1 != 0 { - n++ - } - } - a[i] = n - } -} - -// popcount returns the population count (number of set bits) of x. -func popcount(x word) int { - return int(a[byte(x>>(0*8))] + - a[byte(x>>(1*8))] + - a[byte(x>>(2*8))] + - a[byte(x>>(3*8))] + - a[byte(x>>(4*8))] + - a[byte(x>>(5*8))] + - a[byte(x>>(6*8))] + - a[byte(x>>(7*8))]) -} - -// nlz returns the number of leading zeros of x. -// From Hacker's Delight, fig 5.11. -func nlz(x word) int { - x |= (x >> 1) - x |= (x >> 2) - x |= (x >> 4) - x |= (x >> 8) - x |= (x >> 16) - x |= (x >> 32) - return popcount(^x) -} - -// ntz returns the number of trailing zeros of x. -// From Hacker's Delight, fig 5.13. -func ntz(x word) int { - if x == 0 { - return bitsPerWord - } - n := 1 - if bitsPerWord == 64 { - if (x & 0xffffffff) == 0 { - n = n + 32 - x = x >> 32 - } - } - if (x & 0x0000ffff) == 0 { - n = n + 16 - x = x >> 16 - } - if (x & 0x000000ff) == 0 { - n = n + 8 - x = x >> 8 - } - if (x & 0x0000000f) == 0 { - n = n + 4 - x = x >> 4 - } - if (x & 0x00000003) == 0 { - n = n + 2 - x = x >> 2 - } - return n - int(x&1) -} diff --git a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go deleted file mode 100644 index 2de739e..0000000 --- a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go +++ /dev/null @@ -1,625 +0,0 @@ -// Copyright 2013 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. - -package astutil - -// This file defines utilities for working with source positions. - -import ( - "fmt" - "go/ast" - "go/token" - "sort" -) - -// PathEnclosingInterval returns the node that encloses the source -// interval [start, end), and all its ancestors up to the AST root. -// -// The definition of "enclosing" used by this function considers -// additional whitespace abutting a node to be enclosed by it. -// In this example: -// -// z := x + y // add them -// <-A-> -// <----B-----> -// -// the ast.BinaryExpr(+) node is considered to enclose interval B -// even though its [Pos()..End()) is actually only interval A. -// This behaviour makes user interfaces more tolerant of imperfect -// input. -// -// This function treats tokens as nodes, though they are not included -// in the result. e.g. PathEnclosingInterval("+") returns the -// enclosing ast.BinaryExpr("x + y"). -// -// If start==end, the 1-char interval following start is used instead. -// -// The 'exact' result is true if the interval contains only path[0] -// and perhaps some adjacent whitespace. It is false if the interval -// overlaps multiple children of path[0], or if it contains only -// interior whitespace of path[0]. -// In this example: -// -// z := x + y // add them -// <--C--> <---E--> -// ^ -// D -// -// intervals C, D and E are inexact. C is contained by the -// z-assignment statement, because it spans three of its children (:=, -// x, +). So too is the 1-char interval D, because it contains only -// interior whitespace of the assignment. E is considered interior -// whitespace of the BlockStmt containing the assignment. -// -// Precondition: [start, end) both lie within the same file as root. -// TODO(adonovan): return (nil, false) in this case and remove precond. -// Requires FileSet; see loader.tokenFileContainsPos. -// -// Postcondition: path is never nil; it always contains at least 'root'. -// -func PathEnclosingInterval(root *ast.File, start, end token.Pos) (path []ast.Node, exact bool) { - // fmt.Printf("EnclosingInterval %d %d\n", start, end) // debugging - - // Precondition: node.[Pos..End) and adjoining whitespace contain [start, end). - var visit func(node ast.Node) bool - visit = func(node ast.Node) bool { - path = append(path, node) - - nodePos := node.Pos() - nodeEnd := node.End() - - // fmt.Printf("visit(%T, %d, %d)\n", node, nodePos, nodeEnd) // debugging - - // Intersect [start, end) with interval of node. - if start < nodePos { - start = nodePos - } - if end > nodeEnd { - end = nodeEnd - } - - // Find sole child that contains [start, end). - children := childrenOf(node) - l := len(children) - for i, child := range children { - // [childPos, childEnd) is unaugmented interval of child. - childPos := child.Pos() - childEnd := child.End() - - // [augPos, augEnd) is whitespace-augmented interval of child. - augPos := childPos - augEnd := childEnd - if i > 0 { - augPos = children[i-1].End() // start of preceding whitespace - } - if i < l-1 { - nextChildPos := children[i+1].Pos() - // Does [start, end) lie between child and next child? - if start >= augEnd && end <= nextChildPos { - return false // inexact match - } - augEnd = nextChildPos // end of following whitespace - } - - // fmt.Printf("\tchild %d: [%d..%d)\tcontains interval [%d..%d)?\n", - // i, augPos, augEnd, start, end) // debugging - - // Does augmented child strictly contain [start, end)? - if augPos <= start && end <= augEnd { - _, isToken := child.(tokenNode) - return isToken || visit(child) - } - - // Does [start, end) overlap multiple children? - // i.e. left-augmented child contains start - // but LR-augmented child does not contain end. - if start < childEnd && end > augEnd { - break - } - } - - // No single child contained [start, end), - // so node is the result. Is it exact? - - // (It's tempting to put this condition before the - // child loop, but it gives the wrong result in the - // case where a node (e.g. ExprStmt) and its sole - // child have equal intervals.) - if start == nodePos && end == nodeEnd { - return true // exact match - } - - return false // inexact: overlaps multiple children - } - - if start > end { - start, end = end, start - } - - if start < root.End() && end > root.Pos() { - if start == end { - end = start + 1 // empty interval => interval of size 1 - } - exact = visit(root) - - // Reverse the path: - for i, l := 0, len(path); i < l/2; i++ { - path[i], path[l-1-i] = path[l-1-i], path[i] - } - } else { - // Selection lies within whitespace preceding the - // first (or following the last) declaration in the file. - // The result nonetheless always includes the ast.File. - path = append(path, root) - } - - return -} - -// tokenNode is a dummy implementation of ast.Node for a single token. -// They are used transiently by PathEnclosingInterval but never escape -// this package. -// -type tokenNode struct { - pos token.Pos - end token.Pos -} - -func (n tokenNode) Pos() token.Pos { - return n.pos -} - -func (n tokenNode) End() token.Pos { - return n.end -} - -func tok(pos token.Pos, len int) ast.Node { - return tokenNode{pos, pos + token.Pos(len)} -} - -// childrenOf returns the direct non-nil children of ast.Node n. -// It may include fake ast.Node implementations for bare tokens. -// it is not safe to call (e.g.) ast.Walk on such nodes. -// -func childrenOf(n ast.Node) []ast.Node { - var children []ast.Node - - // First add nodes for all true subtrees. - ast.Inspect(n, func(node ast.Node) bool { - if node == n { // push n - return true // recur - } - if node != nil { // push child - children = append(children, node) - } - return false // no recursion - }) - - // Then add fake Nodes for bare tokens. - switch n := n.(type) { - case *ast.ArrayType: - children = append(children, - tok(n.Lbrack, len("[")), - tok(n.Elt.End(), len("]"))) - - case *ast.AssignStmt: - children = append(children, - tok(n.TokPos, len(n.Tok.String()))) - - case *ast.BasicLit: - children = append(children, - tok(n.ValuePos, len(n.Value))) - - case *ast.BinaryExpr: - children = append(children, tok(n.OpPos, len(n.Op.String()))) - - case *ast.BlockStmt: - children = append(children, - tok(n.Lbrace, len("{")), - tok(n.Rbrace, len("}"))) - - case *ast.BranchStmt: - children = append(children, - tok(n.TokPos, len(n.Tok.String()))) - - case *ast.CallExpr: - children = append(children, - tok(n.Lparen, len("(")), - tok(n.Rparen, len(")"))) - if n.Ellipsis != 0 { - children = append(children, tok(n.Ellipsis, len("..."))) - } - - case *ast.CaseClause: - if n.List == nil { - children = append(children, - tok(n.Case, len("default"))) - } else { - children = append(children, - tok(n.Case, len("case"))) - } - children = append(children, tok(n.Colon, len(":"))) - - case *ast.ChanType: - switch n.Dir { - case ast.RECV: - children = append(children, tok(n.Begin, len("<-chan"))) - case ast.SEND: - children = append(children, tok(n.Begin, len("chan<-"))) - case ast.RECV | ast.SEND: - children = append(children, tok(n.Begin, len("chan"))) - } - - case *ast.CommClause: - if n.Comm == nil { - children = append(children, - tok(n.Case, len("default"))) - } else { - children = append(children, - tok(n.Case, len("case"))) - } - children = append(children, tok(n.Colon, len(":"))) - - case *ast.Comment: - // nop - - case *ast.CommentGroup: - // nop - - case *ast.CompositeLit: - children = append(children, - tok(n.Lbrace, len("{")), - tok(n.Rbrace, len("{"))) - - case *ast.DeclStmt: - // nop - - case *ast.DeferStmt: - children = append(children, - tok(n.Defer, len("defer"))) - - case *ast.Ellipsis: - children = append(children, - tok(n.Ellipsis, len("..."))) - - case *ast.EmptyStmt: - // nop - - case *ast.ExprStmt: - // nop - - case *ast.Field: - // TODO(adonovan): Field.{Doc,Comment,Tag}? - - case *ast.FieldList: - children = append(children, - tok(n.Opening, len("(")), - tok(n.Closing, len(")"))) - - case *ast.File: - // TODO test: Doc - children = append(children, - tok(n.Package, len("package"))) - - case *ast.ForStmt: - children = append(children, - tok(n.For, len("for"))) - - case *ast.FuncDecl: - // TODO(adonovan): FuncDecl.Comment? - - // Uniquely, FuncDecl breaks the invariant that - // preorder traversal yields tokens in lexical order: - // in fact, FuncDecl.Recv precedes FuncDecl.Type.Func. - // - // As a workaround, we inline the case for FuncType - // here and order things correctly. - // - children = nil // discard ast.Walk(FuncDecl) info subtrees - children = append(children, tok(n.Type.Func, len("func"))) - if n.Recv != nil { - children = append(children, n.Recv) - } - children = append(children, n.Name) - if n.Type.Params != nil { - children = append(children, n.Type.Params) - } - if n.Type.Results != nil { - children = append(children, n.Type.Results) - } - if n.Body != nil { - children = append(children, n.Body) - } - - case *ast.FuncLit: - // nop - - case *ast.FuncType: - if n.Func != 0 { - children = append(children, - tok(n.Func, len("func"))) - } - - case *ast.GenDecl: - children = append(children, - tok(n.TokPos, len(n.Tok.String()))) - if n.Lparen != 0 { - children = append(children, - tok(n.Lparen, len("(")), - tok(n.Rparen, len(")"))) - } - - case *ast.GoStmt: - children = append(children, - tok(n.Go, len("go"))) - - case *ast.Ident: - children = append(children, - tok(n.NamePos, len(n.Name))) - - case *ast.IfStmt: - children = append(children, - tok(n.If, len("if"))) - - case *ast.ImportSpec: - // TODO(adonovan): ImportSpec.{Doc,EndPos}? - - case *ast.IncDecStmt: - children = append(children, - tok(n.TokPos, len(n.Tok.String()))) - - case *ast.IndexExpr: - children = append(children, - tok(n.Lbrack, len("{")), - tok(n.Rbrack, len("}"))) - - case *ast.InterfaceType: - children = append(children, - tok(n.Interface, len("interface"))) - - case *ast.KeyValueExpr: - children = append(children, - tok(n.Colon, len(":"))) - - case *ast.LabeledStmt: - children = append(children, - tok(n.Colon, len(":"))) - - case *ast.MapType: - children = append(children, - tok(n.Map, len("map"))) - - case *ast.ParenExpr: - children = append(children, - tok(n.Lparen, len("(")), - tok(n.Rparen, len(")"))) - - case *ast.RangeStmt: - children = append(children, - tok(n.For, len("for")), - tok(n.TokPos, len(n.Tok.String()))) - - case *ast.ReturnStmt: - children = append(children, - tok(n.Return, len("return"))) - - case *ast.SelectStmt: - children = append(children, - tok(n.Select, len("select"))) - - case *ast.SelectorExpr: - // nop - - case *ast.SendStmt: - children = append(children, - tok(n.Arrow, len("<-"))) - - case *ast.SliceExpr: - children = append(children, - tok(n.Lbrack, len("[")), - tok(n.Rbrack, len("]"))) - - case *ast.StarExpr: - children = append(children, tok(n.Star, len("*"))) - - case *ast.StructType: - children = append(children, tok(n.Struct, len("struct"))) - - case *ast.SwitchStmt: - children = append(children, tok(n.Switch, len("switch"))) - - case *ast.TypeAssertExpr: - children = append(children, - tok(n.Lparen-1, len(".")), - tok(n.Lparen, len("(")), - tok(n.Rparen, len(")"))) - - case *ast.TypeSpec: - // TODO(adonovan): TypeSpec.{Doc,Comment}? - - case *ast.TypeSwitchStmt: - children = append(children, tok(n.Switch, len("switch"))) - - case *ast.UnaryExpr: - children = append(children, tok(n.OpPos, len(n.Op.String()))) - - case *ast.ValueSpec: - // TODO(adonovan): ValueSpec.{Doc,Comment}? - - default: - // Includes *ast.BadDecl, *ast.BadExpr, *ast.BadStmt. - panic(fmt.Sprintf("unexpected node type %T", n)) - } - - // TODO(adonovan): opt: merge the logic of ast.Inspect() into - // the switch above so we can make interleaved callbacks for - // both Nodes and Tokens in the right order and avoid the need - // to sort. - sort.Sort(byPos(children)) - - return children -} - -type byPos []ast.Node - -func (sl byPos) Len() int { - return len(sl) -} -func (sl byPos) Less(i, j int) bool { - return sl[i].Pos() < sl[j].Pos() -} -func (sl byPos) Swap(i, j int) { - sl[i], sl[j] = sl[j], sl[i] -} - -// NodeDescription returns a description of the concrete type of n suitable -// for a user interface. -// -// TODO(adonovan): in some cases (e.g. Field, FieldList, Ident, -// StarExpr) we could be much more specific given the path to the AST -// root. Perhaps we should do that. -// -func NodeDescription(n ast.Node) string { - switch n := n.(type) { - case *ast.ArrayType: - return "array type" - case *ast.AssignStmt: - return "assignment" - case *ast.BadDecl: - return "bad declaration" - case *ast.BadExpr: - return "bad expression" - case *ast.BadStmt: - return "bad statement" - case *ast.BasicLit: - return "basic literal" - case *ast.BinaryExpr: - return fmt.Sprintf("binary %s operation", n.Op) - case *ast.BlockStmt: - return "block" - case *ast.BranchStmt: - switch n.Tok { - case token.BREAK: - return "break statement" - case token.CONTINUE: - return "continue statement" - case token.GOTO: - return "goto statement" - case token.FALLTHROUGH: - return "fall-through statement" - } - case *ast.CallExpr: - return "function call (or conversion)" - case *ast.CaseClause: - return "case clause" - case *ast.ChanType: - return "channel type" - case *ast.CommClause: - return "communication clause" - case *ast.Comment: - return "comment" - case *ast.CommentGroup: - return "comment group" - case *ast.CompositeLit: - return "composite literal" - case *ast.DeclStmt: - return NodeDescription(n.Decl) + " statement" - case *ast.DeferStmt: - return "defer statement" - case *ast.Ellipsis: - return "ellipsis" - case *ast.EmptyStmt: - return "empty statement" - case *ast.ExprStmt: - return "expression statement" - case *ast.Field: - // Can be any of these: - // struct {x, y int} -- struct field(s) - // struct {T} -- anon struct field - // interface {I} -- interface embedding - // interface {f()} -- interface method - // func (A) func(B) C -- receiver, param(s), result(s) - return "field/method/parameter" - case *ast.FieldList: - return "field/method/parameter list" - case *ast.File: - return "source file" - case *ast.ForStmt: - return "for loop" - case *ast.FuncDecl: - return "function declaration" - case *ast.FuncLit: - return "function literal" - case *ast.FuncType: - return "function type" - case *ast.GenDecl: - switch n.Tok { - case token.IMPORT: - return "import declaration" - case token.CONST: - return "constant declaration" - case token.TYPE: - return "type declaration" - case token.VAR: - return "variable declaration" - } - case *ast.GoStmt: - return "go statement" - case *ast.Ident: - return "identifier" - case *ast.IfStmt: - return "if statement" - case *ast.ImportSpec: - return "import specification" - case *ast.IncDecStmt: - if n.Tok == token.INC { - return "increment statement" - } - return "decrement statement" - case *ast.IndexExpr: - return "index expression" - case *ast.InterfaceType: - return "interface type" - case *ast.KeyValueExpr: - return "key/value association" - case *ast.LabeledStmt: - return "statement label" - case *ast.MapType: - return "map type" - case *ast.Package: - return "package" - case *ast.ParenExpr: - return "parenthesized " + NodeDescription(n.X) - case *ast.RangeStmt: - return "range loop" - case *ast.ReturnStmt: - return "return statement" - case *ast.SelectStmt: - return "select statement" - case *ast.SelectorExpr: - return "selector" - case *ast.SendStmt: - return "channel send" - case *ast.SliceExpr: - return "slice expression" - case *ast.StarExpr: - return "*-operation" // load/store expr or pointer type - case *ast.StructType: - return "struct type" - case *ast.SwitchStmt: - return "switch statement" - case *ast.TypeAssertExpr: - return "type assertion" - case *ast.TypeSpec: - return "type specification" - case *ast.TypeSwitchStmt: - return "type switch" - case *ast.UnaryExpr: - return fmt.Sprintf("unary %s operation", n.Op) - case *ast.ValueSpec: - return "value specification" - - } - panic(fmt.Sprintf("unexpected node type: %T", n)) -} diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go deleted file mode 100644 index 7f9b162..0000000 --- a/vendor/golang.org/x/tools/go/ast/astutil/imports.go +++ /dev/null @@ -1,359 +0,0 @@ -// Copyright 2013 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. - -// Package astutil contains common utilities for working with the Go AST. -package astutil // import "golang.org/x/tools/go/ast/astutil" - -import ( - "fmt" - "go/ast" - "go/token" - "strconv" - "strings" -) - -// AddImport adds the import path to the file f, if absent. -func AddImport(fset *token.FileSet, f *ast.File, ipath string) (added bool) { - return AddNamedImport(fset, f, "", ipath) -} - -// AddNamedImport adds the import path to the file f, if absent. -// If name is not empty, it is used to rename the import. -// -// For example, calling -// AddNamedImport(fset, f, "pathpkg", "path") -// adds -// import pathpkg "path" -func AddNamedImport(fset *token.FileSet, f *ast.File, name, ipath string) (added bool) { - if imports(f, ipath) { - return false - } - - newImport := &ast.ImportSpec{ - Path: &ast.BasicLit{ - Kind: token.STRING, - Value: strconv.Quote(ipath), - }, - } - if name != "" { - newImport.Name = &ast.Ident{Name: name} - } - - // Find an import decl to add to. - // The goal is to find an existing import - // whose import path has the longest shared - // prefix with ipath. - var ( - bestMatch = -1 // length of longest shared prefix - lastImport = -1 // index in f.Decls of the file's final import decl - impDecl *ast.GenDecl // import decl containing the best match - impIndex = -1 // spec index in impDecl containing the best match - ) - for i, decl := range f.Decls { - gen, ok := decl.(*ast.GenDecl) - if ok && gen.Tok == token.IMPORT { - lastImport = i - // Do not add to import "C", to avoid disrupting the - // association with its doc comment, breaking cgo. - if declImports(gen, "C") { - continue - } - - // Match an empty import decl if that's all that is available. - if len(gen.Specs) == 0 && bestMatch == -1 { - impDecl = gen - } - - // Compute longest shared prefix with imports in this group. - for j, spec := range gen.Specs { - impspec := spec.(*ast.ImportSpec) - n := matchLen(importPath(impspec), ipath) - if n > bestMatch { - bestMatch = n - impDecl = gen - impIndex = j - } - } - } - } - - // If no import decl found, add one after the last import. - if impDecl == nil { - impDecl = &ast.GenDecl{ - Tok: token.IMPORT, - } - if lastImport >= 0 { - impDecl.TokPos = f.Decls[lastImport].End() - } else { - // There are no existing imports. - // Our new import goes after the package declaration and after - // the comment, if any, that starts on the same line as the - // package declaration. - impDecl.TokPos = f.Package - - file := fset.File(f.Package) - pkgLine := file.Line(f.Package) - for _, c := range f.Comments { - if file.Line(c.Pos()) > pkgLine { - break - } - impDecl.TokPos = c.End() - } - } - f.Decls = append(f.Decls, nil) - copy(f.Decls[lastImport+2:], f.Decls[lastImport+1:]) - f.Decls[lastImport+1] = impDecl - } - - // Insert new import at insertAt. - insertAt := 0 - if impIndex >= 0 { - // insert after the found import - insertAt = impIndex + 1 - } - impDecl.Specs = append(impDecl.Specs, nil) - copy(impDecl.Specs[insertAt+1:], impDecl.Specs[insertAt:]) - impDecl.Specs[insertAt] = newImport - pos := impDecl.Pos() - if insertAt > 0 { - // Assign same position as the previous import, - // so that the sorter sees it as being in the same block. - pos = impDecl.Specs[insertAt-1].Pos() - } - if newImport.Name != nil { - newImport.Name.NamePos = pos - } - newImport.Path.ValuePos = pos - newImport.EndPos = pos - - // Clean up parens. impDecl contains at least one spec. - if len(impDecl.Specs) == 1 { - // Remove unneeded parens. - impDecl.Lparen = token.NoPos - } else if !impDecl.Lparen.IsValid() { - // impDecl needs parens added. - impDecl.Lparen = impDecl.Specs[0].Pos() - } - - f.Imports = append(f.Imports, newImport) - return true -} - -// DeleteImport deletes the import path from the file f, if present. -func DeleteImport(fset *token.FileSet, f *ast.File, path string) (deleted bool) { - var delspecs []*ast.ImportSpec - - // Find the import nodes that import path, if any. - for i := 0; i < len(f.Decls); i++ { - decl := f.Decls[i] - gen, ok := decl.(*ast.GenDecl) - if !ok || gen.Tok != token.IMPORT { - continue - } - for j := 0; j < len(gen.Specs); j++ { - spec := gen.Specs[j] - impspec := spec.(*ast.ImportSpec) - if importPath(impspec) != path { - continue - } - - // We found an import spec that imports path. - // Delete it. - delspecs = append(delspecs, impspec) - deleted = true - copy(gen.Specs[j:], gen.Specs[j+1:]) - gen.Specs = gen.Specs[:len(gen.Specs)-1] - - // If this was the last import spec in this decl, - // delete the decl, too. - if len(gen.Specs) == 0 { - copy(f.Decls[i:], f.Decls[i+1:]) - f.Decls = f.Decls[:len(f.Decls)-1] - i-- - break - } else if len(gen.Specs) == 1 { - gen.Lparen = token.NoPos // drop parens - } - if j > 0 { - lastImpspec := gen.Specs[j-1].(*ast.ImportSpec) - lastLine := fset.Position(lastImpspec.Path.ValuePos).Line - line := fset.Position(impspec.Path.ValuePos).Line - - // We deleted an entry but now there may be - // a blank line-sized hole where the import was. - if line-lastLine > 1 { - // There was a blank line immediately preceding the deleted import, - // so there's no need to close the hole. - // Do nothing. - } else { - // There was no blank line. Close the hole. - fset.File(gen.Rparen).MergeLine(line) - } - } - j-- - } - } - - // Delete them from f.Imports. - for i := 0; i < len(f.Imports); i++ { - imp := f.Imports[i] - for j, del := range delspecs { - if imp == del { - copy(f.Imports[i:], f.Imports[i+1:]) - f.Imports = f.Imports[:len(f.Imports)-1] - copy(delspecs[j:], delspecs[j+1:]) - delspecs = delspecs[:len(delspecs)-1] - i-- - break - } - } - } - - if len(delspecs) > 0 { - panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs)) - } - - return -} - -// RewriteImport rewrites any import of path oldPath to path newPath. -func RewriteImport(fset *token.FileSet, f *ast.File, oldPath, newPath string) (rewrote bool) { - for _, imp := range f.Imports { - if importPath(imp) == oldPath { - rewrote = true - // record old End, because the default is to compute - // it using the length of imp.Path.Value. - imp.EndPos = imp.End() - imp.Path.Value = strconv.Quote(newPath) - } - } - return -} - -// UsesImport reports whether a given import is used. -func UsesImport(f *ast.File, path string) (used bool) { - spec := importSpec(f, path) - if spec == nil { - return - } - - name := spec.Name.String() - switch name { - case "": - // If the package name is not explicitly specified, - // make an educated guess. This is not guaranteed to be correct. - lastSlash := strings.LastIndex(path, "/") - if lastSlash == -1 { - name = path - } else { - name = path[lastSlash+1:] - } - case "_", ".": - // Not sure if this import is used - err on the side of caution. - return true - } - - ast.Walk(visitFn(func(n ast.Node) { - sel, ok := n.(*ast.SelectorExpr) - if ok && isTopName(sel.X, name) { - used = true - } - }), f) - - return -} - -type visitFn func(node ast.Node) - -func (fn visitFn) Visit(node ast.Node) ast.Visitor { - fn(node) - return fn -} - -// imports returns true if f imports path. -func imports(f *ast.File, path string) bool { - return importSpec(f, path) != nil -} - -// importSpec returns the import spec if f imports path, -// or nil otherwise. -func importSpec(f *ast.File, path string) *ast.ImportSpec { - for _, s := range f.Imports { - if importPath(s) == path { - return s - } - } - return nil -} - -// importPath returns the unquoted import path of s, -// or "" if the path is not properly quoted. -func importPath(s *ast.ImportSpec) string { - t, err := strconv.Unquote(s.Path.Value) - if err == nil { - return t - } - return "" -} - -// declImports reports whether gen contains an import of path. -func declImports(gen *ast.GenDecl, path string) bool { - if gen.Tok != token.IMPORT { - return false - } - for _, spec := range gen.Specs { - impspec := spec.(*ast.ImportSpec) - if importPath(impspec) == path { - return true - } - } - return false -} - -// matchLen returns the length of the longest path segment prefix shared by x and y. -func matchLen(x, y string) int { - n := 0 - for i := 0; i < len(x) && i < len(y) && x[i] == y[i]; i++ { - if x[i] == '/' { - n++ - } - } - return n -} - -// isTopName returns true if n is a top-level unresolved identifier with the given name. -func isTopName(n ast.Expr, name string) bool { - id, ok := n.(*ast.Ident) - return ok && id.Name == name && id.Obj == nil -} - -// Imports returns the file imports grouped by paragraph. -func Imports(fset *token.FileSet, f *ast.File) [][]*ast.ImportSpec { - var groups [][]*ast.ImportSpec - - for _, decl := range f.Decls { - genDecl, ok := decl.(*ast.GenDecl) - if !ok || genDecl.Tok != token.IMPORT { - break - } - - group := []*ast.ImportSpec{} - - var lastLine int - for _, spec := range genDecl.Specs { - importSpec := spec.(*ast.ImportSpec) - pos := importSpec.Path.ValuePos - line := fset.Position(pos).Line - if lastLine > 0 && pos > 0 && line-lastLine > 1 { - groups = append(groups, group) - group = []*ast.ImportSpec{} - } - group = append(group, importSpec) - lastLine = line - } - groups = append(groups, group) - } - - return groups -} diff --git a/vendor/golang.org/x/tools/go/ast/astutil/util.go b/vendor/golang.org/x/tools/go/ast/astutil/util.go deleted file mode 100644 index 7630629..0000000 --- a/vendor/golang.org/x/tools/go/ast/astutil/util.go +++ /dev/null @@ -1,14 +0,0 @@ -package astutil - -import "go/ast" - -// Unparen returns e with any enclosing parentheses stripped. -func Unparen(e ast.Expr) ast.Expr { - for { - p, ok := e.(*ast.ParenExpr) - if !ok { - return e - } - e = p.X - } -} diff --git a/vendor/golang.org/x/tools/go/buildutil/allpackages.go b/vendor/golang.org/x/tools/go/buildutil/allpackages.go deleted file mode 100644 index 0f909ee..0000000 --- a/vendor/golang.org/x/tools/go/buildutil/allpackages.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2014 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. - -// Package buildutil provides utilities related to the go/build -// package in the standard library. -// -// All I/O is done via the build.Context file system interface, which must -// be concurrency-safe. -package buildutil // import "golang.org/x/tools/go/buildutil" - -import ( - "go/build" - "os" - "path/filepath" - "sort" - "strings" - "sync" -) - -// AllPackages returns the import path of each Go package in any source -// directory of the specified build context (e.g. $GOROOT or an element -// of $GOPATH). Errors are ignored. The results are sorted. -// -// The result may include import paths for directories that contain no -// *.go files, such as "archive" (in $GOROOT/src). -// -// All I/O is done via the build.Context file system interface, -// which must be concurrency-safe. -// -func AllPackages(ctxt *build.Context) []string { - var list []string - ForEachPackage(ctxt, func(pkg string, _ error) { - list = append(list, pkg) - }) - sort.Strings(list) - return list -} - -// ForEachPackage calls the found function with the import path of -// each Go package it finds in any source directory of the specified -// build context (e.g. $GOROOT or an element of $GOPATH). -// -// If the package directory exists but could not be read, the second -// argument to the found function provides the error. -// -// All I/O is done via the build.Context file system interface, -// which must be concurrency-safe. -// -func ForEachPackage(ctxt *build.Context, found func(importPath string, err error)) { - // We use a counting semaphore to limit - // the number of parallel calls to ReadDir. - sema := make(chan bool, 20) - - ch := make(chan item) - - var wg sync.WaitGroup - for _, root := range ctxt.SrcDirs() { - root := root - wg.Add(1) - go func() { - allPackages(ctxt, sema, root, ch) - wg.Done() - }() - } - go func() { - wg.Wait() - close(ch) - }() - - // All calls to found occur in the caller's goroutine. - for i := range ch { - found(i.importPath, i.err) - } -} - -type item struct { - importPath string - err error // (optional) -} - -func allPackages(ctxt *build.Context, sema chan bool, root string, ch chan<- item) { - root = filepath.Clean(root) + string(os.PathSeparator) - - var wg sync.WaitGroup - - var walkDir func(dir string) - walkDir = func(dir string) { - // Avoid .foo, _foo, and testdata directory trees. - base := filepath.Base(dir) - if base == "" || base[0] == '.' || base[0] == '_' || base == "testdata" { - return - } - - pkg := filepath.ToSlash(strings.TrimPrefix(dir, root)) - - // Prune search if we encounter any of these import paths. - switch pkg { - case "builtin": - return - } - - sema <- true - files, err := ReadDir(ctxt, dir) - <-sema - if pkg != "" || err != nil { - ch <- item{pkg, err} - } - for _, fi := range files { - fi := fi - if fi.IsDir() { - wg.Add(1) - go func() { - walkDir(filepath.Join(dir, fi.Name())) - wg.Done() - }() - } - } - } - - walkDir(root) - wg.Wait() -} diff --git a/vendor/golang.org/x/tools/go/buildutil/fakecontext.go b/vendor/golang.org/x/tools/go/buildutil/fakecontext.go deleted file mode 100644 index 24cbcbe..0000000 --- a/vendor/golang.org/x/tools/go/buildutil/fakecontext.go +++ /dev/null @@ -1,108 +0,0 @@ -package buildutil - -import ( - "fmt" - "go/build" - "io" - "io/ioutil" - "os" - "path" - "path/filepath" - "sort" - "strings" - "time" -) - -// FakeContext returns a build.Context for the fake file tree specified -// by pkgs, which maps package import paths to a mapping from file base -// names to contents. -// -// The fake Context has a GOROOT of "/go" and no GOPATH, and overrides -// the necessary file access methods to read from memory instead of the -// real file system. -// -// Unlike a real file tree, the fake one has only two levels---packages -// and files---so ReadDir("/go/src/") returns all packages under -// /go/src/ including, for instance, "math" and "math/big". -// ReadDir("/go/src/math/big") would return all the files in the -// "math/big" package. -// -func FakeContext(pkgs map[string]map[string]string) *build.Context { - clean := func(filename string) string { - f := path.Clean(filepath.ToSlash(filename)) - // Removing "/go/src" while respecting segment - // boundaries has this unfortunate corner case: - if f == "/go/src" { - return "" - } - return strings.TrimPrefix(f, "/go/src/") - } - - ctxt := build.Default // copy - ctxt.GOROOT = "/go" - ctxt.GOPATH = "" - ctxt.IsDir = func(dir string) bool { - dir = clean(dir) - if dir == "" { - return true // needed by (*build.Context).SrcDirs - } - return pkgs[dir] != nil - } - ctxt.ReadDir = func(dir string) ([]os.FileInfo, error) { - dir = clean(dir) - var fis []os.FileInfo - if dir == "" { - // enumerate packages - for importPath := range pkgs { - fis = append(fis, fakeDirInfo(importPath)) - } - } else { - // enumerate files of package - for basename := range pkgs[dir] { - fis = append(fis, fakeFileInfo(basename)) - } - } - sort.Sort(byName(fis)) - return fis, nil - } - ctxt.OpenFile = func(filename string) (io.ReadCloser, error) { - filename = clean(filename) - dir, base := path.Split(filename) - content, ok := pkgs[path.Clean(dir)][base] - if !ok { - return nil, fmt.Errorf("file not found: %s", filename) - } - return ioutil.NopCloser(strings.NewReader(content)), nil - } - ctxt.IsAbsPath = func(path string) bool { - path = filepath.ToSlash(path) - // Don't rely on the default (filepath.Path) since on - // Windows, it reports virtual paths as non-absolute. - return strings.HasPrefix(path, "/") - } - return &ctxt -} - -type byName []os.FileInfo - -func (s byName) Len() int { return len(s) } -func (s byName) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -func (s byName) Less(i, j int) bool { return s[i].Name() < s[j].Name() } - -type fakeFileInfo string - -func (fi fakeFileInfo) Name() string { return string(fi) } -func (fakeFileInfo) Sys() interface{} { return nil } -func (fakeFileInfo) ModTime() time.Time { return time.Time{} } -func (fakeFileInfo) IsDir() bool { return false } -func (fakeFileInfo) Size() int64 { return 0 } -func (fakeFileInfo) Mode() os.FileMode { return 0644 } - -type fakeDirInfo string - -func (fd fakeDirInfo) Name() string { return string(fd) } -func (fakeDirInfo) Sys() interface{} { return nil } -func (fakeDirInfo) ModTime() time.Time { return time.Time{} } -func (fakeDirInfo) IsDir() bool { return true } -func (fakeDirInfo) Size() int64 { return 0 } -func (fakeDirInfo) Mode() os.FileMode { return 0755 } diff --git a/vendor/golang.org/x/tools/go/buildutil/tags.go b/vendor/golang.org/x/tools/go/buildutil/tags.go deleted file mode 100644 index 9735094..0000000 --- a/vendor/golang.org/x/tools/go/buildutil/tags.go +++ /dev/null @@ -1,73 +0,0 @@ -package buildutil - -// This logic was copied from stringsFlag from $GOROOT/src/cmd/go/build.go. - -import "fmt" - -const TagsFlagDoc = "a list of `build tags` to consider satisfied during the build. " + - "For more information about build tags, see the description of " + - "build constraints in the documentation for the go/build package" - -// TagsFlag is an implementation of the flag.Value interface that parses -// a flag value in the same manner as go build's -tags flag and -// populates a []string slice. -// -// See $GOROOT/src/go/build/doc.go for description of build tags. -// See $GOROOT/src/cmd/go/doc.go for description of 'go build -tags' flag. -// -// Example: -// flag.Var((*buildutil.TagsFlag)(&build.Default.BuildTags), "tags", buildutil.TagsDoc) -type TagsFlag []string - -func (v *TagsFlag) Set(s string) error { - var err error - *v, err = splitQuotedFields(s) - if *v == nil { - *v = []string{} - } - return err -} - -func splitQuotedFields(s string) ([]string, error) { - // Split fields allowing '' or "" around elements. - // Quotes further inside the string do not count. - var f []string - for len(s) > 0 { - for len(s) > 0 && isSpaceByte(s[0]) { - s = s[1:] - } - if len(s) == 0 { - break - } - // Accepted quoted string. No unescaping inside. - if s[0] == '"' || s[0] == '\'' { - quote := s[0] - s = s[1:] - i := 0 - for i < len(s) && s[i] != quote { - i++ - } - if i >= len(s) { - return nil, fmt.Errorf("unterminated %c string", quote) - } - f = append(f, s[:i]) - s = s[i+1:] - continue - } - i := 0 - for i < len(s) && !isSpaceByte(s[i]) { - i++ - } - f = append(f, s[:i]) - s = s[i:] - } - return f, nil -} - -func (v *TagsFlag) String() string { - return "" -} - -func isSpaceByte(c byte) bool { - return c == ' ' || c == '\t' || c == '\n' || c == '\r' -} diff --git a/vendor/golang.org/x/tools/go/buildutil/util.go b/vendor/golang.org/x/tools/go/buildutil/util.go deleted file mode 100644 index 60eeae2..0000000 --- a/vendor/golang.org/x/tools/go/buildutil/util.go +++ /dev/null @@ -1,158 +0,0 @@ -// Copyright 2014 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. - -package buildutil - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "io" - "io/ioutil" - "os" - "path" - "path/filepath" - "strings" -) - -// ParseFile behaves like parser.ParseFile, -// but uses the build context's file system interface, if any. -// -// If file is not absolute (as defined by IsAbsPath), the (dir, file) -// components are joined using JoinPath; dir must be absolute. -// -// The displayPath function, if provided, is used to transform the -// filename that will be attached to the ASTs. -// -// TODO(adonovan): call this from go/loader.parseFiles when the tree thaws. -// -func ParseFile(fset *token.FileSet, ctxt *build.Context, displayPath func(string) string, dir string, file string, mode parser.Mode) (*ast.File, error) { - if !IsAbsPath(ctxt, file) { - file = JoinPath(ctxt, dir, file) - } - rd, err := OpenFile(ctxt, file) - if err != nil { - return nil, err - } - defer rd.Close() // ignore error - if displayPath != nil { - file = displayPath(file) - } - return parser.ParseFile(fset, file, rd, mode) -} - -// ContainingPackage returns the package containing filename. -// -// If filename is not absolute, it is interpreted relative to working directory dir. -// All I/O is via the build context's file system interface, if any. -// -// The '...Files []string' fields of the resulting build.Package are not -// populated (build.FindOnly mode). -// -// TODO(adonovan): call this from oracle when the tree thaws. -// -func ContainingPackage(ctxt *build.Context, dir, filename string) (*build.Package, error) { - if !IsAbsPath(ctxt, filename) { - filename = JoinPath(ctxt, dir, filename) - } - - // We must not assume the file tree uses - // "/" always, - // `\` always, - // or os.PathSeparator (which varies by platform), - // but to make any progress, we are forced to assume that - // paths will not use `\` unless the PathSeparator - // is also `\`, thus we can rely on filepath.ToSlash for some sanity. - - dirSlash := path.Dir(filepath.ToSlash(filename)) + "/" - - // We assume that no source root (GOPATH[i] or GOROOT) contains any other. - for _, srcdir := range ctxt.SrcDirs() { - srcdirSlash := filepath.ToSlash(srcdir) + "/" - if strings.HasPrefix(dirSlash, srcdirSlash) { - importPath := dirSlash[len(srcdirSlash) : len(dirSlash)-len("/")] - return ctxt.Import(importPath, dir, build.FindOnly) - } - } - - return nil, fmt.Errorf("can't find package containing %s", filename) -} - -// -- Effective methods of file system interface ------------------------- - -// (go/build.Context defines these as methods, but does not export them.) - -// TODO(adonovan): HasSubdir? - -// FileExists returns true if the specified file exists, -// using the build context's file system interface. -func FileExists(ctxt *build.Context, path string) bool { - if ctxt.OpenFile != nil { - r, err := ctxt.OpenFile(path) - if err != nil { - return false - } - r.Close() // ignore error - return true - } - _, err := os.Stat(path) - return err == nil -} - -// OpenFile behaves like os.Open, -// but uses the build context's file system interface, if any. -func OpenFile(ctxt *build.Context, path string) (io.ReadCloser, error) { - if ctxt.OpenFile != nil { - return ctxt.OpenFile(path) - } - return os.Open(path) -} - -// IsAbsPath behaves like filepath.IsAbs, -// but uses the build context's file system interface, if any. -func IsAbsPath(ctxt *build.Context, path string) bool { - if ctxt.IsAbsPath != nil { - return ctxt.IsAbsPath(path) - } - return filepath.IsAbs(path) -} - -// JoinPath behaves like filepath.Join, -// but uses the build context's file system interface, if any. -func JoinPath(ctxt *build.Context, path ...string) string { - if ctxt.JoinPath != nil { - return ctxt.JoinPath(path...) - } - return filepath.Join(path...) -} - -// IsDir behaves like os.Stat plus IsDir, -// but uses the build context's file system interface, if any. -func IsDir(ctxt *build.Context, path string) bool { - if ctxt.IsDir != nil { - return ctxt.IsDir(path) - } - fi, err := os.Stat(path) - return err == nil && fi.IsDir() -} - -// ReadDir behaves like ioutil.ReadDir, -// but uses the build context's file system interface, if any. -func ReadDir(ctxt *build.Context, path string) ([]os.FileInfo, error) { - if ctxt.ReadDir != nil { - return ctxt.ReadDir(path) - } - return ioutil.ReadDir(path) -} - -// SplitPathList behaves like filepath.SplitList, -// but uses the build context's file system interface, if any. -func SplitPathList(ctxt *build.Context, s string) []string { - if ctxt.SplitPathList != nil { - return ctxt.SplitPathList(s) - } - return filepath.SplitList(s) -} diff --git a/vendor/golang.org/x/tools/go/callgraph/callgraph.go b/vendor/golang.org/x/tools/go/callgraph/callgraph.go deleted file mode 100644 index 707a319..0000000 --- a/vendor/golang.org/x/tools/go/callgraph/callgraph.go +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2013 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. - -/* - -Package callgraph defines the call graph and various algorithms -and utilities to operate on it. - -A call graph is a labelled directed graph whose nodes represent -functions and whose edge labels represent syntactic function call -sites. The presence of a labelled edge (caller, site, callee) -indicates that caller may call callee at the specified call site. - -A call graph is a multigraph: it may contain multiple edges (caller, -*, callee) connecting the same pair of nodes, so long as the edges -differ by label; this occurs when one function calls another function -from multiple call sites. Also, it may contain multiple edges -(caller, site, *) that differ only by callee; this indicates a -polymorphic call. - -A SOUND call graph is one that overapproximates the dynamic calling -behaviors of the program in all possible executions. One call graph -is more PRECISE than another if it is a smaller overapproximation of -the dynamic behavior. - -All call graphs have a synthetic root node which is responsible for -calling main() and init(). - -Calls to built-in functions (e.g. panic, println) are not represented -in the call graph; they are treated like built-in operators of the -language. - -*/ -package callgraph // import "golang.org/x/tools/go/callgraph" - -// TODO(adonovan): add a function to eliminate wrappers from the -// callgraph, preserving topology. -// More generally, we could eliminate "uninteresting" nodes such as -// nodes from packages we don't care about. - -import ( - "fmt" - "go/token" - - "golang.org/x/tools/go/ssa" -) - -// A Graph represents a call graph. -// -// A graph may contain nodes that are not reachable from the root. -// If the call graph is sound, such nodes indicate unreachable -// functions. -// -type Graph struct { - Root *Node // the distinguished root node - Nodes map[*ssa.Function]*Node // all nodes by function -} - -// New returns a new Graph with the specified root node. -func New(root *ssa.Function) *Graph { - g := &Graph{Nodes: make(map[*ssa.Function]*Node)} - g.Root = g.CreateNode(root) - return g -} - -// CreateNode returns the Node for fn, creating it if not present. -func (g *Graph) CreateNode(fn *ssa.Function) *Node { - n, ok := g.Nodes[fn] - if !ok { - n = &Node{Func: fn, ID: len(g.Nodes)} - g.Nodes[fn] = n - } - return n -} - -// A Node represents a node in a call graph. -type Node struct { - Func *ssa.Function // the function this node represents - ID int // 0-based sequence number - In []*Edge // unordered set of incoming call edges (n.In[*].Callee == n) - Out []*Edge // unordered set of outgoing call edges (n.Out[*].Caller == n) -} - -func (n *Node) String() string { - return fmt.Sprintf("n%d:%s", n.ID, n.Func) -} - -// A Edge represents an edge in the call graph. -// -// Site is nil for edges originating in synthetic or intrinsic -// functions, e.g. reflect.Call or the root of the call graph. -type Edge struct { - Caller *Node - Site ssa.CallInstruction - Callee *Node -} - -func (e Edge) String() string { - return fmt.Sprintf("%s --> %s", e.Caller, e.Callee) -} - -func (e Edge) Description() string { - var prefix string - switch e.Site.(type) { - case nil: - return "synthetic call" - case *ssa.Go: - prefix = "concurrent " - case *ssa.Defer: - prefix = "deferred " - } - return prefix + e.Site.Common().Description() -} - -func (e Edge) Pos() token.Pos { - if e.Site == nil { - return token.NoPos - } - return e.Site.Pos() -} - -// AddEdge adds the edge (caller, site, callee) to the call graph. -// Elimination of duplicate edges is the caller's responsibility. -func AddEdge(caller *Node, site ssa.CallInstruction, callee *Node) { - e := &Edge{caller, site, callee} - callee.In = append(callee.In, e) - caller.Out = append(caller.Out, e) -} diff --git a/vendor/golang.org/x/tools/go/callgraph/util.go b/vendor/golang.org/x/tools/go/callgraph/util.go deleted file mode 100644 index a8f8903..0000000 --- a/vendor/golang.org/x/tools/go/callgraph/util.go +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright 2013 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. - -package callgraph - -import "golang.org/x/tools/go/ssa" - -// This file provides various utilities over call graphs, such as -// visitation and path search. - -// CalleesOf returns a new set containing all direct callees of the -// caller node. -// -func CalleesOf(caller *Node) map[*Node]bool { - callees := make(map[*Node]bool) - for _, e := range caller.Out { - callees[e.Callee] = true - } - return callees -} - -// GraphVisitEdges visits all the edges in graph g in depth-first order. -// The edge function is called for each edge in postorder. If it -// returns non-nil, visitation stops and GraphVisitEdges returns that -// value. -// -func GraphVisitEdges(g *Graph, edge func(*Edge) error) error { - seen := make(map[*Node]bool) - var visit func(n *Node) error - visit = func(n *Node) error { - if !seen[n] { - seen[n] = true - for _, e := range n.Out { - if err := visit(e.Callee); err != nil { - return err - } - if err := edge(e); err != nil { - return err - } - } - } - return nil - } - for _, n := range g.Nodes { - if err := visit(n); err != nil { - return err - } - } - return nil -} - -// PathSearch finds an arbitrary path starting at node start and -// ending at some node for which isEnd() returns true. On success, -// PathSearch returns the path as an ordered list of edges; on -// failure, it returns nil. -// -func PathSearch(start *Node, isEnd func(*Node) bool) []*Edge { - stack := make([]*Edge, 0, 32) - seen := make(map[*Node]bool) - var search func(n *Node) []*Edge - search = func(n *Node) []*Edge { - if !seen[n] { - seen[n] = true - if isEnd(n) { - return stack - } - for _, e := range n.Out { - stack = append(stack, e) // push - if found := search(e.Callee); found != nil { - return found - } - stack = stack[:len(stack)-1] // pop - } - } - return nil - } - return search(start) -} - -// DeleteSyntheticNodes removes from call graph g all nodes for -// synthetic functions (except g.Root and package initializers), -// preserving the topology. In effect, calls to synthetic wrappers -// are "inlined". -// -func (g *Graph) DeleteSyntheticNodes() { - // Measurements on the standard library and go.tools show that - // resulting graph has ~15% fewer nodes and 4-8% fewer edges - // than the input. - // - // Inlining a wrapper of in-degree m, out-degree n adds m*n - // and removes m+n edges. Since most wrappers are monomorphic - // (n=1) this results in a slight reduction. Polymorphic - // wrappers (n>1), e.g. from embedding an interface value - // inside a struct to satisfy some interface, cause an - // increase in the graph, but they seem to be uncommon. - - // Hash all existing edges to avoid creating duplicates. - edges := make(map[Edge]bool) - for _, cgn := range g.Nodes { - for _, e := range cgn.Out { - edges[*e] = true - } - } - for fn, cgn := range g.Nodes { - if cgn == g.Root || fn.Synthetic == "" || isInit(cgn.Func) { - continue // keep - } - for _, eIn := range cgn.In { - for _, eOut := range cgn.Out { - newEdge := Edge{eIn.Caller, eIn.Site, eOut.Callee} - if edges[newEdge] { - continue // don't add duplicate - } - AddEdge(eIn.Caller, eIn.Site, eOut.Callee) - edges[newEdge] = true - } - } - g.DeleteNode(cgn) - } -} - -func isInit(fn *ssa.Function) bool { - return fn.Pkg != nil && fn.Pkg.Func("init") == fn -} - -// DeleteNode removes node n and its edges from the graph g. -// (NB: not efficient for batch deletion.) -func (g *Graph) DeleteNode(n *Node) { - n.deleteIns() - n.deleteOuts() - delete(g.Nodes, n.Func) -} - -// deleteIns deletes all incoming edges to n. -func (n *Node) deleteIns() { - for _, e := range n.In { - removeOutEdge(e) - } - n.In = nil -} - -// deleteOuts deletes all outgoing edges from n. -func (n *Node) deleteOuts() { - for _, e := range n.Out { - removeInEdge(e) - } - n.Out = nil -} - -// removeOutEdge removes edge.Caller's outgoing edge 'edge'. -func removeOutEdge(edge *Edge) { - caller := edge.Caller - n := len(caller.Out) - for i, e := range caller.Out { - if e == edge { - // Replace it with the final element and shrink the slice. - caller.Out[i] = caller.Out[n-1] - caller.Out[n-1] = nil // aid GC - caller.Out = caller.Out[:n-1] - return - } - } - panic("edge not found: " + edge.String()) -} - -// removeInEdge removes edge.Callee's incoming edge 'edge'. -func removeInEdge(edge *Edge) { - caller := edge.Callee - n := len(caller.In) - for i, e := range caller.In { - if e == edge { - // Replace it with the final element and shrink the slice. - caller.In[i] = caller.In[n-1] - caller.In[n-1] = nil // aid GC - caller.In = caller.In[:n-1] - return - } - } - panic("edge not found: " + edge.String()) -} diff --git a/vendor/golang.org/x/tools/go/exact/exact.go b/vendor/golang.org/x/tools/go/exact/exact.go deleted file mode 100644 index 51c4906..0000000 --- a/vendor/golang.org/x/tools/go/exact/exact.go +++ /dev/null @@ -1,920 +0,0 @@ -// Copyright 2013 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. - -// Package exact implements Values representing untyped -// Go constants and the corresponding operations. Values -// and operations have unlimited precision. -// -// A special Unknown value may be used when a value -// is unknown due to an error. Operations on unknown -// values produce unknown values unless specified -// otherwise. -// -package exact // import "golang.org/x/tools/go/exact" - -import ( - "fmt" - "go/token" - "math/big" - "strconv" -) - -// Kind specifies the kind of value represented by a Value. -type Kind int - -// Implementation note: Kinds must be enumerated in -// order of increasing "complexity" (used by match). - -const ( - // unknown values - Unknown Kind = iota - - // non-numeric values - Bool - String - - // numeric values - Int - Float - Complex -) - -// A Value represents a mathematically exact value of a given Kind. -type Value interface { - // Kind returns the value kind; it is always the smallest - // kind in which the value can be represented exactly. - Kind() Kind - - // String returns a human-readable form of the value. - String() string - - // Prevent external implementations. - implementsValue() -} - -// ---------------------------------------------------------------------------- -// Implementations - -type ( - unknownVal struct{} - boolVal bool - stringVal string - int64Val int64 - intVal struct{ val *big.Int } - floatVal struct{ val *big.Rat } - complexVal struct{ re, im *big.Rat } -) - -func (unknownVal) Kind() Kind { return Unknown } -func (boolVal) Kind() Kind { return Bool } -func (stringVal) Kind() Kind { return String } -func (int64Val) Kind() Kind { return Int } -func (intVal) Kind() Kind { return Int } -func (floatVal) Kind() Kind { return Float } -func (complexVal) Kind() Kind { return Complex } - -func (unknownVal) String() string { return "unknown" } -func (x boolVal) String() string { return fmt.Sprintf("%v", bool(x)) } -func (x stringVal) String() string { return strconv.Quote(string(x)) } -func (x int64Val) String() string { return strconv.FormatInt(int64(x), 10) } -func (x intVal) String() string { return x.val.String() } -func (x floatVal) String() string { return x.val.String() } -func (x complexVal) String() string { return fmt.Sprintf("(%s + %si)", x.re, x.im) } - -func (unknownVal) implementsValue() {} -func (boolVal) implementsValue() {} -func (stringVal) implementsValue() {} -func (int64Val) implementsValue() {} -func (intVal) implementsValue() {} -func (floatVal) implementsValue() {} -func (complexVal) implementsValue() {} - -// int64 bounds -var ( - minInt64 = big.NewInt(-1 << 63) - maxInt64 = big.NewInt(1<<63 - 1) -) - -func normInt(x *big.Int) Value { - if minInt64.Cmp(x) <= 0 && x.Cmp(maxInt64) <= 0 { - return int64Val(x.Int64()) - } - return intVal{x} -} - -func normFloat(x *big.Rat) Value { - if x.IsInt() { - return normInt(x.Num()) - } - return floatVal{x} -} - -func normComplex(re, im *big.Rat) Value { - if im.Sign() == 0 { - return normFloat(re) - } - return complexVal{re, im} -} - -// ---------------------------------------------------------------------------- -// Factories - -// MakeUnknown returns the Unknown value. -func MakeUnknown() Value { return unknownVal{} } - -// MakeBool returns the Bool value for x. -func MakeBool(b bool) Value { return boolVal(b) } - -// MakeString returns the String value for x. -func MakeString(s string) Value { return stringVal(s) } - -// MakeInt64 returns the Int value for x. -func MakeInt64(x int64) Value { return int64Val(x) } - -// MakeUint64 returns the Int value for x. -func MakeUint64(x uint64) Value { return normInt(new(big.Int).SetUint64(x)) } - -// MakeFloat64 returns the numeric value for x. -// If x is not finite, the result is unknown. -func MakeFloat64(x float64) Value { - if f := new(big.Rat).SetFloat64(x); f != nil { - return normFloat(f) - } - return unknownVal{} -} - -// MakeFromLiteral returns the corresponding integer, floating-point, -// imaginary, character, or string value for a Go literal string. The -// result is nil if the literal string is invalid. -func MakeFromLiteral(lit string, tok token.Token) Value { - switch tok { - case token.INT: - if x, err := strconv.ParseInt(lit, 0, 64); err == nil { - return int64Val(x) - } - if x, ok := new(big.Int).SetString(lit, 0); ok { - return intVal{x} - } - - case token.FLOAT: - if x, ok := new(big.Rat).SetString(lit); ok { - return normFloat(x) - } - - case token.IMAG: - if n := len(lit); n > 0 && lit[n-1] == 'i' { - if im, ok := new(big.Rat).SetString(lit[0 : n-1]); ok { - return normComplex(big.NewRat(0, 1), im) - } - } - - case token.CHAR: - if n := len(lit); n >= 2 { - if code, _, _, err := strconv.UnquoteChar(lit[1:n-1], '\''); err == nil { - return int64Val(code) - } - } - - case token.STRING: - if s, err := strconv.Unquote(lit); err == nil { - return stringVal(s) - } - } - - return nil -} - -// ---------------------------------------------------------------------------- -// Accessors -// -// For unknown arguments the result is the zero value for the respective -// accessor type, except for Sign, where the result is 1. - -// BoolVal returns the Go boolean value of x, which must be a Bool or an Unknown. -// If x is Unknown, the result is false. -func BoolVal(x Value) bool { - switch x := x.(type) { - case boolVal: - return bool(x) - case unknownVal: - return false - } - panic(fmt.Sprintf("%v not a Bool", x)) -} - -// StringVal returns the Go string value of x, which must be a String or an Unknown. -// If x is Unknown, the result is "". -func StringVal(x Value) string { - switch x := x.(type) { - case stringVal: - return string(x) - case unknownVal: - return "" - } - panic(fmt.Sprintf("%v not a String", x)) -} - -// Int64Val returns the Go int64 value of x and whether the result is exact; -// x must be an Int or an Unknown. If the result is not exact, its value is undefined. -// If x is Unknown, the result is (0, false). -func Int64Val(x Value) (int64, bool) { - switch x := x.(type) { - case int64Val: - return int64(x), true - case intVal: - return x.val.Int64(), x.val.BitLen() <= 63 - case unknownVal: - return 0, false - } - panic(fmt.Sprintf("%v not an Int", x)) -} - -// Uint64Val returns the Go uint64 value of x and whether the result is exact; -// x must be an Int or an Unknown. If the result is not exact, its value is undefined. -// If x is Unknown, the result is (0, false). -func Uint64Val(x Value) (uint64, bool) { - switch x := x.(type) { - case int64Val: - return uint64(x), x >= 0 - case intVal: - return x.val.Uint64(), x.val.Sign() >= 0 && x.val.BitLen() <= 64 - case unknownVal: - return 0, false - } - panic(fmt.Sprintf("%v not an Int", x)) -} - -// Float32Val is like Float64Val but for float32 instead of float64. -func Float32Val(x Value) (float32, bool) { - switch x := x.(type) { - case int64Val: - f := float32(x) - return f, int64Val(f) == x - case intVal: - return ratToFloat32(new(big.Rat).SetFrac(x.val, int1)) - case floatVal: - return ratToFloat32(x.val) - case unknownVal: - return 0, false - } - panic(fmt.Sprintf("%v not a Float", x)) -} - -// Float64Val returns the nearest Go float64 value of x and whether the result is exact; -// x must be numeric but not Complex, or Unknown. For values too small (too close to 0) -// to represent as float64, Float64Val silently underflows to 0. The result sign always -// matches the sign of x, even for 0. -// If x is Unknown, the result is (0, false). -func Float64Val(x Value) (float64, bool) { - switch x := x.(type) { - case int64Val: - f := float64(int64(x)) - return f, int64Val(f) == x - case intVal: - return new(big.Rat).SetFrac(x.val, int1).Float64() - case floatVal: - return x.val.Float64() - case unknownVal: - return 0, false - } - panic(fmt.Sprintf("%v not a Float", x)) -} - -// BitLen returns the number of bits required to represent -// the absolute value x in binary representation; x must be an Int or an Unknown. -// If x is Unknown, the result is 0. -func BitLen(x Value) int { - switch x := x.(type) { - case int64Val: - return new(big.Int).SetInt64(int64(x)).BitLen() - case intVal: - return x.val.BitLen() - case unknownVal: - return 0 - } - panic(fmt.Sprintf("%v not an Int", x)) -} - -// Sign returns -1, 0, or 1 depending on whether x < 0, x == 0, or x > 0; -// x must be numeric or Unknown. For complex values x, the sign is 0 if x == 0, -// otherwise it is != 0. If x is Unknown, the result is 1. -func Sign(x Value) int { - switch x := x.(type) { - case int64Val: - switch { - case x < 0: - return -1 - case x > 0: - return 1 - } - return 0 - case intVal: - return x.val.Sign() - case floatVal: - return x.val.Sign() - case complexVal: - return x.re.Sign() | x.im.Sign() - case unknownVal: - return 1 // avoid spurious division by zero errors - } - panic(fmt.Sprintf("%v not numeric", x)) -} - -// ---------------------------------------------------------------------------- -// Support for serializing/deserializing integers - -const ( - // Compute the size of a Word in bytes. - _m = ^big.Word(0) - _log = _m>>8&1 + _m>>16&1 + _m>>32&1 - wordSize = 1 << _log -) - -// Bytes returns the bytes for the absolute value of x in little- -// endian binary representation; x must be an Int. -func Bytes(x Value) []byte { - var val *big.Int - switch x := x.(type) { - case int64Val: - val = new(big.Int).SetInt64(int64(x)) - case intVal: - val = x.val - default: - panic(fmt.Sprintf("%v not an Int", x)) - } - - words := val.Bits() - bytes := make([]byte, len(words)*wordSize) - - i := 0 - for _, w := range words { - for j := 0; j < wordSize; j++ { - bytes[i] = byte(w) - w >>= 8 - i++ - } - } - // remove leading 0's - for i > 0 && bytes[i-1] == 0 { - i-- - } - - return bytes[:i] -} - -// MakeFromBytes returns the Int value given the bytes of its little-endian -// binary representation. An empty byte slice argument represents 0. -func MakeFromBytes(bytes []byte) Value { - words := make([]big.Word, (len(bytes)+(wordSize-1))/wordSize) - - i := 0 - var w big.Word - var s uint - for _, b := range bytes { - w |= big.Word(b) << s - if s += 8; s == wordSize*8 { - words[i] = w - i++ - w = 0 - s = 0 - } - } - // store last word - if i < len(words) { - words[i] = w - i++ - } - // remove leading 0's - for i > 0 && words[i-1] == 0 { - i-- - } - - return normInt(new(big.Int).SetBits(words[:i])) -} - -// ---------------------------------------------------------------------------- -// Support for disassembling fractions - -// Num returns the numerator of x; x must be Int, Float, or Unknown. -// If x is Unknown, the result is Unknown, otherwise it is an Int -// with the same sign as x. -func Num(x Value) Value { - switch x := x.(type) { - case unknownVal, int64Val, intVal: - return x - case floatVal: - return normInt(x.val.Num()) - } - panic(fmt.Sprintf("%v not Int or Float", x)) -} - -// Denom returns the denominator of x; x must be Int, Float, or Unknown. -// If x is Unknown, the result is Unknown, otherwise it is an Int >= 1. -func Denom(x Value) Value { - switch x := x.(type) { - case unknownVal: - return x - case int64Val, intVal: - return int64Val(1) - case floatVal: - return normInt(x.val.Denom()) - } - panic(fmt.Sprintf("%v not Int or Float", x)) -} - -// ---------------------------------------------------------------------------- -// Support for assembling/disassembling complex numbers - -// MakeImag returns the numeric value x*i (possibly 0); -// x must be Int, Float, or Unknown. -// If x is Unknown, the result is Unknown. -func MakeImag(x Value) Value { - var im *big.Rat - switch x := x.(type) { - case unknownVal: - return x - case int64Val: - im = big.NewRat(int64(x), 1) - case intVal: - im = new(big.Rat).SetFrac(x.val, int1) - case floatVal: - im = x.val - default: - panic(fmt.Sprintf("%v not Int or Float", x)) - } - return normComplex(rat0, im) -} - -// Real returns the real part of x, which must be a numeric or unknown value. -// If x is Unknown, the result is Unknown. -func Real(x Value) Value { - switch x := x.(type) { - case unknownVal, int64Val, intVal, floatVal: - return x - case complexVal: - return normFloat(x.re) - } - panic(fmt.Sprintf("%v not numeric", x)) -} - -// Imag returns the imaginary part of x, which must be a numeric or unknown value. -// If x is Unknown, the result is Unknown. -func Imag(x Value) Value { - switch x := x.(type) { - case unknownVal: - return x - case int64Val, intVal, floatVal: - return int64Val(0) - case complexVal: - return normFloat(x.im) - } - panic(fmt.Sprintf("%v not numeric", x)) -} - -// ---------------------------------------------------------------------------- -// Operations - -// is32bit reports whether x can be represented using 32 bits. -func is32bit(x int64) bool { - const s = 32 - return -1<<(s-1) <= x && x <= 1<<(s-1)-1 -} - -// is63bit reports whether x can be represented using 63 bits. -func is63bit(x int64) bool { - const s = 63 - return -1<<(s-1) <= x && x <= 1<<(s-1)-1 -} - -// UnaryOp returns the result of the unary expression op y. -// The operation must be defined for the operand. -// If size >= 0 it specifies the ^ (xor) result size in bytes. -// If y is Unknown, the result is Unknown. -// -func UnaryOp(op token.Token, y Value, size int) Value { - switch op { - case token.ADD: - switch y.(type) { - case unknownVal, int64Val, intVal, floatVal, complexVal: - return y - } - - case token.SUB: - switch y := y.(type) { - case unknownVal: - return y - case int64Val: - if z := -y; z != y { - return z // no overflow - } - return normInt(new(big.Int).Neg(big.NewInt(int64(y)))) - case intVal: - return normInt(new(big.Int).Neg(y.val)) - case floatVal: - return normFloat(new(big.Rat).Neg(y.val)) - case complexVal: - return normComplex(new(big.Rat).Neg(y.re), new(big.Rat).Neg(y.im)) - } - - case token.XOR: - var z big.Int - switch y := y.(type) { - case unknownVal: - return y - case int64Val: - z.Not(big.NewInt(int64(y))) - case intVal: - z.Not(y.val) - default: - goto Error - } - // For unsigned types, the result will be negative and - // thus "too large": We must limit the result size to - // the type's size. - if size >= 0 { - s := uint(size) * 8 - z.AndNot(&z, new(big.Int).Lsh(big.NewInt(-1), s)) // z &^= (-1)< ord(y) { - y, x = match(y, x) - return x, y - } - // ord(x) <= ord(y) - - switch x := x.(type) { - case unknownVal: - return x, x - - case boolVal, stringVal, complexVal: - return x, y - - case int64Val: - switch y := y.(type) { - case int64Val: - return x, y - case intVal: - return intVal{big.NewInt(int64(x))}, y - case floatVal: - return floatVal{big.NewRat(int64(x), 1)}, y - case complexVal: - return complexVal{big.NewRat(int64(x), 1), rat0}, y - } - - case intVal: - switch y := y.(type) { - case intVal: - return x, y - case floatVal: - return floatVal{new(big.Rat).SetFrac(x.val, int1)}, y - case complexVal: - return complexVal{new(big.Rat).SetFrac(x.val, int1), rat0}, y - } - - case floatVal: - switch y := y.(type) { - case floatVal: - return x, y - case complexVal: - return complexVal{x.val, rat0}, y - } - } - - panic("unreachable") -} - -// BinaryOp returns the result of the binary expression x op y. -// The operation must be defined for the operands. If one of the -// operands is Unknown, the result is Unknown. -// To force integer division of Int operands, use op == token.QUO_ASSIGN -// instead of token.QUO; the result is guaranteed to be Int in this case. -// Division by zero leads to a run-time panic. -// -func BinaryOp(x Value, op token.Token, y Value) Value { - x, y = match(x, y) - - switch x := x.(type) { - case unknownVal: - return x - - case boolVal: - y := y.(boolVal) - switch op { - case token.LAND: - return x && y - case token.LOR: - return x || y - } - - case int64Val: - a := int64(x) - b := int64(y.(int64Val)) - var c int64 - switch op { - case token.ADD: - if !is63bit(a) || !is63bit(b) { - return normInt(new(big.Int).Add(big.NewInt(a), big.NewInt(b))) - } - c = a + b - case token.SUB: - if !is63bit(a) || !is63bit(b) { - return normInt(new(big.Int).Sub(big.NewInt(a), big.NewInt(b))) - } - c = a - b - case token.MUL: - if !is32bit(a) || !is32bit(b) { - return normInt(new(big.Int).Mul(big.NewInt(a), big.NewInt(b))) - } - c = a * b - case token.QUO: - return normFloat(new(big.Rat).SetFrac(big.NewInt(a), big.NewInt(b))) - case token.QUO_ASSIGN: // force integer division - c = a / b - case token.REM: - c = a % b - case token.AND: - c = a & b - case token.OR: - c = a | b - case token.XOR: - c = a ^ b - case token.AND_NOT: - c = a &^ b - default: - goto Error - } - return int64Val(c) - - case intVal: - a := x.val - b := y.(intVal).val - var c big.Int - switch op { - case token.ADD: - c.Add(a, b) - case token.SUB: - c.Sub(a, b) - case token.MUL: - c.Mul(a, b) - case token.QUO: - return normFloat(new(big.Rat).SetFrac(a, b)) - case token.QUO_ASSIGN: // force integer division - c.Quo(a, b) - case token.REM: - c.Rem(a, b) - case token.AND: - c.And(a, b) - case token.OR: - c.Or(a, b) - case token.XOR: - c.Xor(a, b) - case token.AND_NOT: - c.AndNot(a, b) - default: - goto Error - } - return normInt(&c) - - case floatVal: - a := x.val - b := y.(floatVal).val - var c big.Rat - switch op { - case token.ADD: - c.Add(a, b) - case token.SUB: - c.Sub(a, b) - case token.MUL: - c.Mul(a, b) - case token.QUO: - c.Quo(a, b) - default: - goto Error - } - return normFloat(&c) - - case complexVal: - y := y.(complexVal) - a, b := x.re, x.im - c, d := y.re, y.im - var re, im big.Rat - switch op { - case token.ADD: - // (a+c) + i(b+d) - re.Add(a, c) - im.Add(b, d) - case token.SUB: - // (a-c) + i(b-d) - re.Sub(a, c) - im.Sub(b, d) - case token.MUL: - // (ac-bd) + i(bc+ad) - var ac, bd, bc, ad big.Rat - ac.Mul(a, c) - bd.Mul(b, d) - bc.Mul(b, c) - ad.Mul(a, d) - re.Sub(&ac, &bd) - im.Add(&bc, &ad) - case token.QUO: - // (ac+bd)/s + i(bc-ad)/s, with s = cc + dd - var ac, bd, bc, ad, s, cc, dd big.Rat - ac.Mul(a, c) - bd.Mul(b, d) - bc.Mul(b, c) - ad.Mul(a, d) - cc.Mul(c, c) - dd.Mul(d, d) - s.Add(&cc, &dd) - re.Add(&ac, &bd) - re.Quo(&re, &s) - im.Sub(&bc, &ad) - im.Quo(&im, &s) - default: - goto Error - } - return normComplex(&re, &im) - - case stringVal: - if op == token.ADD { - return x + y.(stringVal) - } - } - -Error: - panic(fmt.Sprintf("invalid binary operation %v %s %v", x, op, y)) -} - -// Shift returns the result of the shift expression x op s -// with op == token.SHL or token.SHR (<< or >>). x must be -// an Int or an Unknown. If x is Unknown, the result is x. -// -func Shift(x Value, op token.Token, s uint) Value { - switch x := x.(type) { - case unknownVal: - return x - - case int64Val: - if s == 0 { - return x - } - switch op { - case token.SHL: - z := big.NewInt(int64(x)) - return normInt(z.Lsh(z, s)) - case token.SHR: - return x >> s - } - - case intVal: - if s == 0 { - return x - } - var z big.Int - switch op { - case token.SHL: - return normInt(z.Lsh(x.val, s)) - case token.SHR: - return normInt(z.Rsh(x.val, s)) - } - } - - panic(fmt.Sprintf("invalid shift %v %s %d", x, op, s)) -} - -func cmpZero(x int, op token.Token) bool { - switch op { - case token.EQL: - return x == 0 - case token.NEQ: - return x != 0 - case token.LSS: - return x < 0 - case token.LEQ: - return x <= 0 - case token.GTR: - return x > 0 - case token.GEQ: - return x >= 0 - } - panic("unreachable") -} - -// Compare returns the result of the comparison x op y. -// The comparison must be defined for the operands. -// If one of the operands is Unknown, the result is -// false. -// -func Compare(x Value, op token.Token, y Value) bool { - x, y = match(x, y) - - switch x := x.(type) { - case unknownVal: - return false - - case boolVal: - y := y.(boolVal) - switch op { - case token.EQL: - return x == y - case token.NEQ: - return x != y - } - - case int64Val: - y := y.(int64Val) - switch op { - case token.EQL: - return x == y - case token.NEQ: - return x != y - case token.LSS: - return x < y - case token.LEQ: - return x <= y - case token.GTR: - return x > y - case token.GEQ: - return x >= y - } - - case intVal: - return cmpZero(x.val.Cmp(y.(intVal).val), op) - - case floatVal: - return cmpZero(x.val.Cmp(y.(floatVal).val), op) - - case complexVal: - y := y.(complexVal) - re := x.re.Cmp(y.re) - im := x.im.Cmp(y.im) - switch op { - case token.EQL: - return re == 0 && im == 0 - case token.NEQ: - return re != 0 || im != 0 - } - - case stringVal: - y := y.(stringVal) - switch op { - case token.EQL: - return x == y - case token.NEQ: - return x != y - case token.LSS: - return x < y - case token.LEQ: - return x <= y - case token.GTR: - return x > y - case token.GEQ: - return x >= y - } - } - - panic(fmt.Sprintf("invalid comparison %v %s %v", x, op, y)) -} diff --git a/vendor/golang.org/x/tools/go/exact/go13.go b/vendor/golang.org/x/tools/go/exact/go13.go deleted file mode 100644 index 1016c14..0000000 --- a/vendor/golang.org/x/tools/go/exact/go13.go +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2014 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. - -// +build !go1.4 - -package exact - -import ( - "math" - "math/big" -) - -func ratToFloat32(x *big.Rat) (float32, bool) { - // Before 1.4, there's no Rat.Float32. - // Emulate it, albeit at the cost of - // imprecision in corner cases. - x64, exact := x.Float64() - x32 := float32(x64) - if math.IsInf(float64(x32), 0) { - exact = false - } - return x32, exact -} diff --git a/vendor/golang.org/x/tools/go/exact/go14.go b/vendor/golang.org/x/tools/go/exact/go14.go deleted file mode 100644 index b86e5d2..0000000 --- a/vendor/golang.org/x/tools/go/exact/go14.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2014 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. - -// +build go1.4 - -package exact - -import "math/big" - -func ratToFloat32(x *big.Rat) (float32, bool) { - return x.Float32() -} diff --git a/vendor/golang.org/x/tools/go/gcimporter/exportdata.go b/vendor/golang.org/x/tools/go/gcimporter/exportdata.go deleted file mode 100644 index 657742b..0000000 --- a/vendor/golang.org/x/tools/go/gcimporter/exportdata.go +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2011 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. - -// This file implements FindExportData. - -package gcimporter - -import ( - "bufio" - "errors" - "fmt" - "io" - "strconv" - "strings" -) - -func readGopackHeader(r *bufio.Reader) (name string, size int, err error) { - // See $GOROOT/include/ar.h. - hdr := make([]byte, 16+12+6+6+8+10+2) - _, err = io.ReadFull(r, hdr) - if err != nil { - return - } - // leave for debugging - if false { - fmt.Printf("header: %s", hdr) - } - s := strings.TrimSpace(string(hdr[16+12+6+6+8:][:10])) - size, err = strconv.Atoi(s) - if err != nil || hdr[len(hdr)-2] != '`' || hdr[len(hdr)-1] != '\n' { - err = errors.New("invalid archive header") - return - } - name = strings.TrimSpace(string(hdr[:16])) - return -} - -// FindExportData positions the reader r at the beginning of the -// export data section of an underlying GC-created object/archive -// file by reading from it. The reader must be positioned at the -// start of the file before calling this function. -// -func FindExportData(r *bufio.Reader) (err error) { - // Read first line to make sure this is an object file. - line, err := r.ReadSlice('\n') - if err != nil { - return - } - if string(line) == "!\n" { - // Archive file. Scan to __.PKGDEF. - var name string - var size int - if name, size, err = readGopackHeader(r); err != nil { - return - } - - // Optional leading __.GOSYMDEF or __.SYMDEF. - // Read and discard. - if name == "__.SYMDEF" || name == "__.GOSYMDEF" { - const block = 4096 - tmp := make([]byte, block) - for size > 0 { - n := size - if n > block { - n = block - } - if _, err = io.ReadFull(r, tmp[:n]); err != nil { - return - } - size -= n - } - - if name, size, err = readGopackHeader(r); err != nil { - return - } - } - - // First real entry should be __.PKGDEF. - if name != "__.PKGDEF" { - err = errors.New("go archive is missing __.PKGDEF") - return - } - - // Read first line of __.PKGDEF data, so that line - // is once again the first line of the input. - if line, err = r.ReadSlice('\n'); err != nil { - return - } - } - - // Now at __.PKGDEF in archive or still at beginning of file. - // Either way, line should begin with "go object ". - if !strings.HasPrefix(string(line), "go object ") { - err = errors.New("not a go object file") - return - } - - // Skip over object header to export data. - // Begins after first line with $$. - for line[0] != '$' { - if line, err = r.ReadSlice('\n'); err != nil { - return - } - } - - return -} diff --git a/vendor/golang.org/x/tools/go/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/go/gcimporter/gcimporter.go deleted file mode 100644 index 031e870..0000000 --- a/vendor/golang.org/x/tools/go/gcimporter/gcimporter.go +++ /dev/null @@ -1,995 +0,0 @@ -// Copyright 2011 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. - -// Package gcimporter implements Import for gc-generated object files. -// Importing this package installs Import as go/types.DefaultImport. -package gcimporter // import "golang.org/x/tools/go/gcimporter" - -import ( - "bufio" - "errors" - "fmt" - "go/build" - "go/token" - "io" - "os" - "path/filepath" - "sort" - "strconv" - "strings" - "text/scanner" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/types" -) - -// debugging/development support -const debug = false - -func init() { - types.DefaultImport = Import -} - -var pkgExts = [...]string{".a", ".5", ".6", ".7", ".8", ".9"} - -// FindPkg returns the filename and unique package id for an import -// path based on package information provided by build.Import (using -// the build.Default build.Context). -// If no file was found, an empty filename is returned. -// -func FindPkg(path, srcDir string) (filename, id string) { - if len(path) == 0 { - return - } - - id = path - var noext string - switch { - default: - // "x" -> "$GOPATH/pkg/$GOOS_$GOARCH/x.ext", "x" - // Don't require the source files to be present. - bp, _ := build.Import(path, srcDir, build.FindOnly|build.AllowBinary) - if bp.PkgObj == "" { - return - } - noext = strings.TrimSuffix(bp.PkgObj, ".a") - - case build.IsLocalImport(path): - // "./x" -> "/this/directory/x.ext", "/this/directory/x" - noext = filepath.Join(srcDir, path) - id = noext - - case filepath.IsAbs(path): - // for completeness only - go/build.Import - // does not support absolute imports - // "/x" -> "/x.ext", "/x" - noext = path - } - - // try extensions - for _, ext := range pkgExts { - filename = noext + ext - if f, err := os.Stat(filename); err == nil && !f.IsDir() { - return - } - } - - filename = "" // not found - return -} - -// ImportData imports a package by reading the gc-generated export data, -// adds the corresponding package object to the packages map indexed by id, -// and returns the object. -// -// The packages map must contains all packages already imported. The data -// reader position must be the beginning of the export data section. The -// filename is only used in error messages. -// -// If packages[id] contains the completely imported package, that package -// can be used directly, and there is no need to call this function (but -// there is also no harm but for extra time used). -// -func ImportData(packages map[string]*types.Package, filename, id string, data io.Reader) (pkg *types.Package, err error) { - // support for parser error handling - defer func() { - switch r := recover().(type) { - case nil: - // nothing to do - case importError: - err = r - default: - panic(r) // internal error - } - }() - - var p parser - p.init(filename, id, data, packages) - pkg = p.parseExport() - - return -} - -// Import imports a gc-generated package given its import path, adds the -// corresponding package object to the packages map, and returns the object. -// Local import paths are interpreted relative to the current working directory. -// The packages map must contains all packages already imported. -// -func Import(packages map[string]*types.Package, path string) (pkg *types.Package, err error) { - if path == "unsafe" { - return types.Unsafe, nil - } - - srcDir := "." - if build.IsLocalImport(path) { - srcDir, err = os.Getwd() - if err != nil { - return - } - } - - filename, id := FindPkg(path, srcDir) - if filename == "" { - err = fmt.Errorf("can't find import: %s", id) - return - } - - // no need to re-import if the package was imported completely before - if pkg = packages[id]; pkg != nil && pkg.Complete() { - return - } - - // open file - f, err := os.Open(filename) - if err != nil { - return - } - defer func() { - f.Close() - if err != nil { - // add file name to error - err = fmt.Errorf("reading export data: %s: %v", filename, err) - } - }() - - buf := bufio.NewReader(f) - if err = FindExportData(buf); err != nil { - return - } - - pkg, err = ImportData(packages, filename, id, buf) - - return -} - -// ---------------------------------------------------------------------------- -// Parser - -// TODO(gri) Imported objects don't have position information. -// Ideally use the debug table line info; alternatively -// create some fake position (or the position of the -// import). That way error messages referring to imported -// objects can print meaningful information. - -// parser parses the exports inside a gc compiler-produced -// object/archive file and populates its scope with the results. -type parser struct { - scanner scanner.Scanner - tok rune // current token - lit string // literal string; only valid for Ident, Int, String tokens - id string // package id of imported package - sharedPkgs map[string]*types.Package // package id -> package object (across importer) - localPkgs map[string]*types.Package // package id -> package object (just this package) -} - -func (p *parser) init(filename, id string, src io.Reader, packages map[string]*types.Package) { - p.scanner.Init(src) - p.scanner.Error = func(_ *scanner.Scanner, msg string) { p.error(msg) } - p.scanner.Mode = scanner.ScanIdents | scanner.ScanInts | scanner.ScanChars | scanner.ScanStrings | scanner.ScanComments | scanner.SkipComments - p.scanner.Whitespace = 1<<'\t' | 1<<' ' - p.scanner.Filename = filename // for good error messages - p.next() - p.id = id - p.sharedPkgs = packages - if debug { - // check consistency of packages map - for _, pkg := range packages { - if pkg.Name() == "" { - fmt.Printf("no package name for %s\n", pkg.Path()) - } - } - } -} - -func (p *parser) next() { - p.tok = p.scanner.Scan() - switch p.tok { - case scanner.Ident, scanner.Int, scanner.Char, scanner.String, '·': - p.lit = p.scanner.TokenText() - default: - p.lit = "" - } - if debug { - fmt.Printf("%s: %q -> %q\n", scanner.TokenString(p.tok), p.scanner.TokenText(), p.lit) - } -} - -func declTypeName(pkg *types.Package, name string) *types.TypeName { - scope := pkg.Scope() - if obj := scope.Lookup(name); obj != nil { - return obj.(*types.TypeName) - } - obj := types.NewTypeName(token.NoPos, pkg, name, nil) - // a named type may be referred to before the underlying type - // is known - set it up - types.NewNamed(obj, nil, nil) - scope.Insert(obj) - return obj -} - -// ---------------------------------------------------------------------------- -// Error handling - -// Internal errors are boxed as importErrors. -type importError struct { - pos scanner.Position - err error -} - -func (e importError) Error() string { - return fmt.Sprintf("import error %s (byte offset = %d): %s", e.pos, e.pos.Offset, e.err) -} - -func (p *parser) error(err interface{}) { - if s, ok := err.(string); ok { - err = errors.New(s) - } - // panic with a runtime.Error if err is not an error - panic(importError{p.scanner.Pos(), err.(error)}) -} - -func (p *parser) errorf(format string, args ...interface{}) { - p.error(fmt.Sprintf(format, args...)) -} - -func (p *parser) expect(tok rune) string { - lit := p.lit - if p.tok != tok { - p.errorf("expected %s, got %s (%s)", scanner.TokenString(tok), scanner.TokenString(p.tok), lit) - } - p.next() - return lit -} - -func (p *parser) expectSpecial(tok string) { - sep := 'x' // not white space - i := 0 - for i < len(tok) && p.tok == rune(tok[i]) && sep > ' ' { - sep = p.scanner.Peek() // if sep <= ' ', there is white space before the next token - p.next() - i++ - } - if i < len(tok) { - p.errorf("expected %q, got %q", tok, tok[0:i]) - } -} - -func (p *parser) expectKeyword(keyword string) { - lit := p.expect(scanner.Ident) - if lit != keyword { - p.errorf("expected keyword %s, got %q", keyword, lit) - } -} - -// ---------------------------------------------------------------------------- -// Qualified and unqualified names - -// PackageId = string_lit . -// -func (p *parser) parsePackageId() string { - id, err := strconv.Unquote(p.expect(scanner.String)) - if err != nil { - p.error(err) - } - // id == "" stands for the imported package id - // (only known at time of package installation) - if id == "" { - id = p.id - } - return id -} - -// PackageName = ident . -// -func (p *parser) parsePackageName() string { - return p.expect(scanner.Ident) -} - -// dotIdentifier = ( ident | '·' ) { ident | int | '·' } . -func (p *parser) parseDotIdent() string { - ident := "" - if p.tok != scanner.Int { - sep := 'x' // not white space - for (p.tok == scanner.Ident || p.tok == scanner.Int || p.tok == '·') && sep > ' ' { - ident += p.lit - sep = p.scanner.Peek() // if sep <= ' ', there is white space before the next token - p.next() - } - } - if ident == "" { - p.expect(scanner.Ident) // use expect() for error handling - } - return ident -} - -// QualifiedName = "@" PackageId "." ( "?" | dotIdentifier ) . -// -func (p *parser) parseQualifiedName() (id, name string) { - p.expect('@') - id = p.parsePackageId() - p.expect('.') - // Per rev f280b8a485fd (10/2/2013), qualified names may be used for anonymous fields. - if p.tok == '?' { - p.next() - } else { - name = p.parseDotIdent() - } - return -} - -// getPkg returns the package for a given id. If the package is -// not found but we have a package name, create the package and -// add it to the p.localPkgs and p.sharedPkgs maps. -// -// id identifies a package, usually by a canonical package path like -// "encoding/json" but possibly by a non-canonical import path like -// "./json". -// -func (p *parser) getPkg(id, name string) *types.Package { - // package unsafe is not in the packages maps - handle explicitly - if id == "unsafe" { - return types.Unsafe - } - - pkg := p.localPkgs[id] - if pkg == nil && name != "" { - // first import of id from this package - pkg = p.sharedPkgs[id] - if pkg == nil { - // first import of id by this importer - pkg = types.NewPackage(id, name) - p.sharedPkgs[id] = pkg - } - - if p.localPkgs == nil { - p.localPkgs = make(map[string]*types.Package) - } - p.localPkgs[id] = pkg - } - return pkg -} - -// parseExportedName is like parseQualifiedName, but -// the package id is resolved to an imported *types.Package. -// -func (p *parser) parseExportedName() (pkg *types.Package, name string) { - id, name := p.parseQualifiedName() - pkg = p.getPkg(id, "") - if pkg == nil { - p.errorf("%s package not found", id) - } - return -} - -// ---------------------------------------------------------------------------- -// Types - -// BasicType = identifier . -// -func (p *parser) parseBasicType() types.Type { - id := p.expect(scanner.Ident) - obj := types.Universe.Lookup(id) - if obj, ok := obj.(*types.TypeName); ok { - return obj.Type() - } - p.errorf("not a basic type: %s", id) - return nil -} - -// ArrayType = "[" int_lit "]" Type . -// -func (p *parser) parseArrayType() types.Type { - // "[" already consumed and lookahead known not to be "]" - lit := p.expect(scanner.Int) - p.expect(']') - elem := p.parseType() - n, err := strconv.ParseInt(lit, 10, 64) - if err != nil { - p.error(err) - } - return types.NewArray(elem, n) -} - -// MapType = "map" "[" Type "]" Type . -// -func (p *parser) parseMapType() types.Type { - p.expectKeyword("map") - p.expect('[') - key := p.parseType() - p.expect(']') - elem := p.parseType() - return types.NewMap(key, elem) -} - -// Name = identifier | "?" | QualifiedName . -// -// If materializePkg is set, the returned package is guaranteed to be set. -// For fully qualified names, the returned package may be a fake package -// (without name, scope, and not in the p.imports map), created for the -// sole purpose of providing a package path. Fake packages are created -// when the package id is not found in the p.imports map; in that case -// we cannot create a real package because we don't have a package name. -// For non-qualified names, the returned package is the imported package. -// -func (p *parser) parseName(materializePkg bool) (pkg *types.Package, name string) { - switch p.tok { - case scanner.Ident: - pkg = p.sharedPkgs[p.id] - name = p.lit - p.next() - case '?': - // anonymous - pkg = p.sharedPkgs[p.id] - p.next() - case '@': - // exported name prefixed with package path - var id string - id, name = p.parseQualifiedName() - if materializePkg { - // we don't have a package name - if the package - // doesn't exist yet, create a fake package instead - pkg = p.getPkg(id, "") - if pkg == nil { - pkg = types.NewPackage(id, "") - } - } - default: - p.error("name expected") - } - return -} - -func deref(typ types.Type) types.Type { - if p, _ := typ.(*types.Pointer); p != nil { - return p.Elem() - } - return typ -} - -// Field = Name Type [ string_lit ] . -// -func (p *parser) parseField() (*types.Var, string) { - pkg, name := p.parseName(true) - typ := p.parseType() - anonymous := false - if name == "" { - // anonymous field - typ must be T or *T and T must be a type name - switch typ := deref(typ).(type) { - case *types.Basic: // basic types are named types - pkg = nil - name = typ.Name() - case *types.Named: - name = typ.Obj().Name() - default: - p.errorf("anonymous field expected") - } - anonymous = true - } - tag := "" - if p.tok == scanner.String { - s := p.expect(scanner.String) - var err error - tag, err = strconv.Unquote(s) - if err != nil { - p.errorf("invalid struct tag %s: %s", s, err) - } - } - return types.NewField(token.NoPos, pkg, name, typ, anonymous), tag -} - -// StructType = "struct" "{" [ FieldList ] "}" . -// FieldList = Field { ";" Field } . -// -func (p *parser) parseStructType() types.Type { - var fields []*types.Var - var tags []string - - p.expectKeyword("struct") - p.expect('{') - for i := 0; p.tok != '}' && p.tok != scanner.EOF; i++ { - if i > 0 { - p.expect(';') - } - fld, tag := p.parseField() - if tag != "" && tags == nil { - tags = make([]string, i) - } - if tags != nil { - tags = append(tags, tag) - } - fields = append(fields, fld) - } - p.expect('}') - - return types.NewStruct(fields, tags) -} - -// Parameter = ( identifier | "?" ) [ "..." ] Type [ string_lit ] . -// -func (p *parser) parseParameter() (par *types.Var, isVariadic bool) { - _, name := p.parseName(false) - // remove gc-specific parameter numbering - if i := strings.Index(name, "·"); i >= 0 { - name = name[:i] - } - if p.tok == '.' { - p.expectSpecial("...") - isVariadic = true - } - typ := p.parseType() - if isVariadic { - typ = types.NewSlice(typ) - } - // ignore argument tag (e.g. "noescape") - if p.tok == scanner.String { - p.next() - } - // TODO(gri) should we provide a package? - par = types.NewVar(token.NoPos, nil, name, typ) - return -} - -// Parameters = "(" [ ParameterList ] ")" . -// ParameterList = { Parameter "," } Parameter . -// -func (p *parser) parseParameters() (list []*types.Var, isVariadic bool) { - p.expect('(') - for p.tok != ')' && p.tok != scanner.EOF { - if len(list) > 0 { - p.expect(',') - } - par, variadic := p.parseParameter() - list = append(list, par) - if variadic { - if isVariadic { - p.error("... not on final argument") - } - isVariadic = true - } - } - p.expect(')') - - return -} - -// Signature = Parameters [ Result ] . -// Result = Type | Parameters . -// -func (p *parser) parseSignature(recv *types.Var) *types.Signature { - params, isVariadic := p.parseParameters() - - // optional result type - var results []*types.Var - if p.tok == '(' { - var variadic bool - results, variadic = p.parseParameters() - if variadic { - p.error("... not permitted on result type") - } - } - - return types.NewSignature(recv, types.NewTuple(params...), types.NewTuple(results...), isVariadic) -} - -// InterfaceType = "interface" "{" [ MethodList ] "}" . -// MethodList = Method { ";" Method } . -// Method = Name Signature . -// -// The methods of embedded interfaces are always "inlined" -// by the compiler and thus embedded interfaces are never -// visible in the export data. -// -func (p *parser) parseInterfaceType() types.Type { - var methods []*types.Func - - p.expectKeyword("interface") - p.expect('{') - for i := 0; p.tok != '}' && p.tok != scanner.EOF; i++ { - if i > 0 { - p.expect(';') - } - pkg, name := p.parseName(true) - sig := p.parseSignature(nil) - methods = append(methods, types.NewFunc(token.NoPos, pkg, name, sig)) - } - p.expect('}') - - // Complete requires the type's embedded interfaces to be fully defined, - // but we do not define any - return types.NewInterface(methods, nil).Complete() -} - -// ChanType = ( "chan" [ "<-" ] | "<-" "chan" ) Type . -// -func (p *parser) parseChanType() types.Type { - dir := types.SendRecv - if p.tok == scanner.Ident { - p.expectKeyword("chan") - if p.tok == '<' { - p.expectSpecial("<-") - dir = types.SendOnly - } - } else { - p.expectSpecial("<-") - p.expectKeyword("chan") - dir = types.RecvOnly - } - elem := p.parseType() - return types.NewChan(dir, elem) -} - -// Type = -// BasicType | TypeName | ArrayType | SliceType | StructType | -// PointerType | FuncType | InterfaceType | MapType | ChanType | -// "(" Type ")" . -// -// BasicType = ident . -// TypeName = ExportedName . -// SliceType = "[" "]" Type . -// PointerType = "*" Type . -// FuncType = "func" Signature . -// -func (p *parser) parseType() types.Type { - switch p.tok { - case scanner.Ident: - switch p.lit { - default: - return p.parseBasicType() - case "struct": - return p.parseStructType() - case "func": - // FuncType - p.next() - return p.parseSignature(nil) - case "interface": - return p.parseInterfaceType() - case "map": - return p.parseMapType() - case "chan": - return p.parseChanType() - } - case '@': - // TypeName - pkg, name := p.parseExportedName() - return declTypeName(pkg, name).Type() - case '[': - p.next() // look ahead - if p.tok == ']' { - // SliceType - p.next() - return types.NewSlice(p.parseType()) - } - return p.parseArrayType() - case '*': - // PointerType - p.next() - return types.NewPointer(p.parseType()) - case '<': - return p.parseChanType() - case '(': - // "(" Type ")" - p.next() - typ := p.parseType() - p.expect(')') - return typ - } - p.errorf("expected type, got %s (%q)", scanner.TokenString(p.tok), p.lit) - return nil -} - -// ---------------------------------------------------------------------------- -// Declarations - -// ImportDecl = "import" PackageName PackageId . -// -func (p *parser) parseImportDecl() { - p.expectKeyword("import") - name := p.parsePackageName() - p.getPkg(p.parsePackageId(), name) -} - -// int_lit = [ "+" | "-" ] { "0" ... "9" } . -// -func (p *parser) parseInt() string { - s := "" - switch p.tok { - case '-': - s = "-" - p.next() - case '+': - p.next() - } - return s + p.expect(scanner.Int) -} - -// number = int_lit [ "p" int_lit ] . -// -func (p *parser) parseNumber() (typ *types.Basic, val exact.Value) { - // mantissa - mant := exact.MakeFromLiteral(p.parseInt(), token.INT) - if mant == nil { - panic("invalid mantissa") - } - - if p.lit == "p" { - // exponent (base 2) - p.next() - exp, err := strconv.ParseInt(p.parseInt(), 10, 0) - if err != nil { - p.error(err) - } - if exp < 0 { - denom := exact.MakeInt64(1) - denom = exact.Shift(denom, token.SHL, uint(-exp)) - typ = types.Typ[types.UntypedFloat] - val = exact.BinaryOp(mant, token.QUO, denom) - return - } - if exp > 0 { - mant = exact.Shift(mant, token.SHL, uint(exp)) - } - typ = types.Typ[types.UntypedFloat] - val = mant - return - } - - typ = types.Typ[types.UntypedInt] - val = mant - return -} - -// ConstDecl = "const" ExportedName [ Type ] "=" Literal . -// Literal = bool_lit | int_lit | float_lit | complex_lit | rune_lit | string_lit . -// bool_lit = "true" | "false" . -// complex_lit = "(" float_lit "+" float_lit "i" ")" . -// rune_lit = "(" int_lit "+" int_lit ")" . -// string_lit = `"` { unicode_char } `"` . -// -func (p *parser) parseConstDecl() { - p.expectKeyword("const") - pkg, name := p.parseExportedName() - - var typ0 types.Type - if p.tok != '=' { - typ0 = p.parseType() - } - - p.expect('=') - var typ types.Type - var val exact.Value - switch p.tok { - case scanner.Ident: - // bool_lit - if p.lit != "true" && p.lit != "false" { - p.error("expected true or false") - } - typ = types.Typ[types.UntypedBool] - val = exact.MakeBool(p.lit == "true") - p.next() - - case '-', scanner.Int: - // int_lit - typ, val = p.parseNumber() - - case '(': - // complex_lit or rune_lit - p.next() - if p.tok == scanner.Char { - p.next() - p.expect('+') - typ = types.Typ[types.UntypedRune] - _, val = p.parseNumber() - p.expect(')') - break - } - _, re := p.parseNumber() - p.expect('+') - _, im := p.parseNumber() - p.expectKeyword("i") - p.expect(')') - typ = types.Typ[types.UntypedComplex] - val = exact.BinaryOp(re, token.ADD, exact.MakeImag(im)) - - case scanner.Char: - // rune_lit - typ = types.Typ[types.UntypedRune] - val = exact.MakeFromLiteral(p.lit, token.CHAR) - p.next() - - case scanner.String: - // string_lit - typ = types.Typ[types.UntypedString] - val = exact.MakeFromLiteral(p.lit, token.STRING) - p.next() - - default: - p.errorf("expected literal got %s", scanner.TokenString(p.tok)) - } - - if typ0 == nil { - typ0 = typ - } - - pkg.Scope().Insert(types.NewConst(token.NoPos, pkg, name, typ0, val)) -} - -// TypeDecl = "type" ExportedName Type . -// -func (p *parser) parseTypeDecl() { - p.expectKeyword("type") - pkg, name := p.parseExportedName() - obj := declTypeName(pkg, name) - - // The type object may have been imported before and thus already - // have a type associated with it. We still need to parse the type - // structure, but throw it away if the object already has a type. - // This ensures that all imports refer to the same type object for - // a given type declaration. - typ := p.parseType() - - if name := obj.Type().(*types.Named); name.Underlying() == nil { - name.SetUnderlying(typ) - } -} - -// VarDecl = "var" ExportedName Type . -// -func (p *parser) parseVarDecl() { - p.expectKeyword("var") - pkg, name := p.parseExportedName() - typ := p.parseType() - pkg.Scope().Insert(types.NewVar(token.NoPos, pkg, name, typ)) -} - -// Func = Signature [ Body ] . -// Body = "{" ... "}" . -// -func (p *parser) parseFunc(recv *types.Var) *types.Signature { - sig := p.parseSignature(recv) - if p.tok == '{' { - p.next() - for i := 1; i > 0; p.next() { - switch p.tok { - case '{': - i++ - case '}': - i-- - } - } - } - return sig -} - -// MethodDecl = "func" Receiver Name Func . -// Receiver = "(" ( identifier | "?" ) [ "*" ] ExportedName ")" . -// -func (p *parser) parseMethodDecl() { - // "func" already consumed - p.expect('(') - recv, _ := p.parseParameter() // receiver - p.expect(')') - - // determine receiver base type object - base := deref(recv.Type()).(*types.Named) - - // parse method name, signature, and possibly inlined body - _, name := p.parseName(true) - sig := p.parseFunc(recv) - - // methods always belong to the same package as the base type object - pkg := base.Obj().Pkg() - - // add method to type unless type was imported before - // and method exists already - // TODO(gri) This leads to a quadratic algorithm - ok for now because method counts are small. - base.AddMethod(types.NewFunc(token.NoPos, pkg, name, sig)) -} - -// FuncDecl = "func" ExportedName Func . -// -func (p *parser) parseFuncDecl() { - // "func" already consumed - pkg, name := p.parseExportedName() - typ := p.parseFunc(nil) - pkg.Scope().Insert(types.NewFunc(token.NoPos, pkg, name, typ)) -} - -// Decl = [ ImportDecl | ConstDecl | TypeDecl | VarDecl | FuncDecl | MethodDecl ] "\n" . -// -func (p *parser) parseDecl() { - if p.tok == scanner.Ident { - switch p.lit { - case "import": - p.parseImportDecl() - case "const": - p.parseConstDecl() - case "type": - p.parseTypeDecl() - case "var": - p.parseVarDecl() - case "func": - p.next() // look ahead - if p.tok == '(' { - p.parseMethodDecl() - } else { - p.parseFuncDecl() - } - } - } - p.expect('\n') -} - -// ---------------------------------------------------------------------------- -// Export - -// Export = "PackageClause { Decl } "$$" . -// PackageClause = "package" PackageName [ "safe" ] "\n" . -// -func (p *parser) parseExport() *types.Package { - p.expectKeyword("package") - name := p.parsePackageName() - if p.tok == scanner.Ident && p.lit == "safe" { - // package was compiled with -u option - ignore - p.next() - } - p.expect('\n') - - pkg := p.getPkg(p.id, name) - - for p.tok != '$' && p.tok != scanner.EOF { - p.parseDecl() - } - - if ch := p.scanner.Peek(); p.tok != '$' || ch != '$' { - // don't call next()/expect() since reading past the - // export data may cause scanner errors (e.g. NUL chars) - p.errorf("expected '$$', got %s %c", scanner.TokenString(p.tok), ch) - } - - if n := p.scanner.ErrorCount; n != 0 { - p.errorf("expected no scanner errors, got %d", n) - } - - // Record all referenced packages as imports. - var imports []*types.Package - for id, pkg2 := range p.localPkgs { - if id == p.id { - continue // avoid self-edge - } - imports = append(imports, pkg2) - } - sort.Sort(byPath(imports)) - pkg.SetImports(imports) - - // package was imported completely and without errors - pkg.MarkComplete() - - return pkg -} - -type byPath []*types.Package - -func (a byPath) Len() int { return len(a) } -func (a byPath) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -func (a byPath) Less(i, j int) bool { return a[i].Path() < a[j].Path() } diff --git a/vendor/golang.org/x/tools/go/loader/cgo.go b/vendor/golang.org/x/tools/go/loader/cgo.go deleted file mode 100644 index 299e725..0000000 --- a/vendor/golang.org/x/tools/go/loader/cgo.go +++ /dev/null @@ -1,199 +0,0 @@ -package loader - -// This file handles cgo preprocessing of files containing `import "C"`. -// -// DESIGN -// -// The approach taken is to run the cgo processor on the package's -// CgoFiles and parse the output, faking the filenames of the -// resulting ASTs so that the synthetic file containing the C types is -// called "C" (e.g. "~/go/src/net/C") and the preprocessed files -// have their original names (e.g. "~/go/src/net/cgo_unix.go"), -// not the names of the actual temporary files. -// -// The advantage of this approach is its fidelity to 'go build'. The -// downside is that the token.Position.Offset for each AST node is -// incorrect, being an offset within the temporary file. Line numbers -// should still be correct because of the //line comments. -// -// The logic of this file is mostly plundered from the 'go build' -// tool, which also invokes the cgo preprocessor. -// -// -// REJECTED ALTERNATIVE -// -// An alternative approach that we explored is to extend go/types' -// Importer mechanism to provide the identity of the importing package -// so that each time `import "C"` appears it resolves to a different -// synthetic package containing just the objects needed in that case. -// The loader would invoke cgo but parse only the cgo_types.go file -// defining the package-level objects, discarding the other files -// resulting from preprocessing. -// -// The benefit of this approach would have been that source-level -// syntax information would correspond exactly to the original cgo -// file, with no preprocessing involved, making source tools like -// godoc, oracle, and eg happy. However, the approach was rejected -// due to the additional complexity it would impose on go/types. (It -// made for a beautiful demo, though.) -// -// cgo files, despite their *.go extension, are not legal Go source -// files per the specification since they may refer to unexported -// members of package "C" such as C.int. Also, a function such as -// C.getpwent has in effect two types, one matching its C type and one -// which additionally returns (errno C.int). The cgo preprocessor -// uses name mangling to distinguish these two functions in the -// processed code, but go/types would need to duplicate this logic in -// its handling of function calls, analogous to the treatment of map -// lookups in which y=m[k] and y,ok=m[k] are both legal. - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "io/ioutil" - "log" - "os" - "os/exec" - "path/filepath" - "regexp" - "strings" -) - -// processCgoFiles invokes the cgo preprocessor on bp.CgoFiles, parses -// the output and returns the resulting ASTs. -// -func processCgoFiles(bp *build.Package, fset *token.FileSet, DisplayPath func(path string) string, mode parser.Mode) ([]*ast.File, error) { - tmpdir, err := ioutil.TempDir("", strings.Replace(bp.ImportPath, "/", "_", -1)+"_C") - if err != nil { - return nil, err - } - defer os.RemoveAll(tmpdir) - - pkgdir := bp.Dir - if DisplayPath != nil { - pkgdir = DisplayPath(pkgdir) - } - - cgoFiles, cgoDisplayFiles, err := runCgo(bp, pkgdir, tmpdir) - if err != nil { - return nil, err - } - var files []*ast.File - for i := range cgoFiles { - rd, err := os.Open(cgoFiles[i]) - if err != nil { - return nil, err - } - defer rd.Close() - display := filepath.Join(bp.Dir, cgoDisplayFiles[i]) - f, err := parser.ParseFile(fset, display, rd, mode) - if err != nil { - return nil, err - } - files = append(files, f) - } - return files, nil -} - -var cgoRe = regexp.MustCompile(`[/\\:]`) - -// runCgo invokes the cgo preprocessor on bp.CgoFiles and returns two -// lists of files: the resulting processed files (in temporary -// directory tmpdir) and the corresponding names of the unprocessed files. -// -// runCgo is adapted from (*builder).cgo in -// $GOROOT/src/cmd/go/build.go, but these features are unsupported: -// pkg-config, Objective C, CGOPKGPATH, CGO_FLAGS. -// -func runCgo(bp *build.Package, pkgdir, tmpdir string) (files, displayFiles []string, err error) { - cgoCPPFLAGS, _, _, _ := cflags(bp, true) - _, cgoexeCFLAGS, _, _ := cflags(bp, false) - - if len(bp.CgoPkgConfig) > 0 { - return nil, nil, fmt.Errorf("cgo pkg-config not supported") - } - - // Allows including _cgo_export.h from .[ch] files in the package. - cgoCPPFLAGS = append(cgoCPPFLAGS, "-I", tmpdir) - - // _cgo_gotypes.go (displayed "C") contains the type definitions. - files = append(files, filepath.Join(tmpdir, "_cgo_gotypes.go")) - displayFiles = append(displayFiles, "C") - for _, fn := range bp.CgoFiles { - // "foo.cgo1.go" (displayed "foo.go") is the processed Go source. - f := cgoRe.ReplaceAllString(fn[:len(fn)-len("go")], "_") - files = append(files, filepath.Join(tmpdir, f+"cgo1.go")) - displayFiles = append(displayFiles, fn) - } - - var cgoflags []string - if bp.Goroot && bp.ImportPath == "runtime/cgo" { - cgoflags = append(cgoflags, "-import_runtime_cgo=false") - } - if bp.Goroot && bp.ImportPath == "runtime/race" || bp.ImportPath == "runtime/cgo" { - cgoflags = append(cgoflags, "-import_syscall=false") - } - - args := stringList( - "go", "tool", "cgo", "-objdir", tmpdir, cgoflags, "--", - cgoCPPFLAGS, cgoexeCFLAGS, bp.CgoFiles, - ) - if false { - log.Printf("Running cgo for package %q: %s (dir=%s)", bp.ImportPath, args, pkgdir) - } - cmd := exec.Command(args[0], args[1:]...) - cmd.Dir = pkgdir - cmd.Stdout = os.Stderr - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - return nil, nil, fmt.Errorf("cgo failed: %s: %s", args, err) - } - - return files, displayFiles, nil -} - -// -- unmodified from 'go build' --------------------------------------- - -// Return the flags to use when invoking the C or C++ compilers, or cgo. -func cflags(p *build.Package, def bool) (cppflags, cflags, cxxflags, ldflags []string) { - var defaults string - if def { - defaults = "-g -O2" - } - - cppflags = stringList(envList("CGO_CPPFLAGS", ""), p.CgoCPPFLAGS) - cflags = stringList(envList("CGO_CFLAGS", defaults), p.CgoCFLAGS) - cxxflags = stringList(envList("CGO_CXXFLAGS", defaults), p.CgoCXXFLAGS) - ldflags = stringList(envList("CGO_LDFLAGS", defaults), p.CgoLDFLAGS) - return -} - -// envList returns the value of the given environment variable broken -// into fields, using the default value when the variable is empty. -func envList(key, def string) []string { - v := os.Getenv(key) - if v == "" { - v = def - } - return strings.Fields(v) -} - -// stringList's arguments should be a sequence of string or []string values. -// stringList flattens them into a single []string. -func stringList(args ...interface{}) []string { - var x []string - for _, arg := range args { - switch arg := arg.(type) { - case []string: - x = append(x, arg...) - case string: - x = append(x, arg) - default: - panic("stringList: invalid argument") - } - } - return x -} diff --git a/vendor/golang.org/x/tools/go/loader/doc.go b/vendor/golang.org/x/tools/go/loader/doc.go deleted file mode 100644 index 1ff4b15..0000000 --- a/vendor/golang.org/x/tools/go/loader/doc.go +++ /dev/null @@ -1,189 +0,0 @@ -// Copyright 2015 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. - -// Package loader loads a complete Go program from source code, parsing -// and type-checking the initial packages plus their transitive closure -// of dependencies. The ASTs and the derived facts are retained for -// later use. -// -// THIS INTERFACE IS EXPERIMENTAL AND IS LIKELY TO CHANGE. -// -// The package defines two primary types: Config, which specifies a -// set of initial packages to load and various other options; and -// Program, which is the result of successfully loading the packages -// specified by a configuration. -// -// The configuration can be set directly, but *Config provides various -// convenience methods to simplify the common cases, each of which can -// be called any number of times. Finally, these are followed by a -// call to Load() to actually load and type-check the program. -// -// var conf loader.Config -// -// // Use the command-line arguments to specify -// // a set of initial packages to load from source. -// // See FromArgsUsage for help. -// rest, err := conf.FromArgs(os.Args[1:], wantTests) -// -// // Parse the specified files and create an ad hoc package with path "foo". -// // All files must have the same 'package' declaration. -// conf.CreateFromFilenames("foo", "foo.go", "bar.go") -// -// // Create an ad hoc package with path "foo" from -// // the specified already-parsed files. -// // All ASTs must have the same 'package' declaration. -// conf.CreateFromFiles("foo", parsedFiles) -// -// // Add "runtime" to the set of packages to be loaded. -// conf.Import("runtime") -// -// // Adds "fmt" and "fmt_test" to the set of packages -// // to be loaded. "fmt" will include *_test.go files. -// conf.ImportWithTests("fmt") -// -// // Finally, load all the packages specified by the configuration. -// prog, err := conf.Load() -// -// See examples_test.go for examples of API usage. -// -// -// CONCEPTS AND TERMINOLOGY -// -// An AD HOC package is one specified as a set of source files on the -// command line. In the simplest case, it may consist of a single file -// such as $GOROOT/src/net/http/triv.go. -// -// EXTERNAL TEST packages are those comprised of a set of *_test.go -// files all with the same 'package foo_test' declaration, all in the -// same directory. (go/build.Package calls these files XTestFiles.) -// -// An IMPORTABLE package is one that can be referred to by some import -// spec. The Path() of each importable package is unique within a -// Program. -// -// ad hoc packages and external test packages are NON-IMPORTABLE. The -// Path() of an ad hoc package is inferred from the package -// declarations of its files and is therefore not a unique package key. -// For example, Config.CreatePkgs may specify two initial ad hoc -// packages both called "main". -// -// An AUGMENTED package is an importable package P plus all the -// *_test.go files with same 'package foo' declaration as P. -// (go/build.Package calls these files TestFiles.) -// -// The INITIAL packages are those specified in the configuration. A -// DEPENDENCY is a package loaded to satisfy an import in an initial -// package or another dependency. -// -package loader - -// IMPLEMENTATION NOTES -// -// 'go test', in-package test files, and import cycles -// --------------------------------------------------- -// -// An external test package may depend upon members of the augmented -// package that are not in the unaugmented package, such as functions -// that expose internals. (See bufio/export_test.go for an example.) -// So, the loader must ensure that for each external test package -// it loads, it also augments the corresponding non-test package. -// -// The import graph over n unaugmented packages must be acyclic; the -// import graph over n-1 unaugmented packages plus one augmented -// package must also be acyclic. ('go test' relies on this.) But the -// import graph over n augmented packages may contain cycles. -// -// First, all the (unaugmented) non-test packages and their -// dependencies are imported in the usual way; the loader reports an -// error if it detects an import cycle. -// -// Then, each package P for which testing is desired is augmented by -// the list P' of its in-package test files, by calling -// (*types.Checker).Files. This arrangement ensures that P' may -// reference definitions within P, but P may not reference definitions -// within P'. Furthermore, P' may import any other package, including -// ones that depend upon P, without an import cycle error. -// -// Consider two packages A and B, both of which have lists of -// in-package test files we'll call A' and B', and which have the -// following import graph edges: -// B imports A -// B' imports A -// A' imports B -// This last edge would be expected to create an error were it not -// for the special type-checking discipline above. -// Cycles of size greater than two are possible. For example: -// compress/bzip2/bzip2_test.go (package bzip2) imports "io/ioutil" -// io/ioutil/tempfile_test.go (package ioutil) imports "regexp" -// regexp/exec_test.go (package regexp) imports "compress/bzip2" -// -// -// Concurrency -// ----------- -// -// Let us define the import dependency graph as follows. Each node is a -// list of files passed to (Checker).Files at once. Many of these lists -// are the production code of an importable Go package, so those nodes -// are labelled by the package's import path. The remaining nodes are -// ad hoc packages and lists of in-package *_test.go files that augment -// an importable package; those nodes have no label. -// -// The edges of the graph represent import statements appearing within a -// file. An edge connects a node (a list of files) to the node it -// imports, which is importable and thus always labelled. -// -// Loading is controlled by this dependency graph. -// -// To reduce I/O latency, we start loading a package's dependencies -// asynchronously as soon as we've parsed its files and enumerated its -// imports (scanImports). This performs a preorder traversal of the -// import dependency graph. -// -// To exploit hardware parallelism, we type-check unrelated packages in -// parallel, where "unrelated" means not ordered by the partial order of -// the import dependency graph. -// -// We use a concurrency-safe blocking cache (importer.imported) to -// record the results of type-checking, whether success or failure. An -// entry is created in this cache by startLoad the first time the -// package is imported. The first goroutine to request an entry becomes -// responsible for completing the task and broadcasting completion to -// subsequent requestors, which block until then. -// -// Type checking occurs in (parallel) postorder: we cannot type-check a -// set of files until we have loaded and type-checked all of their -// immediate dependencies (and thus all of their transitive -// dependencies). If the input were guaranteed free of import cycles, -// this would be trivial: we could simply wait for completion of the -// dependencies and then invoke the typechecker. -// -// But as we saw in the 'go test' section above, some cycles in the -// import graph over packages are actually legal, so long as the -// cycle-forming edge originates in the in-package test files that -// augment the package. This explains why the nodes of the import -// dependency graph are not packages, but lists of files: the unlabelled -// nodes avoid the cycles. Consider packages A and B where B imports A -// and A's in-package tests AT import B. The naively constructed import -// graph over packages would contain a cycle (A+AT) --> B --> (A+AT) but -// the graph over lists of files is AT --> B --> A, where AT is an -// unlabelled node. -// -// Awaiting completion of the dependencies in a cyclic graph would -// deadlock, so we must materialize the import dependency graph (as -// importer.graph) and check whether each import edge forms a cycle. If -// x imports y, and the graph already contains a path from y to x, then -// there is an import cycle, in which case the processing of x must not -// wait for the completion of processing of y. -// -// When the type-checker makes a callback (doImport) to the loader for a -// given import edge, there are two possible cases. In the normal case, -// the dependency has already been completely type-checked; doImport -// does a cache lookup and returns it. In the cyclic case, the entry in -// the cache is still necessarily incomplete, indicating a cycle. We -// perform the cycle check again to obtain the error message, and return -// the error. -// -// The result of using concurrency is about a 2.5x speedup for stdlib_test. - -// TODO(adonovan): overhaul the package documentation. diff --git a/vendor/golang.org/x/tools/go/loader/loader.go b/vendor/golang.org/x/tools/go/loader/loader.go deleted file mode 100644 index bbacc5b..0000000 --- a/vendor/golang.org/x/tools/go/loader/loader.go +++ /dev/null @@ -1,966 +0,0 @@ -// Copyright 2013 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. - -package loader - -// See doc.go for package documentation and implementation notes. - -import ( - "errors" - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "os" - "sort" - "strings" - "sync" - "time" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/types" -) - -const trace = false // show timing info for type-checking - -// Config specifies the configuration for loading a whole program from -// Go source code. -// The zero value for Config is a ready-to-use default configuration. -type Config struct { - // Fset is the file set for the parser to use when loading the - // program. If nil, it may be lazily initialized by any - // method of Config. - Fset *token.FileSet - - // ParserMode specifies the mode to be used by the parser when - // loading source packages. - ParserMode parser.Mode - - // TypeChecker contains options relating to the type checker. - // - // The supplied IgnoreFuncBodies is not used; the effective - // value comes from the TypeCheckFuncBodies func below. - // The supplied Import function is not used either. - TypeChecker types.Config - - // TypeCheckFuncBodies is a predicate over package import - // paths. A package for which the predicate is false will - // have its package-level declarations type checked, but not - // its function bodies; this can be used to quickly load - // dependencies from source. If nil, all func bodies are type - // checked. - TypeCheckFuncBodies func(string) bool - - // If Build is non-nil, it is used to locate source packages. - // Otherwise &build.Default is used. - // - // By default, cgo is invoked to preprocess Go files that - // import the fake package "C". This behaviour can be - // disabled by setting CGO_ENABLED=0 in the environment prior - // to startup, or by setting Build.CgoEnabled=false. - Build *build.Context - - // The current directory, used for resolving relative package - // references such as "./go/loader". If empty, os.Getwd will be - // used instead. - Cwd string - - // If DisplayPath is non-nil, it is used to transform each - // file name obtained from Build.Import(). This can be used - // to prevent a virtualized build.Config's file names from - // leaking into the user interface. - DisplayPath func(path string) string - - // If AllowErrors is true, Load will return a Program even - // if some of the its packages contained I/O, parser or type - // errors; such errors are accessible via PackageInfo.Errors. If - // false, Load will fail if any package had an error. - AllowErrors bool - - // CreatePkgs specifies a list of non-importable initial - // packages to create. The resulting packages will appear in - // the corresponding elements of the Program.Created slice. - CreatePkgs []PkgSpec - - // ImportPkgs specifies a set of initial packages to load from - // source. The map keys are package import paths, used to - // locate the package relative to $GOROOT. - // - // The map value indicates whether to load tests. If true, Load - // will add and type-check two lists of files to the package: - // non-test files followed by in-package *_test.go files. In - // addition, it will append the external test package (if any) - // to Program.Created. - ImportPkgs map[string]bool - - // FindPackage is called during Load to create the build.Package - // for a given import path. If nil, a default implementation - // based on ctxt.Import is used. A client may use this hook to - // adapt to a proprietary build system that does not follow the - // "go build" layout conventions, for example. - // - // It must be safe to call concurrently from multiple goroutines. - FindPackage func(ctxt *build.Context, importPath string) (*build.Package, error) -} - -// A PkgSpec specifies a non-importable package to be created by Load. -// Files are processed first, but typically only one of Files and -// Filenames is provided. The path needn't be globally unique. -// -type PkgSpec struct { - Path string // import path ("" => use package declaration) - Files []*ast.File // ASTs of already-parsed files - Filenames []string // names of files to be parsed -} - -// A Program is a Go program loaded from source as specified by a Config. -type Program struct { - Fset *token.FileSet // the file set for this program - - // Created[i] contains the initial package whose ASTs or - // filenames were supplied by Config.CreatePkgs[i], followed by - // the external test package, if any, of each package in - // Config.ImportPkgs ordered by ImportPath. - Created []*PackageInfo - - // Imported contains the initially imported packages, - // as specified by Config.ImportPkgs. - Imported map[string]*PackageInfo - - // AllPackages contains the PackageInfo of every package - // encountered by Load: all initial packages and all - // dependencies, including incomplete ones. - AllPackages map[*types.Package]*PackageInfo - - // importMap is the canonical mapping of import paths to - // packages. It contains all Imported initial packages, but not - // Created ones, and all imported dependencies. - importMap map[string]*types.Package -} - -// PackageInfo holds the ASTs and facts derived by the type-checker -// for a single package. -// -// Not mutated once exposed via the API. -// -type PackageInfo struct { - Pkg *types.Package - Importable bool // true if 'import "Pkg.Path()"' would resolve to this - TransitivelyErrorFree bool // true if Pkg and all its dependencies are free of errors - Files []*ast.File // syntax trees for the package's files - Errors []error // non-nil if the package had errors - types.Info // type-checker deductions. - - checker *types.Checker // transient type-checker state - errorFunc func(error) -} - -func (info *PackageInfo) String() string { return info.Pkg.Path() } - -func (info *PackageInfo) appendError(err error) { - if info.errorFunc != nil { - info.errorFunc(err) - } else { - fmt.Fprintln(os.Stderr, err) - } - info.Errors = append(info.Errors, err) -} - -func (conf *Config) fset() *token.FileSet { - if conf.Fset == nil { - conf.Fset = token.NewFileSet() - } - return conf.Fset -} - -// ParseFile is a convenience function (intended for testing) that invokes -// the parser using the Config's FileSet, which is initialized if nil. -// -// src specifies the parser input as a string, []byte, or io.Reader, and -// filename is its apparent name. If src is nil, the contents of -// filename are read from the file system. -// -func (conf *Config) ParseFile(filename string, src interface{}) (*ast.File, error) { - // TODO(adonovan): use conf.build() etc like parseFiles does. - return parser.ParseFile(conf.fset(), filename, src, conf.ParserMode) -} - -// FromArgsUsage is a partial usage message that applications calling -// FromArgs may wish to include in their -help output. -const FromArgsUsage = ` - is a list of arguments denoting a set of initial packages. -It may take one of two forms: - -1. A list of *.go source files. - - All of the specified files are loaded, parsed and type-checked - as a single package. All the files must belong to the same directory. - -2. A list of import paths, each denoting a package. - - The package's directory is found relative to the $GOROOT and - $GOPATH using similar logic to 'go build', and the *.go files in - that directory are loaded, parsed and type-checked as a single - package. - - In addition, all *_test.go files in the directory are then loaded - and parsed. Those files whose package declaration equals that of - the non-*_test.go files are included in the primary package. Test - files whose package declaration ends with "_test" are type-checked - as another package, the 'external' test package, so that a single - import path may denote two packages. (Whether this behaviour is - enabled is tool-specific, and may depend on additional flags.) - -A '--' argument terminates the list of packages. -` - -// FromArgs interprets args as a set of initial packages to load from -// source and updates the configuration. It returns the list of -// unconsumed arguments. -// -// It is intended for use in command-line interfaces that require a -// set of initial packages to be specified; see FromArgsUsage message -// for details. -// -// Only superficial errors are reported at this stage; errors dependent -// on I/O are detected during Load. -// -func (conf *Config) FromArgs(args []string, xtest bool) ([]string, error) { - var rest []string - for i, arg := range args { - if arg == "--" { - rest = args[i+1:] - args = args[:i] - break // consume "--" and return the remaining args - } - } - - if len(args) > 0 && strings.HasSuffix(args[0], ".go") { - // Assume args is a list of a *.go files - // denoting a single ad hoc package. - for _, arg := range args { - if !strings.HasSuffix(arg, ".go") { - return nil, fmt.Errorf("named files must be .go files: %s", arg) - } - } - conf.CreateFromFilenames("", args...) - } else { - // Assume args are directories each denoting a - // package and (perhaps) an external test, iff xtest. - for _, arg := range args { - if xtest { - conf.ImportWithTests(arg) - } else { - conf.Import(arg) - } - } - } - - return rest, nil -} - -// CreateFromFilenames is a convenience function that adds -// a conf.CreatePkgs entry to create a package of the specified *.go -// files. -// -func (conf *Config) CreateFromFilenames(path string, filenames ...string) { - conf.CreatePkgs = append(conf.CreatePkgs, PkgSpec{Path: path, Filenames: filenames}) -} - -// CreateFromFiles is a convenience function that adds a conf.CreatePkgs -// entry to create package of the specified path and parsed files. -// -func (conf *Config) CreateFromFiles(path string, files ...*ast.File) { - conf.CreatePkgs = append(conf.CreatePkgs, PkgSpec{Path: path, Files: files}) -} - -// ImportWithTests is a convenience function that adds path to -// ImportPkgs, the set of initial source packages located relative to -// $GOPATH. The package will be augmented by any *_test.go files in -// its directory that contain a "package x" (not "package x_test") -// declaration. -// -// In addition, if any *_test.go files contain a "package x_test" -// declaration, an additional package comprising just those files will -// be added to CreatePkgs. -// -func (conf *Config) ImportWithTests(path string) { conf.addImport(path, true) } - -// Import is a convenience function that adds path to ImportPkgs, the -// set of initial packages that will be imported from source. -// -func (conf *Config) Import(path string) { conf.addImport(path, false) } - -func (conf *Config) addImport(path string, tests bool) { - if path == "C" || path == "unsafe" { - return // ignore; not a real package - } - if conf.ImportPkgs == nil { - conf.ImportPkgs = make(map[string]bool) - } - conf.ImportPkgs[path] = conf.ImportPkgs[path] || tests -} - -// PathEnclosingInterval returns the PackageInfo and ast.Node that -// contain source interval [start, end), and all the node's ancestors -// up to the AST root. It searches all ast.Files of all packages in prog. -// exact is defined as for astutil.PathEnclosingInterval. -// -// The zero value is returned if not found. -// -func (prog *Program) PathEnclosingInterval(start, end token.Pos) (pkg *PackageInfo, path []ast.Node, exact bool) { - for _, info := range prog.AllPackages { - for _, f := range info.Files { - if f.Pos() == token.NoPos { - // This can happen if the parser saw - // too many errors and bailed out. - // (Use parser.AllErrors to prevent that.) - continue - } - if !tokenFileContainsPos(prog.Fset.File(f.Pos()), start) { - continue - } - if path, exact := astutil.PathEnclosingInterval(f, start, end); path != nil { - return info, path, exact - } - } - } - return nil, nil, false -} - -// InitialPackages returns a new slice containing the set of initial -// packages (Created + Imported) in unspecified order. -// -func (prog *Program) InitialPackages() []*PackageInfo { - infos := make([]*PackageInfo, 0, len(prog.Created)+len(prog.Imported)) - infos = append(infos, prog.Created...) - for _, info := range prog.Imported { - infos = append(infos, info) - } - return infos -} - -// Package returns the ASTs and results of type checking for the -// specified package. -func (prog *Program) Package(path string) *PackageInfo { - if info, ok := prog.AllPackages[prog.importMap[path]]; ok { - return info - } - for _, info := range prog.Created { - if path == info.Pkg.Path() { - return info - } - } - return nil -} - -// ---------- Implementation ---------- - -// importer holds the working state of the algorithm. -type importer struct { - conf *Config // the client configuration - start time.Time // for logging - - progMu sync.Mutex // guards prog - prog *Program // the resulting program - - importedMu sync.Mutex // guards imported - imported map[string]*importInfo // all imported packages (incl. failures) by import path - - // import dependency graph: graph[x][y] => x imports y - // - // Since non-importable packages cannot be cyclic, we ignore - // their imports, thus we only need the subgraph over importable - // packages. Nodes are identified by their import paths. - graphMu sync.Mutex - graph map[string]map[string]bool -} - -// importInfo tracks the success or failure of a single import. -// -// Upon completion, exactly one of info and err is non-nil: -// info on successful creation of a package, err otherwise. -// A successful package may still contain type errors. -// -type importInfo struct { - path string // import path - mu sync.Mutex // guards the following fields prior to completion - info *PackageInfo // results of typechecking (including errors) - err error // reason for failure to create a package - complete sync.Cond // complete condition is that one of info, err is non-nil. -} - -// awaitCompletion blocks until ii is complete, -// i.e. the info and err fields are safe to inspect without a lock. -// It is concurrency-safe and idempotent. -func (ii *importInfo) awaitCompletion() { - ii.mu.Lock() - for ii.info == nil && ii.err == nil { - ii.complete.Wait() - } - ii.mu.Unlock() -} - -// Complete marks ii as complete. -// Its info and err fields will not be subsequently updated. -func (ii *importInfo) Complete(info *PackageInfo, err error) { - if info == nil && err == nil { - panic("Complete(nil, nil)") - } - ii.mu.Lock() - ii.info = info - ii.err = err - ii.complete.Broadcast() - ii.mu.Unlock() -} - -// Load creates the initial packages specified by conf.{Create,Import}Pkgs, -// loading their dependencies packages as needed. -// -// On success, Load returns a Program containing a PackageInfo for -// each package. On failure, it returns an error. -// -// If AllowErrors is true, Load will return a Program even if some -// packages contained I/O, parser or type errors, or if dependencies -// were missing. (Such errors are accessible via PackageInfo.Errors. If -// false, Load will fail if any package had an error. -// -// It is an error if no packages were loaded. -// -func (conf *Config) Load() (*Program, error) { - // Create a simple default error handler for parse/type errors. - if conf.TypeChecker.Error == nil { - conf.TypeChecker.Error = func(e error) { fmt.Fprintln(os.Stderr, e) } - } - - // Set default working directory for relative package references. - if conf.Cwd == "" { - var err error - conf.Cwd, err = os.Getwd() - if err != nil { - return nil, err - } - } - - // Install default FindPackage hook using go/build logic. - if conf.FindPackage == nil { - conf.FindPackage = func(ctxt *build.Context, path string) (*build.Package, error) { - // TODO(adonovan): cache calls to build.Import - // so we don't do it three times per test package. - bp, err := ctxt.Import(path, conf.Cwd, 0) - if _, ok := err.(*build.NoGoError); ok { - return bp, nil // empty directory is not an error - } - return bp, err - } - } - - prog := &Program{ - Fset: conf.fset(), - Imported: make(map[string]*PackageInfo), - importMap: make(map[string]*types.Package), - AllPackages: make(map[*types.Package]*PackageInfo), - } - - imp := importer{ - conf: conf, - prog: prog, - imported: make(map[string]*importInfo), - start: time.Now(), - graph: make(map[string]map[string]bool), - } - - // -- loading proper (concurrent phase) -------------------------------- - - var errpkgs []string // packages that contained errors - - // Load the initially imported packages and their dependencies, - // in parallel. - for _, ii := range imp.loadAll("", conf.ImportPkgs) { - if ii.err != nil { - conf.TypeChecker.Error(ii.err) // failed to create package - errpkgs = append(errpkgs, ii.path) - continue - } - prog.Imported[ii.info.Pkg.Path()] = ii.info - } - - // Augment the designated initial packages by their tests. - // Dependencies are loaded in parallel. - var xtestPkgs []*build.Package - for path, augment := range conf.ImportPkgs { - if !augment { - continue - } - - bp, err := conf.FindPackage(conf.build(), path) - if err != nil { - // Package not found, or can't even parse package declaration. - // Already reported by previous loop; ignore it. - continue - } - - // Needs external test package? - if len(bp.XTestGoFiles) > 0 { - xtestPkgs = append(xtestPkgs, bp) - } - - imp.importedMu.Lock() // (unnecessary, we're sequential here) - ii, ok := imp.imported[path] - // Paranoid checks added due to issue #11012. - if !ok { - // Unreachable. - // The previous loop called loadAll and thus - // startLoad for each path in ImportPkgs, which - // populates imp.imported[path] with a non-zero value. - panic(fmt.Sprintf("imported[%q] not found", path)) - } - if ii == nil { - // Unreachable. - // The ii values in this loop are the same as in - // the previous loop, which enforced the invariant - // that at least one of ii.err and ii.info is non-nil. - panic(fmt.Sprintf("imported[%q] == nil", path)) - } - if ii.err != nil { - // The sole possible cause is failure of the - // FindPackage call in (*importer).load, - // but we rechecked that condition above. - // Perhaps the state of the file system changed - // in between? Seems unlikely. - panic(fmt.Sprintf("imported[%q].err = %v", path, ii.err)) - } - if ii.info == nil { - // Unreachable. - // Complete has this postcondition: - // ii.err != nil || ii.info != nil - // and we know that ii.err == nil here. - panic(fmt.Sprintf("imported[%q].info = nil", path)) - } - info := ii.info - imp.importedMu.Unlock() - - // Parse the in-package test files. - files, errs := imp.conf.parsePackageFiles(bp, 't') - for _, err := range errs { - info.appendError(err) - } - - // The test files augmenting package P cannot be imported, - // but may import packages that import P, - // so we must disable the cycle check. - imp.addFiles(info, files, false) - } - - createPkg := func(path string, files []*ast.File, errs []error) { - info := imp.newPackageInfo(path) - for _, err := range errs { - info.appendError(err) - } - - // Ad hoc packages are non-importable, - // so no cycle check is needed. - // addFiles loads dependencies in parallel. - imp.addFiles(info, files, false) - prog.Created = append(prog.Created, info) - } - - // Create packages specified by conf.CreatePkgs. - for _, cp := range conf.CreatePkgs { - files, errs := parseFiles(conf.fset(), conf.build(), nil, ".", cp.Filenames, conf.ParserMode) - files = append(files, cp.Files...) - - path := cp.Path - if path == "" { - if len(files) > 0 { - path = files[0].Name.Name - } else { - path = "(unnamed)" - } - } - createPkg(path, files, errs) - } - - // Create external test packages. - sort.Sort(byImportPath(xtestPkgs)) - for _, bp := range xtestPkgs { - files, errs := imp.conf.parsePackageFiles(bp, 'x') - createPkg(bp.ImportPath+"_test", files, errs) - } - - // -- finishing up (sequential) ---------------------------------------- - - if len(prog.Imported)+len(prog.Created) == 0 { - return nil, errors.New("no initial packages were loaded") - } - - // Create infos for indirectly imported packages. - // e.g. incomplete packages without syntax, loaded from export data. - for _, obj := range prog.importMap { - info := prog.AllPackages[obj] - if info == nil { - prog.AllPackages[obj] = &PackageInfo{Pkg: obj, Importable: true} - } else { - // finished - info.checker = nil - info.errorFunc = nil - } - } - - if !conf.AllowErrors { - // Report errors in indirectly imported packages. - for _, info := range prog.AllPackages { - if len(info.Errors) > 0 { - errpkgs = append(errpkgs, info.Pkg.Path()) - } - } - if errpkgs != nil { - var more string - if len(errpkgs) > 3 { - more = fmt.Sprintf(" and %d more", len(errpkgs)-3) - errpkgs = errpkgs[:3] - } - return nil, fmt.Errorf("couldn't load packages due to errors: %s%s", - strings.Join(errpkgs, ", "), more) - } - } - - markErrorFreePackages(prog.AllPackages) - - return prog, nil -} - -type byImportPath []*build.Package - -func (b byImportPath) Len() int { return len(b) } -func (b byImportPath) Less(i, j int) bool { return b[i].ImportPath < b[j].ImportPath } -func (b byImportPath) Swap(i, j int) { b[i], b[j] = b[j], b[i] } - -// markErrorFreePackages sets the TransitivelyErrorFree flag on all -// applicable packages. -func markErrorFreePackages(allPackages map[*types.Package]*PackageInfo) { - // Build the transpose of the import graph. - importedBy := make(map[*types.Package]map[*types.Package]bool) - for P := range allPackages { - for _, Q := range P.Imports() { - clients, ok := importedBy[Q] - if !ok { - clients = make(map[*types.Package]bool) - importedBy[Q] = clients - } - clients[P] = true - } - } - - // Find all packages reachable from some error package. - reachable := make(map[*types.Package]bool) - var visit func(*types.Package) - visit = func(p *types.Package) { - if !reachable[p] { - reachable[p] = true - for q := range importedBy[p] { - visit(q) - } - } - } - for _, info := range allPackages { - if len(info.Errors) > 0 { - visit(info.Pkg) - } - } - - // Mark the others as "transitively error-free". - for _, info := range allPackages { - if !reachable[info.Pkg] { - info.TransitivelyErrorFree = true - } - } -} - -// build returns the effective build context. -func (conf *Config) build() *build.Context { - if conf.Build != nil { - return conf.Build - } - return &build.Default -} - -// parsePackageFiles enumerates the files belonging to package path, -// then loads, parses and returns them, plus a list of I/O or parse -// errors that were encountered. -// -// 'which' indicates which files to include: -// 'g': include non-test *.go source files (GoFiles + processed CgoFiles) -// 't': include in-package *_test.go source files (TestGoFiles) -// 'x': include external *_test.go source files. (XTestGoFiles) -// -func (conf *Config) parsePackageFiles(bp *build.Package, which rune) ([]*ast.File, []error) { - var filenames []string - switch which { - case 'g': - filenames = bp.GoFiles - case 't': - filenames = bp.TestGoFiles - case 'x': - filenames = bp.XTestGoFiles - default: - panic(which) - } - - files, errs := parseFiles(conf.fset(), conf.build(), conf.DisplayPath, bp.Dir, filenames, conf.ParserMode) - - // Preprocess CgoFiles and parse the outputs (sequentially). - if which == 'g' && bp.CgoFiles != nil { - cgofiles, err := processCgoFiles(bp, conf.fset(), conf.DisplayPath, conf.ParserMode) - if err != nil { - errs = append(errs, err) - } else { - files = append(files, cgofiles...) - } - } - - return files, errs -} - -// doImport imports the package denoted by path. -// It implements the types.Importer signature. -// -// imports is the type-checker's package canonicalization map. -// -// It returns an error if a package could not be created -// (e.g. go/build or parse error), but type errors are reported via -// the types.Config.Error callback (the first of which is also saved -// in the package's PackageInfo). -// -// Idempotent. -// -func (imp *importer) doImport(from *PackageInfo, to string) (*types.Package, error) { - // Package unsafe is handled specially, and has no PackageInfo. - // TODO(adonovan): move this check into go/types? - if to == "unsafe" { - return types.Unsafe, nil - } - if to == "C" { - // This should be unreachable, but ad hoc packages are - // not currently subject to cgo preprocessing. - // See https://github.com/golang/go/issues/11627. - return nil, fmt.Errorf(`the loader doesn't cgo-process ad hoc packages like %q; see Go issue 11627`, - from.Pkg.Path()) - } - - imp.importedMu.Lock() - ii := imp.imported[to] - imp.importedMu.Unlock() - if ii == nil { - panic("internal error: unexpected import: " + to) - } - if ii.err != nil { - return nil, ii.err - } - if ii.info != nil { - return ii.info.Pkg, nil - } - - // Import of incomplete package: this indicates a cycle. - fromPath := from.Pkg.Path() - if cycle := imp.findPath(to, fromPath); cycle != nil { - cycle = append([]string{fromPath}, cycle...) - return nil, fmt.Errorf("import cycle: %s", strings.Join(cycle, " -> ")) - } - - panic("internal error: import of incomplete (yet acyclic) package: " + fromPath) -} - -// loadAll loads, parses, and type-checks the specified packages in -// parallel and returns their completed importInfos in unspecified order. -// -// fromPath is the import path of the importing package, if it is -// importable, "" otherwise. It is used for cycle detection. -// -func (imp *importer) loadAll(fromPath string, paths map[string]bool) []*importInfo { - result := make([]*importInfo, 0, len(paths)) - for path := range paths { - result = append(result, imp.startLoad(path)) - } - - if fromPath != "" { - // We're loading a set of imports. - // - // We must record graph edges from the importing package - // to its dependencies, and check for cycles. - imp.graphMu.Lock() - deps, ok := imp.graph[fromPath] - if !ok { - deps = make(map[string]bool) - imp.graph[fromPath] = deps - } - for path := range paths { - deps[path] = true - } - imp.graphMu.Unlock() - } - - for _, ii := range result { - if fromPath != "" { - if cycle := imp.findPath(ii.path, fromPath); cycle != nil { - // Cycle-forming import: we must not await its - // completion since it would deadlock. - // - // We don't record the error in ii since - // the error is really associated with the - // cycle-forming edge, not the package itself. - // (Also it would complicate the - // invariants of importPath completion.) - if trace { - fmt.Fprintln(os.Stderr, "import cycle: %q", cycle) - } - continue - } - } - ii.awaitCompletion() - } - return result -} - -// findPath returns an arbitrary path from 'from' to 'to' in the import -// graph, or nil if there was none. -func (imp *importer) findPath(from, to string) []string { - imp.graphMu.Lock() - defer imp.graphMu.Unlock() - - seen := make(map[string]bool) - var search func(stack []string, importPath string) []string - search = func(stack []string, importPath string) []string { - if !seen[importPath] { - seen[importPath] = true - stack = append(stack, importPath) - if importPath == to { - return stack - } - for x := range imp.graph[importPath] { - if p := search(stack, x); p != nil { - return p - } - } - } - return nil - } - return search(make([]string, 0, 20), from) -} - -// startLoad initiates the loading, parsing and type-checking of the -// specified package and its dependencies, if it has not already begun. -// -// It returns an importInfo, not necessarily in a completed state. The -// caller must call awaitCompletion() before accessing its info and err -// fields. -// -// startLoad is concurrency-safe and idempotent. -// -func (imp *importer) startLoad(path string) *importInfo { - imp.importedMu.Lock() - ii, ok := imp.imported[path] - if !ok { - ii = &importInfo{path: path} - ii.complete.L = &ii.mu - imp.imported[path] = ii - go func() { - ii.Complete(imp.load(path)) - }() - } - imp.importedMu.Unlock() - - return ii -} - -// load implements package loading by parsing Go source files -// located by go/build. -// -func (imp *importer) load(path string) (*PackageInfo, error) { - bp, err := imp.conf.FindPackage(imp.conf.build(), path) - if err != nil { - return nil, err // package not found - } - info := imp.newPackageInfo(bp.ImportPath) - info.Importable = true - files, errs := imp.conf.parsePackageFiles(bp, 'g') - for _, err := range errs { - info.appendError(err) - } - - imp.addFiles(info, files, true) - - imp.progMu.Lock() - imp.prog.importMap[path] = info.Pkg - imp.progMu.Unlock() - - return info, nil -} - -// addFiles adds and type-checks the specified files to info, loading -// their dependencies if needed. The order of files determines the -// package initialization order. It may be called multiple times on the -// same package. Errors are appended to the info.Errors field. -// -// cycleCheck determines whether the imports within files create -// dependency edges that should be checked for potential cycles. -// -func (imp *importer) addFiles(info *PackageInfo, files []*ast.File, cycleCheck bool) { - info.Files = append(info.Files, files...) - - // Ensure the dependencies are loaded, in parallel. - var fromPath string - if cycleCheck { - fromPath = info.Pkg.Path() - } - imp.loadAll(fromPath, scanImports(files)) - - if trace { - fmt.Fprintf(os.Stderr, "%s: start %q (%d)\n", - time.Since(imp.start), info.Pkg.Path(), len(files)) - } - - // Ignore the returned (first) error since we - // already collect them all in the PackageInfo. - info.checker.Files(files) - - if trace { - fmt.Fprintf(os.Stderr, "%s: stop %q\n", - time.Since(imp.start), info.Pkg.Path()) - } -} - -func (imp *importer) newPackageInfo(path string) *PackageInfo { - pkg := types.NewPackage(path, "") - info := &PackageInfo{ - Pkg: pkg, - Info: types.Info{ - Types: make(map[ast.Expr]types.TypeAndValue), - Defs: make(map[*ast.Ident]types.Object), - Uses: make(map[*ast.Ident]types.Object), - Implicits: make(map[ast.Node]types.Object), - Scopes: make(map[ast.Node]*types.Scope), - Selections: make(map[*ast.SelectorExpr]*types.Selection), - }, - errorFunc: imp.conf.TypeChecker.Error, - } - - // Copy the types.Config so we can vary it across PackageInfos. - tc := imp.conf.TypeChecker - tc.IgnoreFuncBodies = false - if f := imp.conf.TypeCheckFuncBodies; f != nil { - tc.IgnoreFuncBodies = !f(path) - } - tc.Import = func(_ map[string]*types.Package, to string) (*types.Package, error) { - return imp.doImport(info, to) - } - tc.Error = info.appendError // appendError wraps the user's Error function - - info.checker = types.NewChecker(&tc, imp.conf.fset(), pkg, &info.Info) - imp.progMu.Lock() - imp.prog.AllPackages[pkg] = info - imp.progMu.Unlock() - return info -} diff --git a/vendor/golang.org/x/tools/go/loader/util.go b/vendor/golang.org/x/tools/go/loader/util.go deleted file mode 100644 index 0404e99..0000000 --- a/vendor/golang.org/x/tools/go/loader/util.go +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2013 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. - -package loader - -import ( - "go/ast" - "go/build" - "go/parser" - "go/token" - "io" - "os" - "strconv" - "sync" - - "golang.org/x/tools/go/buildutil" -) - -// We use a counting semaphore to limit -// the number of parallel I/O calls per process. -var sema = make(chan bool, 10) - -// parseFiles parses the Go source files within directory dir and -// returns the ASTs of the ones that could be at least partially parsed, -// along with a list of I/O and parse errors encountered. -// -// I/O is done via ctxt, which may specify a virtual file system. -// displayPath is used to transform the filenames attached to the ASTs. -// -func parseFiles(fset *token.FileSet, ctxt *build.Context, displayPath func(string) string, dir string, files []string, mode parser.Mode) ([]*ast.File, []error) { - if displayPath == nil { - displayPath = func(path string) string { return path } - } - var wg sync.WaitGroup - n := len(files) - parsed := make([]*ast.File, n) - errors := make([]error, n) - for i, file := range files { - if !buildutil.IsAbsPath(ctxt, file) { - file = buildutil.JoinPath(ctxt, dir, file) - } - wg.Add(1) - go func(i int, file string) { - sema <- true // wait - defer func() { - wg.Done() - <-sema // signal - }() - var rd io.ReadCloser - var err error - if ctxt.OpenFile != nil { - rd, err = ctxt.OpenFile(file) - } else { - rd, err = os.Open(file) - } - if err != nil { - errors[i] = err // open failed - return - } - - // ParseFile may return both an AST and an error. - parsed[i], errors[i] = parser.ParseFile(fset, displayPath(file), rd, mode) - rd.Close() - }(i, file) - } - wg.Wait() - - // Eliminate nils, preserving order. - var o int - for _, f := range parsed { - if f != nil { - parsed[o] = f - o++ - } - } - parsed = parsed[:o] - - o = 0 - for _, err := range errors { - if err != nil { - errors[o] = err - o++ - } - } - errors = errors[:o] - - return parsed, errors -} - -// scanImports returns the set of all package import paths from all -// import specs in the specified files. -func scanImports(files []*ast.File) map[string]bool { - imports := make(map[string]bool) - for _, f := range files { - for _, decl := range f.Decls { - if decl, ok := decl.(*ast.GenDecl); ok && decl.Tok == token.IMPORT { - for _, spec := range decl.Specs { - spec := spec.(*ast.ImportSpec) - - // NB: do not assume the program is well-formed! - path, err := strconv.Unquote(spec.Path.Value) - if err != nil { - continue // quietly ignore the error - } - if path == "C" || path == "unsafe" { - continue // skip pseudo packages - } - imports[path] = true - } - } - } - } - return imports -} - -// ---------- Internal helpers ---------- - -// TODO(adonovan): make this a method: func (*token.File) Contains(token.Pos) -func tokenFileContainsPos(f *token.File, pos token.Pos) bool { - p := int(pos) - base := f.Base() - return base <= p && p < base+f.Size() -} diff --git a/vendor/golang.org/x/tools/go/pointer/TODO b/vendor/golang.org/x/tools/go/pointer/TODO deleted file mode 100644 index f95e706..0000000 --- a/vendor/golang.org/x/tools/go/pointer/TODO +++ /dev/null @@ -1,33 +0,0 @@ --*- text -*- - -Pointer analysis to-do list -=========================== - -CONSTRAINT GENERATION: -- support reflection: - - a couple of operators are missing - - reflect.Values may contain lvalues (CanAddr) -- implement native intrinsics. These vary by platform. -- add to pts(a.panic) a label representing all runtime panics, e.g. - runtime.{TypeAssertionError,errorString,errorCString}. - -OPTIMISATIONS -- pre-solver: - pointer equivalence: extend HVN to HRU - location equivalence -- solver: HCD, LCD. -- experiment with map+slice worklist in lieu of bitset. - It may have faster insert. - -MISC: -- Test on all platforms. - Currently we assume these go/build tags: linux, amd64, !cgo. - -MAINTAINABILITY -- Think about ways to make debugging this code easier. PTA logs - routinely exceed a million lines and require training to read. - -BUGS: -- There's a crash bug in stdlib_test + reflection, rVCallConstraint. - - diff --git a/vendor/golang.org/x/tools/go/pointer/analysis.go b/vendor/golang.org/x/tools/go/pointer/analysis.go deleted file mode 100644 index d02e536..0000000 --- a/vendor/golang.org/x/tools/go/pointer/analysis.go +++ /dev/null @@ -1,447 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This file defines the main datatypes and Analyze function of the pointer analysis. - -import ( - "fmt" - "go/token" - "io" - "os" - "reflect" - "runtime" - "runtime/debug" - "sort" - - "golang.org/x/tools/go/callgraph" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" -) - -const ( - // optimization options; enable all when committing - optRenumber = true // enable renumbering optimization (makes logs hard to read) - optHVN = true // enable pointer equivalence via Hash-Value Numbering - - // debugging options; disable all when committing - debugHVN = false // enable assertions in HVN - debugHVNVerbose = false // enable extra HVN logging - debugHVNCrossCheck = false // run solver with/without HVN and compare (caveats below) - debugTimers = false // show running time of each phase -) - -// object.flags bitmask values. -const ( - otTagged = 1 << iota // type-tagged object - otIndirect // type-tagged object with indirect payload - otFunction // function object -) - -// An object represents a contiguous block of memory to which some -// (generalized) pointer may point. -// -// (Note: most variables called 'obj' are not *objects but nodeids -// such that a.nodes[obj].obj != nil.) -// -type object struct { - // flags is a bitset of the node type (ot*) flags defined above. - flags uint32 - - // Number of following nodes belonging to the same "object" - // allocation. Zero for all other nodes. - size uint32 - - // data describes this object; it has one of these types: - // - // ssa.Value for an object allocated by an SSA operation. - // types.Type for an rtype instance object or *rtype-tagged object. - // string for an instrinsic object, e.g. the array behind os.Args. - // nil for an object allocated by an instrinsic. - // (cgn provides the identity of the intrinsic.) - data interface{} - - // The call-graph node (=context) in which this object was allocated. - // May be nil for global objects: Global, Const, some Functions. - cgn *cgnode -} - -// nodeid denotes a node. -// It is an index within analysis.nodes. -// We use small integers, not *node pointers, for many reasons: -// - they are smaller on 64-bit systems. -// - sets of them can be represented compactly in bitvectors or BDDs. -// - order matters; a field offset can be computed by simple addition. -type nodeid uint32 - -// A node is an equivalence class of memory locations. -// Nodes may be pointers, pointed-to locations, neither, or both. -// -// Nodes that are pointed-to locations ("labels") have an enclosing -// object (see analysis.enclosingObject). -// -type node struct { - // If non-nil, this node is the start of an object - // (addressable memory location). - // The following obj.size nodes implicitly belong to the object; - // they locate their object by scanning back. - obj *object - - // The type of the field denoted by this node. Non-aggregate, - // unless this is an tagged.T node (i.e. the thing - // pointed to by an interface) in which case typ is that type. - typ types.Type - - // subelement indicates which directly embedded subelement of - // an object of aggregate type (struct, tuple, array) this is. - subelement *fieldInfo // e.g. ".a.b[*].c" - - // Solver state for the canonical node of this pointer- - // equivalence class. Each node is created with its own state - // but they become shared after HVN. - solve *solverState -} - -// An analysis instance holds the state of a single pointer analysis problem. -type analysis struct { - config *Config // the client's control/observer interface - prog *ssa.Program // the program being analyzed - log io.Writer // log stream; nil to disable - panicNode nodeid // sink for panic, source for recover - nodes []*node // indexed by nodeid - flattenMemo map[types.Type][]*fieldInfo // memoization of flatten() - trackTypes map[types.Type]bool // memoization of shouldTrack() - constraints []constraint // set of constraints - cgnodes []*cgnode // all cgnodes - genq []*cgnode // queue of functions to generate constraints for - intrinsics map[*ssa.Function]intrinsic // non-nil values are summaries for intrinsic fns - globalval map[ssa.Value]nodeid // node for each global ssa.Value - globalobj map[ssa.Value]nodeid // maps v to sole member of pts(v), if singleton - localval map[ssa.Value]nodeid // node for each local ssa.Value - localobj map[ssa.Value]nodeid // maps v to sole member of pts(v), if singleton - atFuncs map[*ssa.Function]bool // address-taken functions (for presolver) - mapValues []nodeid // values of makemap objects (indirect in HVN) - work nodeset // solver's worklist - result *Result // results of the analysis - track track // pointerlike types whose aliasing we track - deltaSpace []int // working space for iterating over PTS deltas - - // Reflection & intrinsics: - hasher typeutil.Hasher // cache of type hashes - reflectValueObj types.Object // type symbol for reflect.Value (if present) - reflectValueCall *ssa.Function // (reflect.Value).Call - reflectRtypeObj types.Object // *types.TypeName for reflect.rtype (if present) - reflectRtypePtr *types.Pointer // *reflect.rtype - reflectType *types.Named // reflect.Type - rtypes typeutil.Map // nodeid of canonical *rtype-tagged object for type T - reflectZeros typeutil.Map // nodeid of canonical T-tagged object for zero value - runtimeSetFinalizer *ssa.Function // runtime.SetFinalizer -} - -// enclosingObj returns the first node of the addressable memory -// object that encloses node id. Panic ensues if that node does not -// belong to any object. -func (a *analysis) enclosingObj(id nodeid) nodeid { - // Find previous node with obj != nil. - for i := id; i >= 0; i-- { - n := a.nodes[i] - if obj := n.obj; obj != nil { - if i+nodeid(obj.size) <= id { - break // out of bounds - } - return i - } - } - panic("node has no enclosing object") -} - -// labelFor returns the Label for node id. -// Panic ensues if that node is not addressable. -func (a *analysis) labelFor(id nodeid) *Label { - return &Label{ - obj: a.nodes[a.enclosingObj(id)].obj, - subelement: a.nodes[id].subelement, - } -} - -func (a *analysis) warnf(pos token.Pos, format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - if a.log != nil { - fmt.Fprintf(a.log, "%s: warning: %s\n", a.prog.Fset.Position(pos), msg) - } - a.result.Warnings = append(a.result.Warnings, Warning{pos, msg}) -} - -// computeTrackBits sets a.track to the necessary 'track' bits for the pointer queries. -func (a *analysis) computeTrackBits() { - var queryTypes []types.Type - for v := range a.config.Queries { - queryTypes = append(queryTypes, v.Type()) - } - for v := range a.config.IndirectQueries { - queryTypes = append(queryTypes, mustDeref(v.Type())) - } - for _, t := range queryTypes { - switch t.Underlying().(type) { - case *types.Chan: - a.track |= trackChan - case *types.Map: - a.track |= trackMap - case *types.Pointer: - a.track |= trackPtr - case *types.Slice: - a.track |= trackSlice - case *types.Interface: - a.track = trackAll - return - } - if rVObj := a.reflectValueObj; rVObj != nil && types.Identical(t, rVObj.Type()) { - a.track = trackAll - return - } - } -} - -// Analyze runs the pointer analysis with the scope and options -// specified by config, and returns the (synthetic) root of the callgraph. -// -// Pointer analysis of a transitively closed well-typed program should -// always succeed. An error can occur only due to an internal bug. -// -func Analyze(config *Config) (result *Result, err error) { - if config.Mains == nil { - return nil, fmt.Errorf("no main/test packages to analyze (check $GOROOT/$GOPATH)") - } - defer func() { - if p := recover(); p != nil { - err = fmt.Errorf("internal error in pointer analysis: %v (please report this bug)", p) - fmt.Fprintln(os.Stderr, "Internal panic in pointer analysis:") - debug.PrintStack() - } - }() - - a := &analysis{ - config: config, - log: config.Log, - prog: config.prog(), - globalval: make(map[ssa.Value]nodeid), - globalobj: make(map[ssa.Value]nodeid), - flattenMemo: make(map[types.Type][]*fieldInfo), - trackTypes: make(map[types.Type]bool), - atFuncs: make(map[*ssa.Function]bool), - hasher: typeutil.MakeHasher(), - intrinsics: make(map[*ssa.Function]intrinsic), - result: &Result{ - Queries: make(map[ssa.Value]Pointer), - IndirectQueries: make(map[ssa.Value]Pointer), - }, - deltaSpace: make([]int, 0, 100), - } - - if false { - a.log = os.Stderr // for debugging crashes; extremely verbose - } - - if a.log != nil { - fmt.Fprintln(a.log, "==== Starting analysis") - } - - // Pointer analysis requires a complete program for soundness. - // Check to prevent accidental misconfiguration. - for _, pkg := range a.prog.AllPackages() { - // (This only checks that the package scope is complete, - // not that func bodies exist, but it's a good signal.) - if !pkg.Object.Complete() { - return nil, fmt.Errorf(`pointer analysis requires a complete program yet package %q was incomplete`, pkg.Object.Path()) - } - } - - if reflect := a.prog.ImportedPackage("reflect"); reflect != nil { - rV := reflect.Object.Scope().Lookup("Value") - a.reflectValueObj = rV - a.reflectValueCall = a.prog.LookupMethod(rV.Type(), nil, "Call") - a.reflectType = reflect.Object.Scope().Lookup("Type").Type().(*types.Named) - a.reflectRtypeObj = reflect.Object.Scope().Lookup("rtype") - a.reflectRtypePtr = types.NewPointer(a.reflectRtypeObj.Type()) - - // Override flattening of reflect.Value, treating it like a basic type. - tReflectValue := a.reflectValueObj.Type() - a.flattenMemo[tReflectValue] = []*fieldInfo{{typ: tReflectValue}} - - // Override shouldTrack of reflect.Value and *reflect.rtype. - // Always track pointers of these types. - a.trackTypes[tReflectValue] = true - a.trackTypes[a.reflectRtypePtr] = true - - a.rtypes.SetHasher(a.hasher) - a.reflectZeros.SetHasher(a.hasher) - } - if runtime := a.prog.ImportedPackage("runtime"); runtime != nil { - a.runtimeSetFinalizer = runtime.Func("SetFinalizer") - } - a.computeTrackBits() - - a.generate() - a.showCounts() - - if optRenumber { - a.renumber() - } - - N := len(a.nodes) // excludes solver-created nodes - - if optHVN { - if debugHVNCrossCheck { - // Cross-check: run the solver once without - // optimization, once with, and compare the - // solutions. - savedConstraints := a.constraints - - a.solve() - a.dumpSolution("A.pts", N) - - // Restore. - a.constraints = savedConstraints - for _, n := range a.nodes { - n.solve = new(solverState) - } - a.nodes = a.nodes[:N] - - // rtypes is effectively part of the solver state. - a.rtypes = typeutil.Map{} - a.rtypes.SetHasher(a.hasher) - } - - a.hvn() - } - - if debugHVNCrossCheck { - runtime.GC() - runtime.GC() - } - - a.solve() - - // Compare solutions. - if optHVN && debugHVNCrossCheck { - a.dumpSolution("B.pts", N) - - if !diff("A.pts", "B.pts") { - return nil, fmt.Errorf("internal error: optimization changed solution") - } - } - - // Create callgraph.Nodes in deterministic order. - if cg := a.result.CallGraph; cg != nil { - for _, caller := range a.cgnodes { - cg.CreateNode(caller.fn) - } - } - - // Add dynamic edges to call graph. - var space [100]int - for _, caller := range a.cgnodes { - for _, site := range caller.sites { - for _, callee := range a.nodes[site.targets].solve.pts.AppendTo(space[:0]) { - a.callEdge(caller, site, nodeid(callee)) - } - } - } - - return a.result, nil -} - -// callEdge is called for each edge in the callgraph. -// calleeid is the callee's object node (has otFunction flag). -// -func (a *analysis) callEdge(caller *cgnode, site *callsite, calleeid nodeid) { - obj := a.nodes[calleeid].obj - if obj.flags&otFunction == 0 { - panic(fmt.Sprintf("callEdge %s -> n%d: not a function object", site, calleeid)) - } - callee := obj.cgn - - if cg := a.result.CallGraph; cg != nil { - // TODO(adonovan): opt: I would expect duplicate edges - // (to wrappers) to arise due to the elimination of - // context information, but I haven't observed any. - // Understand this better. - callgraph.AddEdge(cg.CreateNode(caller.fn), site.instr, cg.CreateNode(callee.fn)) - } - - if a.log != nil { - fmt.Fprintf(a.log, "\tcall edge %s -> %s\n", site, callee) - } - - // Warn about calls to non-intrinsic external functions. - // TODO(adonovan): de-dup these messages. - if fn := callee.fn; fn.Blocks == nil && a.findIntrinsic(fn) == nil { - a.warnf(site.pos(), "unsound call to unknown intrinsic: %s", fn) - a.warnf(fn.Pos(), " (declared here)") - } -} - -// dumpSolution writes the PTS solution to the specified file. -// -// It only dumps the nodes that existed before solving. The order in -// which solver-created nodes are created depends on pre-solver -// optimization, so we can't include them in the cross-check. -// -func (a *analysis) dumpSolution(filename string, N int) { - f, err := os.Create(filename) - if err != nil { - panic(err) - } - for id, n := range a.nodes[:N] { - if _, err := fmt.Fprintf(f, "pts(n%d) = {", id); err != nil { - panic(err) - } - var sep string - for _, l := range n.solve.pts.AppendTo(a.deltaSpace) { - if l >= N { - break - } - fmt.Fprintf(f, "%s%d", sep, l) - sep = " " - } - fmt.Fprintf(f, "} : %s\n", n.typ) - } - if err := f.Close(); err != nil { - panic(err) - } -} - -// showCounts logs the size of the constraint system. A typical -// optimized distribution is 65% copy, 13% load, 11% addr, 5% -// offsetAddr, 4% store, 2% others. -// -func (a *analysis) showCounts() { - if a.log != nil { - counts := make(map[reflect.Type]int) - for _, c := range a.constraints { - counts[reflect.TypeOf(c)]++ - } - fmt.Fprintf(a.log, "# constraints:\t%d\n", len(a.constraints)) - var lines []string - for t, n := range counts { - line := fmt.Sprintf("%7d (%2d%%)\t%s", n, 100*n/len(a.constraints), t) - lines = append(lines, line) - } - sort.Sort(sort.Reverse(sort.StringSlice(lines))) - for _, line := range lines { - fmt.Fprintf(a.log, "\t%s\n", line) - } - - fmt.Fprintf(a.log, "# nodes:\t%d\n", len(a.nodes)) - - // Show number of pointer equivalence classes. - m := make(map[*solverState]bool) - for _, n := range a.nodes { - m[n.solve] = true - } - fmt.Fprintf(a.log, "# ptsets:\t%d\n", len(m)) - } -} diff --git a/vendor/golang.org/x/tools/go/pointer/api.go b/vendor/golang.org/x/tools/go/pointer/api.go deleted file mode 100644 index 8f9ae0a..0000000 --- a/vendor/golang.org/x/tools/go/pointer/api.go +++ /dev/null @@ -1,245 +0,0 @@ -// Copyright 2013 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. - -package pointer - -import ( - "bytes" - "fmt" - "go/token" - "io" - - "golang.org/x/tools/container/intsets" - "golang.org/x/tools/go/callgraph" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types/typeutil" -) - -// A Config formulates a pointer analysis problem for Analyze(). -type Config struct { - // Mains contains the set of 'main' packages to analyze - // Clients must provide the analysis with at least one - // package defining a main() function. - // - // Non-main packages in the ssa.Program that are not - // dependencies of any main package may still affect the - // analysis result, because they contribute runtime types and - // thus methods. - // TODO(adonovan): investigate whether this is desirable. - Mains []*ssa.Package - - // Reflection determines whether to handle reflection - // operators soundly, which is currently rather slow since it - // causes constraint to be generated during solving - // proportional to the number of constraint variables, which - // has not yet been reduced by presolver optimisation. - Reflection bool - - // BuildCallGraph determines whether to construct a callgraph. - // If enabled, the graph will be available in Result.CallGraph. - BuildCallGraph bool - - // The client populates Queries[v] or IndirectQueries[v] - // for each ssa.Value v of interest, to request that the - // points-to sets pts(v) or pts(*v) be computed. If the - // client needs both points-to sets, v may appear in both - // maps. - // - // (IndirectQueries is typically used for Values corresponding - // to source-level lvalues, e.g. an *ssa.Global.) - // - // The analysis populates the corresponding - // Result.{Indirect,}Queries map when it creates the pointer - // variable for v or *v. Upon completion the client can - // inspect that map for the results. - // - // TODO(adonovan): this API doesn't scale well for batch tools - // that want to dump the entire solution. Perhaps optionally - // populate a map[*ssa.DebugRef]Pointer in the Result, one - // entry per source expression. - // - Queries map[ssa.Value]struct{} - IndirectQueries map[ssa.Value]struct{} - - // If Log is non-nil, log messages are written to it. - // Logging is extremely verbose. - Log io.Writer -} - -type track uint32 - -const ( - trackChan track = 1 << iota // track 'chan' references - trackMap // track 'map' references - trackPtr // track regular pointers - trackSlice // track slice references - - trackAll = ^track(0) -) - -// AddQuery adds v to Config.Queries. -// Precondition: CanPoint(v.Type()). -// TODO(adonovan): consider returning a new Pointer for this query, -// which will be initialized during analysis. That avoids the needs -// for the corresponding ssa.Value-keyed maps in Config and Result. -func (c *Config) AddQuery(v ssa.Value) { - if !CanPoint(v.Type()) { - panic(fmt.Sprintf("%s is not a pointer-like value: %s", v, v.Type())) - } - if c.Queries == nil { - c.Queries = make(map[ssa.Value]struct{}) - } - c.Queries[v] = struct{}{} -} - -// AddQuery adds v to Config.IndirectQueries. -// Precondition: CanPoint(v.Type().Underlying().(*types.Pointer).Elem()). -func (c *Config) AddIndirectQuery(v ssa.Value) { - if c.IndirectQueries == nil { - c.IndirectQueries = make(map[ssa.Value]struct{}) - } - if !CanPoint(mustDeref(v.Type())) { - panic(fmt.Sprintf("%s is not the address of a pointer-like value: %s", v, v.Type())) - } - c.IndirectQueries[v] = struct{}{} -} - -func (c *Config) prog() *ssa.Program { - for _, main := range c.Mains { - return main.Prog - } - panic("empty scope") -} - -type Warning struct { - Pos token.Pos - Message string -} - -// A Result contains the results of a pointer analysis. -// -// See Config for how to request the various Result components. -// -type Result struct { - CallGraph *callgraph.Graph // discovered call graph - Queries map[ssa.Value]Pointer // pts(v) for each v in Config.Queries. - IndirectQueries map[ssa.Value]Pointer // pts(*v) for each v in Config.IndirectQueries. - Warnings []Warning // warnings of unsoundness -} - -// A Pointer is an equivalence class of pointer-like values. -// -// A Pointer doesn't have a unique type because pointers of distinct -// types may alias the same object. -// -type Pointer struct { - a *analysis - n nodeid -} - -// A PointsToSet is a set of labels (locations or allocations). -type PointsToSet struct { - a *analysis // may be nil if pts is nil - pts *nodeset -} - -func (s PointsToSet) String() string { - var buf bytes.Buffer - buf.WriteByte('[') - if s.pts != nil { - var space [50]int - for i, l := range s.pts.AppendTo(space[:0]) { - if i > 0 { - buf.WriteString(", ") - } - buf.WriteString(s.a.labelFor(nodeid(l)).String()) - } - } - buf.WriteByte(']') - return buf.String() -} - -// PointsTo returns the set of labels that this points-to set -// contains. -func (s PointsToSet) Labels() []*Label { - var labels []*Label - if s.pts != nil { - var space [50]int - for _, l := range s.pts.AppendTo(space[:0]) { - labels = append(labels, s.a.labelFor(nodeid(l))) - } - } - return labels -} - -// If this PointsToSet came from a Pointer of interface kind -// or a reflect.Value, DynamicTypes returns the set of dynamic -// types that it may contain. (For an interface, they will -// always be concrete types.) -// -// The result is a mapping whose keys are the dynamic types to which -// it may point. For each pointer-like key type, the corresponding -// map value is the PointsToSet for pointers of that type. -// -// The result is empty unless CanHaveDynamicTypes(T). -// -func (s PointsToSet) DynamicTypes() *typeutil.Map { - var tmap typeutil.Map - tmap.SetHasher(s.a.hasher) - if s.pts != nil { - var space [50]int - for _, x := range s.pts.AppendTo(space[:0]) { - ifaceObjId := nodeid(x) - if !s.a.isTaggedObject(ifaceObjId) { - continue // !CanHaveDynamicTypes(tDyn) - } - tDyn, v, indirect := s.a.taggedValue(ifaceObjId) - if indirect { - panic("indirect tagged object") // implement later - } - pts, ok := tmap.At(tDyn).(PointsToSet) - if !ok { - pts = PointsToSet{s.a, new(nodeset)} - tmap.Set(tDyn, pts) - } - pts.pts.addAll(&s.a.nodes[v].solve.pts) - } - } - return &tmap -} - -// Intersects reports whether this points-to set and the -// argument points-to set contain common members. -func (x PointsToSet) Intersects(y PointsToSet) bool { - if x.pts == nil || y.pts == nil { - return false - } - // This takes Θ(|x|+|y|) time. - var z intsets.Sparse - z.Intersection(&x.pts.Sparse, &y.pts.Sparse) - return !z.IsEmpty() -} - -func (p Pointer) String() string { - return fmt.Sprintf("n%d", p.n) -} - -// PointsTo returns the points-to set of this pointer. -func (p Pointer) PointsTo() PointsToSet { - if p.n == 0 { - return PointsToSet{} - } - return PointsToSet{p.a, &p.a.nodes[p.n].solve.pts} -} - -// MayAlias reports whether the receiver pointer may alias -// the argument pointer. -func (p Pointer) MayAlias(q Pointer) bool { - return p.PointsTo().Intersects(q.PointsTo()) -} - -// DynamicTypes returns p.PointsTo().DynamicTypes(). -func (p Pointer) DynamicTypes() *typeutil.Map { - return p.PointsTo().DynamicTypes() -} diff --git a/vendor/golang.org/x/tools/go/pointer/callgraph.go b/vendor/golang.org/x/tools/go/pointer/callgraph.go deleted file mode 100644 index 48e152e..0000000 --- a/vendor/golang.org/x/tools/go/pointer/callgraph.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This file defines the internal (context-sensitive) call graph. - -import ( - "fmt" - "go/token" - - "golang.org/x/tools/go/ssa" -) - -type cgnode struct { - fn *ssa.Function - obj nodeid // start of this contour's object block - sites []*callsite // ordered list of callsites within this function - callersite *callsite // where called from, if known; nil for shared contours -} - -// contour returns a description of this node's contour. -func (n *cgnode) contour() string { - if n.callersite == nil { - return "shared contour" - } - if n.callersite.instr != nil { - return fmt.Sprintf("as called from %s", n.callersite.instr.Parent()) - } - return fmt.Sprintf("as called from intrinsic (targets=n%d)", n.callersite.targets) -} - -func (n *cgnode) String() string { - return fmt.Sprintf("cg%d:%s", n.obj, n.fn) -} - -// A callsite represents a single call site within a cgnode; -// it is implicitly context-sensitive. -// callsites never represent calls to built-ins; -// they are handled as intrinsics. -// -type callsite struct { - targets nodeid // pts(·) contains objects for dynamically called functions - instr ssa.CallInstruction // the call instruction; nil for synthetic/intrinsic -} - -func (c *callsite) String() string { - if c.instr != nil { - return c.instr.Common().Description() - } - return "synthetic function call" -} - -// pos returns the source position of this callsite, or token.NoPos if implicit. -func (c *callsite) pos() token.Pos { - if c.instr != nil { - return c.instr.Pos() - } - return token.NoPos -} diff --git a/vendor/golang.org/x/tools/go/pointer/constraint.go b/vendor/golang.org/x/tools/go/pointer/constraint.go deleted file mode 100644 index e6371cc..0000000 --- a/vendor/golang.org/x/tools/go/pointer/constraint.go +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2013 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. - -package pointer - -import ( - "golang.org/x/tools/go/types" -) - -type constraint interface { - // For a complex constraint, returns the nodeid of the pointer - // to which it is attached. For addr and copy, returns dst. - ptr() nodeid - - // renumber replaces each nodeid n in the constraint by mapping[n]. - renumber(mapping []nodeid) - - // presolve is a hook for constraint-specific behaviour during - // pre-solver optimization. Typical implementations mark as - // indirect the set of nodes to which the solver will add copy - // edges or PTS labels. - presolve(h *hvn) - - // solve is called for complex constraints when the pts for - // the node to which they are attached has changed. - solve(a *analysis, delta *nodeset) - - String() string -} - -// dst = &src -// pts(dst) ⊇ {src} -// A base constraint used to initialize the solver's pt sets -type addrConstraint struct { - dst nodeid // (ptr) - src nodeid -} - -func (c *addrConstraint) ptr() nodeid { return c.dst } -func (c *addrConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst = src -// A simple constraint represented directly as a copyTo graph edge. -type copyConstraint struct { - dst nodeid // (ptr) - src nodeid -} - -func (c *copyConstraint) ptr() nodeid { return c.dst } -func (c *copyConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst = src[offset] -// A complex constraint attached to src (the pointer) -type loadConstraint struct { - offset uint32 - dst nodeid - src nodeid // (ptr) -} - -func (c *loadConstraint) ptr() nodeid { return c.src } -func (c *loadConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst[offset] = src -// A complex constraint attached to dst (the pointer) -type storeConstraint struct { - offset uint32 - dst nodeid // (ptr) - src nodeid -} - -func (c *storeConstraint) ptr() nodeid { return c.dst } -func (c *storeConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst = &src.f or dst = &src[0] -// A complex constraint attached to dst (the pointer) -type offsetAddrConstraint struct { - offset uint32 - dst nodeid - src nodeid // (ptr) -} - -func (c *offsetAddrConstraint) ptr() nodeid { return c.src } -func (c *offsetAddrConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst = src.(typ) where typ is an interface -// A complex constraint attached to src (the interface). -// No representation change: pts(dst) and pts(src) contains tagged objects. -type typeFilterConstraint struct { - typ types.Type // an interface type - dst nodeid - src nodeid // (ptr) -} - -func (c *typeFilterConstraint) ptr() nodeid { return c.src } -func (c *typeFilterConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// dst = src.(typ) where typ is a concrete type -// A complex constraint attached to src (the interface). -// -// If exact, only tagged objects identical to typ are untagged. -// If !exact, tagged objects assignable to typ are untagged too. -// The latter is needed for various reflect operators, e.g. Send. -// -// This entails a representation change: -// pts(src) contains tagged objects, -// pts(dst) contains their payloads. -type untagConstraint struct { - typ types.Type // a concrete type - dst nodeid - src nodeid // (ptr) - exact bool -} - -func (c *untagConstraint) ptr() nodeid { return c.src } -func (c *untagConstraint) renumber(mapping []nodeid) { - c.dst = mapping[c.dst] - c.src = mapping[c.src] -} - -// src.method(params...) -// A complex constraint attached to iface. -type invokeConstraint struct { - method *types.Func // the abstract method - iface nodeid // (ptr) the interface - params nodeid // the start of the identity/params/results block -} - -func (c *invokeConstraint) ptr() nodeid { return c.iface } -func (c *invokeConstraint) renumber(mapping []nodeid) { - c.iface = mapping[c.iface] - c.params = mapping[c.params] -} diff --git a/vendor/golang.org/x/tools/go/pointer/doc.go b/vendor/golang.org/x/tools/go/pointer/doc.go deleted file mode 100644 index 22e569c..0000000 --- a/vendor/golang.org/x/tools/go/pointer/doc.go +++ /dev/null @@ -1,610 +0,0 @@ -// Copyright 2013 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. - -/* - -Package pointer implements Andersen's analysis, an inclusion-based -pointer analysis algorithm first described in (Andersen, 1994). - -A pointer analysis relates every pointer expression in a whole program -to the set of memory locations to which it might point. This -information can be used to construct a call graph of the program that -precisely represents the destinations of dynamic function and method -calls. It can also be used to determine, for example, which pairs of -channel operations operate on the same channel. - -The package allows the client to request a set of expressions of -interest for which the points-to information will be returned once the -analysis is complete. In addition, the client may request that a -callgraph is constructed. The example program in example_test.go -demonstrates both of these features. Clients should not request more -information than they need since it may increase the cost of the -analysis significantly. - - -CLASSIFICATION - -Our algorithm is INCLUSION-BASED: the points-to sets for x and y will -be related by pts(y) ⊇ pts(x) if the program contains the statement -y = x. - -It is FLOW-INSENSITIVE: it ignores all control flow constructs and the -order of statements in a program. It is therefore a "MAY ALIAS" -analysis: its facts are of the form "P may/may not point to L", -not "P must point to L". - -It is FIELD-SENSITIVE: it builds separate points-to sets for distinct -fields, such as x and y in struct { x, y *int }. - -It is mostly CONTEXT-INSENSITIVE: most functions are analyzed once, -so values can flow in at one call to the function and return out at -another. Only some smaller functions are analyzed with consideration -of their calling context. - -It has a CONTEXT-SENSITIVE HEAP: objects are named by both allocation -site and context, so the objects returned by two distinct calls to f: - func f() *T { return new(T) } -are distinguished up to the limits of the calling context. - -It is a WHOLE PROGRAM analysis: it requires SSA-form IR for the -complete Go program and summaries for native code. - -See the (Hind, PASTE'01) survey paper for an explanation of these terms. - - -SOUNDNESS - -The analysis is fully sound when invoked on pure Go programs that do not -use reflection or unsafe.Pointer conversions. In other words, if there -is any possible execution of the program in which pointer P may point to -object O, the analysis will report that fact. - - -REFLECTION - -By default, the "reflect" library is ignored by the analysis, as if all -its functions were no-ops, but if the client enables the Reflection flag, -the analysis will make a reasonable attempt to model the effects of -calls into this library. However, this comes at a significant -performance cost, and not all features of that library are yet -implemented. In addition, some simplifying approximations must be made -to ensure that the analysis terminates; for example, reflection can be -used to construct an infinite set of types and values of those types, -but the analysis arbitrarily bounds the depth of such types. - -Most but not all reflection operations are supported. -In particular, addressable reflect.Values are not yet implemented, so -operations such as (reflect.Value).Set have no analytic effect. - - -UNSAFE POINTER CONVERSIONS - -The pointer analysis makes no attempt to understand aliasing between the -operand x and result y of an unsafe.Pointer conversion: - y = (*T)(unsafe.Pointer(x)) -It is as if the conversion allocated an entirely new object: - y = new(T) - - -NATIVE CODE - -The analysis cannot model the aliasing effects of functions written in -languages other than Go, such as runtime intrinsics in C or assembly, or -code accessed via cgo. The result is as if such functions are no-ops. -However, various important intrinsics are understood by the analysis, -along with built-ins such as append. - -The analysis currently provides no way for users to specify the aliasing -effects of native code. - ------------------------------------------------------------------------- - -IMPLEMENTATION - -The remaining documentation is intended for package maintainers and -pointer analysis specialists. Maintainers should have a solid -understanding of the referenced papers (especially those by H&L and PKH) -before making making significant changes. - -The implementation is similar to that described in (Pearce et al, -PASTE'04). Unlike many algorithms which interleave constraint -generation and solving, constructing the callgraph as they go, this -implementation for the most part observes a phase ordering (generation -before solving), with only simple (copy) constraints being generated -during solving. (The exception is reflection, which creates various -constraints during solving as new types flow to reflect.Value -operations.) This improves the traction of presolver optimisations, -but imposes certain restrictions, e.g. potential context sensitivity -is limited since all variants must be created a priori. - - -TERMINOLOGY - -A type is said to be "pointer-like" if it is a reference to an object. -Pointer-like types include pointers and also interfaces, maps, channels, -functions and slices. - -We occasionally use C's x->f notation to distinguish the case where x -is a struct pointer from x.f where is a struct value. - -Pointer analysis literature (and our comments) often uses the notation -dst=*src+offset to mean something different than what it means in Go. -It means: for each node index p in pts(src), the node index p+offset is -in pts(dst). Similarly *dst+offset=src is used for store constraints -and dst=src+offset for offset-address constraints. - - -NODES - -Nodes are the key datastructure of the analysis, and have a dual role: -they represent both constraint variables (equivalence classes of -pointers) and members of points-to sets (things that can be pointed -at, i.e. "labels"). - -Nodes are naturally numbered. The numbering enables compact -representations of sets of nodes such as bitvectors (or BDDs); and the -ordering enables a very cheap way to group related nodes together. For -example, passing n parameters consists of generating n parallel -constraints from caller+i to callee+i for 0<=i y is added. - - ChangeInterface is a simple copy because the representation of - tagged objects is independent of the interface type (in contrast - to the "method tables" approach used by the gc runtime). - - y := Invoke x.m(...) is implemented by allocating contiguous P/R - blocks for the callsite and adding a dynamic rule triggered by each - tagged object added to pts(x). The rule adds param/results copy - edges to/from each discovered concrete method. - - (Q. Why do we model an interface as a pointer to a pair of type and - value, rather than as a pair of a pointer to type and a pointer to - value? - A. Control-flow joins would merge interfaces ({T1}, {V1}) and ({T2}, - {V2}) to make ({T1,T2}, {V1,V2}), leading to the infeasible and - type-unsafe combination (T1,V2). Treating the value and its concrete - type as inseparable makes the analysis type-safe.) - -reflect.Value - A reflect.Value is modelled very similar to an interface{}, i.e. as - a pointer exclusively to tagged objects, but with two generalizations. - - 1) a reflect.Value that represents an lvalue points to an indirect - (obj.flags ⊇ {otIndirect}) tagged object, which has a similar - layout to an tagged object except that the value is a pointer to - the dynamic type. Indirect tagged objects preserve the correct - aliasing so that mutations made by (reflect.Value).Set can be - observed. - - Indirect objects only arise when an lvalue is derived from an - rvalue by indirection, e.g. the following code: - - type S struct { X T } - var s S - var i interface{} = &s // i points to a *S-tagged object (from MakeInterface) - v1 := reflect.ValueOf(i) // v1 points to same *S-tagged object as i - v2 := v1.Elem() // v2 points to an indirect S-tagged object, pointing to s - v3 := v2.FieldByName("X") // v3 points to an indirect int-tagged object, pointing to s.X - v3.Set(y) // pts(s.X) ⊇ pts(y) - - Whether indirect or not, the concrete type of the tagged object - corresponds to the user-visible dynamic type, and the existence - of a pointer is an implementation detail. - - (NB: indirect tagged objects are not yet implemented) - - 2) The dynamic type tag of a tagged object pointed to by a - reflect.Value may be an interface type; it need not be concrete. - - This arises in code such as this: - tEface := reflect.TypeOf(new(interface{}).Elem() // interface{} - eface := reflect.Zero(tEface) - pts(eface) is a singleton containing an interface{}-tagged - object. That tagged object's payload is an interface{} value, - i.e. the pts of the payload contains only concrete-tagged - objects, although in this example it's the zero interface{} value, - so its pts is empty. - -reflect.Type - Just as in the real "reflect" library, we represent a reflect.Type - as an interface whose sole implementation is the concrete type, - *reflect.rtype. (This choice is forced on us by go/types: clients - cannot fabricate types with arbitrary method sets.) - - rtype instances are canonical: there is at most one per dynamic - type. (rtypes are in fact large structs but since identity is all - that matters, we represent them by a single node.) - - The payload of each *rtype-tagged object is an *rtype pointer that - points to exactly one such canonical rtype object. We exploit this - by setting the node.typ of the payload to the dynamic type, not - '*rtype'. This saves us an indirection in each resolution rule. As - an optimisation, *rtype-tagged objects are canonicalized too. - - -Aggregate types: - -Aggregate types are treated as if all directly contained -aggregates are recursively flattened out. - -Structs - *ssa.Field y = x.f creates a simple edge to y from x's node at f's offset. - - *ssa.FieldAddr y = &x->f requires a dynamic closure rule to create - simple edges for each struct discovered in pts(x). - - The nodes of a struct consist of a special 'identity' node (whose - type is that of the struct itself), followed by the nodes for all - the struct's fields, recursively flattened out. A pointer to the - struct is a pointer to its identity node. That node allows us to - distinguish a pointer to a struct from a pointer to its first field. - - Field offsets are logical field offsets (plus one for the identity - node), so the sizes of the fields can be ignored by the analysis. - - (The identity node is non-traditional but enables the distiction - described above, which is valuable for code comprehension tools. - Typical pointer analyses for C, whose purpose is compiler - optimization, must soundly model unsafe.Pointer (void*) conversions, - and this requires fidelity to the actual memory layout using physical - field offsets.) - - *ssa.Field y = x.f creates a simple edge to y from x's node at f's offset. - - *ssa.FieldAddr y = &x->f requires a dynamic closure rule to create - simple edges for each struct discovered in pts(x). - -Arrays - We model an array by an identity node (whose type is that of the - array itself) followed by a node representing all the elements of - the array; the analysis does not distinguish elements with different - indices. Effectively, an array is treated like struct{elem T}, a - load y=x[i] like y=x.elem, and a store x[i]=y like x.elem=y; the - index i is ignored. - - A pointer to an array is pointer to its identity node. (A slice is - also a pointer to an array's identity node.) The identity node - allows us to distinguish a pointer to an array from a pointer to one - of its elements, but it is rather costly because it introduces more - offset constraints into the system. Furthermore, sound treatment of - unsafe.Pointer would require us to dispense with this node. - - Arrays may be allocated by Alloc, by make([]T), by calls to append, - and via reflection. - -Tuples (T, ...) - Tuples are treated like structs with naturally numbered fields. - *ssa.Extract is analogous to *ssa.Field. - - However, tuples have no identity field since by construction, they - cannot be address-taken. - - -FUNCTION CALLS - - There are three kinds of function call: - (1) static "call"-mode calls of functions. - (2) dynamic "call"-mode calls of functions. - (3) dynamic "invoke"-mode calls of interface methods. - Cases 1 and 2 apply equally to methods and standalone functions. - - Static calls. - A static call consists three steps: - - finding the function object of the callee; - - creating copy edges from the actual parameter value nodes to the - P-block in the function object (this includes the receiver if - the callee is a method); - - creating copy edges from the R-block in the function object to - the value nodes for the result of the call. - - A static function call is little more than two struct value copies - between the P/R blocks of caller and callee: - - callee.P = caller.P - caller.R = callee.R - - Context sensitivity - - Static calls (alone) may be treated context sensitively, - i.e. each callsite may cause a distinct re-analysis of the - callee, improving precision. Our current context-sensitivity - policy treats all intrinsics and getter/setter methods in this - manner since such functions are small and seem like an obvious - source of spurious confluences, though this has not yet been - evaluated. - - Dynamic function calls - - Dynamic calls work in a similar manner except that the creation of - copy edges occurs dynamically, in a similar fashion to a pair of - struct copies in which the callee is indirect: - - callee->P = caller.P - caller.R = callee->R - - (Recall that the function object's P- and R-blocks are contiguous.) - - Interface method invocation - - For invoke-mode calls, we create a params/results block for the - callsite and attach a dynamic closure rule to the interface. For - each new tagged object that flows to the interface, we look up - the concrete method, find its function object, and connect its P/R - blocks to the callsite's P/R blocks, adding copy edges to the graph - during solving. - - Recording call targets - - The analysis notifies its clients of each callsite it encounters, - passing a CallSite interface. Among other things, the CallSite - contains a synthetic constraint variable ("targets") whose - points-to solution includes the set of all function objects to - which the call may dispatch. - - It is via this mechanism that the callgraph is made available. - Clients may also elect to be notified of callgraph edges directly; - internally this just iterates all "targets" variables' pts(·)s. - - -PRESOLVER - -We implement Hash-Value Numbering (HVN), a pre-solver constraint -optimization described in Hardekopf & Lin, SAS'07. This is documented -in more detail in hvn.go. We intend to add its cousins HR and HU in -future. - - -SOLVER - -The solver is currently a naive Andersen-style implementation; it does -not perform online cycle detection, though we plan to add solver -optimisations such as Hybrid- and Lazy- Cycle Detection from (Hardekopf -& Lin, PLDI'07). - -It uses difference propagation (Pearce et al, SQC'04) to avoid -redundant re-triggering of closure rules for values already seen. - -Points-to sets are represented using sparse bit vectors (similar to -those used in LLVM and gcc), which are more space- and time-efficient -than sets based on Go's built-in map type or dense bit vectors. - -Nodes are permuted prior to solving so that object nodes (which may -appear in points-to sets) are lower numbered than non-object (var) -nodes. This improves the density of the set over which the PTSs -range, and thus the efficiency of the representation. - -Partly thanks to avoiding map iteration, the execution of the solver is -100% deterministic, a great help during debugging. - - -FURTHER READING - -Andersen, L. O. 1994. Program analysis and specialization for the C -programming language. Ph.D. dissertation. DIKU, University of -Copenhagen. - -David J. Pearce, Paul H. J. Kelly, and Chris Hankin. 2004. Efficient -field-sensitive pointer analysis for C. In Proceedings of the 5th ACM -SIGPLAN-SIGSOFT workshop on Program analysis for software tools and -engineering (PASTE '04). ACM, New York, NY, USA, 37-42. -http://doi.acm.org/10.1145/996821.996835 - -David J. Pearce, Paul H. J. Kelly, and Chris Hankin. 2004. Online -Cycle Detection and Difference Propagation: Applications to Pointer -Analysis. Software Quality Control 12, 4 (December 2004), 311-337. -http://dx.doi.org/10.1023/B:SQJO.0000039791.93071.a2 - -David Grove and Craig Chambers. 2001. A framework for call graph -construction algorithms. ACM Trans. Program. Lang. Syst. 23, 6 -(November 2001), 685-746. -http://doi.acm.org/10.1145/506315.506316 - -Ben Hardekopf and Calvin Lin. 2007. The ant and the grasshopper: fast -and accurate pointer analysis for millions of lines of code. In -Proceedings of the 2007 ACM SIGPLAN conference on Programming language -design and implementation (PLDI '07). ACM, New York, NY, USA, 290-299. -http://doi.acm.org/10.1145/1250734.1250767 - -Ben Hardekopf and Calvin Lin. 2007. Exploiting pointer and location -equivalence to optimize pointer analysis. In Proceedings of the 14th -international conference on Static Analysis (SAS'07), Hanne Riis -Nielson and Gilberto Filé (Eds.). Springer-Verlag, Berlin, Heidelberg, -265-280. - -Atanas Rountev and Satish Chandra. 2000. Off-line variable substitution -for scaling points-to analysis. In Proceedings of the ACM SIGPLAN 2000 -conference on Programming language design and implementation (PLDI '00). -ACM, New York, NY, USA, 47-56. DOI=10.1145/349299.349310 -http://doi.acm.org/10.1145/349299.349310 - -*/ -package pointer // import "golang.org/x/tools/go/pointer" diff --git a/vendor/golang.org/x/tools/go/pointer/gen.go b/vendor/golang.org/x/tools/go/pointer/gen.go deleted file mode 100644 index 6c256ac..0000000 --- a/vendor/golang.org/x/tools/go/pointer/gen.go +++ /dev/null @@ -1,1292 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This file defines the constraint generation phase. - -// TODO(adonovan): move the constraint definitions and the store() etc -// functions which add them (and are also used by the solver) into a -// new file, constraints.go. - -import ( - "fmt" - "go/token" - - "golang.org/x/tools/go/callgraph" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -var ( - tEface = types.NewInterface(nil, nil).Complete() - tInvalid = types.Typ[types.Invalid] - tUnsafePtr = types.Typ[types.UnsafePointer] -) - -// ---------- Node creation ---------- - -// nextNode returns the index of the next unused node. -func (a *analysis) nextNode() nodeid { - return nodeid(len(a.nodes)) -} - -// addNodes creates nodes for all scalar elements in type typ, and -// returns the id of the first one, or zero if the type was -// analytically uninteresting. -// -// comment explains the origin of the nodes, as a debugging aid. -// -func (a *analysis) addNodes(typ types.Type, comment string) nodeid { - id := a.nextNode() - for _, fi := range a.flatten(typ) { - a.addOneNode(fi.typ, comment, fi) - } - if id == a.nextNode() { - return 0 // type contained no pointers - } - return id -} - -// addOneNode creates a single node with type typ, and returns its id. -// -// typ should generally be scalar (except for tagged.T nodes -// and struct/array identity nodes). Use addNodes for non-scalar types. -// -// comment explains the origin of the nodes, as a debugging aid. -// subelement indicates the subelement, e.g. ".a.b[*].c". -// -func (a *analysis) addOneNode(typ types.Type, comment string, subelement *fieldInfo) nodeid { - id := a.nextNode() - a.nodes = append(a.nodes, &node{typ: typ, subelement: subelement, solve: new(solverState)}) - if a.log != nil { - fmt.Fprintf(a.log, "\tcreate n%d %s for %s%s\n", - id, typ, comment, subelement.path()) - } - return id -} - -// setValueNode associates node id with the value v. -// cgn identifies the context iff v is a local variable. -// -func (a *analysis) setValueNode(v ssa.Value, id nodeid, cgn *cgnode) { - if cgn != nil { - a.localval[v] = id - } else { - a.globalval[v] = id - } - if a.log != nil { - fmt.Fprintf(a.log, "\tval[%s] = n%d (%T)\n", v.Name(), id, v) - } - - // Due to context-sensitivity, we may encounter the same Value - // in many contexts. We merge them to a canonical node, since - // that's what all clients want. - - // Record the (v, id) relation if the client has queried pts(v). - if _, ok := a.config.Queries[v]; ok { - t := v.Type() - ptr, ok := a.result.Queries[v] - if !ok { - // First time? Create the canonical query node. - ptr = Pointer{a, a.addNodes(t, "query")} - a.result.Queries[v] = ptr - } - a.result.Queries[v] = ptr - a.copy(ptr.n, id, a.sizeof(t)) - } - - // Record the (*v, id) relation if the client has queried pts(*v). - if _, ok := a.config.IndirectQueries[v]; ok { - t := v.Type() - ptr, ok := a.result.IndirectQueries[v] - if !ok { - // First time? Create the canonical indirect query node. - ptr = Pointer{a, a.addNodes(v.Type(), "query.indirect")} - a.result.IndirectQueries[v] = ptr - } - a.genLoad(cgn, ptr.n, v, 0, a.sizeof(t)) - } -} - -// endObject marks the end of a sequence of calls to addNodes denoting -// a single object allocation. -// -// obj is the start node of the object, from a prior call to nextNode. -// Its size, flags and optional data will be updated. -// -func (a *analysis) endObject(obj nodeid, cgn *cgnode, data interface{}) *object { - // Ensure object is non-empty by padding; - // the pad will be the object node. - size := uint32(a.nextNode() - obj) - if size == 0 { - a.addOneNode(tInvalid, "padding", nil) - } - objNode := a.nodes[obj] - o := &object{ - size: size, // excludes padding - cgn: cgn, - data: data, - } - objNode.obj = o - - return o -} - -// makeFunctionObject creates and returns a new function object -// (contour) for fn, and returns the id of its first node. It also -// enqueues fn for subsequent constraint generation. -// -// For a context-sensitive contour, callersite identifies the sole -// callsite; for shared contours, caller is nil. -// -func (a *analysis) makeFunctionObject(fn *ssa.Function, callersite *callsite) nodeid { - if a.log != nil { - fmt.Fprintf(a.log, "\t---- makeFunctionObject %s\n", fn) - } - - // obj is the function object (identity, params, results). - obj := a.nextNode() - cgn := a.makeCGNode(fn, obj, callersite) - sig := fn.Signature - a.addOneNode(sig, "func.cgnode", nil) // (scalar with Signature type) - if recv := sig.Recv(); recv != nil { - a.addNodes(recv.Type(), "func.recv") - } - a.addNodes(sig.Params(), "func.params") - a.addNodes(sig.Results(), "func.results") - a.endObject(obj, cgn, fn).flags |= otFunction - - if a.log != nil { - fmt.Fprintf(a.log, "\t----\n") - } - - // Queue it up for constraint processing. - a.genq = append(a.genq, cgn) - - return obj -} - -// makeTagged creates a tagged object of type typ. -func (a *analysis) makeTagged(typ types.Type, cgn *cgnode, data interface{}) nodeid { - obj := a.addOneNode(typ, "tagged.T", nil) // NB: type may be non-scalar! - a.addNodes(typ, "tagged.v") - a.endObject(obj, cgn, data).flags |= otTagged - return obj -} - -// makeRtype returns the canonical tagged object of type *rtype whose -// payload points to the sole rtype object for T. -// -// TODO(adonovan): move to reflect.go; it's part of the solver really. -// -func (a *analysis) makeRtype(T types.Type) nodeid { - if v := a.rtypes.At(T); v != nil { - return v.(nodeid) - } - - // Create the object for the reflect.rtype itself, which is - // ordinarily a large struct but here a single node will do. - obj := a.nextNode() - a.addOneNode(T, "reflect.rtype", nil) - a.endObject(obj, nil, T) - - id := a.makeTagged(a.reflectRtypePtr, nil, T) - a.nodes[id+1].typ = T // trick (each *rtype tagged object is a singleton) - a.addressOf(a.reflectRtypePtr, id+1, obj) - - a.rtypes.Set(T, id) - return id -} - -// rtypeValue returns the type of the *reflect.rtype-tagged object obj. -func (a *analysis) rtypeTaggedValue(obj nodeid) types.Type { - tDyn, t, _ := a.taggedValue(obj) - if tDyn != a.reflectRtypePtr { - panic(fmt.Sprintf("not a *reflect.rtype-tagged object: obj=n%d tag=%v payload=n%d", obj, tDyn, t)) - } - return a.nodes[t].typ -} - -// valueNode returns the id of the value node for v, creating it (and -// the association) as needed. It may return zero for uninteresting -// values containing no pointers. -// -func (a *analysis) valueNode(v ssa.Value) nodeid { - // Value nodes for locals are created en masse by genFunc. - if id, ok := a.localval[v]; ok { - return id - } - - // Value nodes for globals are created on demand. - id, ok := a.globalval[v] - if !ok { - var comment string - if a.log != nil { - comment = v.String() - } - id = a.addNodes(v.Type(), comment) - if obj := a.objectNode(nil, v); obj != 0 { - a.addressOf(v.Type(), id, obj) - } - a.setValueNode(v, id, nil) - } - return id -} - -// valueOffsetNode ascertains the node for tuple/struct value v, -// then returns the node for its subfield #index. -// -func (a *analysis) valueOffsetNode(v ssa.Value, index int) nodeid { - id := a.valueNode(v) - if id == 0 { - panic(fmt.Sprintf("cannot offset within n0: %s = %s", v.Name(), v)) - } - return id + nodeid(a.offsetOf(v.Type(), index)) -} - -// isTaggedObject reports whether object obj is a tagged object. -func (a *analysis) isTaggedObject(obj nodeid) bool { - return a.nodes[obj].obj.flags&otTagged != 0 -} - -// taggedValue returns the dynamic type tag, the (first node of the) -// payload, and the indirect flag of the tagged object starting at id. -// Panic ensues if !isTaggedObject(id). -// -func (a *analysis) taggedValue(obj nodeid) (tDyn types.Type, v nodeid, indirect bool) { - n := a.nodes[obj] - flags := n.obj.flags - if flags&otTagged == 0 { - panic(fmt.Sprintf("not a tagged object: n%d", obj)) - } - return n.typ, obj + 1, flags&otIndirect != 0 -} - -// funcParams returns the first node of the params (P) block of the -// function whose object node (obj.flags&otFunction) is id. -// -func (a *analysis) funcParams(id nodeid) nodeid { - n := a.nodes[id] - if n.obj == nil || n.obj.flags&otFunction == 0 { - panic(fmt.Sprintf("funcParams(n%d): not a function object block", id)) - } - return id + 1 -} - -// funcResults returns the first node of the results (R) block of the -// function whose object node (obj.flags&otFunction) is id. -// -func (a *analysis) funcResults(id nodeid) nodeid { - n := a.nodes[id] - if n.obj == nil || n.obj.flags&otFunction == 0 { - panic(fmt.Sprintf("funcResults(n%d): not a function object block", id)) - } - sig := n.typ.(*types.Signature) - id += 1 + nodeid(a.sizeof(sig.Params())) - if sig.Recv() != nil { - id += nodeid(a.sizeof(sig.Recv().Type())) - } - return id -} - -// ---------- Constraint creation ---------- - -// copy creates a constraint of the form dst = src. -// sizeof is the width (in logical fields) of the copied type. -// -func (a *analysis) copy(dst, src nodeid, sizeof uint32) { - if src == dst || sizeof == 0 { - return // trivial - } - if src == 0 || dst == 0 { - panic(fmt.Sprintf("ill-typed copy dst=n%d src=n%d", dst, src)) - } - for i := uint32(0); i < sizeof; i++ { - a.addConstraint(©Constraint{dst, src}) - src++ - dst++ - } -} - -// addressOf creates a constraint of the form id = &obj. -// T is the type of the address. -func (a *analysis) addressOf(T types.Type, id, obj nodeid) { - if id == 0 { - panic("addressOf: zero id") - } - if obj == 0 { - panic("addressOf: zero obj") - } - if a.shouldTrack(T) { - a.addConstraint(&addrConstraint{id, obj}) - } -} - -// load creates a load constraint of the form dst = src[offset]. -// offset is the pointer offset in logical fields. -// sizeof is the width (in logical fields) of the loaded type. -// -func (a *analysis) load(dst, src nodeid, offset, sizeof uint32) { - if dst == 0 { - return // load of non-pointerlike value - } - if src == 0 && dst == 0 { - return // non-pointerlike operation - } - if src == 0 || dst == 0 { - panic(fmt.Sprintf("ill-typed load dst=n%d src=n%d", dst, src)) - } - for i := uint32(0); i < sizeof; i++ { - a.addConstraint(&loadConstraint{offset, dst, src}) - offset++ - dst++ - } -} - -// store creates a store constraint of the form dst[offset] = src. -// offset is the pointer offset in logical fields. -// sizeof is the width (in logical fields) of the stored type. -// -func (a *analysis) store(dst, src nodeid, offset uint32, sizeof uint32) { - if src == 0 { - return // store of non-pointerlike value - } - if src == 0 && dst == 0 { - return // non-pointerlike operation - } - if src == 0 || dst == 0 { - panic(fmt.Sprintf("ill-typed store dst=n%d src=n%d", dst, src)) - } - for i := uint32(0); i < sizeof; i++ { - a.addConstraint(&storeConstraint{offset, dst, src}) - offset++ - src++ - } -} - -// offsetAddr creates an offsetAddr constraint of the form dst = &src.#offset. -// offset is the field offset in logical fields. -// T is the type of the address. -// -func (a *analysis) offsetAddr(T types.Type, dst, src nodeid, offset uint32) { - if !a.shouldTrack(T) { - return - } - if offset == 0 { - // Simplify dst = &src->f0 - // to dst = src - // (NB: this optimisation is defeated by the identity - // field prepended to struct and array objects.) - a.copy(dst, src, 1) - } else { - a.addConstraint(&offsetAddrConstraint{offset, dst, src}) - } -} - -// typeAssert creates a typeFilter or untag constraint of the form dst = src.(T): -// typeFilter for an interface, untag for a concrete type. -// The exact flag is specified as for untagConstraint. -// -func (a *analysis) typeAssert(T types.Type, dst, src nodeid, exact bool) { - if isInterface(T) { - a.addConstraint(&typeFilterConstraint{T, dst, src}) - } else { - a.addConstraint(&untagConstraint{T, dst, src, exact}) - } -} - -// addConstraint adds c to the constraint set. -func (a *analysis) addConstraint(c constraint) { - a.constraints = append(a.constraints, c) - if a.log != nil { - fmt.Fprintf(a.log, "\t%s\n", c) - } -} - -// copyElems generates load/store constraints for *dst = *src, -// where src and dst are slices or *arrays. -// -func (a *analysis) copyElems(cgn *cgnode, typ types.Type, dst, src ssa.Value) { - tmp := a.addNodes(typ, "copy") - sz := a.sizeof(typ) - a.genLoad(cgn, tmp, src, 1, sz) - a.genStore(cgn, dst, tmp, 1, sz) -} - -// ---------- Constraint generation ---------- - -// genConv generates constraints for the conversion operation conv. -func (a *analysis) genConv(conv *ssa.Convert, cgn *cgnode) { - res := a.valueNode(conv) - if res == 0 { - return // result is non-pointerlike - } - - tSrc := conv.X.Type() - tDst := conv.Type() - - switch utSrc := tSrc.Underlying().(type) { - case *types.Slice: - // []byte/[]rune -> string? - return - - case *types.Pointer: - // *T -> unsafe.Pointer? - if tDst.Underlying() == tUnsafePtr { - return // we don't model unsafe aliasing (unsound) - } - - case *types.Basic: - switch tDst.Underlying().(type) { - case *types.Pointer: - // Treat unsafe.Pointer->*T conversions like - // new(T) and create an unaliased object. - if utSrc == tUnsafePtr { - obj := a.addNodes(mustDeref(tDst), "unsafe.Pointer conversion") - a.endObject(obj, cgn, conv) - a.addressOf(tDst, res, obj) - return - } - - case *types.Slice: - // string -> []byte/[]rune (or named aliases)? - if utSrc.Info()&types.IsString != 0 { - obj := a.addNodes(sliceToArray(tDst), "convert") - a.endObject(obj, cgn, conv) - a.addressOf(tDst, res, obj) - return - } - - case *types.Basic: - // All basic-to-basic type conversions are no-ops. - // This includes uintptr<->unsafe.Pointer conversions, - // which we (unsoundly) ignore. - return - } - } - - panic(fmt.Sprintf("illegal *ssa.Convert %s -> %s: %s", tSrc, tDst, conv.Parent())) -} - -// genAppend generates constraints for a call to append. -func (a *analysis) genAppend(instr *ssa.Call, cgn *cgnode) { - // Consider z = append(x, y). y is optional. - // This may allocate a new [1]T array; call its object w. - // We get the following constraints: - // z = x - // z = &w - // *z = *y - - x := instr.Call.Args[0] - - z := instr - a.copy(a.valueNode(z), a.valueNode(x), 1) // z = x - - if len(instr.Call.Args) == 1 { - return // no allocation for z = append(x) or _ = append(x). - } - - // TODO(adonovan): test append([]byte, ...string) []byte. - - y := instr.Call.Args[1] - tArray := sliceToArray(instr.Call.Args[0].Type()) - - var w nodeid - w = a.nextNode() - a.addNodes(tArray, "append") - a.endObject(w, cgn, instr) - - a.copyElems(cgn, tArray.Elem(), z, y) // *z = *y - a.addressOf(instr.Type(), a.valueNode(z), w) // z = &w -} - -// genBuiltinCall generates contraints for a call to a built-in. -func (a *analysis) genBuiltinCall(instr ssa.CallInstruction, cgn *cgnode) { - call := instr.Common() - switch call.Value.(*ssa.Builtin).Name() { - case "append": - // Safe cast: append cannot appear in a go or defer statement. - a.genAppend(instr.(*ssa.Call), cgn) - - case "copy": - tElem := call.Args[0].Type().Underlying().(*types.Slice).Elem() - a.copyElems(cgn, tElem, call.Args[0], call.Args[1]) - - case "panic": - a.copy(a.panicNode, a.valueNode(call.Args[0]), 1) - - case "recover": - if v := instr.Value(); v != nil { - a.copy(a.valueNode(v), a.panicNode, 1) - } - - case "print": - // In the tests, the probe might be the sole reference - // to its arg, so make sure we create nodes for it. - if len(call.Args) > 0 { - a.valueNode(call.Args[0]) - } - - case "ssa:wrapnilchk": - a.copy(a.valueNode(instr.Value()), a.valueNode(call.Args[0]), 1) - - default: - // No-ops: close len cap real imag complex print println delete. - } -} - -// shouldUseContext defines the context-sensitivity policy. It -// returns true if we should analyse all static calls to fn anew. -// -// Obviously this interface rather limits how much freedom we have to -// choose a policy. The current policy, rather arbitrarily, is true -// for intrinsics and accessor methods (actually: short, single-block, -// call-free functions). This is just a starting point. -// -func (a *analysis) shouldUseContext(fn *ssa.Function) bool { - if a.findIntrinsic(fn) != nil { - return true // treat intrinsics context-sensitively - } - if len(fn.Blocks) != 1 { - return false // too expensive - } - blk := fn.Blocks[0] - if len(blk.Instrs) > 10 { - return false // too expensive - } - if fn.Synthetic != "" && (fn.Pkg == nil || fn != fn.Pkg.Func("init")) { - return true // treat synthetic wrappers context-sensitively - } - for _, instr := range blk.Instrs { - switch instr := instr.(type) { - case ssa.CallInstruction: - // Disallow function calls (except to built-ins) - // because of the danger of unbounded recursion. - if _, ok := instr.Common().Value.(*ssa.Builtin); !ok { - return false - } - } - } - return true -} - -// genStaticCall generates constraints for a statically dispatched function call. -func (a *analysis) genStaticCall(caller *cgnode, site *callsite, call *ssa.CallCommon, result nodeid) { - fn := call.StaticCallee() - - // Special cases for inlined intrinsics. - switch fn { - case a.runtimeSetFinalizer: - // Inline SetFinalizer so the call appears direct. - site.targets = a.addOneNode(tInvalid, "SetFinalizer.targets", nil) - a.addConstraint(&runtimeSetFinalizerConstraint{ - targets: site.targets, - x: a.valueNode(call.Args[0]), - f: a.valueNode(call.Args[1]), - }) - return - - case a.reflectValueCall: - // Inline (reflect.Value).Call so the call appears direct. - dotdotdot := false - ret := reflectCallImpl(a, caller, site, a.valueNode(call.Args[0]), a.valueNode(call.Args[1]), dotdotdot) - if result != 0 { - a.addressOf(fn.Signature.Results().At(0).Type(), result, ret) - } - return - } - - // Ascertain the context (contour/cgnode) for a particular call. - var obj nodeid - if a.shouldUseContext(fn) { - obj = a.makeFunctionObject(fn, site) // new contour - } else { - obj = a.objectNode(nil, fn) // shared contour - } - a.callEdge(caller, site, obj) - - sig := call.Signature() - - // Copy receiver, if any. - params := a.funcParams(obj) - args := call.Args - if sig.Recv() != nil { - sz := a.sizeof(sig.Recv().Type()) - a.copy(params, a.valueNode(args[0]), sz) - params += nodeid(sz) - args = args[1:] - } - - // Copy actual parameters into formal params block. - // Must loop, since the actuals aren't contiguous. - for i, arg := range args { - sz := a.sizeof(sig.Params().At(i).Type()) - a.copy(params, a.valueNode(arg), sz) - params += nodeid(sz) - } - - // Copy formal results block to actual result. - if result != 0 { - a.copy(result, a.funcResults(obj), a.sizeof(sig.Results())) - } -} - -// genDynamicCall generates constraints for a dynamic function call. -func (a *analysis) genDynamicCall(caller *cgnode, site *callsite, call *ssa.CallCommon, result nodeid) { - // pts(targets) will be the set of possible call targets. - site.targets = a.valueNode(call.Value) - - // We add dynamic closure rules that store the arguments into - // the P-block and load the results from the R-block of each - // function discovered in pts(targets). - - sig := call.Signature() - var offset uint32 = 1 // P/R block starts at offset 1 - for i, arg := range call.Args { - sz := a.sizeof(sig.Params().At(i).Type()) - a.genStore(caller, call.Value, a.valueNode(arg), offset, sz) - offset += sz - } - if result != 0 { - a.genLoad(caller, result, call.Value, offset, a.sizeof(sig.Results())) - } -} - -// genInvoke generates constraints for a dynamic method invocation. -func (a *analysis) genInvoke(caller *cgnode, site *callsite, call *ssa.CallCommon, result nodeid) { - if call.Value.Type() == a.reflectType { - a.genInvokeReflectType(caller, site, call, result) - return - } - - sig := call.Signature() - - // Allocate a contiguous targets/params/results block for this call. - block := a.nextNode() - // pts(targets) will be the set of possible call targets - site.targets = a.addOneNode(sig, "invoke.targets", nil) - p := a.addNodes(sig.Params(), "invoke.params") - r := a.addNodes(sig.Results(), "invoke.results") - - // Copy the actual parameters into the call's params block. - for i, n := 0, sig.Params().Len(); i < n; i++ { - sz := a.sizeof(sig.Params().At(i).Type()) - a.copy(p, a.valueNode(call.Args[i]), sz) - p += nodeid(sz) - } - // Copy the call's results block to the actual results. - if result != 0 { - a.copy(result, r, a.sizeof(sig.Results())) - } - - // We add a dynamic invoke constraint that will connect the - // caller's and the callee's P/R blocks for each discovered - // call target. - a.addConstraint(&invokeConstraint{call.Method, a.valueNode(call.Value), block}) -} - -// genInvokeReflectType is a specialization of genInvoke where the -// receiver type is a reflect.Type, under the assumption that there -// can be at most one implementation of this interface, *reflect.rtype. -// -// (Though this may appear to be an instance of a pattern---method -// calls on interfaces known to have exactly one implementation---in -// practice it occurs rarely, so we special case for reflect.Type.) -// -// In effect we treat this: -// var rt reflect.Type = ... -// rt.F() -// as this: -// rt.(*reflect.rtype).F() -// -func (a *analysis) genInvokeReflectType(caller *cgnode, site *callsite, call *ssa.CallCommon, result nodeid) { - // Unpack receiver into rtype - rtype := a.addOneNode(a.reflectRtypePtr, "rtype.recv", nil) - recv := a.valueNode(call.Value) - a.typeAssert(a.reflectRtypePtr, rtype, recv, true) - - // Look up the concrete method. - fn := a.prog.LookupMethod(a.reflectRtypePtr, call.Method.Pkg(), call.Method.Name()) - - obj := a.makeFunctionObject(fn, site) // new contour for this call - a.callEdge(caller, site, obj) - - // From now on, it's essentially a static call, but little is - // gained by factoring together the code for both cases. - - sig := fn.Signature // concrete method - targets := a.addOneNode(sig, "call.targets", nil) - a.addressOf(sig, targets, obj) // (a singleton) - - // Copy receiver. - params := a.funcParams(obj) - a.copy(params, rtype, 1) - params++ - - // Copy actual parameters into formal P-block. - // Must loop, since the actuals aren't contiguous. - for i, arg := range call.Args { - sz := a.sizeof(sig.Params().At(i).Type()) - a.copy(params, a.valueNode(arg), sz) - params += nodeid(sz) - } - - // Copy formal R-block to actual R-block. - if result != 0 { - a.copy(result, a.funcResults(obj), a.sizeof(sig.Results())) - } -} - -// genCall generates constraints for call instruction instr. -func (a *analysis) genCall(caller *cgnode, instr ssa.CallInstruction) { - call := instr.Common() - - // Intrinsic implementations of built-in functions. - if _, ok := call.Value.(*ssa.Builtin); ok { - a.genBuiltinCall(instr, caller) - return - } - - var result nodeid - if v := instr.Value(); v != nil { - result = a.valueNode(v) - } - - site := &callsite{instr: instr} - if call.StaticCallee() != nil { - a.genStaticCall(caller, site, call, result) - } else if call.IsInvoke() { - a.genInvoke(caller, site, call, result) - } else { - a.genDynamicCall(caller, site, call, result) - } - - caller.sites = append(caller.sites, site) - - if a.log != nil { - // TODO(adonovan): debug: improve log message. - fmt.Fprintf(a.log, "\t%s to targets %s from %s\n", site, site.targets, caller) - } -} - -// objectNode returns the object to which v points, if known. -// In other words, if the points-to set of v is a singleton, it -// returns the sole label, zero otherwise. -// -// We exploit this information to make the generated constraints less -// dynamic. For example, a complex load constraint can be replaced by -// a simple copy constraint when the sole destination is known a priori. -// -// Some SSA instructions always have singletons points-to sets: -// Alloc, Function, Global, MakeChan, MakeClosure, MakeInterface, MakeMap, MakeSlice. -// Others may be singletons depending on their operands: -// FreeVar, Const, Convert, FieldAddr, IndexAddr, Slice. -// -// Idempotent. Objects are created as needed, possibly via recursion -// down the SSA value graph, e.g IndexAddr(FieldAddr(Alloc))). -// -func (a *analysis) objectNode(cgn *cgnode, v ssa.Value) nodeid { - switch v.(type) { - case *ssa.Global, *ssa.Function, *ssa.Const, *ssa.FreeVar: - // Global object. - obj, ok := a.globalobj[v] - if !ok { - switch v := v.(type) { - case *ssa.Global: - obj = a.nextNode() - a.addNodes(mustDeref(v.Type()), "global") - a.endObject(obj, nil, v) - - case *ssa.Function: - obj = a.makeFunctionObject(v, nil) - - case *ssa.Const: - // not addressable - - case *ssa.FreeVar: - // not addressable - } - - if a.log != nil { - fmt.Fprintf(a.log, "\tglobalobj[%s] = n%d\n", v, obj) - } - a.globalobj[v] = obj - } - return obj - } - - // Local object. - obj, ok := a.localobj[v] - if !ok { - switch v := v.(type) { - case *ssa.Alloc: - obj = a.nextNode() - a.addNodes(mustDeref(v.Type()), "alloc") - a.endObject(obj, cgn, v) - - case *ssa.MakeSlice: - obj = a.nextNode() - a.addNodes(sliceToArray(v.Type()), "makeslice") - a.endObject(obj, cgn, v) - - case *ssa.MakeChan: - obj = a.nextNode() - a.addNodes(v.Type().Underlying().(*types.Chan).Elem(), "makechan") - a.endObject(obj, cgn, v) - - case *ssa.MakeMap: - obj = a.nextNode() - tmap := v.Type().Underlying().(*types.Map) - a.addNodes(tmap.Key(), "makemap.key") - elem := a.addNodes(tmap.Elem(), "makemap.value") - - // To update the value field, MapUpdate - // generates store-with-offset constraints which - // the presolver can't model, so we must mark - // those nodes indirect. - for id, end := elem, elem+nodeid(a.sizeof(tmap.Elem())); id < end; id++ { - a.mapValues = append(a.mapValues, id) - } - a.endObject(obj, cgn, v) - - case *ssa.MakeInterface: - tConc := v.X.Type() - obj = a.makeTagged(tConc, cgn, v) - - // Copy the value into it, if nontrivial. - if x := a.valueNode(v.X); x != 0 { - a.copy(obj+1, x, a.sizeof(tConc)) - } - - case *ssa.FieldAddr: - if xobj := a.objectNode(cgn, v.X); xobj != 0 { - obj = xobj + nodeid(a.offsetOf(mustDeref(v.X.Type()), v.Field)) - } - - case *ssa.IndexAddr: - if xobj := a.objectNode(cgn, v.X); xobj != 0 { - obj = xobj + 1 - } - - case *ssa.Slice: - obj = a.objectNode(cgn, v.X) - - case *ssa.Convert: - // TODO(adonovan): opt: handle these cases too: - // - unsafe.Pointer->*T conversion acts like Alloc - // - string->[]byte/[]rune conversion acts like MakeSlice - } - - if a.log != nil { - fmt.Fprintf(a.log, "\tlocalobj[%s] = n%d\n", v.Name(), obj) - } - a.localobj[v] = obj - } - return obj -} - -// genLoad generates constraints for result = *(ptr + val). -func (a *analysis) genLoad(cgn *cgnode, result nodeid, ptr ssa.Value, offset, sizeof uint32) { - if obj := a.objectNode(cgn, ptr); obj != 0 { - // Pre-apply loadConstraint.solve(). - a.copy(result, obj+nodeid(offset), sizeof) - } else { - a.load(result, a.valueNode(ptr), offset, sizeof) - } -} - -// genOffsetAddr generates constraints for a 'v=ptr.field' (FieldAddr) -// or 'v=ptr[*]' (IndexAddr) instruction v. -func (a *analysis) genOffsetAddr(cgn *cgnode, v ssa.Value, ptr nodeid, offset uint32) { - dst := a.valueNode(v) - if obj := a.objectNode(cgn, v); obj != 0 { - // Pre-apply offsetAddrConstraint.solve(). - a.addressOf(v.Type(), dst, obj) - } else { - a.offsetAddr(v.Type(), dst, ptr, offset) - } -} - -// genStore generates constraints for *(ptr + offset) = val. -func (a *analysis) genStore(cgn *cgnode, ptr ssa.Value, val nodeid, offset, sizeof uint32) { - if obj := a.objectNode(cgn, ptr); obj != 0 { - // Pre-apply storeConstraint.solve(). - a.copy(obj+nodeid(offset), val, sizeof) - } else { - a.store(a.valueNode(ptr), val, offset, sizeof) - } -} - -// genInstr generates constraints for instruction instr in context cgn. -func (a *analysis) genInstr(cgn *cgnode, instr ssa.Instruction) { - if a.log != nil { - var prefix string - if val, ok := instr.(ssa.Value); ok { - prefix = val.Name() + " = " - } - fmt.Fprintf(a.log, "; %s%s\n", prefix, instr) - } - - switch instr := instr.(type) { - case *ssa.DebugRef: - // no-op. - - case *ssa.UnOp: - switch instr.Op { - case token.ARROW: // <-x - // We can ignore instr.CommaOk because the node we're - // altering is always at zero offset relative to instr - tElem := instr.X.Type().Underlying().(*types.Chan).Elem() - a.genLoad(cgn, a.valueNode(instr), instr.X, 0, a.sizeof(tElem)) - - case token.MUL: // *x - a.genLoad(cgn, a.valueNode(instr), instr.X, 0, a.sizeof(instr.Type())) - - default: - // NOT, SUB, XOR: no-op. - } - - case *ssa.BinOp: - // All no-ops. - - case ssa.CallInstruction: // *ssa.Call, *ssa.Go, *ssa.Defer - a.genCall(cgn, instr) - - case *ssa.ChangeType: - a.copy(a.valueNode(instr), a.valueNode(instr.X), 1) - - case *ssa.Convert: - a.genConv(instr, cgn) - - case *ssa.Extract: - a.copy(a.valueNode(instr), - a.valueOffsetNode(instr.Tuple, instr.Index), - a.sizeof(instr.Type())) - - case *ssa.FieldAddr: - a.genOffsetAddr(cgn, instr, a.valueNode(instr.X), - a.offsetOf(mustDeref(instr.X.Type()), instr.Field)) - - case *ssa.IndexAddr: - a.genOffsetAddr(cgn, instr, a.valueNode(instr.X), 1) - - case *ssa.Field: - a.copy(a.valueNode(instr), - a.valueOffsetNode(instr.X, instr.Field), - a.sizeof(instr.Type())) - - case *ssa.Index: - a.copy(a.valueNode(instr), 1+a.valueNode(instr.X), a.sizeof(instr.Type())) - - case *ssa.Select: - recv := a.valueOffsetNode(instr, 2) // instr : (index, recvOk, recv0, ... recv_n-1) - for _, st := range instr.States { - elemSize := a.sizeof(st.Chan.Type().Underlying().(*types.Chan).Elem()) - switch st.Dir { - case types.RecvOnly: - a.genLoad(cgn, recv, st.Chan, 0, elemSize) - recv += nodeid(elemSize) - - case types.SendOnly: - a.genStore(cgn, st.Chan, a.valueNode(st.Send), 0, elemSize) - } - } - - case *ssa.Return: - results := a.funcResults(cgn.obj) - for _, r := range instr.Results { - sz := a.sizeof(r.Type()) - a.copy(results, a.valueNode(r), sz) - results += nodeid(sz) - } - - case *ssa.Send: - a.genStore(cgn, instr.Chan, a.valueNode(instr.X), 0, a.sizeof(instr.X.Type())) - - case *ssa.Store: - a.genStore(cgn, instr.Addr, a.valueNode(instr.Val), 0, a.sizeof(instr.Val.Type())) - - case *ssa.Alloc, *ssa.MakeSlice, *ssa.MakeChan, *ssa.MakeMap, *ssa.MakeInterface: - v := instr.(ssa.Value) - a.addressOf(v.Type(), a.valueNode(v), a.objectNode(cgn, v)) - - case *ssa.ChangeInterface: - a.copy(a.valueNode(instr), a.valueNode(instr.X), 1) - - case *ssa.TypeAssert: - a.typeAssert(instr.AssertedType, a.valueNode(instr), a.valueNode(instr.X), true) - - case *ssa.Slice: - a.copy(a.valueNode(instr), a.valueNode(instr.X), 1) - - case *ssa.If, *ssa.Jump: - // no-op. - - case *ssa.Phi: - sz := a.sizeof(instr.Type()) - for _, e := range instr.Edges { - a.copy(a.valueNode(instr), a.valueNode(e), sz) - } - - case *ssa.MakeClosure: - fn := instr.Fn.(*ssa.Function) - a.copy(a.valueNode(instr), a.valueNode(fn), 1) - // Free variables are treated like global variables. - for i, b := range instr.Bindings { - a.copy(a.valueNode(fn.FreeVars[i]), a.valueNode(b), a.sizeof(b.Type())) - } - - case *ssa.RunDefers: - // The analysis is flow insensitive, so we just "call" - // defers as we encounter them. - - case *ssa.Range: - // Do nothing. Next{Iter: *ssa.Range} handles this case. - - case *ssa.Next: - if !instr.IsString { // map - // Assumes that Next is always directly applied to a Range result. - theMap := instr.Iter.(*ssa.Range).X - tMap := theMap.Type().Underlying().(*types.Map) - ksize := a.sizeof(tMap.Key()) - vsize := a.sizeof(tMap.Elem()) - - // Load from the map's (k,v) into the tuple's (ok, k, v). - a.genLoad(cgn, a.valueNode(instr)+1, theMap, 0, ksize+vsize) - } - - case *ssa.Lookup: - if tMap, ok := instr.X.Type().Underlying().(*types.Map); ok { - // CommaOk can be ignored: field 0 is a no-op. - ksize := a.sizeof(tMap.Key()) - vsize := a.sizeof(tMap.Elem()) - a.genLoad(cgn, a.valueNode(instr), instr.X, ksize, vsize) - } - - case *ssa.MapUpdate: - tmap := instr.Map.Type().Underlying().(*types.Map) - ksize := a.sizeof(tmap.Key()) - vsize := a.sizeof(tmap.Elem()) - a.genStore(cgn, instr.Map, a.valueNode(instr.Key), 0, ksize) - a.genStore(cgn, instr.Map, a.valueNode(instr.Value), ksize, vsize) - - case *ssa.Panic: - a.copy(a.panicNode, a.valueNode(instr.X), 1) - - default: - panic(fmt.Sprintf("unimplemented: %T", instr)) - } -} - -func (a *analysis) makeCGNode(fn *ssa.Function, obj nodeid, callersite *callsite) *cgnode { - cgn := &cgnode{fn: fn, obj: obj, callersite: callersite} - a.cgnodes = append(a.cgnodes, cgn) - return cgn -} - -// genRootCalls generates the synthetic root of the callgraph and the -// initial calls from it to the analysis scope, such as main, a test -// or a library. -// -func (a *analysis) genRootCalls() *cgnode { - r := a.prog.NewFunction("", new(types.Signature), "root of callgraph") - root := a.makeCGNode(r, 0, nil) - - // TODO(adonovan): make an ssa utility to construct an actual - // root function so we don't need to special-case site-less - // call edges. - - // For each main package, call main.init(), main.main(). - for _, mainPkg := range a.config.Mains { - main := mainPkg.Func("main") - if main == nil { - panic(fmt.Sprintf("%s has no main function", mainPkg)) - } - - targets := a.addOneNode(main.Signature, "root.targets", nil) - site := &callsite{targets: targets} - root.sites = append(root.sites, site) - for _, fn := range [2]*ssa.Function{mainPkg.Func("init"), main} { - if a.log != nil { - fmt.Fprintf(a.log, "\troot call to %s:\n", fn) - } - a.copy(targets, a.valueNode(fn), 1) - } - } - - return root -} - -// genFunc generates constraints for function fn. -func (a *analysis) genFunc(cgn *cgnode) { - fn := cgn.fn - - impl := a.findIntrinsic(fn) - - if a.log != nil { - fmt.Fprintf(a.log, "\n\n==== Generating constraints for %s, %s\n", cgn, cgn.contour()) - - // Hack: don't display body if intrinsic. - if impl != nil { - fn2 := *cgn.fn // copy - fn2.Locals = nil - fn2.Blocks = nil - fn2.WriteTo(a.log) - } else { - cgn.fn.WriteTo(a.log) - } - } - - if impl != nil { - impl(a, cgn) - return - } - - if fn.Blocks == nil { - // External function with no intrinsic treatment. - // We'll warn about calls to such functions at the end. - return - } - - if a.log != nil { - fmt.Fprintln(a.log, "; Creating nodes for local values") - } - - a.localval = make(map[ssa.Value]nodeid) - a.localobj = make(map[ssa.Value]nodeid) - - // The value nodes for the params are in the func object block. - params := a.funcParams(cgn.obj) - for _, p := range fn.Params { - a.setValueNode(p, params, cgn) - params += nodeid(a.sizeof(p.Type())) - } - - // Free variables have global cardinality: - // the outer function sets them with MakeClosure; - // the inner function accesses them with FreeVar. - // - // TODO(adonovan): treat free vars context-sensitively. - - // Create value nodes for all value instructions - // since SSA may contain forward references. - var space [10]*ssa.Value - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - switch instr := instr.(type) { - case *ssa.Range: - // do nothing: it has a funky type, - // and *ssa.Next does all the work. - - case ssa.Value: - var comment string - if a.log != nil { - comment = instr.Name() - } - id := a.addNodes(instr.Type(), comment) - a.setValueNode(instr, id, cgn) - } - - // Record all address-taken functions (for presolver). - rands := instr.Operands(space[:0]) - if call, ok := instr.(ssa.CallInstruction); ok && !call.Common().IsInvoke() { - // Skip CallCommon.Value in "call" mode. - // TODO(adonovan): fix: relies on unspecified ordering. Specify it. - rands = rands[1:] - } - for _, rand := range rands { - if atf, ok := (*rand).(*ssa.Function); ok { - a.atFuncs[atf] = true - } - } - } - } - - // Generate constraints for instructions. - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - a.genInstr(cgn, instr) - } - } - - a.localval = nil - a.localobj = nil -} - -// genMethodsOf generates nodes and constraints for all methods of type T. -func (a *analysis) genMethodsOf(T types.Type) { - itf := isInterface(T) - - // TODO(adonovan): can we skip this entirely if itf is true? - // I think so, but the answer may depend on reflection. - mset := a.prog.MethodSets.MethodSet(T) - for i, n := 0, mset.Len(); i < n; i++ { - m := a.prog.Method(mset.At(i)) - a.valueNode(m) - - if !itf { - // Methods of concrete types are address-taken functions. - a.atFuncs[m] = true - } - } -} - -// generate generates offline constraints for the entire program. -func (a *analysis) generate() { - start("Constraint generation") - if a.log != nil { - fmt.Fprintln(a.log, "==== Generating constraints") - } - - // Create a dummy node since we use the nodeid 0 for - // non-pointerlike variables. - a.addNodes(tInvalid, "(zero)") - - // Create the global node for panic values. - a.panicNode = a.addNodes(tEface, "panic") - - // Create nodes and constraints for all methods of reflect.rtype. - // (Shared contours are used by dynamic calls to reflect.Type - // methods---typically just String().) - if rtype := a.reflectRtypePtr; rtype != nil { - a.genMethodsOf(rtype) - } - - root := a.genRootCalls() - - if a.config.BuildCallGraph { - a.result.CallGraph = callgraph.New(root.fn) - } - - // Create nodes and constraints for all methods of all types - // that are dynamically accessible via reflection or interfaces. - for _, T := range a.prog.RuntimeTypes() { - a.genMethodsOf(T) - } - - // Generate constraints for entire program. - for len(a.genq) > 0 { - cgn := a.genq[0] - a.genq = a.genq[1:] - a.genFunc(cgn) - } - - // The runtime magically allocates os.Args; so should we. - if os := a.prog.ImportedPackage("os"); os != nil { - // In effect: os.Args = new([1]string)[:] - T := types.NewSlice(types.Typ[types.String]) - obj := a.addNodes(sliceToArray(T), "") - a.endObject(obj, nil, "") - a.addressOf(T, a.objectNode(nil, os.Var("Args")), obj) - } - - // Discard generation state, to avoid confusion after node renumbering. - a.panicNode = 0 - a.globalval = nil - a.localval = nil - a.localobj = nil - - stop("Constraint generation") -} diff --git a/vendor/golang.org/x/tools/go/pointer/hvn.go b/vendor/golang.org/x/tools/go/pointer/hvn.go deleted file mode 100644 index a3ef1f3..0000000 --- a/vendor/golang.org/x/tools/go/pointer/hvn.go +++ /dev/null @@ -1,969 +0,0 @@ -package pointer - -// This file implements Hash-Value Numbering (HVN), a pre-solver -// constraint optimization described in Hardekopf & Lin, SAS'07 (see -// doc.go) that analyses the graph topology to determine which sets of -// variables are "pointer equivalent" (PE), i.e. must have identical -// points-to sets in the solution. -// -// A separate ("offline") graph is constructed. Its nodes are those of -// the main-graph, plus an additional node *X for each pointer node X. -// With this graph we can reason about the unknown points-to set of -// dereferenced pointers. (We do not generalize this to represent -// unknown fields x->f, perhaps because such fields would be numerous, -// though it might be worth an experiment.) -// -// Nodes whose points-to relations are not entirely captured by the -// graph are marked as "indirect": the *X nodes, the parameters of -// address-taken functions (which includes all functions in method -// sets), or nodes updated by the solver rules for reflection, etc. -// -// All addr (y=&x) nodes are initially assigned a pointer-equivalence -// (PE) label equal to x's nodeid in the main graph. (These are the -// only PE labels that are less than len(a.nodes).) -// -// All offsetAddr (y=&x.f) constraints are initially assigned a PE -// label; such labels are memoized, keyed by (x, f), so that equivalent -// nodes y as assigned the same label. -// -// Then we process each strongly connected component (SCC) of the graph -// in topological order, assigning it a PE label based on the set P of -// PE labels that flow to it from its immediate dependencies. -// -// If any node in P is "indirect", the entire SCC is assigned a fresh PE -// label. Otherwise: -// -// |P|=0 if P is empty, all nodes in the SCC are non-pointers (e.g. -// uninitialized variables, or formal params of dead functions) -// and the SCC is assigned the PE label of zero. -// -// |P|=1 if P is a singleton, the SCC is assigned the same label as the -// sole element of P. -// -// |P|>1 if P contains multiple labels, a unique label representing P is -// invented and recorded in an hash table, so that other -// equivalent SCCs may also be assigned this label, akin to -// conventional hash-value numbering in a compiler. -// -// Finally, a renumbering is computed such that each node is replaced by -// the lowest-numbered node with the same PE label. All constraints are -// renumbered, and any resulting duplicates are eliminated. -// -// The only nodes that are not renumbered are the objects x in addr -// (y=&x) constraints, since the ids of these nodes (and fields derived -// from them via offsetAddr rules) are the elements of all points-to -// sets, so they must remain as they are if we want the same solution. -// -// The solverStates (node.solve) for nodes in the same equivalence class -// are linked together so that all nodes in the class have the same -// solution. This avoids the need to renumber nodeids buried in -// Queries, cgnodes, etc (like (*analysis).renumber() does) since only -// the solution is needed. -// -// The result of HVN is that the number of distinct nodes and -// constraints is reduced, but the solution is identical (almost---see -// CROSS-CHECK below). In particular, both linear and cyclic chains of -// copies are each replaced by a single node. -// -// Nodes and constraints created "online" (e.g. while solving reflection -// constraints) are not subject to this optimization. -// -// PERFORMANCE -// -// In two benchmarks (oracle and godoc), HVN eliminates about two thirds -// of nodes, the majority accounted for by non-pointers: nodes of -// non-pointer type, pointers that remain nil, formal parameters of dead -// functions, nodes of untracked types, etc. It also reduces the number -// of constraints, also by about two thirds, and the solving time by -// 30--42%, although we must pay about 15% for the running time of HVN -// itself. The benefit is greater for larger applications. -// -// There are many possible optimizations to improve the performance: -// * Use fewer than 1:1 onodes to main graph nodes: many of the onodes -// we create are not needed. -// * HU (HVN with Union---see paper): coalesce "union" peLabels when -// their expanded-out sets are equal. -// * HR (HVN with deReference---see paper): this will require that we -// apply HVN until fixed point, which may need more bookkeeping of the -// correspondance of main nodes to onodes. -// * Location Equivalence (see paper): have points-to sets contain not -// locations but location-equivalence class labels, each representing -// a set of locations. -// * HVN with field-sensitive ref: model each of the fields of a -// pointer-to-struct. -// -// CROSS-CHECK -// -// To verify the soundness of the optimization, when the -// debugHVNCrossCheck option is enabled, we run the solver twice, once -// before and once after running HVN, dumping the solution to disk, and -// then we compare the results. If they are not identical, the analysis -// panics. -// -// The solution dumped to disk includes only the N*N submatrix of the -// complete solution where N is the number of nodes after generation. -// In other words, we ignore pointer variables and objects created by -// the solver itself, since their numbering depends on the solver order, -// which is affected by the optimization. In any case, that's the only -// part the client cares about. -// -// The cross-check is too strict and may fail spuriously. Although the -// H&L paper describing HVN states that the solutions obtained should be -// identical, this is not the case in practice because HVN can collapse -// cycles involving *p even when pts(p)={}. Consider this example -// distilled from testdata/hello.go: -// -// var x T -// func f(p **T) { -// t0 = *p -// ... -// t1 = φ(t0, &x) -// *p = t1 -// } -// -// If f is dead code, we get: -// unoptimized: pts(p)={} pts(t0)={} pts(t1)={&x} -// optimized: pts(p)={} pts(t0)=pts(t1)=pts(*p)={&x} -// -// It's hard to argue that this is a bug: the result is sound and the -// loss of precision is inconsequential---f is dead code, after all. -// But unfortunately it limits the usefulness of the cross-check since -// failures must be carefully analyzed. Ben Hardekopf suggests (in -// personal correspondence) some approaches to mitigating it: -// -// If there is a node with an HVN points-to set that is a superset -// of the NORM points-to set, then either it's a bug or it's a -// result of this issue. If it's a result of this issue, then in -// the offline constraint graph there should be a REF node inside -// some cycle that reaches this node, and in the NORM solution the -// pointer being dereferenced by that REF node should be the empty -// set. If that isn't true then this is a bug. If it is true, then -// you can further check that in the NORM solution the "extra" -// points-to info in the HVN solution does in fact come from that -// purported cycle (if it doesn't, then this is still a bug). If -// you're doing the further check then you'll need to do it for -// each "extra" points-to element in the HVN points-to set. -// -// There are probably ways to optimize these checks by taking -// advantage of graph properties. For example, extraneous points-to -// info will flow through the graph and end up in many -// nodes. Rather than checking every node with extra info, you -// could probably work out the "origin point" of the extra info and -// just check there. Note that the check in the first bullet is -// looking for soundness bugs, while the check in the second bullet -// is looking for precision bugs; depending on your needs, you may -// care more about one than the other. -// -// which we should evaluate. The cross-check is nonetheless invaluable -// for all but one of the programs in the pointer_test suite. - -import ( - "fmt" - "io" - "reflect" - - "golang.org/x/tools/container/intsets" - "golang.org/x/tools/go/types" -) - -// A peLabel is a pointer-equivalence label: two nodes with the same -// peLabel have identical points-to solutions. -// -// The numbers are allocated consecutively like so: -// 0 not a pointer -// 1..N-1 addrConstraints (equals the constraint's .src field, hence sparse) -// ... offsetAddr constraints -// ... SCCs (with indirect nodes or multiple inputs) -// -// Each PE label denotes a set of pointers containing a single addr, a -// single offsetAddr, or some set of other PE labels. -// -type peLabel int - -type hvn struct { - a *analysis - N int // len(a.nodes) immediately after constraint generation - log io.Writer // (optional) log of HVN lemmas - onodes []*onode // nodes of the offline graph - label peLabel // the next available PE label - hvnLabel map[string]peLabel // hash-value numbering (PE label) for each set of onodeids - stack []onodeid // DFS stack - index int32 // next onode.index, from Tarjan's SCC algorithm - - // For each distinct offsetAddrConstraint (src, offset) pair, - // offsetAddrLabels records a unique PE label >= N. - offsetAddrLabels map[offsetAddr]peLabel -} - -// The index of an node in the offline graph. -// (Currently the first N align with the main nodes, -// but this may change with HRU.) -type onodeid uint32 - -// An onode is a node in the offline constraint graph. -// (Where ambiguous, members of analysis.nodes are referred to as -// "main graph" nodes.) -// -// Edges in the offline constraint graph (edges and implicit) point to -// the source, i.e. against the flow of values: they are dependencies. -// Implicit edges are used for SCC computation, but not for gathering -// incoming labels. -// -type onode struct { - rep onodeid // index of representative of SCC in offline constraint graph - - edges intsets.Sparse // constraint edges X-->Y (this onode is X) - implicit intsets.Sparse // implicit edges *X-->*Y (this onode is X) - peLabels intsets.Sparse // set of peLabels are pointer-equivalent to this one - indirect bool // node has points-to relations not represented in graph - - // Tarjan's SCC algorithm - index, lowlink int32 // Tarjan numbering - scc int32 // -ve => on stack; 0 => unvisited; +ve => node is root of a found SCC -} - -type offsetAddr struct { - ptr nodeid - offset uint32 -} - -// nextLabel issues the next unused pointer-equivalence label. -func (h *hvn) nextLabel() peLabel { - h.label++ - return h.label -} - -// ref(X) returns the index of the onode for *X. -func (h *hvn) ref(id onodeid) onodeid { - return id + onodeid(len(h.a.nodes)) -} - -// hvn computes pointer-equivalence labels (peLabels) using the Hash-based -// Value Numbering (HVN) algorithm described in Hardekopf & Lin, SAS'07. -// -func (a *analysis) hvn() { - start("HVN") - - if a.log != nil { - fmt.Fprintf(a.log, "\n\n==== Pointer equivalence optimization\n\n") - } - - h := hvn{ - a: a, - N: len(a.nodes), - log: a.log, - hvnLabel: make(map[string]peLabel), - offsetAddrLabels: make(map[offsetAddr]peLabel), - } - - if h.log != nil { - fmt.Fprintf(h.log, "\nCreating offline graph nodes...\n") - } - - // Create offline nodes. The first N nodes correspond to main - // graph nodes; the next N are their corresponding ref() nodes. - h.onodes = make([]*onode, 2*h.N) - for id := range a.nodes { - id := onodeid(id) - h.onodes[id] = &onode{} - h.onodes[h.ref(id)] = &onode{indirect: true} - } - - // Each node initially represents just itself. - for id, o := range h.onodes { - o.rep = onodeid(id) - } - - h.markIndirectNodes() - - // Reserve the first N PE labels for addrConstraints. - h.label = peLabel(h.N) - - // Add offline constraint edges. - if h.log != nil { - fmt.Fprintf(h.log, "\nAdding offline graph edges...\n") - } - for _, c := range a.constraints { - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "; %s\n", c) - } - c.presolve(&h) - } - - // Find and collapse SCCs. - if h.log != nil { - fmt.Fprintf(h.log, "\nFinding SCCs...\n") - } - h.index = 1 - for id, o := range h.onodes { - if id > 0 && o.index == 0 { - // Start depth-first search at each unvisited node. - h.visit(onodeid(id)) - } - } - - // Dump the solution - // (NB: somewhat redundant with logging from simplify().) - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\nPointer equivalences:\n") - for id, o := range h.onodes { - if id == 0 { - continue - } - if id == int(h.N) { - fmt.Fprintf(h.log, "---\n") - } - fmt.Fprintf(h.log, "o%d\t", id) - if o.rep != onodeid(id) { - fmt.Fprintf(h.log, "rep=o%d", o.rep) - } else { - fmt.Fprintf(h.log, "p%d", o.peLabels.Min()) - if o.indirect { - fmt.Fprint(h.log, " indirect") - } - } - fmt.Fprintln(h.log) - } - } - - // Simplify the main constraint graph - h.simplify() - - a.showCounts() - - stop("HVN") -} - -// ---- constraint-specific rules ---- - -// dst := &src -func (c *addrConstraint) presolve(h *hvn) { - // Each object (src) is an initial PE label. - label := peLabel(c.src) // label < N - if debugHVNVerbose && h.log != nil { - // duplicate log messages are possible - fmt.Fprintf(h.log, "\tcreate p%d: {&n%d}\n", label, c.src) - } - odst := onodeid(c.dst) - osrc := onodeid(c.src) - - // Assign dst this label. - h.onodes[odst].peLabels.Insert(int(label)) - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d has p%d\n", odst, label) - } - - h.addImplicitEdge(h.ref(odst), osrc) // *dst ~~> src. -} - -// dst = src -func (c *copyConstraint) presolve(h *hvn) { - odst := onodeid(c.dst) - osrc := onodeid(c.src) - h.addEdge(odst, osrc) // dst --> src - h.addImplicitEdge(h.ref(odst), h.ref(osrc)) // *dst ~~> *src -} - -// dst = *src + offset -func (c *loadConstraint) presolve(h *hvn) { - odst := onodeid(c.dst) - osrc := onodeid(c.src) - if c.offset == 0 { - h.addEdge(odst, h.ref(osrc)) // dst --> *src - } else { - // We don't interpret load-with-offset, e.g. results - // of map value lookup, R-block of dynamic call, slice - // copy/append, reflection. - h.markIndirect(odst, "load with offset") - } -} - -// *dst + offset = src -func (c *storeConstraint) presolve(h *hvn) { - odst := onodeid(c.dst) - osrc := onodeid(c.src) - if c.offset == 0 { - h.onodes[h.ref(odst)].edges.Insert(int(osrc)) // *dst --> src - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d --> o%d\n", h.ref(odst), osrc) - } - } else { - // We don't interpret store-with-offset. - // See discussion of soundness at markIndirectNodes. - } -} - -// dst = &src.offset -func (c *offsetAddrConstraint) presolve(h *hvn) { - // Give each distinct (addr, offset) pair a fresh PE label. - // The cache performs CSE, effectively. - key := offsetAddr{c.src, c.offset} - label, ok := h.offsetAddrLabels[key] - if !ok { - label = h.nextLabel() - h.offsetAddrLabels[key] = label - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tcreate p%d: {&n%d.#%d}\n", - label, c.src, c.offset) - } - } - - // Assign dst this label. - h.onodes[c.dst].peLabels.Insert(int(label)) - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d has p%d\n", c.dst, label) - } -} - -// dst = src.(typ) where typ is an interface -func (c *typeFilterConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.dst), "typeFilter result") -} - -// dst = src.(typ) where typ is concrete -func (c *untagConstraint) presolve(h *hvn) { - odst := onodeid(c.dst) - for end := odst + onodeid(h.a.sizeof(c.typ)); odst < end; odst++ { - h.markIndirect(odst, "untag result") - } -} - -// dst = src.method(c.params...) -func (c *invokeConstraint) presolve(h *hvn) { - // All methods are address-taken functions, so - // their formal P-blocks were already marked indirect. - - // Mark the caller's targets node as indirect. - sig := c.method.Type().(*types.Signature) - id := c.params - h.markIndirect(onodeid(c.params), "invoke targets node") - id++ - - id += nodeid(h.a.sizeof(sig.Params())) - - // Mark the caller's R-block as indirect. - end := id + nodeid(h.a.sizeof(sig.Results())) - for id < end { - h.markIndirect(onodeid(id), "invoke R-block") - id++ - } -} - -// markIndirectNodes marks as indirect nodes whose points-to relations -// are not entirely captured by the offline graph, including: -// -// (a) All address-taken nodes (including the following nodes within -// the same object). This is described in the paper. -// -// The most subtle cause of indirect nodes is the generation of -// store-with-offset constraints since the offline graph doesn't -// represent them. A global audit of constraint generation reveals the -// following uses of store-with-offset: -// -// (b) genDynamicCall, for P-blocks of dynamically called functions, -// to which dynamic copy edges will be added to them during -// solving: from storeConstraint for standalone functions, -// and from invokeConstraint for methods. -// All such P-blocks must be marked indirect. -// (c) MakeUpdate, to update the value part of a map object. -// All MakeMap objects's value parts must be marked indirect. -// (d) copyElems, to update the destination array. -// All array elements must be marked indirect. -// -// Not all indirect marking happens here. ref() nodes are marked -// indirect at construction, and each constraint's presolve() method may -// mark additional nodes. -// -func (h *hvn) markIndirectNodes() { - // (a) all address-taken nodes, plus all nodes following them - // within the same object, since these may be indirectly - // stored or address-taken. - for _, c := range h.a.constraints { - if c, ok := c.(*addrConstraint); ok { - start := h.a.enclosingObj(c.src) - end := start + nodeid(h.a.nodes[start].obj.size) - for id := c.src; id < end; id++ { - h.markIndirect(onodeid(id), "A-T object") - } - } - } - - // (b) P-blocks of all address-taken functions. - for id := 0; id < h.N; id++ { - obj := h.a.nodes[id].obj - - // TODO(adonovan): opt: if obj.cgn.fn is a method and - // obj.cgn is not its shared contour, this is an - // "inlined" static method call. We needn't consider it - // address-taken since no invokeConstraint will affect it. - - if obj != nil && obj.flags&otFunction != 0 && h.a.atFuncs[obj.cgn.fn] { - // address-taken function - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "n%d is address-taken: %s\n", id, obj.cgn.fn) - } - h.markIndirect(onodeid(id), "A-T func identity") - id++ - sig := obj.cgn.fn.Signature - psize := h.a.sizeof(sig.Params()) - if sig.Recv() != nil { - psize += h.a.sizeof(sig.Recv().Type()) - } - for end := id + int(psize); id < end; id++ { - h.markIndirect(onodeid(id), "A-T func P-block") - } - id-- - continue - } - } - - // (c) all map objects' value fields. - for _, id := range h.a.mapValues { - h.markIndirect(onodeid(id), "makemap.value") - } - - // (d) all array element objects. - // TODO(adonovan): opt: can we do better? - for id := 0; id < h.N; id++ { - // Identity node for an object of array type? - if tArray, ok := h.a.nodes[id].typ.(*types.Array); ok { - // Mark the array element nodes indirect. - // (Skip past the identity field.) - for _ = range h.a.flatten(tArray.Elem()) { - id++ - h.markIndirect(onodeid(id), "array elem") - } - } - } -} - -func (h *hvn) markIndirect(oid onodeid, comment string) { - h.onodes[oid].indirect = true - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d is indirect: %s\n", oid, comment) - } -} - -// Adds an edge dst-->src. -// Note the unusual convention: edges are dependency (contraflow) edges. -func (h *hvn) addEdge(odst, osrc onodeid) { - h.onodes[odst].edges.Insert(int(osrc)) - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d --> o%d\n", odst, osrc) - } -} - -func (h *hvn) addImplicitEdge(odst, osrc onodeid) { - h.onodes[odst].implicit.Insert(int(osrc)) - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d ~~> o%d\n", odst, osrc) - } -} - -// visit implements the depth-first search of Tarjan's SCC algorithm. -// Precondition: x is canonical. -func (h *hvn) visit(x onodeid) { - h.checkCanonical(x) - xo := h.onodes[x] - xo.index = h.index - xo.lowlink = h.index - h.index++ - - h.stack = append(h.stack, x) // push - assert(xo.scc == 0, "node revisited") - xo.scc = -1 - - var deps []int - deps = xo.edges.AppendTo(deps) - deps = xo.implicit.AppendTo(deps) - - for _, y := range deps { - // Loop invariant: x is canonical. - - y := h.find(onodeid(y)) - - if x == y { - continue // nodes already coalesced - } - - xo := h.onodes[x] - yo := h.onodes[y] - - switch { - case yo.scc > 0: - // y is already a collapsed SCC - - case yo.scc < 0: - // y is on the stack, and thus in the current SCC. - if yo.index < xo.lowlink { - xo.lowlink = yo.index - } - - default: - // y is unvisited; visit it now. - h.visit(y) - // Note: x and y are now non-canonical. - - x = h.find(onodeid(x)) - - if yo.lowlink < xo.lowlink { - xo.lowlink = yo.lowlink - } - } - } - h.checkCanonical(x) - - // Is x the root of an SCC? - if xo.lowlink == xo.index { - // Coalesce all nodes in the SCC. - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "scc o%d\n", x) - } - for { - // Pop y from stack. - i := len(h.stack) - 1 - y := h.stack[i] - h.stack = h.stack[:i] - - h.checkCanonical(x) - xo := h.onodes[x] - h.checkCanonical(y) - yo := h.onodes[y] - - if xo == yo { - // SCC is complete. - xo.scc = 1 - h.labelSCC(x) - break - } - h.coalesce(x, y) - } - } -} - -// Precondition: x is canonical. -func (h *hvn) labelSCC(x onodeid) { - h.checkCanonical(x) - xo := h.onodes[x] - xpe := &xo.peLabels - - // All indirect nodes get new labels. - if xo.indirect { - label := h.nextLabel() - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tcreate p%d: indirect SCC\n", label) - fmt.Fprintf(h.log, "\to%d has p%d\n", x, label) - } - - // Remove pre-labeling, in case a direct pre-labeled node was - // merged with an indirect one. - xpe.Clear() - xpe.Insert(int(label)) - - return - } - - // Invariant: all peLabels sets are non-empty. - // Those that are logically empty contain zero as their sole element. - // No other sets contains zero. - - // Find all labels coming in to the coalesced SCC node. - for _, y := range xo.edges.AppendTo(nil) { - y := h.find(onodeid(y)) - if y == x { - continue // already coalesced - } - ype := &h.onodes[y].peLabels - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tedge from o%d = %s\n", y, ype) - } - - if ype.IsEmpty() { - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tnode has no PE label\n") - } - } - assert(!ype.IsEmpty(), "incoming node has no PE label") - - if ype.Has(0) { - // {0} represents a non-pointer. - assert(ype.Len() == 1, "PE set contains {0, ...}") - } else { - xpe.UnionWith(ype) - } - } - - switch xpe.Len() { - case 0: - // SCC has no incoming non-zero PE labels: it is a non-pointer. - xpe.Insert(0) - - case 1: - // already a singleton - - default: - // SCC has multiple incoming non-zero PE labels. - // Find the canonical label representing this set. - // We use String() as a fingerprint consistent with Equals(). - key := xpe.String() - label, ok := h.hvnLabel[key] - if !ok { - label = h.nextLabel() - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tcreate p%d: union %s\n", label, xpe.String()) - } - h.hvnLabel[key] = label - } - xpe.Clear() - xpe.Insert(int(label)) - } - - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\to%d has p%d\n", x, xpe.Min()) - } -} - -// coalesce combines two nodes in the offline constraint graph. -// Precondition: x and y are canonical. -func (h *hvn) coalesce(x, y onodeid) { - xo := h.onodes[x] - yo := h.onodes[y] - - // x becomes y's canonical representative. - yo.rep = x - - if debugHVNVerbose && h.log != nil { - fmt.Fprintf(h.log, "\tcoalesce o%d into o%d\n", y, x) - } - - // x accumulates y's edges. - xo.edges.UnionWith(&yo.edges) - yo.edges.Clear() - - // x accumulates y's implicit edges. - xo.implicit.UnionWith(&yo.implicit) - yo.implicit.Clear() - - // x accumulates y's pointer-equivalence labels. - xo.peLabels.UnionWith(&yo.peLabels) - yo.peLabels.Clear() - - // x accumulates y's indirect flag. - if yo.indirect { - xo.indirect = true - } -} - -// simplify computes a degenerate renumbering of nodeids from the PE -// labels assigned by the hvn, and uses it to simplify the main -// constraint graph, eliminating non-pointer nodes and duplicate -// constraints. -// -func (h *hvn) simplify() { - // canon maps each peLabel to its canonical main node. - canon := make([]nodeid, h.label) - for i := range canon { - canon[i] = nodeid(h.N) // indicates "unset" - } - - // mapping maps each main node index to the index of the canonical node. - mapping := make([]nodeid, len(h.a.nodes)) - - for id := range h.a.nodes { - id := nodeid(id) - if id == 0 { - canon[0] = 0 - mapping[0] = 0 - continue - } - oid := h.find(onodeid(id)) - peLabels := &h.onodes[oid].peLabels - assert(peLabels.Len() == 1, "PE class is not a singleton") - label := peLabel(peLabels.Min()) - - canonId := canon[label] - if canonId == nodeid(h.N) { - // id becomes the representative of the PE label. - canonId = id - canon[label] = canonId - - if h.a.log != nil { - fmt.Fprintf(h.a.log, "\tpts(n%d) is canonical : \t(%s)\n", - id, h.a.nodes[id].typ) - } - - } else { - // Link the solver states for the two nodes. - assert(h.a.nodes[canonId].solve != nil, "missing solver state") - h.a.nodes[id].solve = h.a.nodes[canonId].solve - - if h.a.log != nil { - // TODO(adonovan): debug: reorganize the log so it prints - // one line: - // pe y = x1, ..., xn - // for each canonical y. Requires allocation. - fmt.Fprintf(h.a.log, "\tpts(n%d) = pts(n%d) : %s\n", - id, canonId, h.a.nodes[id].typ) - } - } - - mapping[id] = canonId - } - - // Renumber the constraints, eliminate duplicates, and eliminate - // any containing non-pointers (n0). - addrs := make(map[addrConstraint]bool) - copys := make(map[copyConstraint]bool) - loads := make(map[loadConstraint]bool) - stores := make(map[storeConstraint]bool) - offsetAddrs := make(map[offsetAddrConstraint]bool) - untags := make(map[untagConstraint]bool) - typeFilters := make(map[typeFilterConstraint]bool) - invokes := make(map[invokeConstraint]bool) - - nbefore := len(h.a.constraints) - cc := h.a.constraints[:0] // in-situ compaction - for _, c := range h.a.constraints { - // Renumber. - switch c := c.(type) { - case *addrConstraint: - // Don't renumber c.src since it is the label of - // an addressable object and will appear in PT sets. - c.dst = mapping[c.dst] - default: - c.renumber(mapping) - } - - if c.ptr() == 0 { - continue // skip: constraint attached to non-pointer - } - - var dup bool - switch c := c.(type) { - case *addrConstraint: - _, dup = addrs[*c] - addrs[*c] = true - - case *copyConstraint: - if c.src == c.dst { - continue // skip degenerate copies - } - if c.src == 0 { - continue // skip copy from non-pointer - } - _, dup = copys[*c] - copys[*c] = true - - case *loadConstraint: - if c.src == 0 { - continue // skip load from non-pointer - } - _, dup = loads[*c] - loads[*c] = true - - case *storeConstraint: - if c.src == 0 { - continue // skip store from non-pointer - } - _, dup = stores[*c] - stores[*c] = true - - case *offsetAddrConstraint: - if c.src == 0 { - continue // skip offset from non-pointer - } - _, dup = offsetAddrs[*c] - offsetAddrs[*c] = true - - case *untagConstraint: - if c.src == 0 { - continue // skip untag of non-pointer - } - _, dup = untags[*c] - untags[*c] = true - - case *typeFilterConstraint: - if c.src == 0 { - continue // skip filter of non-pointer - } - _, dup = typeFilters[*c] - typeFilters[*c] = true - - case *invokeConstraint: - if c.params == 0 { - panic("non-pointer invoke.params") - } - if c.iface == 0 { - continue // skip invoke on non-pointer - } - _, dup = invokes[*c] - invokes[*c] = true - - default: - // We don't bother de-duping advanced constraints - // (e.g. reflection) since they are uncommon. - - // Eliminate constraints containing non-pointer nodeids. - // - // We use reflection to find the fields to avoid - // adding yet another method to constraint. - // - // TODO(adonovan): experiment with a constraint - // method that returns a slice of pointers to - // nodeids fields to enable uniform iteration; - // the renumber() method could be removed and - // implemented using the new one. - // - // TODO(adonovan): opt: this is unsound since - // some constraints still have an effect if one - // of the operands is zero: rVCall, rVMapIndex, - // rvSetMapIndex. Handle them specially. - rtNodeid := reflect.TypeOf(nodeid(0)) - x := reflect.ValueOf(c).Elem() - for i, nf := 0, x.NumField(); i < nf; i++ { - f := x.Field(i) - if f.Type() == rtNodeid { - if f.Uint() == 0 { - dup = true // skip it - break - } - } - } - } - if dup { - continue // skip duplicates - } - - cc = append(cc, c) - } - h.a.constraints = cc - - if h.log != nil { - fmt.Fprintf(h.log, "#constraints: was %d, now %d\n", nbefore, len(h.a.constraints)) - } -} - -// find returns the canonical onodeid for x. -// (The onodes form a disjoint set forest.) -func (h *hvn) find(x onodeid) onodeid { - // TODO(adonovan): opt: this is a CPU hotspot. Try "union by rank". - xo := h.onodes[x] - rep := xo.rep - if rep != x { - rep = h.find(rep) // simple path compression - xo.rep = rep - } - return rep -} - -func (h *hvn) checkCanonical(x onodeid) { - if debugHVN { - assert(x == h.find(x), "not canonical") - } -} - -func assert(p bool, msg string) { - if debugHVN && !p { - panic("assertion failed: " + msg) - } -} diff --git a/vendor/golang.org/x/tools/go/pointer/intrinsics.go b/vendor/golang.org/x/tools/go/pointer/intrinsics.go deleted file mode 100644 index 251c0e2..0000000 --- a/vendor/golang.org/x/tools/go/pointer/intrinsics.go +++ /dev/null @@ -1,380 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This package defines the treatment of intrinsics, i.e. library -// functions requiring special analytical treatment. -// -// Most of these are C or assembly functions, but even some Go -// functions require may special treatment if the analysis completely -// replaces the implementation of an API such as reflection. - -// TODO(adonovan): support a means of writing analytic summaries in -// the target code, so that users can summarise the effects of their -// own C functions using a snippet of Go. - -import ( - "fmt" - - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -// Instances of 'intrinsic' generate analysis constraints for calls to -// intrinsic functions. -// Implementations may exploit information from the calling site -// via cgn.callersite; for shared contours this is nil. -type intrinsic func(a *analysis, cgn *cgnode) - -// Initialized in explicit init() to defeat (spurious) initialization -// cycle error. -var intrinsicsByName = make(map[string]intrinsic) - -func init() { - // Key strings are from Function.String(). - // That little dot ۰ is an Arabic zero numeral (U+06F0), - // categories [Nd]. - for name, fn := range map[string]intrinsic{ - // Other packages. - "bytes.Equal": ext۰NoEffect, - "bytes.IndexByte": ext۰NoEffect, - "crypto/aes.decryptBlockAsm": ext۰NoEffect, - "crypto/aes.encryptBlockAsm": ext۰NoEffect, - "crypto/aes.expandKeyAsm": ext۰NoEffect, - "crypto/aes.hasAsm": ext۰NoEffect, - "crypto/md5.block": ext۰NoEffect, - "crypto/rc4.xorKeyStream": ext۰NoEffect, - "crypto/sha1.block": ext۰NoEffect, - "crypto/sha256.block": ext۰NoEffect, - "hash/crc32.castagnoliSSE42": ext۰NoEffect, - "hash/crc32.haveSSE42": ext۰NoEffect, - "math.Abs": ext۰NoEffect, - "math.Acos": ext۰NoEffect, - "math.Asin": ext۰NoEffect, - "math.Atan": ext۰NoEffect, - "math.Atan2": ext۰NoEffect, - "math.Ceil": ext۰NoEffect, - "math.Cos": ext۰NoEffect, - "math.Dim": ext۰NoEffect, - "math.Exp": ext۰NoEffect, - "math.Exp2": ext۰NoEffect, - "math.Expm1": ext۰NoEffect, - "math.Float32bits": ext۰NoEffect, - "math.Float32frombits": ext۰NoEffect, - "math.Float64bits": ext۰NoEffect, - "math.Float64frombits": ext۰NoEffect, - "math.Floor": ext۰NoEffect, - "math.Frexp": ext۰NoEffect, - "math.Hypot": ext۰NoEffect, - "math.Ldexp": ext۰NoEffect, - "math.Log": ext۰NoEffect, - "math.Log10": ext۰NoEffect, - "math.Log1p": ext۰NoEffect, - "math.Log2": ext۰NoEffect, - "math.Max": ext۰NoEffect, - "math.Min": ext۰NoEffect, - "math.Mod": ext۰NoEffect, - "math.Modf": ext۰NoEffect, - "math.Remainder": ext۰NoEffect, - "math.Sin": ext۰NoEffect, - "math.Sincos": ext۰NoEffect, - "math.Sqrt": ext۰NoEffect, - "math.Tan": ext۰NoEffect, - "math.Trunc": ext۰NoEffect, - "math/big.addMulVVW": ext۰NoEffect, - "math/big.addVV": ext۰NoEffect, - "math/big.addVW": ext۰NoEffect, - "math/big.bitLen": ext۰NoEffect, - "math/big.divWVW": ext۰NoEffect, - "math/big.divWW": ext۰NoEffect, - "math/big.mulAddVWW": ext۰NoEffect, - "math/big.mulWW": ext۰NoEffect, - "math/big.shlVU": ext۰NoEffect, - "math/big.shrVU": ext۰NoEffect, - "math/big.subVV": ext۰NoEffect, - "math/big.subVW": ext۰NoEffect, - "net.runtime_Semacquire": ext۰NoEffect, - "net.runtime_Semrelease": ext۰NoEffect, - "net.runtime_pollClose": ext۰NoEffect, - "net.runtime_pollOpen": ext۰NoEffect, - "net.runtime_pollReset": ext۰NoEffect, - "net.runtime_pollServerInit": ext۰NoEffect, - "net.runtime_pollSetDeadline": ext۰NoEffect, - "net.runtime_pollUnblock": ext۰NoEffect, - "net.runtime_pollWait": ext۰NoEffect, - "net.runtime_pollWaitCanceled": ext۰NoEffect, - "os.epipecheck": ext۰NoEffect, - "runtime.BlockProfile": ext۰NoEffect, - "runtime.Breakpoint": ext۰NoEffect, - "runtime.CPUProfile": ext۰NoEffect, // good enough - "runtime.Caller": ext۰NoEffect, - "runtime.Callers": ext۰NoEffect, // good enough - "runtime.FuncForPC": ext۰NoEffect, - "runtime.GC": ext۰NoEffect, - "runtime.GOMAXPROCS": ext۰NoEffect, - "runtime.Goexit": ext۰NoEffect, - "runtime.GoroutineProfile": ext۰NoEffect, - "runtime.Gosched": ext۰NoEffect, - "runtime.MemProfile": ext۰NoEffect, - "runtime.NumCPU": ext۰NoEffect, - "runtime.NumGoroutine": ext۰NoEffect, - "runtime.ReadMemStats": ext۰NoEffect, - "runtime.SetBlockProfileRate": ext۰NoEffect, - "runtime.SetCPUProfileRate": ext۰NoEffect, - "runtime.SetFinalizer": ext۰runtime۰SetFinalizer, - "runtime.Stack": ext۰NoEffect, - "runtime.ThreadCreateProfile": ext۰NoEffect, - "runtime.cstringToGo": ext۰NoEffect, - "runtime.funcentry_go": ext۰NoEffect, - "runtime.funcline_go": ext۰NoEffect, - "runtime.funcname_go": ext۰NoEffect, - "runtime.getgoroot": ext۰NoEffect, - "runtime/pprof.runtime_cyclesPerSecond": ext۰NoEffect, - "strings.IndexByte": ext۰NoEffect, - "sync.runtime_Semacquire": ext۰NoEffect, - "sync.runtime_Semrelease": ext۰NoEffect, - "sync.runtime_Syncsemacquire": ext۰NoEffect, - "sync.runtime_Syncsemcheck": ext۰NoEffect, - "sync.runtime_Syncsemrelease": ext۰NoEffect, - "sync.runtime_procPin": ext۰NoEffect, - "sync.runtime_procUnpin": ext۰NoEffect, - "sync.runtime_registerPool": ext۰NoEffect, - "sync/atomic.AddInt32": ext۰NoEffect, - "sync/atomic.AddInt64": ext۰NoEffect, - "sync/atomic.AddUint32": ext۰NoEffect, - "sync/atomic.AddUint64": ext۰NoEffect, - "sync/atomic.AddUintptr": ext۰NoEffect, - "sync/atomic.CompareAndSwapInt32": ext۰NoEffect, - "sync/atomic.CompareAndSwapUint32": ext۰NoEffect, - "sync/atomic.CompareAndSwapUint64": ext۰NoEffect, - "sync/atomic.CompareAndSwapUintptr": ext۰NoEffect, - "sync/atomic.LoadInt32": ext۰NoEffect, - "sync/atomic.LoadInt64": ext۰NoEffect, - "sync/atomic.LoadPointer": ext۰NoEffect, // ignore unsafe.Pointers - "sync/atomic.LoadUint32": ext۰NoEffect, - "sync/atomic.LoadUint64": ext۰NoEffect, - "sync/atomic.LoadUintptr": ext۰NoEffect, - "sync/atomic.StoreInt32": ext۰NoEffect, - "sync/atomic.StorePointer": ext۰NoEffect, // ignore unsafe.Pointers - "sync/atomic.StoreUint32": ext۰NoEffect, - "sync/atomic.StoreUintptr": ext۰NoEffect, - "syscall.Close": ext۰NoEffect, - "syscall.Exit": ext۰NoEffect, - "syscall.Getpid": ext۰NoEffect, - "syscall.Getwd": ext۰NoEffect, - "syscall.Kill": ext۰NoEffect, - "syscall.RawSyscall": ext۰NoEffect, - "syscall.RawSyscall6": ext۰NoEffect, - "syscall.Syscall": ext۰NoEffect, - "syscall.Syscall6": ext۰NoEffect, - "syscall.runtime_AfterFork": ext۰NoEffect, - "syscall.runtime_BeforeFork": ext۰NoEffect, - "syscall.setenv_c": ext۰NoEffect, - "time.Sleep": ext۰NoEffect, - "time.now": ext۰NoEffect, - "time.startTimer": ext۰time۰startTimer, - "time.stopTimer": ext۰NoEffect, - } { - intrinsicsByName[name] = fn - } -} - -// findIntrinsic returns the constraint generation function for an -// intrinsic function fn, or nil if the function should be handled normally. -// -func (a *analysis) findIntrinsic(fn *ssa.Function) intrinsic { - // Consult the *Function-keyed cache. - // A cached nil indicates a normal non-intrinsic function. - impl, ok := a.intrinsics[fn] - if !ok { - impl = intrinsicsByName[fn.String()] // may be nil - - if a.isReflect(fn) { - if !a.config.Reflection { - impl = ext۰NoEffect // reflection disabled - } else if impl == nil { - // Ensure all "reflect" code is treated intrinsically. - impl = ext۰NotYetImplemented - } - } - - a.intrinsics[fn] = impl - } - return impl -} - -// isReflect reports whether fn belongs to the "reflect" package. -func (a *analysis) isReflect(fn *ssa.Function) bool { - if a.reflectValueObj == nil { - return false // "reflect" package not loaded - } - reflectPackage := a.reflectValueObj.Pkg() - if fn.Pkg != nil && fn.Pkg.Object == reflectPackage { - return true - } - // Synthetic wrappers have a nil Pkg, so they slip through the - // previous check. Check the receiver package. - // TODO(adonovan): should synthetic wrappers have a non-nil Pkg? - if recv := fn.Signature.Recv(); recv != nil { - if named, ok := deref(recv.Type()).(*types.Named); ok { - if named.Obj().Pkg() == reflectPackage { - return true // e.g. wrapper of (reflect.Value).f - } - } - } - return false -} - -// A trivial intrinsic suitable for any function that does not: -// 1) induce aliases between its arguments or any global variables; -// 2) call any functions; or -// 3) create any labels. -// -// Many intrinsics (such as CompareAndSwapInt32) have a fourth kind of -// effect: loading or storing through a pointer. Though these could -// be significant, we deliberately ignore them because they are -// generally not worth the effort. -// -// We sometimes violate condition #3 if the function creates only -// non-function labels, as the control-flow graph is still sound. -// -func ext۰NoEffect(a *analysis, cgn *cgnode) {} - -func ext۰NotYetImplemented(a *analysis, cgn *cgnode) { - fn := cgn.fn - a.warnf(fn.Pos(), "unsound: intrinsic treatment of %s not yet implemented", fn) -} - -// ---------- func runtime.SetFinalizer(x, f interface{}) ---------- - -// runtime.SetFinalizer(x, f) -type runtimeSetFinalizerConstraint struct { - targets nodeid // (indirect) - f nodeid // (ptr) - x nodeid -} - -func (c *runtimeSetFinalizerConstraint) ptr() nodeid { return c.f } -func (c *runtimeSetFinalizerConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.targets), "SetFinalizer.targets") -} -func (c *runtimeSetFinalizerConstraint) renumber(mapping []nodeid) { - c.targets = mapping[c.targets] - c.f = mapping[c.f] - c.x = mapping[c.x] -} - -func (c *runtimeSetFinalizerConstraint) String() string { - return fmt.Sprintf("runtime.SetFinalizer(n%d, n%d)", c.x, c.f) -} - -func (c *runtimeSetFinalizerConstraint) solve(a *analysis, delta *nodeset) { - for _, fObj := range delta.AppendTo(a.deltaSpace) { - tDyn, f, indirect := a.taggedValue(nodeid(fObj)) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - tSig, ok := tDyn.Underlying().(*types.Signature) - if !ok { - continue // not a function - } - if tSig.Recv() != nil { - panic(tSig) - } - if tSig.Params().Len() != 1 { - continue // not a unary function - } - - // Extract x to tmp. - tx := tSig.Params().At(0).Type() - tmp := a.addNodes(tx, "SetFinalizer.tmp") - a.typeAssert(tx, tmp, c.x, false) - - // Call f(tmp). - a.store(f, tmp, 1, a.sizeof(tx)) - - // Add dynamic call target. - if a.onlineCopy(c.targets, f) { - a.addWork(c.targets) - } - } -} - -func ext۰runtime۰SetFinalizer(a *analysis, cgn *cgnode) { - // This is the shared contour, used for dynamic calls. - targets := a.addOneNode(tInvalid, "SetFinalizer.targets", nil) - cgn.sites = append(cgn.sites, &callsite{targets: targets}) - params := a.funcParams(cgn.obj) - a.addConstraint(&runtimeSetFinalizerConstraint{ - targets: targets, - x: params, - f: params + 1, - }) -} - -// ---------- func time.startTimer(t *runtimeTimer) ---------- - -// time.StartTimer(t) -type timeStartTimerConstraint struct { - targets nodeid // (indirect) - t nodeid // (ptr) -} - -func (c *timeStartTimerConstraint) ptr() nodeid { return c.t } -func (c *timeStartTimerConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.targets), "StartTimer.targets") -} -func (c *timeStartTimerConstraint) renumber(mapping []nodeid) { - c.targets = mapping[c.targets] - c.t = mapping[c.t] -} - -func (c *timeStartTimerConstraint) String() string { - return fmt.Sprintf("time.startTimer(n%d)", c.t) -} - -func (c *timeStartTimerConstraint) solve(a *analysis, delta *nodeset) { - for _, tObj := range delta.AppendTo(a.deltaSpace) { - t := nodeid(tObj) - - // We model startTimer as if it was defined thus: - // func startTimer(t *runtimeTimer) { t.f(t.arg) } - - // We hard-code the field offsets of time.runtimeTimer: - // type runtimeTimer struct { - // 0 __identity__ - // 1 i int32 - // 2 when int64 - // 3 period int64 - // 4 f func(int64, interface{}) - // 5 arg interface{} - // } - f := t + 4 - arg := t + 5 - - // store t.arg to t.f.params[0] - // (offset 1 => skip identity) - a.store(f, arg, 1, 1) - - // Add dynamic call target. - if a.onlineCopy(c.targets, f) { - a.addWork(c.targets) - } - } -} - -func ext۰time۰startTimer(a *analysis, cgn *cgnode) { - // This is the shared contour, used for dynamic calls. - targets := a.addOneNode(tInvalid, "startTimer.targets", nil) - cgn.sites = append(cgn.sites, &callsite{targets: targets}) - params := a.funcParams(cgn.obj) - a.addConstraint(&timeStartTimerConstraint{ - targets: targets, - t: params, - }) -} diff --git a/vendor/golang.org/x/tools/go/pointer/labels.go b/vendor/golang.org/x/tools/go/pointer/labels.go deleted file mode 100644 index cf6ef20..0000000 --- a/vendor/golang.org/x/tools/go/pointer/labels.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2013 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. - -package pointer - -import ( - "fmt" - "go/token" - "strings" - - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -// A Label is an entity that may be pointed to by a pointer, map, -// channel, 'func', slice or interface. -// -// Labels include: -// - functions -// - globals -// - tagged objects, representing interfaces and reflect.Values -// - arrays created by conversions (e.g. []byte("foo"), []byte(s)) -// - stack- and heap-allocated variables (including composite literals) -// - channels, maps and arrays created by make() -// - intrinsic or reflective operations that allocate (e.g. append, reflect.New) -// - intrinsic objects, e.g. the initial array behind os.Args. -// - and their subelements, e.g. "alloc.y[*].z" -// -// Labels are so varied that they defy good generalizations; -// some have no value, no callgraph node, or no position. -// Many objects have types that are inexpressible in Go: -// maps, channels, functions, tagged objects. -// -// At most one of Value() or ReflectType() may return non-nil. -// -type Label struct { - obj *object // the addressable memory location containing this label - subelement *fieldInfo // subelement path within obj, e.g. ".a.b[*].c" -} - -// Value returns the ssa.Value that allocated this label's object, if any. -func (l Label) Value() ssa.Value { - val, _ := l.obj.data.(ssa.Value) - return val -} - -// ReflectType returns the type represented by this label if it is an -// reflect.rtype instance object or *reflect.rtype-tagged object. -// -func (l Label) ReflectType() types.Type { - rtype, _ := l.obj.data.(types.Type) - return rtype -} - -// Path returns the path to the subelement of the object containing -// this label. For example, ".x[*].y". -// -func (l Label) Path() string { - return l.subelement.path() -} - -// Pos returns the position of this label, if known, zero otherwise. -func (l Label) Pos() token.Pos { - switch data := l.obj.data.(type) { - case ssa.Value: - return data.Pos() - case types.Type: - if nt, ok := deref(data).(*types.Named); ok { - return nt.Obj().Pos() - } - } - if cgn := l.obj.cgn; cgn != nil { - return cgn.fn.Pos() - } - return token.NoPos -} - -// String returns the printed form of this label. -// -// Examples: Object type: -// x (a variable) -// (sync.Mutex).Lock (a function) -// convert (array created by conversion) -// makemap (map allocated via make) -// makechan (channel allocated via make) -// makeinterface (tagged object allocated by makeinterface) -// (allocation in instrinsic) -// sync.Mutex (a reflect.rtype instance) -// (an intrinsic object) -// -// Labels within compound objects have subelement paths: -// x.y[*].z (a struct variable, x) -// append.y[*].z (array allocated by append) -// makeslice.y[*].z (array allocated via make) -// -// TODO(adonovan): expose func LabelString(*types.Package, Label). -// -func (l Label) String() string { - var s string - switch v := l.obj.data.(type) { - case types.Type: - return v.String() - - case string: - s = v // an intrinsic object (e.g. os.Args[*]) - - case nil: - if l.obj.cgn != nil { - // allocation by intrinsic or reflective operation - s = fmt.Sprintf("", l.obj.cgn.fn) - } else { - s = "" // should be unreachable - } - - case *ssa.Function: - s = v.String() - - case *ssa.Global: - s = v.String() - - case *ssa.Const: - s = v.Name() - - case *ssa.Alloc: - s = v.Comment - if s == "" { - s = "alloc" - } - - case *ssa.Call: - // Currently only calls to append can allocate objects. - if v.Call.Value.(*ssa.Builtin).Object().Name() != "append" { - panic("unhandled *ssa.Call label: " + v.Name()) - } - s = "append" - - case *ssa.MakeMap, *ssa.MakeChan, *ssa.MakeSlice, *ssa.Convert: - s = strings.ToLower(strings.TrimPrefix(fmt.Sprintf("%T", v), "*ssa.")) - - case *ssa.MakeInterface: - // MakeInterface is usually implicit in Go source (so - // Pos()==0), and tagged objects may be allocated - // synthetically (so no *MakeInterface data). - s = "makeinterface:" + v.X.Type().String() - - default: - panic(fmt.Sprintf("unhandled object data type: %T", v)) - } - - return s + l.subelement.path() -} diff --git a/vendor/golang.org/x/tools/go/pointer/opt.go b/vendor/golang.org/x/tools/go/pointer/opt.go deleted file mode 100644 index 2620cc0..0000000 --- a/vendor/golang.org/x/tools/go/pointer/opt.go +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This file implements renumbering, a pre-solver optimization to -// improve the efficiency of the solver's points-to set representation. -// -// TODO(adonovan): rename file "renumber.go" - -import "fmt" - -// renumber permutes a.nodes so that all nodes within an addressable -// object appear before all non-addressable nodes, maintaining the -// order of nodes within the same object (as required by offsetAddr). -// -// renumber must update every nodeid in the analysis (constraints, -// Pointers, callgraph, etc) to reflect the new ordering. -// -// This is an optimisation to increase the locality and efficiency of -// sparse representations of points-to sets. (Typically only about -// 20% of nodes are within an object.) -// -// NB: nodes added during solving (e.g. for reflection, SetFinalizer) -// will be appended to the end. -// -// Renumbering makes the PTA log inscrutable. To aid debugging, later -// phases (e.g. HVN) must not rely on it having occurred. -// -func (a *analysis) renumber() { - if a.log != nil { - fmt.Fprintf(a.log, "\n\n==== Renumbering\n\n") - } - - N := nodeid(len(a.nodes)) - newNodes := make([]*node, N, N) - renumbering := make([]nodeid, N, N) // maps old to new - - var i, j nodeid - - // The zero node is special. - newNodes[j] = a.nodes[i] - renumbering[i] = j - i++ - j++ - - // Pass 1: object nodes. - for i < N { - obj := a.nodes[i].obj - if obj == nil { - i++ - continue - } - - end := i + nodeid(obj.size) - for i < end { - newNodes[j] = a.nodes[i] - renumbering[i] = j - i++ - j++ - } - } - nobj := j - - // Pass 2: non-object nodes. - for i = 1; i < N; { - obj := a.nodes[i].obj - if obj != nil { - i += nodeid(obj.size) - continue - } - - newNodes[j] = a.nodes[i] - renumbering[i] = j - i++ - j++ - } - - if j != N { - panic(fmt.Sprintf("internal error: j=%d, N=%d", j, N)) - } - - // Log the remapping table. - if a.log != nil { - fmt.Fprintf(a.log, "Renumbering nodes to improve density:\n") - fmt.Fprintf(a.log, "(%d object nodes of %d total)\n", nobj, N) - for old, new := range renumbering { - fmt.Fprintf(a.log, "\tn%d -> n%d\n", old, new) - } - } - - // Now renumber all existing nodeids to use the new node permutation. - // It is critical that all reachable nodeids are accounted for! - - // Renumber nodeids in queried Pointers. - for v, ptr := range a.result.Queries { - ptr.n = renumbering[ptr.n] - a.result.Queries[v] = ptr - } - for v, ptr := range a.result.IndirectQueries { - ptr.n = renumbering[ptr.n] - a.result.IndirectQueries[v] = ptr - } - - // Renumber nodeids in global objects. - for v, id := range a.globalobj { - a.globalobj[v] = renumbering[id] - } - - // Renumber nodeids in constraints. - for _, c := range a.constraints { - c.renumber(renumbering) - } - - // Renumber nodeids in the call graph. - for _, cgn := range a.cgnodes { - cgn.obj = renumbering[cgn.obj] - for _, site := range cgn.sites { - site.targets = renumbering[site.targets] - } - } - - a.nodes = newNodes -} diff --git a/vendor/golang.org/x/tools/go/pointer/print.go b/vendor/golang.org/x/tools/go/pointer/print.go deleted file mode 100644 index 4f2f4c7..0000000 --- a/vendor/golang.org/x/tools/go/pointer/print.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2013 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. - -package pointer - -import "fmt" - -func (c *addrConstraint) String() string { - return fmt.Sprintf("addr n%d <- {&n%d}", c.dst, c.src) -} - -func (c *copyConstraint) String() string { - return fmt.Sprintf("copy n%d <- n%d", c.dst, c.src) -} - -func (c *loadConstraint) String() string { - return fmt.Sprintf("load n%d <- n%d[%d]", c.dst, c.src, c.offset) -} - -func (c *storeConstraint) String() string { - return fmt.Sprintf("store n%d[%d] <- n%d", c.dst, c.offset, c.src) -} - -func (c *offsetAddrConstraint) String() string { - return fmt.Sprintf("offsetAddr n%d <- n%d.#%d", c.dst, c.src, c.offset) -} - -func (c *typeFilterConstraint) String() string { - return fmt.Sprintf("typeFilter n%d <- n%d.(%s)", c.dst, c.src, c.typ) -} - -func (c *untagConstraint) String() string { - return fmt.Sprintf("untag n%d <- n%d.(%s)", c.dst, c.src, c.typ) -} - -func (c *invokeConstraint) String() string { - return fmt.Sprintf("invoke n%d.%s(n%d ...)", c.iface, c.method.Name(), c.params) -} - -func (n nodeid) String() string { - return fmt.Sprintf("n%d", n) -} diff --git a/vendor/golang.org/x/tools/go/pointer/reflect.go b/vendor/golang.org/x/tools/go/pointer/reflect.go deleted file mode 100644 index 466995c..0000000 --- a/vendor/golang.org/x/tools/go/pointer/reflect.go +++ /dev/null @@ -1,1971 +0,0 @@ -package pointer - -// This file implements the generation and resolution rules for -// constraints arising from the use of reflection in the target -// program. See doc.go for explanation of the representation. -// -// For consistency, the names of all parameters match those of the -// actual functions in the "reflect" package. -// -// To avoid proliferation of equivalent labels, intrinsics should -// memoize as much as possible, like TypeOf and Zero do for their -// tagged objects. -// -// TODO(adonovan): this file is rather subtle. Explain how we derive -// the implementation of each reflect operator from its spec, -// including the subtleties of reflect.flag{Addr,RO,Indir}. -// [Hint: our implementation is as if reflect.flagIndir was always -// true, i.e. reflect.Values are pointers to tagged objects, there is -// no inline allocation optimization; and indirect tagged objects (not -// yet implemented) correspond to reflect.Values with -// reflect.flagAddr.] -// A picture would help too. -// -// TODO(adonovan): try factoring up the common parts of the majority of -// these constraints that are single input, single output. - -import ( - "fmt" - "reflect" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -func init() { - for name, fn := range map[string]intrinsic{ - // reflect.Value methods. - "(reflect.Value).Addr": ext۰reflect۰Value۰Addr, - "(reflect.Value).Bool": ext۰NoEffect, - "(reflect.Value).Bytes": ext۰reflect۰Value۰Bytes, - "(reflect.Value).Call": ext۰reflect۰Value۰Call, - "(reflect.Value).CallSlice": ext۰reflect۰Value۰CallSlice, - "(reflect.Value).CanAddr": ext۰NoEffect, - "(reflect.Value).CanInterface": ext۰NoEffect, - "(reflect.Value).CanSet": ext۰NoEffect, - "(reflect.Value).Cap": ext۰NoEffect, - "(reflect.Value).Close": ext۰NoEffect, - "(reflect.Value).Complex": ext۰NoEffect, - "(reflect.Value).Convert": ext۰reflect۰Value۰Convert, - "(reflect.Value).Elem": ext۰reflect۰Value۰Elem, - "(reflect.Value).Field": ext۰reflect۰Value۰Field, - "(reflect.Value).FieldByIndex": ext۰reflect۰Value۰FieldByIndex, - "(reflect.Value).FieldByName": ext۰reflect۰Value۰FieldByName, - "(reflect.Value).FieldByNameFunc": ext۰reflect۰Value۰FieldByNameFunc, - "(reflect.Value).Float": ext۰NoEffect, - "(reflect.Value).Index": ext۰reflect۰Value۰Index, - "(reflect.Value).Int": ext۰NoEffect, - "(reflect.Value).Interface": ext۰reflect۰Value۰Interface, - "(reflect.Value).InterfaceData": ext۰NoEffect, - "(reflect.Value).IsNil": ext۰NoEffect, - "(reflect.Value).IsValid": ext۰NoEffect, - "(reflect.Value).Kind": ext۰NoEffect, - "(reflect.Value).Len": ext۰NoEffect, - "(reflect.Value).MapIndex": ext۰reflect۰Value۰MapIndex, - "(reflect.Value).MapKeys": ext۰reflect۰Value۰MapKeys, - "(reflect.Value).Method": ext۰reflect۰Value۰Method, - "(reflect.Value).MethodByName": ext۰reflect۰Value۰MethodByName, - "(reflect.Value).NumField": ext۰NoEffect, - "(reflect.Value).NumMethod": ext۰NoEffect, - "(reflect.Value).OverflowComplex": ext۰NoEffect, - "(reflect.Value).OverflowFloat": ext۰NoEffect, - "(reflect.Value).OverflowInt": ext۰NoEffect, - "(reflect.Value).OverflowUint": ext۰NoEffect, - "(reflect.Value).Pointer": ext۰NoEffect, - "(reflect.Value).Recv": ext۰reflect۰Value۰Recv, - "(reflect.Value).Send": ext۰reflect۰Value۰Send, - "(reflect.Value).Set": ext۰reflect۰Value۰Set, - "(reflect.Value).SetBool": ext۰NoEffect, - "(reflect.Value).SetBytes": ext۰reflect۰Value۰SetBytes, - "(reflect.Value).SetComplex": ext۰NoEffect, - "(reflect.Value).SetFloat": ext۰NoEffect, - "(reflect.Value).SetInt": ext۰NoEffect, - "(reflect.Value).SetLen": ext۰NoEffect, - "(reflect.Value).SetMapIndex": ext۰reflect۰Value۰SetMapIndex, - "(reflect.Value).SetPointer": ext۰reflect۰Value۰SetPointer, - "(reflect.Value).SetString": ext۰NoEffect, - "(reflect.Value).SetUint": ext۰NoEffect, - "(reflect.Value).Slice": ext۰reflect۰Value۰Slice, - "(reflect.Value).String": ext۰NoEffect, - "(reflect.Value).TryRecv": ext۰reflect۰Value۰Recv, - "(reflect.Value).TrySend": ext۰reflect۰Value۰Send, - "(reflect.Value).Type": ext۰NoEffect, - "(reflect.Value).Uint": ext۰NoEffect, - "(reflect.Value).UnsafeAddr": ext۰NoEffect, - - // Standalone reflect.* functions. - "reflect.Append": ext۰reflect۰Append, - "reflect.AppendSlice": ext۰reflect۰AppendSlice, - "reflect.Copy": ext۰reflect۰Copy, - "reflect.ChanOf": ext۰reflect۰ChanOf, - "reflect.DeepEqual": ext۰NoEffect, - "reflect.Indirect": ext۰reflect۰Indirect, - "reflect.MakeChan": ext۰reflect۰MakeChan, - "reflect.MakeFunc": ext۰reflect۰MakeFunc, - "reflect.MakeMap": ext۰reflect۰MakeMap, - "reflect.MakeSlice": ext۰reflect۰MakeSlice, - "reflect.MapOf": ext۰reflect۰MapOf, - "reflect.New": ext۰reflect۰New, - "reflect.NewAt": ext۰reflect۰NewAt, - "reflect.PtrTo": ext۰reflect۰PtrTo, - "reflect.Select": ext۰reflect۰Select, - "reflect.SliceOf": ext۰reflect۰SliceOf, - "reflect.TypeOf": ext۰reflect۰TypeOf, - "reflect.ValueOf": ext۰reflect۰ValueOf, - "reflect.Zero": ext۰reflect۰Zero, - "reflect.init": ext۰NoEffect, - - // *reflect.rtype methods - "(*reflect.rtype).Align": ext۰NoEffect, - "(*reflect.rtype).AssignableTo": ext۰NoEffect, - "(*reflect.rtype).Bits": ext۰NoEffect, - "(*reflect.rtype).ChanDir": ext۰NoEffect, - "(*reflect.rtype).ConvertibleTo": ext۰NoEffect, - "(*reflect.rtype).Elem": ext۰reflect۰rtype۰Elem, - "(*reflect.rtype).Field": ext۰reflect۰rtype۰Field, - "(*reflect.rtype).FieldAlign": ext۰NoEffect, - "(*reflect.rtype).FieldByIndex": ext۰reflect۰rtype۰FieldByIndex, - "(*reflect.rtype).FieldByName": ext۰reflect۰rtype۰FieldByName, - "(*reflect.rtype).FieldByNameFunc": ext۰reflect۰rtype۰FieldByNameFunc, - "(*reflect.rtype).Implements": ext۰NoEffect, - "(*reflect.rtype).In": ext۰reflect۰rtype۰In, - "(*reflect.rtype).IsVariadic": ext۰NoEffect, - "(*reflect.rtype).Key": ext۰reflect۰rtype۰Key, - "(*reflect.rtype).Kind": ext۰NoEffect, - "(*reflect.rtype).Len": ext۰NoEffect, - "(*reflect.rtype).Method": ext۰reflect۰rtype۰Method, - "(*reflect.rtype).MethodByName": ext۰reflect۰rtype۰MethodByName, - "(*reflect.rtype).Name": ext۰NoEffect, - "(*reflect.rtype).NumField": ext۰NoEffect, - "(*reflect.rtype).NumIn": ext۰NoEffect, - "(*reflect.rtype).NumMethod": ext۰NoEffect, - "(*reflect.rtype).NumOut": ext۰NoEffect, - "(*reflect.rtype).Out": ext۰reflect۰rtype۰Out, - "(*reflect.rtype).PkgPath": ext۰NoEffect, - "(*reflect.rtype).Size": ext۰NoEffect, - "(*reflect.rtype).String": ext۰NoEffect, - } { - intrinsicsByName[name] = fn - } -} - -// -------------------- (reflect.Value) -------------------- - -func ext۰reflect۰Value۰Addr(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).Bytes() Value ---------- - -// result = v.Bytes() -type rVBytesConstraint struct { - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVBytesConstraint) ptr() nodeid { return c.v } -func (c *rVBytesConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVBytes.result") -} -func (c *rVBytesConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVBytesConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Bytes()", c.result, c.v) -} - -func (c *rVBytesConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, slice, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - tSlice, ok := tDyn.Underlying().(*types.Slice) - if ok && types.Identical(tSlice.Elem(), types.Typ[types.Uint8]) { - if a.onlineCopy(c.result, slice) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Bytes(a *analysis, cgn *cgnode) { - a.addConstraint(&rVBytesConstraint{ - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (Value).Call(in []Value) []Value ---------- - -// result = v.Call(in) -type rVCallConstraint struct { - cgn *cgnode - targets nodeid // (indirect) - v nodeid // (ptr) - arg nodeid // = in[*] - result nodeid // (indirect) - dotdotdot bool // interpret last arg as a "..." slice -} - -func (c *rVCallConstraint) ptr() nodeid { return c.v } -func (c *rVCallConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.targets), "rVCall.targets") - h.markIndirect(onodeid(c.result), "rVCall.result") -} -func (c *rVCallConstraint) renumber(mapping []nodeid) { - c.targets = mapping[c.targets] - c.v = mapping[c.v] - c.arg = mapping[c.arg] - c.result = mapping[c.result] -} - -func (c *rVCallConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Call(n%d)", c.result, c.v, c.arg) -} - -func (c *rVCallConstraint) solve(a *analysis, delta *nodeset) { - if c.targets == 0 { - panic("no targets") - } - - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, fn, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - tSig, ok := tDyn.Underlying().(*types.Signature) - if !ok { - continue // not a function - } - if tSig.Recv() != nil { - panic(tSig) // TODO(adonovan): rethink when we implement Method() - } - - // Add dynamic call target. - if a.onlineCopy(c.targets, fn) { - a.addWork(c.targets) - // TODO(adonovan): is 'else continue' a sound optimisation here? - } - - // Allocate a P/R block. - tParams := tSig.Params() - tResults := tSig.Results() - params := a.addNodes(tParams, "rVCall.params") - results := a.addNodes(tResults, "rVCall.results") - - // Make a dynamic call to 'fn'. - a.store(fn, params, 1, a.sizeof(tParams)) - a.load(results, fn, 1+a.sizeof(tParams), a.sizeof(tResults)) - - // Populate P by type-asserting each actual arg (all merged in c.arg). - for i, n := 0, tParams.Len(); i < n; i++ { - T := tParams.At(i).Type() - a.typeAssert(T, params, c.arg, false) - params += nodeid(a.sizeof(T)) - } - - // Use R by tagging and copying each actual result to c.result. - for i, n := 0, tResults.Len(); i < n; i++ { - T := tResults.At(i).Type() - // Convert from an arbitrary type to a reflect.Value - // (like MakeInterface followed by reflect.ValueOf). - if isInterface(T) { - // (don't tag) - if a.onlineCopy(c.result, results) { - changed = true - } - } else { - obj := a.makeTagged(T, c.cgn, nil) - a.onlineCopyN(obj+1, results, a.sizeof(T)) - if a.addLabel(c.result, obj) { // (true) - changed = true - } - } - results += nodeid(a.sizeof(T)) - } - } - if changed { - a.addWork(c.result) - } -} - -// Common code for direct (inlined) and indirect calls to (reflect.Value).Call. -func reflectCallImpl(a *analysis, cgn *cgnode, site *callsite, recv, arg nodeid, dotdotdot bool) nodeid { - // Allocate []reflect.Value array for the result. - ret := a.nextNode() - a.addNodes(types.NewArray(a.reflectValueObj.Type(), 1), "rVCall.ret") - a.endObject(ret, cgn, nil) - - // pts(targets) will be the set of possible call targets. - site.targets = a.addOneNode(tInvalid, "rvCall.targets", nil) - - // All arguments are merged since they arrive in a slice. - argelts := a.addOneNode(a.reflectValueObj.Type(), "rVCall.args", nil) - a.load(argelts, arg, 1, 1) // slice elements - - a.addConstraint(&rVCallConstraint{ - cgn: cgn, - targets: site.targets, - v: recv, - arg: argelts, - result: ret + 1, // results go into elements of ret - dotdotdot: dotdotdot, - }) - return ret -} - -func reflectCall(a *analysis, cgn *cgnode, dotdotdot bool) { - // This is the shared contour implementation of (reflect.Value).Call - // and CallSlice, as used by indirect calls (rare). - // Direct calls are inlined in gen.go, eliding the - // intermediate cgnode for Call. - site := new(callsite) - cgn.sites = append(cgn.sites, site) - recv := a.funcParams(cgn.obj) - arg := recv + 1 - ret := reflectCallImpl(a, cgn, site, recv, arg, dotdotdot) - a.addressOf(cgn.fn.Signature.Results().At(0).Type(), a.funcResults(cgn.obj), ret) -} - -func ext۰reflect۰Value۰Call(a *analysis, cgn *cgnode) { - reflectCall(a, cgn, false) -} - -func ext۰reflect۰Value۰CallSlice(a *analysis, cgn *cgnode) { - // TODO(adonovan): implement. Also, inline direct calls in gen.go too. - if false { - reflectCall(a, cgn, true) - } -} - -func ext۰reflect۰Value۰Convert(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).Elem() Value ---------- - -// result = v.Elem() -type rVElemConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVElemConstraint) ptr() nodeid { return c.v } -func (c *rVElemConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVElem.result") -} -func (c *rVElemConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVElemConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Elem()", c.result, c.v) -} - -func (c *rVElemConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, payload, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - switch t := tDyn.Underlying().(type) { - case *types.Interface: - if a.onlineCopy(c.result, payload) { - changed = true - } - - case *types.Pointer: - obj := a.makeTagged(t.Elem(), c.cgn, nil) - a.load(obj+1, payload, 0, a.sizeof(t.Elem())) - if a.addLabel(c.result, obj) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Elem(a *analysis, cgn *cgnode) { - a.addConstraint(&rVElemConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰Value۰Field(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰Value۰FieldByIndex(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰Value۰FieldByName(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰Value۰FieldByNameFunc(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).Index() Value ---------- - -// result = v.Index() -type rVIndexConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVIndexConstraint) ptr() nodeid { return c.v } -func (c *rVIndexConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVIndex.result") -} -func (c *rVIndexConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVIndexConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Index()", c.result, c.v) -} - -func (c *rVIndexConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, payload, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - var res nodeid - switch t := tDyn.Underlying().(type) { - case *types.Array: - res = a.makeTagged(t.Elem(), c.cgn, nil) - a.onlineCopyN(res+1, payload+1, a.sizeof(t.Elem())) - - case *types.Slice: - res = a.makeTagged(t.Elem(), c.cgn, nil) - a.load(res+1, payload, 1, a.sizeof(t.Elem())) - - case *types.Basic: - if t.Kind() == types.String { - res = a.makeTagged(types.Typ[types.Rune], c.cgn, nil) - } - } - if res != 0 && a.addLabel(c.result, res) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Index(a *analysis, cgn *cgnode) { - a.addConstraint(&rVIndexConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (Value).Interface() Value ---------- - -// result = v.Interface() -type rVInterfaceConstraint struct { - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVInterfaceConstraint) ptr() nodeid { return c.v } -func (c *rVInterfaceConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVInterface.result") -} -func (c *rVInterfaceConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVInterfaceConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Interface()", c.result, c.v) -} - -func (c *rVInterfaceConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, payload, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - if isInterface(tDyn) { - if a.onlineCopy(c.result, payload) { - a.addWork(c.result) - } - } else { - if a.addLabel(c.result, vObj) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Interface(a *analysis, cgn *cgnode) { - a.addConstraint(&rVInterfaceConstraint{ - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (Value).MapIndex(Value) Value ---------- - -// result = v.MapIndex(_) -type rVMapIndexConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVMapIndexConstraint) ptr() nodeid { return c.v } -func (c *rVMapIndexConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVMapIndex.result") -} -func (c *rVMapIndexConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVMapIndexConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.MapIndex(_)", c.result, c.v) -} - -func (c *rVMapIndexConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, m, indirect := a.taggedValue(vObj) - tMap, _ := tDyn.Underlying().(*types.Map) - if tMap == nil { - continue // not a map - } - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - obj := a.makeTagged(tMap.Elem(), c.cgn, nil) - a.load(obj+1, m, a.sizeof(tMap.Key()), a.sizeof(tMap.Elem())) - if a.addLabel(c.result, obj) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰MapIndex(a *analysis, cgn *cgnode) { - a.addConstraint(&rVMapIndexConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (Value).MapKeys() []Value ---------- - -// result = v.MapKeys() -type rVMapKeysConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVMapKeysConstraint) ptr() nodeid { return c.v } -func (c *rVMapKeysConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVMapKeys.result") -} -func (c *rVMapKeysConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVMapKeysConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.MapKeys()", c.result, c.v) -} - -func (c *rVMapKeysConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, m, indirect := a.taggedValue(vObj) - tMap, _ := tDyn.Underlying().(*types.Map) - if tMap == nil { - continue // not a map - } - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - kObj := a.makeTagged(tMap.Key(), c.cgn, nil) - a.load(kObj+1, m, 0, a.sizeof(tMap.Key())) - if a.addLabel(c.result, kObj) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰MapKeys(a *analysis, cgn *cgnode) { - // Allocate an array for the result. - obj := a.nextNode() - T := types.NewSlice(a.reflectValueObj.Type()) - a.addNodes(sliceToArray(T), "reflect.MapKeys result") - a.endObject(obj, cgn, nil) - a.addressOf(T, a.funcResults(cgn.obj), obj) - - a.addConstraint(&rVMapKeysConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: obj + 1, // result is stored in array elems - }) -} - -func ext۰reflect۰Value۰Method(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰Value۰MethodByName(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).Recv(Value) Value ---------- - -// result, _ = v.Recv() -type rVRecvConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVRecvConstraint) ptr() nodeid { return c.v } -func (c *rVRecvConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVRecv.result") -} -func (c *rVRecvConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVRecvConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Recv()", c.result, c.v) -} - -func (c *rVRecvConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, ch, indirect := a.taggedValue(vObj) - tChan, _ := tDyn.Underlying().(*types.Chan) - if tChan == nil { - continue // not a channel - } - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - tElem := tChan.Elem() - elemObj := a.makeTagged(tElem, c.cgn, nil) - a.load(elemObj+1, ch, 0, a.sizeof(tElem)) - if a.addLabel(c.result, elemObj) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Recv(a *analysis, cgn *cgnode) { - a.addConstraint(&rVRecvConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (Value).Send(Value) ---------- - -// v.Send(x) -type rVSendConstraint struct { - cgn *cgnode - v nodeid // (ptr) - x nodeid -} - -func (c *rVSendConstraint) ptr() nodeid { return c.v } -func (c *rVSendConstraint) presolve(*hvn) {} -func (c *rVSendConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.x = mapping[c.x] -} - -func (c *rVSendConstraint) String() string { - return fmt.Sprintf("reflect n%d.Send(n%d)", c.v, c.x) -} - -func (c *rVSendConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, ch, indirect := a.taggedValue(vObj) - tChan, _ := tDyn.Underlying().(*types.Chan) - if tChan == nil { - continue // not a channel - } - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - // Extract x's payload to xtmp, then store to channel. - tElem := tChan.Elem() - xtmp := a.addNodes(tElem, "Send.xtmp") - a.typeAssert(tElem, xtmp, c.x, false) - a.store(ch, xtmp, 0, a.sizeof(tElem)) - } -} - -func ext۰reflect۰Value۰Send(a *analysis, cgn *cgnode) { - params := a.funcParams(cgn.obj) - a.addConstraint(&rVSendConstraint{ - cgn: cgn, - v: params, - x: params + 1, - }) -} - -func ext۰reflect۰Value۰Set(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).SetBytes(x []byte) ---------- - -// v.SetBytes(x) -type rVSetBytesConstraint struct { - cgn *cgnode - v nodeid // (ptr) - x nodeid -} - -func (c *rVSetBytesConstraint) ptr() nodeid { return c.v } -func (c *rVSetBytesConstraint) presolve(*hvn) {} -func (c *rVSetBytesConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.x = mapping[c.x] -} - -func (c *rVSetBytesConstraint) String() string { - return fmt.Sprintf("reflect n%d.SetBytes(n%d)", c.v, c.x) -} - -func (c *rVSetBytesConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, slice, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - tSlice, ok := tDyn.Underlying().(*types.Slice) - if ok && types.Identical(tSlice.Elem(), types.Typ[types.Uint8]) { - if a.onlineCopy(slice, c.x) { - a.addWork(slice) - } - } - } -} - -func ext۰reflect۰Value۰SetBytes(a *analysis, cgn *cgnode) { - params := a.funcParams(cgn.obj) - a.addConstraint(&rVSetBytesConstraint{ - cgn: cgn, - v: params, - x: params + 1, - }) -} - -// ---------- func (Value).SetMapIndex(k Value, v Value) ---------- - -// v.SetMapIndex(key, val) -type rVSetMapIndexConstraint struct { - cgn *cgnode - v nodeid // (ptr) - key nodeid - val nodeid -} - -func (c *rVSetMapIndexConstraint) ptr() nodeid { return c.v } -func (c *rVSetMapIndexConstraint) presolve(*hvn) {} -func (c *rVSetMapIndexConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.key = mapping[c.key] - c.val = mapping[c.val] -} - -func (c *rVSetMapIndexConstraint) String() string { - return fmt.Sprintf("reflect n%d.SetMapIndex(n%d, n%d)", c.v, c.key, c.val) -} - -func (c *rVSetMapIndexConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, m, indirect := a.taggedValue(vObj) - tMap, _ := tDyn.Underlying().(*types.Map) - if tMap == nil { - continue // not a map - } - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - keysize := a.sizeof(tMap.Key()) - - // Extract key's payload to keytmp, then store to map key. - keytmp := a.addNodes(tMap.Key(), "SetMapIndex.keytmp") - a.typeAssert(tMap.Key(), keytmp, c.key, false) - a.store(m, keytmp, 0, keysize) - - // Extract val's payload to vtmp, then store to map value. - valtmp := a.addNodes(tMap.Elem(), "SetMapIndex.valtmp") - a.typeAssert(tMap.Elem(), valtmp, c.val, false) - a.store(m, valtmp, keysize, a.sizeof(tMap.Elem())) - } -} - -func ext۰reflect۰Value۰SetMapIndex(a *analysis, cgn *cgnode) { - params := a.funcParams(cgn.obj) - a.addConstraint(&rVSetMapIndexConstraint{ - cgn: cgn, - v: params, - key: params + 1, - val: params + 2, - }) -} - -func ext۰reflect۰Value۰SetPointer(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (Value).Slice(v Value, i, j int) Value ---------- - -// result = v.Slice(_, _) -type rVSliceConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rVSliceConstraint) ptr() nodeid { return c.v } -func (c *rVSliceConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rVSlice.result") -} -func (c *rVSliceConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *rVSliceConstraint) String() string { - return fmt.Sprintf("n%d = reflect n%d.Slice(_, _)", c.result, c.v) -} - -func (c *rVSliceConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, payload, indirect := a.taggedValue(vObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - var res nodeid - switch t := tDyn.Underlying().(type) { - case *types.Pointer: - if tArr, ok := t.Elem().Underlying().(*types.Array); ok { - // pointer to array - res = a.makeTagged(types.NewSlice(tArr.Elem()), c.cgn, nil) - if a.onlineCopy(res+1, payload) { - a.addWork(res + 1) - } - } - - case *types.Array: - // TODO(adonovan): implement addressable - // arrays when we do indirect tagged objects. - - case *types.Slice: - res = vObj - - case *types.Basic: - if t == types.Typ[types.String] { - res = vObj - } - } - - if res != 0 && a.addLabel(c.result, res) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Value۰Slice(a *analysis, cgn *cgnode) { - a.addConstraint(&rVSliceConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// -------------------- Standalone reflect functions -------------------- - -func ext۰reflect۰Append(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰AppendSlice(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰Copy(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func ChanOf(ChanDir, Type) Type ---------- - -// result = ChanOf(dir, t) -type reflectChanOfConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) - dirs []types.ChanDir -} - -func (c *reflectChanOfConstraint) ptr() nodeid { return c.t } -func (c *reflectChanOfConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectChanOf.result") -} -func (c *reflectChanOfConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *reflectChanOfConstraint) String() string { - return fmt.Sprintf("n%d = reflect.ChanOf(n%d)", c.result, c.t) -} - -func (c *reflectChanOfConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.rtypeTaggedValue(tObj) - - if typeTooHigh(T) { - continue - } - - for _, dir := range c.dirs { - if a.addLabel(c.result, a.makeRtype(types.NewChan(dir, T))) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -// dirMap maps reflect.ChanDir to the set of channel types generated by ChanOf. -var dirMap = [...][]types.ChanDir{ - 0: {types.SendOnly, types.RecvOnly, types.SendRecv}, // unknown - reflect.RecvDir: {types.RecvOnly}, - reflect.SendDir: {types.SendOnly}, - reflect.BothDir: {types.SendRecv}, -} - -func ext۰reflect۰ChanOf(a *analysis, cgn *cgnode) { - // If we have access to the callsite, - // and the channel argument is a constant (as is usual), - // only generate the requested direction. - var dir reflect.ChanDir // unknown - if site := cgn.callersite; site != nil { - if c, ok := site.instr.Common().Args[0].(*ssa.Const); ok { - v, _ := exact.Int64Val(c.Value) - if 0 <= v && v <= int64(reflect.BothDir) { - dir = reflect.ChanDir(v) - } - } - } - - params := a.funcParams(cgn.obj) - a.addConstraint(&reflectChanOfConstraint{ - cgn: cgn, - t: params + 1, - result: a.funcResults(cgn.obj), - dirs: dirMap[dir], - }) -} - -// ---------- func Indirect(v Value) Value ---------- - -// result = Indirect(v) -type reflectIndirectConstraint struct { - cgn *cgnode - v nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectIndirectConstraint) ptr() nodeid { return c.v } -func (c *reflectIndirectConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectIndirect.result") -} -func (c *reflectIndirectConstraint) renumber(mapping []nodeid) { - c.v = mapping[c.v] - c.result = mapping[c.result] -} - -func (c *reflectIndirectConstraint) String() string { - return fmt.Sprintf("n%d = reflect.Indirect(n%d)", c.result, c.v) -} - -func (c *reflectIndirectConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - vObj := nodeid(x) - tDyn, _, _ := a.taggedValue(vObj) - var res nodeid - if tPtr, ok := tDyn.Underlying().(*types.Pointer); ok { - // load the payload of the pointer's tagged object - // into a new tagged object - res = a.makeTagged(tPtr.Elem(), c.cgn, nil) - a.load(res+1, vObj+1, 0, a.sizeof(tPtr.Elem())) - } else { - res = vObj - } - - if a.addLabel(c.result, res) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Indirect(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectIndirectConstraint{ - cgn: cgn, - v: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func MakeChan(Type) Value ---------- - -// result = MakeChan(typ) -type reflectMakeChanConstraint struct { - cgn *cgnode - typ nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectMakeChanConstraint) ptr() nodeid { return c.typ } -func (c *reflectMakeChanConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectMakeChan.result") -} -func (c *reflectMakeChanConstraint) renumber(mapping []nodeid) { - c.typ = mapping[c.typ] - c.result = mapping[c.result] -} - -func (c *reflectMakeChanConstraint) String() string { - return fmt.Sprintf("n%d = reflect.MakeChan(n%d)", c.result, c.typ) -} - -func (c *reflectMakeChanConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - typObj := nodeid(x) - T := a.rtypeTaggedValue(typObj) - tChan, ok := T.Underlying().(*types.Chan) - if !ok || tChan.Dir() != types.SendRecv { - continue // not a bidirectional channel type - } - - obj := a.nextNode() - a.addNodes(tChan.Elem(), "reflect.MakeChan.value") - a.endObject(obj, c.cgn, nil) - - // put its address in a new T-tagged object - id := a.makeTagged(T, c.cgn, nil) - a.addLabel(id+1, obj) - - // flow the T-tagged object to the result - if a.addLabel(c.result, id) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰MakeChan(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectMakeChanConstraint{ - cgn: cgn, - typ: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰MakeFunc(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func MakeMap(Type) Value ---------- - -// result = MakeMap(typ) -type reflectMakeMapConstraint struct { - cgn *cgnode - typ nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectMakeMapConstraint) ptr() nodeid { return c.typ } -func (c *reflectMakeMapConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectMakeMap.result") -} -func (c *reflectMakeMapConstraint) renumber(mapping []nodeid) { - c.typ = mapping[c.typ] - c.result = mapping[c.result] -} - -func (c *reflectMakeMapConstraint) String() string { - return fmt.Sprintf("n%d = reflect.MakeMap(n%d)", c.result, c.typ) -} - -func (c *reflectMakeMapConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - typObj := nodeid(x) - T := a.rtypeTaggedValue(typObj) - tMap, ok := T.Underlying().(*types.Map) - if !ok { - continue // not a map type - } - - mapObj := a.nextNode() - a.addNodes(tMap.Key(), "reflect.MakeMap.key") - a.addNodes(tMap.Elem(), "reflect.MakeMap.value") - a.endObject(mapObj, c.cgn, nil) - - // put its address in a new T-tagged object - id := a.makeTagged(T, c.cgn, nil) - a.addLabel(id+1, mapObj) - - // flow the T-tagged object to the result - if a.addLabel(c.result, id) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰MakeMap(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectMakeMapConstraint{ - cgn: cgn, - typ: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func MakeSlice(Type) Value ---------- - -// result = MakeSlice(typ) -type reflectMakeSliceConstraint struct { - cgn *cgnode - typ nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectMakeSliceConstraint) ptr() nodeid { return c.typ } -func (c *reflectMakeSliceConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectMakeSlice.result") -} -func (c *reflectMakeSliceConstraint) renumber(mapping []nodeid) { - c.typ = mapping[c.typ] - c.result = mapping[c.result] -} - -func (c *reflectMakeSliceConstraint) String() string { - return fmt.Sprintf("n%d = reflect.MakeSlice(n%d)", c.result, c.typ) -} - -func (c *reflectMakeSliceConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - typObj := nodeid(x) - T := a.rtypeTaggedValue(typObj) - if _, ok := T.Underlying().(*types.Slice); !ok { - continue // not a slice type - } - - obj := a.nextNode() - a.addNodes(sliceToArray(T), "reflect.MakeSlice") - a.endObject(obj, c.cgn, nil) - - // put its address in a new T-tagged object - id := a.makeTagged(T, c.cgn, nil) - a.addLabel(id+1, obj) - - // flow the T-tagged object to the result - if a.addLabel(c.result, id) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰MakeSlice(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectMakeSliceConstraint{ - cgn: cgn, - typ: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰MapOf(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func New(Type) Value ---------- - -// result = New(typ) -type reflectNewConstraint struct { - cgn *cgnode - typ nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectNewConstraint) ptr() nodeid { return c.typ } -func (c *reflectNewConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectNew.result") -} -func (c *reflectNewConstraint) renumber(mapping []nodeid) { - c.typ = mapping[c.typ] - c.result = mapping[c.result] -} - -func (c *reflectNewConstraint) String() string { - return fmt.Sprintf("n%d = reflect.New(n%d)", c.result, c.typ) -} - -func (c *reflectNewConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - typObj := nodeid(x) - T := a.rtypeTaggedValue(typObj) - - // allocate new T object - newObj := a.nextNode() - a.addNodes(T, "reflect.New") - a.endObject(newObj, c.cgn, nil) - - // put its address in a new *T-tagged object - id := a.makeTagged(types.NewPointer(T), c.cgn, nil) - a.addLabel(id+1, newObj) - - // flow the pointer to the result - if a.addLabel(c.result, id) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰New(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectNewConstraint{ - cgn: cgn, - typ: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰NewAt(a *analysis, cgn *cgnode) { - ext۰reflect۰New(a, cgn) - - // TODO(adonovan): also report dynamic calls to unsound intrinsics. - if site := cgn.callersite; site != nil { - a.warnf(site.pos(), "unsound: %s contains a reflect.NewAt() call", site.instr.Parent()) - } -} - -// ---------- func PtrTo(Type) Type ---------- - -// result = PtrTo(t) -type reflectPtrToConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectPtrToConstraint) ptr() nodeid { return c.t } -func (c *reflectPtrToConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectPtrTo.result") -} -func (c *reflectPtrToConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *reflectPtrToConstraint) String() string { - return fmt.Sprintf("n%d = reflect.PtrTo(n%d)", c.result, c.t) -} - -func (c *reflectPtrToConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.rtypeTaggedValue(tObj) - - if typeTooHigh(T) { - continue - } - - if a.addLabel(c.result, a.makeRtype(types.NewPointer(T))) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰PtrTo(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectPtrToConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰Select(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func SliceOf(Type) Type ---------- - -// result = SliceOf(t) -type reflectSliceOfConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectSliceOfConstraint) ptr() nodeid { return c.t } -func (c *reflectSliceOfConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectSliceOf.result") -} -func (c *reflectSliceOfConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *reflectSliceOfConstraint) String() string { - return fmt.Sprintf("n%d = reflect.SliceOf(n%d)", c.result, c.t) -} - -func (c *reflectSliceOfConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.rtypeTaggedValue(tObj) - - if typeTooHigh(T) { - continue - } - - if a.addLabel(c.result, a.makeRtype(types.NewSlice(T))) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰SliceOf(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectSliceOfConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func TypeOf(v Value) Type ---------- - -// result = TypeOf(i) -type reflectTypeOfConstraint struct { - cgn *cgnode - i nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectTypeOfConstraint) ptr() nodeid { return c.i } -func (c *reflectTypeOfConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectTypeOf.result") -} -func (c *reflectTypeOfConstraint) renumber(mapping []nodeid) { - c.i = mapping[c.i] - c.result = mapping[c.result] -} - -func (c *reflectTypeOfConstraint) String() string { - return fmt.Sprintf("n%d = reflect.TypeOf(n%d)", c.result, c.i) -} - -func (c *reflectTypeOfConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - iObj := nodeid(x) - tDyn, _, _ := a.taggedValue(iObj) - if a.addLabel(c.result, a.makeRtype(tDyn)) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰TypeOf(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectTypeOfConstraint{ - cgn: cgn, - i: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func ValueOf(interface{}) Value ---------- - -func ext۰reflect۰ValueOf(a *analysis, cgn *cgnode) { - // TODO(adonovan): when we start creating indirect tagged - // objects, we'll need to handle them specially here since - // they must never appear in the PTS of an interface{}. - a.copy(a.funcResults(cgn.obj), a.funcParams(cgn.obj), 1) -} - -// ---------- func Zero(Type) Value ---------- - -// result = Zero(typ) -type reflectZeroConstraint struct { - cgn *cgnode - typ nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *reflectZeroConstraint) ptr() nodeid { return c.typ } -func (c *reflectZeroConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "reflectZero.result") -} -func (c *reflectZeroConstraint) renumber(mapping []nodeid) { - c.typ = mapping[c.typ] - c.result = mapping[c.result] -} - -func (c *reflectZeroConstraint) String() string { - return fmt.Sprintf("n%d = reflect.Zero(n%d)", c.result, c.typ) -} - -func (c *reflectZeroConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - typObj := nodeid(x) - T := a.rtypeTaggedValue(typObj) - - // TODO(adonovan): if T is an interface type, we need - // to create an indirect tagged object containing - // new(T). To avoid updates of such shared values, - // we'll need another flag on indirect tagged objects - // that marks whether they are addressable or - // readonly, just like the reflect package does. - - // memoize using a.reflectZeros[T] - var id nodeid - if z := a.reflectZeros.At(T); false && z != nil { - id = z.(nodeid) - } else { - id = a.makeTagged(T, c.cgn, nil) - a.reflectZeros.Set(T, id) - } - if a.addLabel(c.result, id) { - changed = true - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰Zero(a *analysis, cgn *cgnode) { - a.addConstraint(&reflectZeroConstraint{ - cgn: cgn, - typ: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// -------------------- (*reflect.rtype) methods -------------------- - -// ---------- func (*rtype) Elem() Type ---------- - -// result = Elem(t) -type rtypeElemConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rtypeElemConstraint) ptr() nodeid { return c.t } -func (c *rtypeElemConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rtypeElem.result") -} -func (c *rtypeElemConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *rtypeElemConstraint) String() string { - return fmt.Sprintf("n%d = (*reflect.rtype).Elem(n%d)", c.result, c.t) -} - -func (c *rtypeElemConstraint) solve(a *analysis, delta *nodeset) { - // Implemented by *types.{Map,Chan,Array,Slice,Pointer}. - type hasElem interface { - Elem() types.Type - } - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.nodes[tObj].obj.data.(types.Type) - if tHasElem, ok := T.Underlying().(hasElem); ok { - if a.addLabel(c.result, a.makeRtype(tHasElem.Elem())) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰rtype۰Elem(a *analysis, cgn *cgnode) { - a.addConstraint(&rtypeElemConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (*rtype) Field(int) StructField ---------- -// ---------- func (*rtype) FieldByName(string) (StructField, bool) ---------- - -// result = FieldByName(t, name) -// result = Field(t, _) -type rtypeFieldByNameConstraint struct { - cgn *cgnode - name string // name of field; "" for unknown - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rtypeFieldByNameConstraint) ptr() nodeid { return c.t } -func (c *rtypeFieldByNameConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result+3), "rtypeFieldByName.result.Type") -} -func (c *rtypeFieldByNameConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *rtypeFieldByNameConstraint) String() string { - return fmt.Sprintf("n%d = (*reflect.rtype).FieldByName(n%d, %q)", c.result, c.t, c.name) -} - -func (c *rtypeFieldByNameConstraint) solve(a *analysis, delta *nodeset) { - // type StructField struct { - // 0 __identity__ - // 1 Name string - // 2 PkgPath string - // 3 Type Type - // 4 Tag StructTag - // 5 Offset uintptr - // 6 Index []int - // 7 Anonymous bool - // } - - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.nodes[tObj].obj.data.(types.Type) - tStruct, ok := T.Underlying().(*types.Struct) - if !ok { - continue // not a struct type - } - - n := tStruct.NumFields() - for i := 0; i < n; i++ { - f := tStruct.Field(i) - if c.name == "" || c.name == f.Name() { - - // a.offsetOf(Type) is 3. - if id := c.result + 3; a.addLabel(id, a.makeRtype(f.Type())) { - a.addWork(id) - } - // TODO(adonovan): StructField.Index should be non-nil. - } - } - } -} - -func ext۰reflect۰rtype۰FieldByName(a *analysis, cgn *cgnode) { - // If we have access to the callsite, - // and the argument is a string constant, - // return only that field. - var name string - if site := cgn.callersite; site != nil { - if c, ok := site.instr.Common().Args[0].(*ssa.Const); ok { - name = exact.StringVal(c.Value) - } - } - - a.addConstraint(&rtypeFieldByNameConstraint{ - cgn: cgn, - name: name, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰rtype۰Field(a *analysis, cgn *cgnode) { - // No-one ever calls Field with a constant argument, - // so we don't specialize that case. - a.addConstraint(&rtypeFieldByNameConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰rtype۰FieldByIndex(a *analysis, cgn *cgnode) {} // TODO(adonovan) -func ext۰reflect۰rtype۰FieldByNameFunc(a *analysis, cgn *cgnode) {} // TODO(adonovan) - -// ---------- func (*rtype) In/Out(i int) Type ---------- - -// result = In/Out(t, i) -type rtypeInOutConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) - out bool - i int // -ve if not a constant -} - -func (c *rtypeInOutConstraint) ptr() nodeid { return c.t } -func (c *rtypeInOutConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rtypeInOut.result") -} -func (c *rtypeInOutConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *rtypeInOutConstraint) String() string { - return fmt.Sprintf("n%d = (*reflect.rtype).InOut(n%d, %d)", c.result, c.t, c.i) -} - -func (c *rtypeInOutConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.nodes[tObj].obj.data.(types.Type) - sig, ok := T.Underlying().(*types.Signature) - if !ok { - continue // not a func type - } - - tuple := sig.Params() - if c.out { - tuple = sig.Results() - } - for i, n := 0, tuple.Len(); i < n; i++ { - if c.i < 0 || c.i == i { - if a.addLabel(c.result, a.makeRtype(tuple.At(i).Type())) { - changed = true - } - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰rtype۰InOut(a *analysis, cgn *cgnode, out bool) { - // If we have access to the callsite, - // and the argument is an int constant, - // return only that parameter. - index := -1 - if site := cgn.callersite; site != nil { - if c, ok := site.instr.Common().Args[0].(*ssa.Const); ok { - v, _ := exact.Int64Val(c.Value) - index = int(v) - } - } - a.addConstraint(&rtypeInOutConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - out: out, - i: index, - }) -} - -func ext۰reflect۰rtype۰In(a *analysis, cgn *cgnode) { - ext۰reflect۰rtype۰InOut(a, cgn, false) -} - -func ext۰reflect۰rtype۰Out(a *analysis, cgn *cgnode) { - ext۰reflect۰rtype۰InOut(a, cgn, true) -} - -// ---------- func (*rtype) Key() Type ---------- - -// result = Key(t) -type rtypeKeyConstraint struct { - cgn *cgnode - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rtypeKeyConstraint) ptr() nodeid { return c.t } -func (c *rtypeKeyConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result), "rtypeKey.result") -} -func (c *rtypeKeyConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *rtypeKeyConstraint) String() string { - return fmt.Sprintf("n%d = (*reflect.rtype).Key(n%d)", c.result, c.t) -} - -func (c *rtypeKeyConstraint) solve(a *analysis, delta *nodeset) { - changed := false - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.nodes[tObj].obj.data.(types.Type) - if tMap, ok := T.Underlying().(*types.Map); ok { - if a.addLabel(c.result, a.makeRtype(tMap.Key())) { - changed = true - } - } - } - if changed { - a.addWork(c.result) - } -} - -func ext۰reflect۰rtype۰Key(a *analysis, cgn *cgnode) { - a.addConstraint(&rtypeKeyConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// ---------- func (*rtype) Method(int) (Method, bool) ---------- -// ---------- func (*rtype) MethodByName(string) (Method, bool) ---------- - -// result = MethodByName(t, name) -// result = Method(t, _) -type rtypeMethodByNameConstraint struct { - cgn *cgnode - name string // name of method; "" for unknown - t nodeid // (ptr) - result nodeid // (indirect) -} - -func (c *rtypeMethodByNameConstraint) ptr() nodeid { return c.t } -func (c *rtypeMethodByNameConstraint) presolve(h *hvn) { - h.markIndirect(onodeid(c.result+3), "rtypeMethodByName.result.Type") - h.markIndirect(onodeid(c.result+4), "rtypeMethodByName.result.Func") -} -func (c *rtypeMethodByNameConstraint) renumber(mapping []nodeid) { - c.t = mapping[c.t] - c.result = mapping[c.result] -} - -func (c *rtypeMethodByNameConstraint) String() string { - return fmt.Sprintf("n%d = (*reflect.rtype).MethodByName(n%d, %q)", c.result, c.t, c.name) -} - -// changeRecv returns sig with Recv prepended to Params(). -func changeRecv(sig *types.Signature) *types.Signature { - params := sig.Params() - n := params.Len() - p2 := make([]*types.Var, n+1) - p2[0] = sig.Recv() - for i := 0; i < n; i++ { - p2[i+1] = params.At(i) - } - return types.NewSignature(nil, types.NewTuple(p2...), sig.Results(), sig.Variadic()) -} - -func (c *rtypeMethodByNameConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - tObj := nodeid(x) - T := a.nodes[tObj].obj.data.(types.Type) - - isIface := isInterface(T) - - // We don't use Lookup(c.name) when c.name != "" to avoid - // ambiguity: >1 unexported methods could match. - mset := a.prog.MethodSets.MethodSet(T) - for i, n := 0, mset.Len(); i < n; i++ { - sel := mset.At(i) - if c.name == "" || c.name == sel.Obj().Name() { - // type Method struct { - // 0 __identity__ - // 1 Name string - // 2 PkgPath string - // 3 Type Type - // 4 Func Value - // 5 Index int - // } - - var sig *types.Signature - var fn *ssa.Function - if isIface { - sig = sel.Type().(*types.Signature) - } else { - fn = a.prog.Method(sel) - // move receiver to params[0] - sig = changeRecv(fn.Signature) - } - - // a.offsetOf(Type) is 3. - if id := c.result + 3; a.addLabel(id, a.makeRtype(sig)) { - a.addWork(id) - } - if fn != nil { - // a.offsetOf(Func) is 4. - if id := c.result + 4; a.addLabel(id, a.objectNode(nil, fn)) { - a.addWork(id) - } - } - } - } - } -} - -func ext۰reflect۰rtype۰MethodByName(a *analysis, cgn *cgnode) { - // If we have access to the callsite, - // and the argument is a string constant, - // return only that method. - var name string - if site := cgn.callersite; site != nil { - if c, ok := site.instr.Common().Args[0].(*ssa.Const); ok { - name = exact.StringVal(c.Value) - } - } - - a.addConstraint(&rtypeMethodByNameConstraint{ - cgn: cgn, - name: name, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -func ext۰reflect۰rtype۰Method(a *analysis, cgn *cgnode) { - // No-one ever calls Method with a constant argument, - // so we don't specialize that case. - a.addConstraint(&rtypeMethodByNameConstraint{ - cgn: cgn, - t: a.funcParams(cgn.obj), - result: a.funcResults(cgn.obj), - }) -} - -// typeHeight returns the "height" of the type, which is roughly -// speaking the number of chan, map, pointer and slice type constructors -// at the root of T; these are the four type kinds that can be created -// via reflection. Chan and map constructors are counted as double the -// height of slice and pointer constructors since they are less often -// deeply nested. -// -// The solver rules for type constructors must somehow bound the set of -// types they create to ensure termination of the algorithm in cases -// where the output of a type constructor flows to its input, e.g. -// -// func f(t reflect.Type) { -// f(reflect.PtrTo(t)) -// } -// -// It does this by limiting the type height to k, but this still leaves -// a potentially exponential (4^k) number of of types that may be -// enumerated in pathological cases. -// -func typeHeight(T types.Type) int { - switch T := T.(type) { - case *types.Chan: - return 2 + typeHeight(T.Elem()) - case *types.Map: - k := typeHeight(T.Key()) - v := typeHeight(T.Elem()) - if v > k { - k = v // max(k, v) - } - return 2 + k - case *types.Slice: - return 1 + typeHeight(T.Elem()) - case *types.Pointer: - return 1 + typeHeight(T.Elem()) - } - return 0 -} - -func typeTooHigh(T types.Type) bool { - return typeHeight(T) > 3 -} diff --git a/vendor/golang.org/x/tools/go/pointer/solve.go b/vendor/golang.org/x/tools/go/pointer/solve.go deleted file mode 100644 index ad1a65f..0000000 --- a/vendor/golang.org/x/tools/go/pointer/solve.go +++ /dev/null @@ -1,371 +0,0 @@ -// Copyright 2013 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. - -package pointer - -// This file defines a naive Andersen-style solver for the inclusion -// constraint system. - -import ( - "fmt" - - "golang.org/x/tools/go/types" -) - -type solverState struct { - complex []constraint // complex constraints attached to this node - copyTo nodeset // simple copy constraint edges - pts nodeset // points-to set of this node - prevPTS nodeset // pts(n) in previous iteration (for difference propagation) -} - -func (a *analysis) solve() { - start("Solving") - if a.log != nil { - fmt.Fprintf(a.log, "\n\n==== Solving constraints\n\n") - } - - // Solver main loop. - var delta nodeset - for { - // Add new constraints to the graph: - // static constraints from SSA on round 1, - // dynamic constraints from reflection thereafter. - a.processNewConstraints() - - var x int - if !a.work.TakeMin(&x) { - break // empty - } - id := nodeid(x) - if a.log != nil { - fmt.Fprintf(a.log, "\tnode n%d\n", id) - } - - n := a.nodes[id] - - // Difference propagation. - delta.Difference(&n.solve.pts.Sparse, &n.solve.prevPTS.Sparse) - if delta.IsEmpty() { - continue - } - if a.log != nil { - fmt.Fprintf(a.log, "\t\tpts(n%d : %s) = %s + %s\n", - id, n.typ, &delta, &n.solve.prevPTS) - } - n.solve.prevPTS.Copy(&n.solve.pts.Sparse) - - // Apply all resolution rules attached to n. - a.solveConstraints(n, &delta) - - if a.log != nil { - fmt.Fprintf(a.log, "\t\tpts(n%d) = %s\n", id, &n.solve.pts) - } - } - - if !a.nodes[0].solve.pts.IsEmpty() { - panic(fmt.Sprintf("pts(0) is nonempty: %s", &a.nodes[0].solve.pts)) - } - - // Release working state (but keep final PTS). - for _, n := range a.nodes { - n.solve.complex = nil - n.solve.copyTo.Clear() - n.solve.prevPTS.Clear() - } - - if a.log != nil { - fmt.Fprintf(a.log, "Solver done\n") - - // Dump solution. - for i, n := range a.nodes { - if !n.solve.pts.IsEmpty() { - fmt.Fprintf(a.log, "pts(n%d) = %s : %s\n", i, &n.solve.pts, n.typ) - } - } - } - stop("Solving") -} - -// processNewConstraints takes the new constraints from a.constraints -// and adds them to the graph, ensuring -// that new constraints are applied to pre-existing labels and -// that pre-existing constraints are applied to new labels. -// -func (a *analysis) processNewConstraints() { - // Take the slice of new constraints. - // (May grow during call to solveConstraints.) - constraints := a.constraints - a.constraints = nil - - // Initialize points-to sets from addr-of (base) constraints. - for _, c := range constraints { - if c, ok := c.(*addrConstraint); ok { - dst := a.nodes[c.dst] - dst.solve.pts.add(c.src) - - // Populate the worklist with nodes that point to - // something initially (due to addrConstraints) and - // have other constraints attached. - // (A no-op in round 1.) - if !dst.solve.copyTo.IsEmpty() || len(dst.solve.complex) > 0 { - a.addWork(c.dst) - } - } - } - - // Attach simple (copy) and complex constraints to nodes. - var stale nodeset - for _, c := range constraints { - var id nodeid - switch c := c.(type) { - case *addrConstraint: - // base constraints handled in previous loop - continue - case *copyConstraint: - // simple (copy) constraint - id = c.src - a.nodes[id].solve.copyTo.add(c.dst) - default: - // complex constraint - id = c.ptr() - solve := a.nodes[id].solve - solve.complex = append(solve.complex, c) - } - - if n := a.nodes[id]; !n.solve.pts.IsEmpty() { - if !n.solve.prevPTS.IsEmpty() { - stale.add(id) - } - a.addWork(id) - } - } - // Apply new constraints to pre-existing PTS labels. - var space [50]int - for _, id := range stale.AppendTo(space[:0]) { - n := a.nodes[nodeid(id)] - a.solveConstraints(n, &n.solve.prevPTS) - } -} - -// solveConstraints applies each resolution rule attached to node n to -// the set of labels delta. It may generate new constraints in -// a.constraints. -// -func (a *analysis) solveConstraints(n *node, delta *nodeset) { - if delta.IsEmpty() { - return - } - - // Process complex constraints dependent on n. - for _, c := range n.solve.complex { - if a.log != nil { - fmt.Fprintf(a.log, "\t\tconstraint %s\n", c) - } - c.solve(a, delta) - } - - // Process copy constraints. - var copySeen nodeset - for _, x := range n.solve.copyTo.AppendTo(a.deltaSpace) { - mid := nodeid(x) - if copySeen.add(mid) { - if a.nodes[mid].solve.pts.addAll(delta) { - a.addWork(mid) - } - } - } -} - -// addLabel adds label to the points-to set of ptr and reports whether the set grew. -func (a *analysis) addLabel(ptr, label nodeid) bool { - b := a.nodes[ptr].solve.pts.add(label) - if b && a.log != nil { - fmt.Fprintf(a.log, "\t\tpts(n%d) += n%d\n", ptr, label) - } - return b -} - -func (a *analysis) addWork(id nodeid) { - a.work.Insert(int(id)) - if a.log != nil { - fmt.Fprintf(a.log, "\t\twork: n%d\n", id) - } -} - -// onlineCopy adds a copy edge. It is called online, i.e. during -// solving, so it adds edges and pts members directly rather than by -// instantiating a 'constraint'. -// -// The size of the copy is implicitly 1. -// It returns true if pts(dst) changed. -// -func (a *analysis) onlineCopy(dst, src nodeid) bool { - if dst != src { - if nsrc := a.nodes[src]; nsrc.solve.copyTo.add(dst) { - if a.log != nil { - fmt.Fprintf(a.log, "\t\t\tdynamic copy n%d <- n%d\n", dst, src) - } - // TODO(adonovan): most calls to onlineCopy - // are followed by addWork, possibly batched - // via a 'changed' flag; see if there's a - // noticeable penalty to calling addWork here. - return a.nodes[dst].solve.pts.addAll(&nsrc.solve.pts) - } - } - return false -} - -// Returns sizeof. -// Implicitly adds nodes to worklist. -// -// TODO(adonovan): now that we support a.copy() during solving, we -// could eliminate onlineCopyN, but it's much slower. Investigate. -// -func (a *analysis) onlineCopyN(dst, src nodeid, sizeof uint32) uint32 { - for i := uint32(0); i < sizeof; i++ { - if a.onlineCopy(dst, src) { - a.addWork(dst) - } - src++ - dst++ - } - return sizeof -} - -func (c *loadConstraint) solve(a *analysis, delta *nodeset) { - var changed bool - for _, x := range delta.AppendTo(a.deltaSpace) { - k := nodeid(x) - koff := k + nodeid(c.offset) - if a.onlineCopy(c.dst, koff) { - changed = true - } - } - if changed { - a.addWork(c.dst) - } -} - -func (c *storeConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - k := nodeid(x) - koff := k + nodeid(c.offset) - if a.onlineCopy(koff, c.src) { - a.addWork(koff) - } - } -} - -func (c *offsetAddrConstraint) solve(a *analysis, delta *nodeset) { - dst := a.nodes[c.dst] - for _, x := range delta.AppendTo(a.deltaSpace) { - k := nodeid(x) - if dst.solve.pts.add(k + nodeid(c.offset)) { - a.addWork(c.dst) - } - } -} - -func (c *typeFilterConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - ifaceObj := nodeid(x) - tDyn, _, indirect := a.taggedValue(ifaceObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - if types.AssignableTo(tDyn, c.typ) { - if a.addLabel(c.dst, ifaceObj) { - a.addWork(c.dst) - } - } - } -} - -func (c *untagConstraint) solve(a *analysis, delta *nodeset) { - predicate := types.AssignableTo - if c.exact { - predicate = types.Identical - } - for _, x := range delta.AppendTo(a.deltaSpace) { - ifaceObj := nodeid(x) - tDyn, v, indirect := a.taggedValue(ifaceObj) - if indirect { - // TODO(adonovan): we'll need to implement this - // when we start creating indirect tagged objects. - panic("indirect tagged object") - } - - if predicate(tDyn, c.typ) { - // Copy payload sans tag to dst. - // - // TODO(adonovan): opt: if tDyn is - // nonpointerlike we can skip this entire - // constraint, perhaps. We only care about - // pointers among the fields. - a.onlineCopyN(c.dst, v, a.sizeof(tDyn)) - } - } -} - -func (c *invokeConstraint) solve(a *analysis, delta *nodeset) { - for _, x := range delta.AppendTo(a.deltaSpace) { - ifaceObj := nodeid(x) - tDyn, v, indirect := a.taggedValue(ifaceObj) - if indirect { - // TODO(adonovan): we may need to implement this if - // we ever apply invokeConstraints to reflect.Value PTSs, - // e.g. for (reflect.Value).Call. - panic("indirect tagged object") - } - - // Look up the concrete method. - fn := a.prog.LookupMethod(tDyn, c.method.Pkg(), c.method.Name()) - if fn == nil { - panic(fmt.Sprintf("n%d: no ssa.Function for %s", c.iface, c.method)) - } - sig := fn.Signature - - fnObj := a.globalobj[fn] // dynamic calls use shared contour - if fnObj == 0 { - // a.objectNode(fn) was not called during gen phase. - panic(fmt.Sprintf("a.globalobj[%s]==nil", fn)) - } - - // Make callsite's fn variable point to identity of - // concrete method. (There's no need to add it to - // worklist since it never has attached constraints.) - a.addLabel(c.params, fnObj) - - // Extract value and connect to method's receiver. - // Copy payload to method's receiver param (arg0). - arg0 := a.funcParams(fnObj) - recvSize := a.sizeof(sig.Recv().Type()) - a.onlineCopyN(arg0, v, recvSize) - - src := c.params + 1 // skip past identity - dst := arg0 + nodeid(recvSize) - - // Copy caller's argument block to method formal parameters. - paramsSize := a.sizeof(sig.Params()) - a.onlineCopyN(dst, src, paramsSize) - src += nodeid(paramsSize) - dst += nodeid(paramsSize) - - // Copy method results to caller's result block. - resultsSize := a.sizeof(sig.Results()) - a.onlineCopyN(src, dst, resultsSize) - } -} - -func (c *addrConstraint) solve(a *analysis, delta *nodeset) { - panic("addr is not a complex constraint") -} - -func (c *copyConstraint) solve(a *analysis, delta *nodeset) { - panic("copy is not a complex constraint") -} diff --git a/vendor/golang.org/x/tools/go/pointer/util.go b/vendor/golang.org/x/tools/go/pointer/util.go deleted file mode 100644 index d4ccbb5..0000000 --- a/vendor/golang.org/x/tools/go/pointer/util.go +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright 2013 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. - -package pointer - -import ( - "bytes" - "fmt" - "log" - "os" - "os/exec" - "runtime" - "time" - - "golang.org/x/tools/container/intsets" - "golang.org/x/tools/go/types" -) - -// CanPoint reports whether the type T is pointerlike, -// for the purposes of this analysis. -func CanPoint(T types.Type) bool { - switch T := T.(type) { - case *types.Named: - if obj := T.Obj(); obj.Name() == "Value" && obj.Pkg().Path() == "reflect" { - return true // treat reflect.Value like interface{} - } - return CanPoint(T.Underlying()) - - case *types.Pointer, *types.Interface, *types.Map, *types.Chan, *types.Signature, *types.Slice: - return true - } - - return false // array struct tuple builtin basic -} - -// CanHaveDynamicTypes reports whether the type T can "hold" dynamic types, -// i.e. is an interface (incl. reflect.Type) or a reflect.Value. -// -func CanHaveDynamicTypes(T types.Type) bool { - switch T := T.(type) { - case *types.Named: - if obj := T.Obj(); obj.Name() == "Value" && obj.Pkg().Path() == "reflect" { - return true // reflect.Value - } - return CanHaveDynamicTypes(T.Underlying()) - case *types.Interface: - return true - } - return false -} - -func isInterface(T types.Type) bool { return types.IsInterface(T) } - -// mustDeref returns the element type of its argument, which must be a -// pointer; panic ensues otherwise. -func mustDeref(typ types.Type) types.Type { - return typ.Underlying().(*types.Pointer).Elem() -} - -// deref returns a pointer's element type; otherwise it returns typ. -func deref(typ types.Type) types.Type { - if p, ok := typ.Underlying().(*types.Pointer); ok { - return p.Elem() - } - return typ -} - -// A fieldInfo describes one subelement (node) of the flattening-out -// of a type T: the subelement's type and its path from the root of T. -// -// For example, for this type: -// type line struct{ points []struct{x, y int} } -// flatten() of the inner struct yields the following []fieldInfo: -// struct{ x, y int } "" -// int ".x" -// int ".y" -// and flatten(line) yields: -// struct{ points []struct{x, y int} } "" -// struct{ x, y int } ".points[*]" -// int ".points[*].x -// int ".points[*].y" -// -type fieldInfo struct { - typ types.Type - - // op and tail describe the path to the element (e.g. ".a#2.b[*].c"). - op interface{} // *Array: true; *Tuple: int; *Struct: *types.Var; *Named: nil - tail *fieldInfo -} - -// path returns a user-friendly string describing the subelement path. -// -func (fi *fieldInfo) path() string { - var buf bytes.Buffer - for p := fi; p != nil; p = p.tail { - switch op := p.op.(type) { - case bool: - fmt.Fprintf(&buf, "[*]") - case int: - fmt.Fprintf(&buf, "#%d", op) - case *types.Var: - fmt.Fprintf(&buf, ".%s", op.Name()) - } - } - return buf.String() -} - -// flatten returns a list of directly contained fields in the preorder -// traversal of the type tree of t. The resulting elements are all -// scalars (basic types or pointerlike types), except for struct/array -// "identity" nodes, whose type is that of the aggregate. -// -// reflect.Value is considered pointerlike, similar to interface{}. -// -// Callers must not mutate the result. -// -func (a *analysis) flatten(t types.Type) []*fieldInfo { - fl, ok := a.flattenMemo[t] - if !ok { - switch t := t.(type) { - case *types.Named: - u := t.Underlying() - if isInterface(u) { - // Debuggability hack: don't remove - // the named type from interfaces as - // they're very verbose. - fl = append(fl, &fieldInfo{typ: t}) - } else { - fl = a.flatten(u) - } - - case *types.Basic, - *types.Signature, - *types.Chan, - *types.Map, - *types.Interface, - *types.Slice, - *types.Pointer: - fl = append(fl, &fieldInfo{typ: t}) - - case *types.Array: - fl = append(fl, &fieldInfo{typ: t}) // identity node - for _, fi := range a.flatten(t.Elem()) { - fl = append(fl, &fieldInfo{typ: fi.typ, op: true, tail: fi}) - } - - case *types.Struct: - fl = append(fl, &fieldInfo{typ: t}) // identity node - for i, n := 0, t.NumFields(); i < n; i++ { - f := t.Field(i) - for _, fi := range a.flatten(f.Type()) { - fl = append(fl, &fieldInfo{typ: fi.typ, op: f, tail: fi}) - } - } - - case *types.Tuple: - // No identity node: tuples are never address-taken. - n := t.Len() - if n == 1 { - // Don't add a fieldInfo link for singletons, - // e.g. in params/results. - fl = append(fl, a.flatten(t.At(0).Type())...) - } else { - for i := 0; i < n; i++ { - f := t.At(i) - for _, fi := range a.flatten(f.Type()) { - fl = append(fl, &fieldInfo{typ: fi.typ, op: i, tail: fi}) - } - } - } - - default: - panic(t) - } - - a.flattenMemo[t] = fl - } - - return fl -} - -// sizeof returns the number of pointerlike abstractions (nodes) in the type t. -func (a *analysis) sizeof(t types.Type) uint32 { - return uint32(len(a.flatten(t))) -} - -// shouldTrack reports whether object type T contains (recursively) -// any fields whose addresses should be tracked. -func (a *analysis) shouldTrack(T types.Type) bool { - if a.track == trackAll { - return true // fast path - } - track, ok := a.trackTypes[T] - if !ok { - a.trackTypes[T] = true // break cycles conservatively - // NB: reflect.Value, reflect.Type are pre-populated to true. - for _, fi := range a.flatten(T) { - switch ft := fi.typ.Underlying().(type) { - case *types.Interface, *types.Signature: - track = true // needed for callgraph - case *types.Basic: - // no-op - case *types.Chan: - track = a.track&trackChan != 0 || a.shouldTrack(ft.Elem()) - case *types.Map: - track = a.track&trackMap != 0 || a.shouldTrack(ft.Key()) || a.shouldTrack(ft.Elem()) - case *types.Slice: - track = a.track&trackSlice != 0 || a.shouldTrack(ft.Elem()) - case *types.Pointer: - track = a.track&trackPtr != 0 || a.shouldTrack(ft.Elem()) - case *types.Array, *types.Struct: - // No need to look at field types since they will follow (flattened). - default: - // Includes *types.Tuple, which are never address-taken. - panic(ft) - } - if track { - break - } - } - a.trackTypes[T] = track - if !track && a.log != nil { - fmt.Fprintf(a.log, "\ttype not tracked: %s\n", T) - } - } - return track -} - -// offsetOf returns the (abstract) offset of field index within struct -// or tuple typ. -func (a *analysis) offsetOf(typ types.Type, index int) uint32 { - var offset uint32 - switch t := typ.Underlying().(type) { - case *types.Tuple: - for i := 0; i < index; i++ { - offset += a.sizeof(t.At(i).Type()) - } - case *types.Struct: - offset++ // the node for the struct itself - for i := 0; i < index; i++ { - offset += a.sizeof(t.Field(i).Type()) - } - default: - panic(fmt.Sprintf("offsetOf(%s : %T)", typ, typ)) - } - return offset -} - -// sliceToArray returns the type representing the arrays to which -// slice type slice points. -func sliceToArray(slice types.Type) *types.Array { - return types.NewArray(slice.Underlying().(*types.Slice).Elem(), 1) -} - -// Node set ------------------------------------------------------------------- - -type nodeset struct { - intsets.Sparse -} - -func (ns *nodeset) String() string { - var buf bytes.Buffer - buf.WriteRune('{') - var space [50]int - for i, n := range ns.AppendTo(space[:0]) { - if i > 0 { - buf.WriteString(", ") - } - buf.WriteRune('n') - fmt.Fprintf(&buf, "%d", n) - } - buf.WriteRune('}') - return buf.String() -} - -func (ns *nodeset) add(n nodeid) bool { - return ns.Sparse.Insert(int(n)) -} - -func (x *nodeset) addAll(y *nodeset) bool { - return x.UnionWith(&y.Sparse) -} - -// Profiling & debugging ------------------------------------------------------- - -var timers = make(map[string]time.Time) - -func start(name string) { - if debugTimers { - timers[name] = time.Now() - log.Printf("%s...\n", name) - } -} - -func stop(name string) { - if debugTimers { - log.Printf("%s took %s\n", name, time.Since(timers[name])) - } -} - -// diff runs the command "diff a b" and reports its success. -func diff(a, b string) bool { - var cmd *exec.Cmd - switch runtime.GOOS { - case "plan9": - cmd = exec.Command("/bin/diff", "-c", a, b) - default: - cmd = exec.Command("/usr/bin/diff", "-u", a, b) - } - cmd.Stdout = os.Stderr - cmd.Stderr = os.Stderr - return cmd.Run() == nil -} diff --git a/vendor/golang.org/x/tools/go/ssa/blockopt.go b/vendor/golang.org/x/tools/go/ssa/blockopt.go deleted file mode 100644 index e79260a..0000000 --- a/vendor/golang.org/x/tools/go/ssa/blockopt.go +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// Simple block optimizations to simplify the control flow graph. - -// TODO(adonovan): opt: instead of creating several "unreachable" blocks -// per function in the Builder, reuse a single one (e.g. at Blocks[1]) -// to reduce garbage. - -import ( - "fmt" - "os" -) - -// If true, perform sanity checking and show progress at each -// successive iteration of optimizeBlocks. Very verbose. -const debugBlockOpt = false - -// markReachable sets Index=-1 for all blocks reachable from b. -func markReachable(b *BasicBlock) { - b.Index = -1 - for _, succ := range b.Succs { - if succ.Index == 0 { - markReachable(succ) - } - } -} - -// deleteUnreachableBlocks marks all reachable blocks of f and -// eliminates (nils) all others, including possibly cyclic subgraphs. -// -func deleteUnreachableBlocks(f *Function) { - const white, black = 0, -1 - // We borrow b.Index temporarily as the mark bit. - for _, b := range f.Blocks { - b.Index = white - } - markReachable(f.Blocks[0]) - if f.Recover != nil { - markReachable(f.Recover) - } - for i, b := range f.Blocks { - if b.Index == white { - for _, c := range b.Succs { - if c.Index == black { - c.removePred(b) // delete white->black edge - } - } - if debugBlockOpt { - fmt.Fprintln(os.Stderr, "unreachable", b) - } - f.Blocks[i] = nil // delete b - } - } - f.removeNilBlocks() -} - -// jumpThreading attempts to apply simple jump-threading to block b, -// in which a->b->c become a->c if b is just a Jump. -// The result is true if the optimization was applied. -// -func jumpThreading(f *Function, b *BasicBlock) bool { - if b.Index == 0 { - return false // don't apply to entry block - } - if b.Instrs == nil { - return false - } - if _, ok := b.Instrs[0].(*Jump); !ok { - return false // not just a jump - } - c := b.Succs[0] - if c == b { - return false // don't apply to degenerate jump-to-self. - } - if c.hasPhi() { - return false // not sound without more effort - } - for j, a := range b.Preds { - a.replaceSucc(b, c) - - // If a now has two edges to c, replace its degenerate If by Jump. - if len(a.Succs) == 2 && a.Succs[0] == c && a.Succs[1] == c { - jump := new(Jump) - jump.setBlock(a) - a.Instrs[len(a.Instrs)-1] = jump - a.Succs = a.Succs[:1] - c.removePred(b) - } else { - if j == 0 { - c.replacePred(b, a) - } else { - c.Preds = append(c.Preds, a) - } - } - - if debugBlockOpt { - fmt.Fprintln(os.Stderr, "jumpThreading", a, b, c) - } - } - f.Blocks[b.Index] = nil // delete b - return true -} - -// fuseBlocks attempts to apply the block fusion optimization to block -// a, in which a->b becomes ab if len(a.Succs)==len(b.Preds)==1. -// The result is true if the optimization was applied. -// -func fuseBlocks(f *Function, a *BasicBlock) bool { - if len(a.Succs) != 1 { - return false - } - b := a.Succs[0] - if len(b.Preds) != 1 { - return false - } - - // Degenerate &&/|| ops may result in a straight-line CFG - // containing φ-nodes. (Ideally we'd replace such them with - // their sole operand but that requires Referrers, built later.) - if b.hasPhi() { - return false // not sound without further effort - } - - // Eliminate jump at end of A, then copy all of B across. - a.Instrs = append(a.Instrs[:len(a.Instrs)-1], b.Instrs...) - for _, instr := range b.Instrs { - instr.setBlock(a) - } - - // A inherits B's successors - a.Succs = append(a.succs2[:0], b.Succs...) - - // Fix up Preds links of all successors of B. - for _, c := range b.Succs { - c.replacePred(b, a) - } - - if debugBlockOpt { - fmt.Fprintln(os.Stderr, "fuseBlocks", a, b) - } - - f.Blocks[b.Index] = nil // delete b - return true -} - -// optimizeBlocks() performs some simple block optimizations on a -// completed function: dead block elimination, block fusion, jump -// threading. -// -func optimizeBlocks(f *Function) { - deleteUnreachableBlocks(f) - - // Loop until no further progress. - changed := true - for changed { - changed = false - - if debugBlockOpt { - f.WriteTo(os.Stderr) - mustSanityCheck(f, nil) - } - - for _, b := range f.Blocks { - // f.Blocks will temporarily contain nils to indicate - // deleted blocks; we remove them at the end. - if b == nil { - continue - } - - // Fuse blocks. b->c becomes bc. - if fuseBlocks(f, b) { - changed = true - } - - // a->b->c becomes a->c if b contains only a Jump. - if jumpThreading(f, b) { - changed = true - continue // (b was disconnected) - } - } - } - f.removeNilBlocks() -} diff --git a/vendor/golang.org/x/tools/go/ssa/builder.go b/vendor/golang.org/x/tools/go/ssa/builder.go deleted file mode 100644 index 5b8ce0e..0000000 --- a/vendor/golang.org/x/tools/go/ssa/builder.go +++ /dev/null @@ -1,2370 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file implements the BUILD phase of SSA construction. -// -// SSA construction has two phases, CREATE and BUILD. In the CREATE phase -// (create.go), all packages are constructed and type-checked and -// definitions of all package members are created, method-sets are -// computed, and wrapper methods are synthesized. -// ssa.Packages are created in arbitrary order. -// -// In the BUILD phase (builder.go), the builder traverses the AST of -// each Go source function and generates SSA instructions for the -// function body. Initializer expressions for package-level variables -// are emitted to the package's init() function in the order specified -// by go/types.Info.InitOrder, then code for each function in the -// package is generated in lexical order. -// The BUILD phases for distinct packages are independent and are -// executed in parallel. -// -// TODO(adonovan): indeed, building functions is now embarrassingly parallel. -// Audit for concurrency then benchmark using more goroutines. -// -// The builder's and Program's indices (maps) are populated and -// mutated during the CREATE phase, but during the BUILD phase they -// remain constant. The sole exception is Prog.methodSets and its -// related maps, which are protected by a dedicated mutex. - -import ( - "fmt" - "go/ast" - "go/token" - "os" - "sync" - "sync/atomic" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/types" -) - -type opaqueType struct { - types.Type - name string -} - -func (t *opaqueType) String() string { return t.name } - -var ( - varOk = newVar("ok", tBool) - varIndex = newVar("index", tInt) - - // Type constants. - tBool = types.Typ[types.Bool] - tByte = types.Typ[types.Byte] - tInt = types.Typ[types.Int] - tInvalid = types.Typ[types.Invalid] - tString = types.Typ[types.String] - tUntypedNil = types.Typ[types.UntypedNil] - tRangeIter = &opaqueType{nil, "iter"} // the type of all "range" iterators - tEface = new(types.Interface) - - // SSA Value constants. - vZero = intConst(0) - vOne = intConst(1) - vTrue = NewConst(exact.MakeBool(true), tBool) -) - -// builder holds state associated with the package currently being built. -// Its methods contain all the logic for AST-to-SSA conversion. -type builder struct{} - -// cond emits to fn code to evaluate boolean condition e and jump -// to t or f depending on its value, performing various simplifications. -// -// Postcondition: fn.currentBlock is nil. -// -func (b *builder) cond(fn *Function, e ast.Expr, t, f *BasicBlock) { - switch e := e.(type) { - case *ast.ParenExpr: - b.cond(fn, e.X, t, f) - return - - case *ast.BinaryExpr: - switch e.Op { - case token.LAND: - ltrue := fn.newBasicBlock("cond.true") - b.cond(fn, e.X, ltrue, f) - fn.currentBlock = ltrue - b.cond(fn, e.Y, t, f) - return - - case token.LOR: - lfalse := fn.newBasicBlock("cond.false") - b.cond(fn, e.X, t, lfalse) - fn.currentBlock = lfalse - b.cond(fn, e.Y, t, f) - return - } - - case *ast.UnaryExpr: - if e.Op == token.NOT { - b.cond(fn, e.X, f, t) - return - } - } - - // A traditional compiler would simplify "if false" (etc) here - // but we do not, for better fidelity to the source code. - // - // The value of a constant condition may be platform-specific, - // and may cause blocks that are reachable in some configuration - // to be hidden from subsequent analyses such as bug-finding tools. - emitIf(fn, b.expr(fn, e), t, f) -} - -// logicalBinop emits code to fn to evaluate e, a &&- or -// ||-expression whose reified boolean value is wanted. -// The value is returned. -// -func (b *builder) logicalBinop(fn *Function, e *ast.BinaryExpr) Value { - rhs := fn.newBasicBlock("binop.rhs") - done := fn.newBasicBlock("binop.done") - - // T(e) = T(e.X) = T(e.Y) after untyped constants have been - // eliminated. - // TODO(adonovan): not true; MyBool==MyBool yields UntypedBool. - t := fn.Pkg.typeOf(e) - - var short Value // value of the short-circuit path - switch e.Op { - case token.LAND: - b.cond(fn, e.X, rhs, done) - short = NewConst(exact.MakeBool(false), t) - - case token.LOR: - b.cond(fn, e.X, done, rhs) - short = NewConst(exact.MakeBool(true), t) - } - - // Is rhs unreachable? - if rhs.Preds == nil { - // Simplify false&&y to false, true||y to true. - fn.currentBlock = done - return short - } - - // Is done unreachable? - if done.Preds == nil { - // Simplify true&&y (or false||y) to y. - fn.currentBlock = rhs - return b.expr(fn, e.Y) - } - - // All edges from e.X to done carry the short-circuit value. - var edges []Value - for _ = range done.Preds { - edges = append(edges, short) - } - - // The edge from e.Y to done carries the value of e.Y. - fn.currentBlock = rhs - edges = append(edges, b.expr(fn, e.Y)) - emitJump(fn, done) - fn.currentBlock = done - - phi := &Phi{Edges: edges, Comment: e.Op.String()} - phi.pos = e.OpPos - phi.typ = t - return done.emit(phi) -} - -// exprN lowers a multi-result expression e to SSA form, emitting code -// to fn and returning a single Value whose type is a *types.Tuple. -// The caller must access the components via Extract. -// -// Multi-result expressions include CallExprs in a multi-value -// assignment or return statement, and "value,ok" uses of -// TypeAssertExpr, IndexExpr (when X is a map), and UnaryExpr (when Op -// is token.ARROW). -// -func (b *builder) exprN(fn *Function, e ast.Expr) Value { - typ := fn.Pkg.typeOf(e).(*types.Tuple) - switch e := e.(type) { - case *ast.ParenExpr: - return b.exprN(fn, e.X) - - case *ast.CallExpr: - // Currently, no built-in function nor type conversion - // has multiple results, so we can avoid some of the - // cases for single-valued CallExpr. - var c Call - b.setCall(fn, e, &c.Call) - c.typ = typ - return fn.emit(&c) - - case *ast.IndexExpr: - mapt := fn.Pkg.typeOf(e.X).Underlying().(*types.Map) - lookup := &Lookup{ - X: b.expr(fn, e.X), - Index: emitConv(fn, b.expr(fn, e.Index), mapt.Key()), - CommaOk: true, - } - lookup.setType(typ) - lookup.setPos(e.Lbrack) - return fn.emit(lookup) - - case *ast.TypeAssertExpr: - return emitTypeTest(fn, b.expr(fn, e.X), typ.At(0).Type(), e.Lparen) - - case *ast.UnaryExpr: // must be receive <- - unop := &UnOp{ - Op: token.ARROW, - X: b.expr(fn, e.X), - CommaOk: true, - } - unop.setType(typ) - unop.setPos(e.OpPos) - return fn.emit(unop) - } - panic(fmt.Sprintf("exprN(%T) in %s", e, fn)) -} - -// builtin emits to fn SSA instructions to implement a call to the -// built-in function obj with the specified arguments -// and return type. It returns the value defined by the result. -// -// The result is nil if no special handling was required; in this case -// the caller should treat this like an ordinary library function -// call. -// -func (b *builder) builtin(fn *Function, obj *types.Builtin, args []ast.Expr, typ types.Type, pos token.Pos) Value { - switch obj.Name() { - case "make": - switch typ.Underlying().(type) { - case *types.Slice: - n := b.expr(fn, args[1]) - m := n - if len(args) == 3 { - m = b.expr(fn, args[2]) - } - if m, ok := m.(*Const); ok { - // treat make([]T, n, m) as new([m]T)[:n] - cap, _ := exact.Int64Val(m.Value) - at := types.NewArray(typ.Underlying().(*types.Slice).Elem(), cap) - alloc := emitNew(fn, at, pos) - alloc.Comment = "makeslice" - v := &Slice{ - X: alloc, - High: n, - } - v.setPos(pos) - v.setType(typ) - return fn.emit(v) - } - v := &MakeSlice{ - Len: n, - Cap: m, - } - v.setPos(pos) - v.setType(typ) - return fn.emit(v) - - case *types.Map: - var res Value - if len(args) == 2 { - res = b.expr(fn, args[1]) - } - v := &MakeMap{Reserve: res} - v.setPos(pos) - v.setType(typ) - return fn.emit(v) - - case *types.Chan: - var sz Value = vZero - if len(args) == 2 { - sz = b.expr(fn, args[1]) - } - v := &MakeChan{Size: sz} - v.setPos(pos) - v.setType(typ) - return fn.emit(v) - } - - case "new": - alloc := emitNew(fn, deref(typ), pos) - alloc.Comment = "new" - return alloc - - case "len", "cap": - // Special case: len or cap of an array or *array is - // based on the type, not the value which may be nil. - // We must still evaluate the value, though. (If it - // was side-effect free, the whole call would have - // been constant-folded.) - t := deref(fn.Pkg.typeOf(args[0])).Underlying() - if at, ok := t.(*types.Array); ok { - b.expr(fn, args[0]) // for effects only - return intConst(at.Len()) - } - // Otherwise treat as normal. - - case "panic": - fn.emit(&Panic{ - X: emitConv(fn, b.expr(fn, args[0]), tEface), - pos: pos, - }) - fn.currentBlock = fn.newBasicBlock("unreachable") - return vTrue // any non-nil Value will do - } - return nil // treat all others as a regular function call -} - -// addr lowers a single-result addressable expression e to SSA form, -// emitting code to fn and returning the location (an lvalue) defined -// by the expression. -// -// If escaping is true, addr marks the base variable of the -// addressable expression e as being a potentially escaping pointer -// value. For example, in this code: -// -// a := A{ -// b: [1]B{B{c: 1}} -// } -// return &a.b[0].c -// -// the application of & causes a.b[0].c to have its address taken, -// which means that ultimately the local variable a must be -// heap-allocated. This is a simple but very conservative escape -// analysis. -// -// Operations forming potentially escaping pointers include: -// - &x, including when implicit in method call or composite literals. -// - a[:] iff a is an array (not *array) -// - references to variables in lexically enclosing functions. -// -func (b *builder) addr(fn *Function, e ast.Expr, escaping bool) lvalue { - switch e := e.(type) { - case *ast.Ident: - if isBlankIdent(e) { - return blank{} - } - obj := fn.Pkg.objectOf(e) - v := fn.Prog.packageLevelValue(obj) // var (address) - if v == nil { - v = fn.lookup(obj, escaping) - } - return &address{addr: v, pos: e.Pos(), expr: e} - - case *ast.CompositeLit: - t := deref(fn.Pkg.typeOf(e)) - var v *Alloc - if escaping { - v = emitNew(fn, t, e.Lbrace) - } else { - v = fn.addLocal(t, e.Lbrace) - } - v.Comment = "complit" - var sb storebuf - b.compLit(fn, v, e, true, &sb) - sb.emit(fn) - return &address{addr: v, pos: e.Lbrace, expr: e} - - case *ast.ParenExpr: - return b.addr(fn, e.X, escaping) - - case *ast.SelectorExpr: - sel, ok := fn.Pkg.info.Selections[e] - if !ok { - // qualified identifier - return b.addr(fn, e.Sel, escaping) - } - if sel.Kind() != types.FieldVal { - panic(sel) - } - wantAddr := true - v := b.receiver(fn, e.X, wantAddr, escaping, sel) - last := len(sel.Index()) - 1 - return &address{ - addr: emitFieldSelection(fn, v, sel.Index()[last], true, e.Sel), - pos: e.Sel.Pos(), - expr: e.Sel, - } - - case *ast.IndexExpr: - var x Value - var et types.Type - switch t := fn.Pkg.typeOf(e.X).Underlying().(type) { - case *types.Array: - x = b.addr(fn, e.X, escaping).address(fn) - et = types.NewPointer(t.Elem()) - case *types.Pointer: // *array - x = b.expr(fn, e.X) - et = types.NewPointer(t.Elem().Underlying().(*types.Array).Elem()) - case *types.Slice: - x = b.expr(fn, e.X) - et = types.NewPointer(t.Elem()) - case *types.Map: - return &element{ - m: b.expr(fn, e.X), - k: emitConv(fn, b.expr(fn, e.Index), t.Key()), - t: t.Elem(), - pos: e.Lbrack, - } - default: - panic("unexpected container type in IndexExpr: " + t.String()) - } - v := &IndexAddr{ - X: x, - Index: emitConv(fn, b.expr(fn, e.Index), tInt), - } - v.setPos(e.Lbrack) - v.setType(et) - return &address{addr: fn.emit(v), pos: e.Lbrack, expr: e} - - case *ast.StarExpr: - return &address{addr: b.expr(fn, e.X), pos: e.Star, expr: e} - } - - panic(fmt.Sprintf("unexpected address expression: %T", e)) -} - -type store struct { - lhs lvalue - rhs Value -} - -type storebuf struct{ stores []store } - -func (sb *storebuf) store(lhs lvalue, rhs Value) { - sb.stores = append(sb.stores, store{lhs, rhs}) -} - -func (sb *storebuf) emit(fn *Function) { - for _, s := range sb.stores { - s.lhs.store(fn, s.rhs) - } -} - -// assign emits to fn code to initialize the lvalue loc with the value -// of expression e. If isZero is true, assign assumes that loc holds -// the zero value for its type. -// -// This is equivalent to loc.store(fn, b.expr(fn, e)), but may generate -// better code in some cases, e.g., for composite literals in an -// addressable location. -// -// If sb is not nil, assign generates code to evaluate expression e, but -// not to update loc. Instead, the necessary stores are appended to the -// storebuf sb so that they can be executed later. This allows correct -// in-place update of existing variables when the RHS is a composite -// literal that may reference parts of the LHS. -// -func (b *builder) assign(fn *Function, loc lvalue, e ast.Expr, isZero bool, sb *storebuf) { - // Can we initialize it in place? - if e, ok := unparen(e).(*ast.CompositeLit); ok { - // A CompositeLit never evaluates to a pointer, - // so if the type of the location is a pointer, - // an &-operation is implied. - if _, ok := loc.(blank); !ok { // avoid calling blank.typ() - if isPointer(loc.typ()) { - ptr := b.addr(fn, e, true).address(fn) - // copy address - if sb != nil { - sb.store(loc, ptr) - } else { - loc.store(fn, ptr) - } - return - } - } - - if _, ok := loc.(*address); ok { - if isInterface(loc.typ()) { - // e.g. var x interface{} = T{...} - // Can't in-place initialize an interface value. - // Fall back to copying. - } else { - // x = T{...} or x := T{...} - addr := loc.address(fn) - if sb != nil { - b.compLit(fn, addr, e, isZero, sb) - } else { - var sb storebuf - b.compLit(fn, addr, e, isZero, &sb) - sb.emit(fn) - } - - // Subtle: emit debug ref for aggregate types only; - // slice and map are handled by store ops in compLit. - switch loc.typ().Underlying().(type) { - case *types.Struct, *types.Array: - emitDebugRef(fn, e, addr, true) - } - - return - } - } - } - - // simple case: just copy - rhs := b.expr(fn, e) - if sb != nil { - sb.store(loc, rhs) - } else { - loc.store(fn, rhs) - } -} - -// expr lowers a single-result expression e to SSA form, emitting code -// to fn and returning the Value defined by the expression. -// -func (b *builder) expr(fn *Function, e ast.Expr) Value { - e = unparen(e) - - tv := fn.Pkg.info.Types[e] - - // Is expression a constant? - if tv.Value != nil { - return NewConst(tv.Value, tv.Type) - } - - var v Value - if tv.Addressable() { - // Prefer pointer arithmetic ({Index,Field}Addr) followed - // by Load over subelement extraction (e.g. Index, Field), - // to avoid large copies. - v = b.addr(fn, e, false).load(fn) - } else { - v = b.expr0(fn, e, tv) - } - if fn.debugInfo() { - emitDebugRef(fn, e, v, false) - } - return v -} - -func (b *builder) expr0(fn *Function, e ast.Expr, tv types.TypeAndValue) Value { - switch e := e.(type) { - case *ast.BasicLit: - panic("non-constant BasicLit") // unreachable - - case *ast.FuncLit: - fn2 := &Function{ - name: fmt.Sprintf("%s$%d", fn.Name(), 1+len(fn.AnonFuncs)), - Signature: fn.Pkg.typeOf(e.Type).Underlying().(*types.Signature), - pos: e.Type.Func, - parent: fn, - Pkg: fn.Pkg, - Prog: fn.Prog, - syntax: e, - } - fn.AnonFuncs = append(fn.AnonFuncs, fn2) - b.buildFunction(fn2) - if fn2.FreeVars == nil { - return fn2 - } - v := &MakeClosure{Fn: fn2} - v.setType(tv.Type) - for _, fv := range fn2.FreeVars { - v.Bindings = append(v.Bindings, fv.outer) - fv.outer = nil - } - return fn.emit(v) - - case *ast.TypeAssertExpr: // single-result form only - return emitTypeAssert(fn, b.expr(fn, e.X), tv.Type, e.Lparen) - - case *ast.CallExpr: - if fn.Pkg.info.Types[e.Fun].IsType() { - // Explicit type conversion, e.g. string(x) or big.Int(x) - x := b.expr(fn, e.Args[0]) - y := emitConv(fn, x, tv.Type) - if y != x { - switch y := y.(type) { - case *Convert: - y.pos = e.Lparen - case *ChangeType: - y.pos = e.Lparen - case *MakeInterface: - y.pos = e.Lparen - } - } - return y - } - // Call to "intrinsic" built-ins, e.g. new, make, panic. - if id, ok := unparen(e.Fun).(*ast.Ident); ok { - if obj, ok := fn.Pkg.info.Uses[id].(*types.Builtin); ok { - if v := b.builtin(fn, obj, e.Args, tv.Type, e.Lparen); v != nil { - return v - } - } - } - // Regular function call. - var v Call - b.setCall(fn, e, &v.Call) - v.setType(tv.Type) - return fn.emit(&v) - - case *ast.UnaryExpr: - switch e.Op { - case token.AND: // &X --- potentially escaping. - addr := b.addr(fn, e.X, true) - if _, ok := unparen(e.X).(*ast.StarExpr); ok { - // &*p must panic if p is nil (http://golang.org/s/go12nil). - // For simplicity, we'll just (suboptimally) rely - // on the side effects of a load. - // TODO(adonovan): emit dedicated nilcheck. - addr.load(fn) - } - return addr.address(fn) - case token.ADD: - return b.expr(fn, e.X) - case token.NOT, token.ARROW, token.SUB, token.XOR: // ! <- - ^ - v := &UnOp{ - Op: e.Op, - X: b.expr(fn, e.X), - } - v.setPos(e.OpPos) - v.setType(tv.Type) - return fn.emit(v) - default: - panic(e.Op) - } - - case *ast.BinaryExpr: - switch e.Op { - case token.LAND, token.LOR: - return b.logicalBinop(fn, e) - case token.SHL, token.SHR: - fallthrough - case token.ADD, token.SUB, token.MUL, token.QUO, token.REM, token.AND, token.OR, token.XOR, token.AND_NOT: - return emitArith(fn, e.Op, b.expr(fn, e.X), b.expr(fn, e.Y), tv.Type, e.OpPos) - - case token.EQL, token.NEQ, token.GTR, token.LSS, token.LEQ, token.GEQ: - cmp := emitCompare(fn, e.Op, b.expr(fn, e.X), b.expr(fn, e.Y), e.OpPos) - // The type of x==y may be UntypedBool. - return emitConv(fn, cmp, DefaultType(tv.Type)) - default: - panic("illegal op in BinaryExpr: " + e.Op.String()) - } - - case *ast.SliceExpr: - var low, high, max Value - var x Value - switch fn.Pkg.typeOf(e.X).Underlying().(type) { - case *types.Array: - // Potentially escaping. - x = b.addr(fn, e.X, true).address(fn) - case *types.Basic, *types.Slice, *types.Pointer: // *array - x = b.expr(fn, e.X) - default: - panic("unreachable") - } - if e.High != nil { - high = b.expr(fn, e.High) - } - if e.Low != nil { - low = b.expr(fn, e.Low) - } - if e.Slice3 { - max = b.expr(fn, e.Max) - } - v := &Slice{ - X: x, - Low: low, - High: high, - Max: max, - } - v.setPos(e.Lbrack) - v.setType(tv.Type) - return fn.emit(v) - - case *ast.Ident: - obj := fn.Pkg.info.Uses[e] - // Universal built-in or nil? - switch obj := obj.(type) { - case *types.Builtin: - return &Builtin{name: obj.Name(), sig: tv.Type.(*types.Signature)} - case *types.Nil: - return nilConst(tv.Type) - } - // Package-level func or var? - if v := fn.Prog.packageLevelValue(obj); v != nil { - if _, ok := obj.(*types.Var); ok { - return emitLoad(fn, v) // var (address) - } - return v // (func) - } - // Local var. - return emitLoad(fn, fn.lookup(obj, false)) // var (address) - - case *ast.SelectorExpr: - sel, ok := fn.Pkg.info.Selections[e] - if !ok { - // qualified identifier - return b.expr(fn, e.Sel) - } - switch sel.Kind() { - case types.MethodExpr: - // (*T).f or T.f, the method f from the method-set of type T. - // The result is a "thunk". - return emitConv(fn, makeThunk(fn.Prog, sel), tv.Type) - - case types.MethodVal: - // e.f where e is an expression and f is a method. - // The result is a "bound". - obj := sel.Obj().(*types.Func) - rt := recvType(obj) - wantAddr := isPointer(rt) - escaping := true - v := b.receiver(fn, e.X, wantAddr, escaping, sel) - if isInterface(rt) { - // If v has interface type I, - // we must emit a check that v is non-nil. - // We use: typeassert v.(I). - emitTypeAssert(fn, v, rt, token.NoPos) - } - c := &MakeClosure{ - Fn: makeBound(fn.Prog, obj), - Bindings: []Value{v}, - } - c.setPos(e.Sel.Pos()) - c.setType(tv.Type) - return fn.emit(c) - - case types.FieldVal: - indices := sel.Index() - last := len(indices) - 1 - v := b.expr(fn, e.X) - v = emitImplicitSelections(fn, v, indices[:last]) - v = emitFieldSelection(fn, v, indices[last], false, e.Sel) - return v - } - - panic("unexpected expression-relative selector") - - case *ast.IndexExpr: - switch t := fn.Pkg.typeOf(e.X).Underlying().(type) { - case *types.Array: - // Non-addressable array (in a register). - v := &Index{ - X: b.expr(fn, e.X), - Index: emitConv(fn, b.expr(fn, e.Index), tInt), - } - v.setPos(e.Lbrack) - v.setType(t.Elem()) - return fn.emit(v) - - case *types.Map: - // Maps are not addressable. - mapt := fn.Pkg.typeOf(e.X).Underlying().(*types.Map) - v := &Lookup{ - X: b.expr(fn, e.X), - Index: emitConv(fn, b.expr(fn, e.Index), mapt.Key()), - } - v.setPos(e.Lbrack) - v.setType(mapt.Elem()) - return fn.emit(v) - - case *types.Basic: // => string - // Strings are not addressable. - v := &Lookup{ - X: b.expr(fn, e.X), - Index: b.expr(fn, e.Index), - } - v.setPos(e.Lbrack) - v.setType(tByte) - return fn.emit(v) - - case *types.Slice, *types.Pointer: // *array - // Addressable slice/array; use IndexAddr and Load. - return b.addr(fn, e, false).load(fn) - - default: - panic("unexpected container type in IndexExpr: " + t.String()) - } - - case *ast.CompositeLit, *ast.StarExpr: - // Addressable types (lvalues) - return b.addr(fn, e, false).load(fn) - } - - panic(fmt.Sprintf("unexpected expr: %T", e)) -} - -// stmtList emits to fn code for all statements in list. -func (b *builder) stmtList(fn *Function, list []ast.Stmt) { - for _, s := range list { - b.stmt(fn, s) - } -} - -// receiver emits to fn code for expression e in the "receiver" -// position of selection e.f (where f may be a field or a method) and -// returns the effective receiver after applying the implicit field -// selections of sel. -// -// wantAddr requests that the result is an an address. If -// !sel.Indirect(), this may require that e be built in addr() mode; it -// must thus be addressable. -// -// escaping is defined as per builder.addr(). -// -func (b *builder) receiver(fn *Function, e ast.Expr, wantAddr, escaping bool, sel *types.Selection) Value { - var v Value - if wantAddr && !sel.Indirect() && !isPointer(fn.Pkg.typeOf(e)) { - v = b.addr(fn, e, escaping).address(fn) - } else { - v = b.expr(fn, e) - } - - last := len(sel.Index()) - 1 - v = emitImplicitSelections(fn, v, sel.Index()[:last]) - if !wantAddr && isPointer(v.Type()) { - v = emitLoad(fn, v) - } - return v -} - -// setCallFunc populates the function parts of a CallCommon structure -// (Func, Method, Recv, Args[0]) based on the kind of invocation -// occurring in e. -// -func (b *builder) setCallFunc(fn *Function, e *ast.CallExpr, c *CallCommon) { - c.pos = e.Lparen - - // Is this a method call? - if selector, ok := unparen(e.Fun).(*ast.SelectorExpr); ok { - sel, ok := fn.Pkg.info.Selections[selector] - if ok && sel.Kind() == types.MethodVal { - obj := sel.Obj().(*types.Func) - recv := recvType(obj) - wantAddr := isPointer(recv) - escaping := true - v := b.receiver(fn, selector.X, wantAddr, escaping, sel) - if isInterface(recv) { - // Invoke-mode call. - c.Value = v - c.Method = obj - } else { - // "Call"-mode call. - c.Value = fn.Prog.declaredFunc(obj) - c.Args = append(c.Args, v) - } - return - } - - // sel.Kind()==MethodExpr indicates T.f() or (*T).f(): - // a statically dispatched call to the method f in the - // method-set of T or *T. T may be an interface. - // - // e.Fun would evaluate to a concrete method, interface - // wrapper function, or promotion wrapper. - // - // For now, we evaluate it in the usual way. - // - // TODO(adonovan): opt: inline expr() here, to make the - // call static and to avoid generation of wrappers. - // It's somewhat tricky as it may consume the first - // actual parameter if the call is "invoke" mode. - // - // Examples: - // type T struct{}; func (T) f() {} // "call" mode - // type T interface { f() } // "invoke" mode - // - // type S struct{ T } - // - // var s S - // S.f(s) - // (*S).f(&s) - // - // Suggested approach: - // - consume the first actual parameter expression - // and build it with b.expr(). - // - apply implicit field selections. - // - use MethodVal logic to populate fields of c. - } - - // Evaluate the function operand in the usual way. - c.Value = b.expr(fn, e.Fun) -} - -// emitCallArgs emits to f code for the actual parameters of call e to -// a (possibly built-in) function of effective type sig. -// The argument values are appended to args, which is then returned. -// -func (b *builder) emitCallArgs(fn *Function, sig *types.Signature, e *ast.CallExpr, args []Value) []Value { - // f(x, y, z...): pass slice z straight through. - if e.Ellipsis != 0 { - for i, arg := range e.Args { - v := emitConv(fn, b.expr(fn, arg), sig.Params().At(i).Type()) - args = append(args, v) - } - return args - } - - offset := len(args) // 1 if call has receiver, 0 otherwise - - // Evaluate actual parameter expressions. - // - // If this is a chained call of the form f(g()) where g has - // multiple return values (MRV), they are flattened out into - // args; a suffix of them may end up in a varargs slice. - for _, arg := range e.Args { - v := b.expr(fn, arg) - if ttuple, ok := v.Type().(*types.Tuple); ok { // MRV chain - for i, n := 0, ttuple.Len(); i < n; i++ { - args = append(args, emitExtract(fn, v, i)) - } - } else { - args = append(args, v) - } - } - - // Actual->formal assignability conversions for normal parameters. - np := sig.Params().Len() // number of normal parameters - if sig.Variadic() { - np-- - } - for i := 0; i < np; i++ { - args[offset+i] = emitConv(fn, args[offset+i], sig.Params().At(i).Type()) - } - - // Actual->formal assignability conversions for variadic parameter, - // and construction of slice. - if sig.Variadic() { - varargs := args[offset+np:] - st := sig.Params().At(np).Type().(*types.Slice) - vt := st.Elem() - if len(varargs) == 0 { - args = append(args, nilConst(st)) - } else { - // Replace a suffix of args with a slice containing it. - at := types.NewArray(vt, int64(len(varargs))) - a := emitNew(fn, at, token.NoPos) - a.setPos(e.Rparen) - a.Comment = "varargs" - for i, arg := range varargs { - iaddr := &IndexAddr{ - X: a, - Index: intConst(int64(i)), - } - iaddr.setType(types.NewPointer(vt)) - fn.emit(iaddr) - emitStore(fn, iaddr, arg, arg.Pos()) - } - s := &Slice{X: a} - s.setType(st) - args[offset+np] = fn.emit(s) - args = args[:offset+np+1] - } - } - return args -} - -// setCall emits to fn code to evaluate all the parameters of a function -// call e, and populates *c with those values. -// -func (b *builder) setCall(fn *Function, e *ast.CallExpr, c *CallCommon) { - // First deal with the f(...) part and optional receiver. - b.setCallFunc(fn, e, c) - - // Then append the other actual parameters. - sig, _ := fn.Pkg.typeOf(e.Fun).Underlying().(*types.Signature) - if sig == nil { - panic(fmt.Sprintf("no signature for call of %s", e.Fun)) - } - c.Args = b.emitCallArgs(fn, sig, e, c.Args) -} - -// assignOp emits to fn code to perform loc += incr or loc -= incr. -func (b *builder) assignOp(fn *Function, loc lvalue, incr Value, op token.Token) { - oldv := loc.load(fn) - loc.store(fn, emitArith(fn, op, oldv, emitConv(fn, incr, oldv.Type()), loc.typ(), token.NoPos)) -} - -// localValueSpec emits to fn code to define all of the vars in the -// function-local ValueSpec, spec. -// -func (b *builder) localValueSpec(fn *Function, spec *ast.ValueSpec) { - switch { - case len(spec.Values) == len(spec.Names): - // e.g. var x, y = 0, 1 - // 1:1 assignment - for i, id := range spec.Names { - if !isBlankIdent(id) { - fn.addLocalForIdent(id) - } - lval := b.addr(fn, id, false) // non-escaping - b.assign(fn, lval, spec.Values[i], true, nil) - } - - case len(spec.Values) == 0: - // e.g. var x, y int - // Locals are implicitly zero-initialized. - for _, id := range spec.Names { - if !isBlankIdent(id) { - lhs := fn.addLocalForIdent(id) - if fn.debugInfo() { - emitDebugRef(fn, id, lhs, true) - } - } - } - - default: - // e.g. var x, y = pos() - tuple := b.exprN(fn, spec.Values[0]) - for i, id := range spec.Names { - if !isBlankIdent(id) { - fn.addLocalForIdent(id) - lhs := b.addr(fn, id, false) // non-escaping - lhs.store(fn, emitExtract(fn, tuple, i)) - } - } - } -} - -// assignStmt emits code to fn for a parallel assignment of rhss to lhss. -// isDef is true if this is a short variable declaration (:=). -// -// Note the similarity with localValueSpec. -// -func (b *builder) assignStmt(fn *Function, lhss, rhss []ast.Expr, isDef bool) { - // Side effects of all LHSs and RHSs must occur in left-to-right order. - lvals := make([]lvalue, len(lhss)) - isZero := make([]bool, len(lhss)) - for i, lhs := range lhss { - var lval lvalue = blank{} - if !isBlankIdent(lhs) { - if isDef { - if obj := fn.Pkg.info.Defs[lhs.(*ast.Ident)]; obj != nil { - fn.addNamedLocal(obj) - isZero[i] = true - } - } - lval = b.addr(fn, lhs, false) // non-escaping - } - lvals[i] = lval - } - if len(lhss) == len(rhss) { - // Simple assignment: x = f() (!isDef) - // Parallel assignment: x, y = f(), g() (!isDef) - // or short var decl: x, y := f(), g() (isDef) - // - // In all cases, the RHSs may refer to the LHSs, - // so we need a storebuf. - var sb storebuf - for i := range rhss { - b.assign(fn, lvals[i], rhss[i], isZero[i], &sb) - } - sb.emit(fn) - } else { - // e.g. x, y = pos() - tuple := b.exprN(fn, rhss[0]) - for i, lval := range lvals { - lval.store(fn, emitExtract(fn, tuple, i)) - } - } -} - -// arrayLen returns the length of the array whose composite literal elements are elts. -func (b *builder) arrayLen(fn *Function, elts []ast.Expr) int64 { - var max int64 = -1 - var i int64 = -1 - for _, e := range elts { - if kv, ok := e.(*ast.KeyValueExpr); ok { - i = b.expr(fn, kv.Key).(*Const).Int64() - } else { - i++ - } - if i > max { - max = i - } - } - return max + 1 -} - -// compLit emits to fn code to initialize a composite literal e at -// address addr with type typ. -// -// Nested composite literals are recursively initialized in place -// where possible. If isZero is true, compLit assumes that addr -// holds the zero value for typ. -// -// Because the elements of a composite literal may refer to the -// variables being updated, as in the second line below, -// x := T{a: 1} -// x = T{a: x.a} -// all the reads must occur before all the writes. Thus all stores to -// loc are emitted to the storebuf sb for later execution. -// -// A CompositeLit may have pointer type only in the recursive (nested) -// case when the type name is implicit. e.g. in []*T{{}}, the inner -// literal has type *T behaves like &T{}. -// In that case, addr must hold a T, not a *T. -// -func (b *builder) compLit(fn *Function, addr Value, e *ast.CompositeLit, isZero bool, sb *storebuf) { - typ := deref(fn.Pkg.typeOf(e)) - switch t := typ.Underlying().(type) { - case *types.Struct: - if !isZero && len(e.Elts) != t.NumFields() { - // memclear - sb.store(&address{addr, e.Lbrace, nil}, - zeroValue(fn, deref(addr.Type()))) - isZero = true - } - for i, e := range e.Elts { - fieldIndex := i - pos := e.Pos() - if kv, ok := e.(*ast.KeyValueExpr); ok { - fname := kv.Key.(*ast.Ident).Name - for i, n := 0, t.NumFields(); i < n; i++ { - sf := t.Field(i) - if sf.Name() == fname { - fieldIndex = i - pos = kv.Colon - e = kv.Value - break - } - } - } - sf := t.Field(fieldIndex) - faddr := &FieldAddr{ - X: addr, - Field: fieldIndex, - } - faddr.setType(types.NewPointer(sf.Type())) - fn.emit(faddr) - b.assign(fn, &address{addr: faddr, pos: pos, expr: e}, e, isZero, sb) - } - - case *types.Array, *types.Slice: - var at *types.Array - var array Value - switch t := t.(type) { - case *types.Slice: - at = types.NewArray(t.Elem(), b.arrayLen(fn, e.Elts)) - alloc := emitNew(fn, at, e.Lbrace) - alloc.Comment = "slicelit" - array = alloc - case *types.Array: - at = t - array = addr - - if !isZero && int64(len(e.Elts)) != at.Len() { - // memclear - sb.store(&address{array, e.Lbrace, nil}, - zeroValue(fn, deref(array.Type()))) - } - } - - var idx *Const - for _, e := range e.Elts { - pos := e.Pos() - if kv, ok := e.(*ast.KeyValueExpr); ok { - idx = b.expr(fn, kv.Key).(*Const) - pos = kv.Colon - e = kv.Value - } else { - var idxval int64 - if idx != nil { - idxval = idx.Int64() + 1 - } - idx = intConst(idxval) - } - iaddr := &IndexAddr{ - X: array, - Index: idx, - } - iaddr.setType(types.NewPointer(at.Elem())) - fn.emit(iaddr) - if t != at { // slice - // backing array is unaliased => storebuf not needed. - b.assign(fn, &address{addr: iaddr, pos: pos, expr: e}, e, true, nil) - } else { - b.assign(fn, &address{addr: iaddr, pos: pos, expr: e}, e, true, sb) - } - } - - if t != at { // slice - s := &Slice{X: array} - s.setPos(e.Lbrace) - s.setType(typ) - sb.store(&address{addr: addr, pos: e.Lbrace, expr: e}, fn.emit(s)) - } - - case *types.Map: - m := &MakeMap{Reserve: intConst(int64(len(e.Elts)))} - m.setPos(e.Lbrace) - m.setType(typ) - fn.emit(m) - for _, e := range e.Elts { - e := e.(*ast.KeyValueExpr) - loc := element{ - m: m, - k: emitConv(fn, b.expr(fn, e.Key), t.Key()), - t: t.Elem(), - pos: e.Colon, - } - - // We call assign() only because it takes care - // of any &-operation required in the recursive - // case, e.g., - // map[int]*struct{}{0: {}} implies &struct{}{}. - // In-place update is of course impossible, - // and no storebuf is needed. - b.assign(fn, &loc, e.Value, true, nil) - } - sb.store(&address{addr: addr, pos: e.Lbrace, expr: e}, m) - - default: - panic("unexpected CompositeLit type: " + t.String()) - } -} - -// switchStmt emits to fn code for the switch statement s, optionally -// labelled by label. -// -func (b *builder) switchStmt(fn *Function, s *ast.SwitchStmt, label *lblock) { - // We treat SwitchStmt like a sequential if-else chain. - // Multiway dispatch can be recovered later by ssautil.Switches() - // to those cases that are free of side effects. - if s.Init != nil { - b.stmt(fn, s.Init) - } - var tag Value = vTrue - if s.Tag != nil { - tag = b.expr(fn, s.Tag) - } - done := fn.newBasicBlock("switch.done") - if label != nil { - label._break = done - } - // We pull the default case (if present) down to the end. - // But each fallthrough label must point to the next - // body block in source order, so we preallocate a - // body block (fallthru) for the next case. - // Unfortunately this makes for a confusing block order. - var dfltBody *[]ast.Stmt - var dfltFallthrough *BasicBlock - var fallthru, dfltBlock *BasicBlock - ncases := len(s.Body.List) - for i, clause := range s.Body.List { - body := fallthru - if body == nil { - body = fn.newBasicBlock("switch.body") // first case only - } - - // Preallocate body block for the next case. - fallthru = done - if i+1 < ncases { - fallthru = fn.newBasicBlock("switch.body") - } - - cc := clause.(*ast.CaseClause) - if cc.List == nil { - // Default case. - dfltBody = &cc.Body - dfltFallthrough = fallthru - dfltBlock = body - continue - } - - var nextCond *BasicBlock - for _, cond := range cc.List { - nextCond = fn.newBasicBlock("switch.next") - // TODO(adonovan): opt: when tag==vTrue, we'd - // get better code if we use b.cond(cond) - // instead of BinOp(EQL, tag, b.expr(cond)) - // followed by If. Don't forget conversions - // though. - cond := emitCompare(fn, token.EQL, tag, b.expr(fn, cond), token.NoPos) - emitIf(fn, cond, body, nextCond) - fn.currentBlock = nextCond - } - fn.currentBlock = body - fn.targets = &targets{ - tail: fn.targets, - _break: done, - _fallthrough: fallthru, - } - b.stmtList(fn, cc.Body) - fn.targets = fn.targets.tail - emitJump(fn, done) - fn.currentBlock = nextCond - } - if dfltBlock != nil { - emitJump(fn, dfltBlock) - fn.currentBlock = dfltBlock - fn.targets = &targets{ - tail: fn.targets, - _break: done, - _fallthrough: dfltFallthrough, - } - b.stmtList(fn, *dfltBody) - fn.targets = fn.targets.tail - } - emitJump(fn, done) - fn.currentBlock = done -} - -// typeSwitchStmt emits to fn code for the type switch statement s, optionally -// labelled by label. -// -func (b *builder) typeSwitchStmt(fn *Function, s *ast.TypeSwitchStmt, label *lblock) { - // We treat TypeSwitchStmt like a sequential if-else chain. - // Multiway dispatch can be recovered later by ssautil.Switches(). - - // Typeswitch lowering: - // - // var x X - // switch y := x.(type) { - // case T1, T2: S1 // >1 (y := x) - // case nil: SN // nil (y := x) - // default: SD // 0 types (y := x) - // case T3: S3 // 1 type (y := x.(T3)) - // } - // - // ...s.Init... - // x := eval x - // .caseT1: - // t1, ok1 := typeswitch,ok x - // if ok1 then goto S1 else goto .caseT2 - // .caseT2: - // t2, ok2 := typeswitch,ok x - // if ok2 then goto S1 else goto .caseNil - // .S1: - // y := x - // ...S1... - // goto done - // .caseNil: - // if t2, ok2 := typeswitch,ok x - // if x == nil then goto SN else goto .caseT3 - // .SN: - // y := x - // ...SN... - // goto done - // .caseT3: - // t3, ok3 := typeswitch,ok x - // if ok3 then goto S3 else goto default - // .S3: - // y := t3 - // ...S3... - // goto done - // .default: - // y := x - // ...SD... - // goto done - // .done: - - if s.Init != nil { - b.stmt(fn, s.Init) - } - - var x Value - switch ass := s.Assign.(type) { - case *ast.ExprStmt: // x.(type) - x = b.expr(fn, unparen(ass.X).(*ast.TypeAssertExpr).X) - case *ast.AssignStmt: // y := x.(type) - x = b.expr(fn, unparen(ass.Rhs[0]).(*ast.TypeAssertExpr).X) - } - - done := fn.newBasicBlock("typeswitch.done") - if label != nil { - label._break = done - } - var default_ *ast.CaseClause - for _, clause := range s.Body.List { - cc := clause.(*ast.CaseClause) - if cc.List == nil { - default_ = cc - continue - } - body := fn.newBasicBlock("typeswitch.body") - var next *BasicBlock - var casetype types.Type - var ti Value // ti, ok := typeassert,ok x - for _, cond := range cc.List { - next = fn.newBasicBlock("typeswitch.next") - casetype = fn.Pkg.typeOf(cond) - var condv Value - if casetype == tUntypedNil { - condv = emitCompare(fn, token.EQL, x, nilConst(x.Type()), token.NoPos) - ti = x - } else { - yok := emitTypeTest(fn, x, casetype, cc.Case) - ti = emitExtract(fn, yok, 0) - condv = emitExtract(fn, yok, 1) - } - emitIf(fn, condv, body, next) - fn.currentBlock = next - } - if len(cc.List) != 1 { - ti = x - } - fn.currentBlock = body - b.typeCaseBody(fn, cc, ti, done) - fn.currentBlock = next - } - if default_ != nil { - b.typeCaseBody(fn, default_, x, done) - } else { - emitJump(fn, done) - } - fn.currentBlock = done -} - -func (b *builder) typeCaseBody(fn *Function, cc *ast.CaseClause, x Value, done *BasicBlock) { - if obj := fn.Pkg.info.Implicits[cc]; obj != nil { - // In a switch y := x.(type), each case clause - // implicitly declares a distinct object y. - // In a single-type case, y has that type. - // In multi-type cases, 'case nil' and default, - // y has the same type as the interface operand. - emitStore(fn, fn.addNamedLocal(obj), x, obj.Pos()) - } - fn.targets = &targets{ - tail: fn.targets, - _break: done, - } - b.stmtList(fn, cc.Body) - fn.targets = fn.targets.tail - emitJump(fn, done) -} - -// selectStmt emits to fn code for the select statement s, optionally -// labelled by label. -// -func (b *builder) selectStmt(fn *Function, s *ast.SelectStmt, label *lblock) { - // A blocking select of a single case degenerates to a - // simple send or receive. - // TODO(adonovan): opt: is this optimization worth its weight? - if len(s.Body.List) == 1 { - clause := s.Body.List[0].(*ast.CommClause) - if clause.Comm != nil { - b.stmt(fn, clause.Comm) - done := fn.newBasicBlock("select.done") - if label != nil { - label._break = done - } - fn.targets = &targets{ - tail: fn.targets, - _break: done, - } - b.stmtList(fn, clause.Body) - fn.targets = fn.targets.tail - emitJump(fn, done) - fn.currentBlock = done - return - } - } - - // First evaluate all channels in all cases, and find - // the directions of each state. - var states []*SelectState - blocking := true - debugInfo := fn.debugInfo() - for _, clause := range s.Body.List { - var st *SelectState - switch comm := clause.(*ast.CommClause).Comm.(type) { - case nil: // default case - blocking = false - continue - - case *ast.SendStmt: // ch<- i - ch := b.expr(fn, comm.Chan) - st = &SelectState{ - Dir: types.SendOnly, - Chan: ch, - Send: emitConv(fn, b.expr(fn, comm.Value), - ch.Type().Underlying().(*types.Chan).Elem()), - Pos: comm.Arrow, - } - if debugInfo { - st.DebugNode = comm - } - - case *ast.AssignStmt: // x := <-ch - recv := unparen(comm.Rhs[0]).(*ast.UnaryExpr) - st = &SelectState{ - Dir: types.RecvOnly, - Chan: b.expr(fn, recv.X), - Pos: recv.OpPos, - } - if debugInfo { - st.DebugNode = recv - } - - case *ast.ExprStmt: // <-ch - recv := unparen(comm.X).(*ast.UnaryExpr) - st = &SelectState{ - Dir: types.RecvOnly, - Chan: b.expr(fn, recv.X), - Pos: recv.OpPos, - } - if debugInfo { - st.DebugNode = recv - } - } - states = append(states, st) - } - - // We dispatch on the (fair) result of Select using a - // sequential if-else chain, in effect: - // - // idx, recvOk, r0...r_n-1 := select(...) - // if idx == 0 { // receive on channel 0 (first receive => r0) - // x, ok := r0, recvOk - // ...state0... - // } else if v == 1 { // send on channel 1 - // ...state1... - // } else { - // ...default... - // } - sel := &Select{ - States: states, - Blocking: blocking, - } - sel.setPos(s.Select) - var vars []*types.Var - vars = append(vars, varIndex, varOk) - for _, st := range states { - if st.Dir == types.RecvOnly { - tElem := st.Chan.Type().Underlying().(*types.Chan).Elem() - vars = append(vars, anonVar(tElem)) - } - } - sel.setType(types.NewTuple(vars...)) - - fn.emit(sel) - idx := emitExtract(fn, sel, 0) - - done := fn.newBasicBlock("select.done") - if label != nil { - label._break = done - } - - var defaultBody *[]ast.Stmt - state := 0 - r := 2 // index in 'sel' tuple of value; increments if st.Dir==RECV - for _, cc := range s.Body.List { - clause := cc.(*ast.CommClause) - if clause.Comm == nil { - defaultBody = &clause.Body - continue - } - body := fn.newBasicBlock("select.body") - next := fn.newBasicBlock("select.next") - emitIf(fn, emitCompare(fn, token.EQL, idx, intConst(int64(state)), token.NoPos), body, next) - fn.currentBlock = body - fn.targets = &targets{ - tail: fn.targets, - _break: done, - } - switch comm := clause.Comm.(type) { - case *ast.ExprStmt: // <-ch - if debugInfo { - v := emitExtract(fn, sel, r) - emitDebugRef(fn, states[state].DebugNode.(ast.Expr), v, false) - } - r++ - - case *ast.AssignStmt: // x := <-states[state].Chan - if comm.Tok == token.DEFINE { - fn.addLocalForIdent(comm.Lhs[0].(*ast.Ident)) - } - x := b.addr(fn, comm.Lhs[0], false) // non-escaping - v := emitExtract(fn, sel, r) - if debugInfo { - emitDebugRef(fn, states[state].DebugNode.(ast.Expr), v, false) - } - x.store(fn, v) - - if len(comm.Lhs) == 2 { // x, ok := ... - if comm.Tok == token.DEFINE { - fn.addLocalForIdent(comm.Lhs[1].(*ast.Ident)) - } - ok := b.addr(fn, comm.Lhs[1], false) // non-escaping - ok.store(fn, emitExtract(fn, sel, 1)) - } - r++ - } - b.stmtList(fn, clause.Body) - fn.targets = fn.targets.tail - emitJump(fn, done) - fn.currentBlock = next - state++ - } - if defaultBody != nil { - fn.targets = &targets{ - tail: fn.targets, - _break: done, - } - b.stmtList(fn, *defaultBody) - fn.targets = fn.targets.tail - } else { - // A blocking select must match some case. - // (This should really be a runtime.errorString, not a string.) - fn.emit(&Panic{ - X: emitConv(fn, stringConst("blocking select matched no case"), tEface), - }) - fn.currentBlock = fn.newBasicBlock("unreachable") - } - emitJump(fn, done) - fn.currentBlock = done -} - -// forStmt emits to fn code for the for statement s, optionally -// labelled by label. -// -func (b *builder) forStmt(fn *Function, s *ast.ForStmt, label *lblock) { - // ...init... - // jump loop - // loop: - // if cond goto body else done - // body: - // ...body... - // jump post - // post: (target of continue) - // ...post... - // jump loop - // done: (target of break) - if s.Init != nil { - b.stmt(fn, s.Init) - } - body := fn.newBasicBlock("for.body") - done := fn.newBasicBlock("for.done") // target of 'break' - loop := body // target of back-edge - if s.Cond != nil { - loop = fn.newBasicBlock("for.loop") - } - cont := loop // target of 'continue' - if s.Post != nil { - cont = fn.newBasicBlock("for.post") - } - if label != nil { - label._break = done - label._continue = cont - } - emitJump(fn, loop) - fn.currentBlock = loop - if loop != body { - b.cond(fn, s.Cond, body, done) - fn.currentBlock = body - } - fn.targets = &targets{ - tail: fn.targets, - _break: done, - _continue: cont, - } - b.stmt(fn, s.Body) - fn.targets = fn.targets.tail - emitJump(fn, cont) - - if s.Post != nil { - fn.currentBlock = cont - b.stmt(fn, s.Post) - emitJump(fn, loop) // back-edge - } - fn.currentBlock = done -} - -// rangeIndexed emits to fn the header for an integer-indexed loop -// over array, *array or slice value x. -// The v result is defined only if tv is non-nil. -// forPos is the position of the "for" token. -// -func (b *builder) rangeIndexed(fn *Function, x Value, tv types.Type, pos token.Pos) (k, v Value, loop, done *BasicBlock) { - // - // length = len(x) - // index = -1 - // loop: (target of continue) - // index++ - // if index < length goto body else done - // body: - // k = index - // v = x[index] - // ...body... - // jump loop - // done: (target of break) - - // Determine number of iterations. - var length Value - if arr, ok := deref(x.Type()).Underlying().(*types.Array); ok { - // For array or *array, the number of iterations is - // known statically thanks to the type. We avoid a - // data dependence upon x, permitting later dead-code - // elimination if x is pure, static unrolling, etc. - // Ranging over a nil *array may have >0 iterations. - // We still generate code for x, in case it has effects. - length = intConst(arr.Len()) - } else { - // length = len(x). - var c Call - c.Call.Value = makeLen(x.Type()) - c.Call.Args = []Value{x} - c.setType(tInt) - length = fn.emit(&c) - } - - index := fn.addLocal(tInt, token.NoPos) - emitStore(fn, index, intConst(-1), pos) - - loop = fn.newBasicBlock("rangeindex.loop") - emitJump(fn, loop) - fn.currentBlock = loop - - incr := &BinOp{ - Op: token.ADD, - X: emitLoad(fn, index), - Y: vOne, - } - incr.setType(tInt) - emitStore(fn, index, fn.emit(incr), pos) - - body := fn.newBasicBlock("rangeindex.body") - done = fn.newBasicBlock("rangeindex.done") - emitIf(fn, emitCompare(fn, token.LSS, incr, length, token.NoPos), body, done) - fn.currentBlock = body - - k = emitLoad(fn, index) - if tv != nil { - switch t := x.Type().Underlying().(type) { - case *types.Array: - instr := &Index{ - X: x, - Index: k, - } - instr.setType(t.Elem()) - v = fn.emit(instr) - - case *types.Pointer: // *array - instr := &IndexAddr{ - X: x, - Index: k, - } - instr.setType(types.NewPointer(t.Elem().Underlying().(*types.Array).Elem())) - v = emitLoad(fn, fn.emit(instr)) - - case *types.Slice: - instr := &IndexAddr{ - X: x, - Index: k, - } - instr.setType(types.NewPointer(t.Elem())) - v = emitLoad(fn, fn.emit(instr)) - - default: - panic("rangeIndexed x:" + t.String()) - } - } - return -} - -// rangeIter emits to fn the header for a loop using -// Range/Next/Extract to iterate over map or string value x. -// tk and tv are the types of the key/value results k and v, or nil -// if the respective component is not wanted. -// -func (b *builder) rangeIter(fn *Function, x Value, tk, tv types.Type, pos token.Pos) (k, v Value, loop, done *BasicBlock) { - // - // it = range x - // loop: (target of continue) - // okv = next it (ok, key, value) - // ok = extract okv #0 - // if ok goto body else done - // body: - // k = extract okv #1 - // v = extract okv #2 - // ...body... - // jump loop - // done: (target of break) - // - - if tk == nil { - tk = tInvalid - } - if tv == nil { - tv = tInvalid - } - - rng := &Range{X: x} - rng.setPos(pos) - rng.setType(tRangeIter) - it := fn.emit(rng) - - loop = fn.newBasicBlock("rangeiter.loop") - emitJump(fn, loop) - fn.currentBlock = loop - - _, isString := x.Type().Underlying().(*types.Basic) - - okv := &Next{ - Iter: it, - IsString: isString, - } - okv.setType(types.NewTuple( - varOk, - newVar("k", tk), - newVar("v", tv), - )) - fn.emit(okv) - - body := fn.newBasicBlock("rangeiter.body") - done = fn.newBasicBlock("rangeiter.done") - emitIf(fn, emitExtract(fn, okv, 0), body, done) - fn.currentBlock = body - - if tk != tInvalid { - k = emitExtract(fn, okv, 1) - } - if tv != tInvalid { - v = emitExtract(fn, okv, 2) - } - return -} - -// rangeChan emits to fn the header for a loop that receives from -// channel x until it fails. -// tk is the channel's element type, or nil if the k result is -// not wanted -// pos is the position of the '=' or ':=' token. -// -func (b *builder) rangeChan(fn *Function, x Value, tk types.Type, pos token.Pos) (k Value, loop, done *BasicBlock) { - // - // loop: (target of continue) - // ko = <-x (key, ok) - // ok = extract ko #1 - // if ok goto body else done - // body: - // k = extract ko #0 - // ... - // goto loop - // done: (target of break) - - loop = fn.newBasicBlock("rangechan.loop") - emitJump(fn, loop) - fn.currentBlock = loop - recv := &UnOp{ - Op: token.ARROW, - X: x, - CommaOk: true, - } - recv.setPos(pos) - recv.setType(types.NewTuple( - newVar("k", x.Type().Underlying().(*types.Chan).Elem()), - varOk, - )) - ko := fn.emit(recv) - body := fn.newBasicBlock("rangechan.body") - done = fn.newBasicBlock("rangechan.done") - emitIf(fn, emitExtract(fn, ko, 1), body, done) - fn.currentBlock = body - if tk != nil { - k = emitExtract(fn, ko, 0) - } - return -} - -// rangeStmt emits to fn code for the range statement s, optionally -// labelled by label. -// -func (b *builder) rangeStmt(fn *Function, s *ast.RangeStmt, label *lblock) { - var tk, tv types.Type - if s.Key != nil && !isBlankIdent(s.Key) { - tk = fn.Pkg.typeOf(s.Key) - } - if s.Value != nil && !isBlankIdent(s.Value) { - tv = fn.Pkg.typeOf(s.Value) - } - - // If iteration variables are defined (:=), this - // occurs once outside the loop. - // - // Unlike a short variable declaration, a RangeStmt - // using := never redeclares an existing variable; it - // always creates a new one. - if s.Tok == token.DEFINE { - if tk != nil { - fn.addLocalForIdent(s.Key.(*ast.Ident)) - } - if tv != nil { - fn.addLocalForIdent(s.Value.(*ast.Ident)) - } - } - - x := b.expr(fn, s.X) - - var k, v Value - var loop, done *BasicBlock - switch rt := x.Type().Underlying().(type) { - case *types.Slice, *types.Array, *types.Pointer: // *array - k, v, loop, done = b.rangeIndexed(fn, x, tv, s.For) - - case *types.Chan: - k, loop, done = b.rangeChan(fn, x, tk, s.For) - - case *types.Map, *types.Basic: // string - k, v, loop, done = b.rangeIter(fn, x, tk, tv, s.For) - - default: - panic("Cannot range over: " + rt.String()) - } - - // Evaluate both LHS expressions before we update either. - var kl, vl lvalue - if tk != nil { - kl = b.addr(fn, s.Key, false) // non-escaping - } - if tv != nil { - vl = b.addr(fn, s.Value, false) // non-escaping - } - if tk != nil { - kl.store(fn, k) - } - if tv != nil { - vl.store(fn, v) - } - - if label != nil { - label._break = done - label._continue = loop - } - - fn.targets = &targets{ - tail: fn.targets, - _break: done, - _continue: loop, - } - b.stmt(fn, s.Body) - fn.targets = fn.targets.tail - emitJump(fn, loop) // back-edge - fn.currentBlock = done -} - -// stmt lowers statement s to SSA form, emitting code to fn. -func (b *builder) stmt(fn *Function, _s ast.Stmt) { - // The label of the current statement. If non-nil, its _goto - // target is always set; its _break and _continue are set only - // within the body of switch/typeswitch/select/for/range. - // It is effectively an additional default-nil parameter of stmt(). - var label *lblock -start: - switch s := _s.(type) { - case *ast.EmptyStmt: - // ignore. (Usually removed by gofmt.) - - case *ast.DeclStmt: // Con, Var or Typ - d := s.Decl.(*ast.GenDecl) - if d.Tok == token.VAR { - for _, spec := range d.Specs { - if vs, ok := spec.(*ast.ValueSpec); ok { - b.localValueSpec(fn, vs) - } - } - } - - case *ast.LabeledStmt: - label = fn.labelledBlock(s.Label) - emitJump(fn, label._goto) - fn.currentBlock = label._goto - _s = s.Stmt - goto start // effectively: tailcall stmt(fn, s.Stmt, label) - - case *ast.ExprStmt: - b.expr(fn, s.X) - - case *ast.SendStmt: - fn.emit(&Send{ - Chan: b.expr(fn, s.Chan), - X: emitConv(fn, b.expr(fn, s.Value), - fn.Pkg.typeOf(s.Chan).Underlying().(*types.Chan).Elem()), - pos: s.Arrow, - }) - - case *ast.IncDecStmt: - op := token.ADD - if s.Tok == token.DEC { - op = token.SUB - } - loc := b.addr(fn, s.X, false) - b.assignOp(fn, loc, NewConst(exact.MakeInt64(1), loc.typ()), op) - - case *ast.AssignStmt: - switch s.Tok { - case token.ASSIGN, token.DEFINE: - b.assignStmt(fn, s.Lhs, s.Rhs, s.Tok == token.DEFINE) - - default: // +=, etc. - op := s.Tok + token.ADD - token.ADD_ASSIGN - b.assignOp(fn, b.addr(fn, s.Lhs[0], false), b.expr(fn, s.Rhs[0]), op) - } - - case *ast.GoStmt: - // The "intrinsics" new/make/len/cap are forbidden here. - // panic is treated like an ordinary function call. - v := Go{pos: s.Go} - b.setCall(fn, s.Call, &v.Call) - fn.emit(&v) - - case *ast.DeferStmt: - // The "intrinsics" new/make/len/cap are forbidden here. - // panic is treated like an ordinary function call. - v := Defer{pos: s.Defer} - b.setCall(fn, s.Call, &v.Call) - fn.emit(&v) - - // A deferred call can cause recovery from panic, - // and control resumes at the Recover block. - createRecoverBlock(fn) - - case *ast.ReturnStmt: - var results []Value - if len(s.Results) == 1 && fn.Signature.Results().Len() > 1 { - // Return of one expression in a multi-valued function. - tuple := b.exprN(fn, s.Results[0]) - ttuple := tuple.Type().(*types.Tuple) - for i, n := 0, ttuple.Len(); i < n; i++ { - results = append(results, - emitConv(fn, emitExtract(fn, tuple, i), - fn.Signature.Results().At(i).Type())) - } - } else { - // 1:1 return, or no-arg return in non-void function. - for i, r := range s.Results { - v := emitConv(fn, b.expr(fn, r), fn.Signature.Results().At(i).Type()) - results = append(results, v) - } - } - if fn.namedResults != nil { - // Function has named result parameters (NRPs). - // Perform parallel assignment of return operands to NRPs. - for i, r := range results { - emitStore(fn, fn.namedResults[i], r, s.Return) - } - } - // Run function calls deferred in this - // function when explicitly returning from it. - fn.emit(new(RunDefers)) - if fn.namedResults != nil { - // Reload NRPs to form the result tuple. - results = results[:0] - for _, r := range fn.namedResults { - results = append(results, emitLoad(fn, r)) - } - } - fn.emit(&Return{Results: results, pos: s.Return}) - fn.currentBlock = fn.newBasicBlock("unreachable") - - case *ast.BranchStmt: - var block *BasicBlock - switch s.Tok { - case token.BREAK: - if s.Label != nil { - block = fn.labelledBlock(s.Label)._break - } else { - for t := fn.targets; t != nil && block == nil; t = t.tail { - block = t._break - } - } - - case token.CONTINUE: - if s.Label != nil { - block = fn.labelledBlock(s.Label)._continue - } else { - for t := fn.targets; t != nil && block == nil; t = t.tail { - block = t._continue - } - } - - case token.FALLTHROUGH: - for t := fn.targets; t != nil && block == nil; t = t.tail { - block = t._fallthrough - } - - case token.GOTO: - block = fn.labelledBlock(s.Label)._goto - } - emitJump(fn, block) - fn.currentBlock = fn.newBasicBlock("unreachable") - - case *ast.BlockStmt: - b.stmtList(fn, s.List) - - case *ast.IfStmt: - if s.Init != nil { - b.stmt(fn, s.Init) - } - then := fn.newBasicBlock("if.then") - done := fn.newBasicBlock("if.done") - els := done - if s.Else != nil { - els = fn.newBasicBlock("if.else") - } - b.cond(fn, s.Cond, then, els) - fn.currentBlock = then - b.stmt(fn, s.Body) - emitJump(fn, done) - - if s.Else != nil { - fn.currentBlock = els - b.stmt(fn, s.Else) - emitJump(fn, done) - } - - fn.currentBlock = done - - case *ast.SwitchStmt: - b.switchStmt(fn, s, label) - - case *ast.TypeSwitchStmt: - b.typeSwitchStmt(fn, s, label) - - case *ast.SelectStmt: - b.selectStmt(fn, s, label) - - case *ast.ForStmt: - b.forStmt(fn, s, label) - - case *ast.RangeStmt: - b.rangeStmt(fn, s, label) - - default: - panic(fmt.Sprintf("unexpected statement kind: %T", s)) - } -} - -// buildFunction builds SSA code for the body of function fn. Idempotent. -func (b *builder) buildFunction(fn *Function) { - if fn.Blocks != nil { - return // building already started - } - - var recvField *ast.FieldList - var body *ast.BlockStmt - var functype *ast.FuncType - switch n := fn.syntax.(type) { - case nil: - return // not a Go source function. (Synthetic, or from object file.) - case *ast.FuncDecl: - functype = n.Type - recvField = n.Recv - body = n.Body - case *ast.FuncLit: - functype = n.Type - body = n.Body - default: - panic(n) - } - - if body == nil { - // External function. - if fn.Params == nil { - // This condition ensures we add a non-empty - // params list once only, but we may attempt - // the degenerate empty case repeatedly. - // TODO(adonovan): opt: don't do that. - - // We set Function.Params even though there is no body - // code to reference them. This simplifies clients. - if recv := fn.Signature.Recv(); recv != nil { - fn.addParamObj(recv) - } - params := fn.Signature.Params() - for i, n := 0, params.Len(); i < n; i++ { - fn.addParamObj(params.At(i)) - } - } - return - } - if fn.Prog.mode&LogSource != 0 { - defer logStack("build function %s @ %s", fn, fn.Prog.Fset.Position(fn.pos))() - } - fn.startBody() - fn.createSyntacticParams(recvField, functype) - b.stmt(fn, body) - if cb := fn.currentBlock; cb != nil && (cb == fn.Blocks[0] || cb == fn.Recover || cb.Preds != nil) { - // Control fell off the end of the function's body block. - // - // Block optimizations eliminate the current block, if - // unreachable. It is a builder invariant that - // if this no-arg return is ill-typed for - // fn.Signature.Results, this block must be - // unreachable. The sanity checker checks this. - fn.emit(new(RunDefers)) - fn.emit(new(Return)) - } - fn.finishBody() -} - -// buildFuncDecl builds SSA code for the function or method declared -// by decl in package pkg. -// -func (b *builder) buildFuncDecl(pkg *Package, decl *ast.FuncDecl) { - id := decl.Name - if isBlankIdent(id) { - return // discard - } - fn := pkg.values[pkg.info.Defs[id]].(*Function) - if decl.Recv == nil && id.Name == "init" { - var v Call - v.Call.Value = fn - v.setType(types.NewTuple()) - pkg.init.emit(&v) - } - b.buildFunction(fn) -} - -// BuildAll calls Package.Build() for each package in prog. -// Building occurs in parallel unless the BuildSerially mode flag was set. -// -// BuildAll is intended for whole-program analysis; a typical compiler -// need only build a single package. -// -// BuildAll is idempotent and thread-safe. -// -// TODO(adonovan): rename to Build. -// -func (prog *Program) BuildAll() { - var wg sync.WaitGroup - for _, p := range prog.packages { - if prog.mode&BuildSerially != 0 { - p.Build() - } else { - wg.Add(1) - go func(p *Package) { - p.Build() - wg.Done() - }(p) - } - } - wg.Wait() -} - -// Build builds SSA code for all functions and vars in package p. -// -// Precondition: CreatePackage must have been called for all of p's -// direct imports (and hence its direct imports must have been -// error-free). -// -// Build is idempotent and thread-safe. -// -func (p *Package) Build() { - if !atomic.CompareAndSwapInt32(&p.started, 0, 1) { - return // already started - } - if p.info == nil { - return // synthetic package, e.g. "testmain" - } - if p.files == nil { - p.info = nil - return // package loaded from export data - } - - // Ensure we have runtime type info for all exported members. - // TODO(adonovan): ideally belongs in memberFromObject, but - // that would require package creation in topological order. - for name, mem := range p.Members { - if ast.IsExported(name) { - p.Prog.needMethodsOf(mem.Type()) - } - } - if p.Prog.mode&LogSource != 0 { - defer logStack("build %s", p)() - } - init := p.init - init.startBody() - - var done *BasicBlock - - if p.Prog.mode&BareInits == 0 { - // Make init() skip if package is already initialized. - initguard := p.Var("init$guard") - doinit := init.newBasicBlock("init.start") - done = init.newBasicBlock("init.done") - emitIf(init, emitLoad(init, initguard), done, doinit) - init.currentBlock = doinit - emitStore(init, initguard, vTrue, token.NoPos) - - // Call the init() function of each package we import. - for _, pkg := range p.Object.Imports() { - prereq := p.Prog.packages[pkg] - if prereq == nil { - panic(fmt.Sprintf("Package(%q).Build(): unsatisfied import: Program.CreatePackage(%q) was not called", p.Object.Path(), pkg.Path())) - } - var v Call - v.Call.Value = prereq.init - v.Call.pos = init.pos - v.setType(types.NewTuple()) - init.emit(&v) - } - } - - var b builder - - // Initialize package-level vars in correct order. - for _, varinit := range p.info.InitOrder { - if init.Prog.mode&LogSource != 0 { - fmt.Fprintf(os.Stderr, "build global initializer %v @ %s\n", - varinit.Lhs, p.Prog.Fset.Position(varinit.Rhs.Pos())) - } - if len(varinit.Lhs) == 1 { - // 1:1 initialization: var x, y = a(), b() - var lval lvalue - if v := varinit.Lhs[0]; v.Name() != "_" { - lval = &address{addr: p.values[v].(*Global), pos: v.Pos()} - } else { - lval = blank{} - } - b.assign(init, lval, varinit.Rhs, true, nil) - } else { - // n:1 initialization: var x, y := f() - tuple := b.exprN(init, varinit.Rhs) - for i, v := range varinit.Lhs { - if v.Name() == "_" { - continue - } - emitStore(init, p.values[v].(*Global), emitExtract(init, tuple, i), v.Pos()) - } - } - } - - // Build all package-level functions, init functions - // and methods, including unreachable/blank ones. - // We build them in source order, but it's not significant. - for _, file := range p.files { - for _, decl := range file.Decls { - if decl, ok := decl.(*ast.FuncDecl); ok { - b.buildFuncDecl(p, decl) - } - } - } - - // Finish up init(). - if p.Prog.mode&BareInits == 0 { - emitJump(init, done) - init.currentBlock = done - } - init.emit(new(Return)) - init.finishBody() - - p.info = nil // We no longer need ASTs or go/types deductions. - - if p.Prog.mode&SanityCheckFunctions != 0 { - sanityCheckPackage(p) - } -} - -// Like ObjectOf, but panics instead of returning nil. -// Only valid during p's create and build phases. -func (p *Package) objectOf(id *ast.Ident) types.Object { - if o := p.info.ObjectOf(id); o != nil { - return o - } - panic(fmt.Sprintf("no types.Object for ast.Ident %s @ %s", - id.Name, p.Prog.Fset.Position(id.Pos()))) -} - -// Like TypeOf, but panics instead of returning nil. -// Only valid during p's create and build phases. -func (p *Package) typeOf(e ast.Expr) types.Type { - if T := p.info.TypeOf(e); T != nil { - return T - } - panic(fmt.Sprintf("no type for %T @ %s", - e, p.Prog.Fset.Position(e.Pos()))) -} diff --git a/vendor/golang.org/x/tools/go/ssa/const.go b/vendor/golang.org/x/tools/go/ssa/const.go deleted file mode 100644 index 304096e..0000000 --- a/vendor/golang.org/x/tools/go/ssa/const.go +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines the Const SSA value type. - -import ( - "fmt" - "go/token" - "strconv" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/types" -) - -// NewConst returns a new constant of the specified value and type. -// val must be valid according to the specification of Const.Value. -// -func NewConst(val exact.Value, typ types.Type) *Const { - return &Const{typ, val} -} - -// intConst returns an 'int' constant that evaluates to i. -// (i is an int64 in case the host is narrower than the target.) -func intConst(i int64) *Const { - return NewConst(exact.MakeInt64(i), tInt) -} - -// nilConst returns a nil constant of the specified type, which may -// be any reference type, including interfaces. -// -func nilConst(typ types.Type) *Const { - return NewConst(nil, typ) -} - -// stringConst returns a 'string' constant that evaluates to s. -func stringConst(s string) *Const { - return NewConst(exact.MakeString(s), tString) -} - -// zeroConst returns a new "zero" constant of the specified type, -// which must not be an array or struct type: the zero values of -// aggregates are well-defined but cannot be represented by Const. -// -func zeroConst(t types.Type) *Const { - switch t := t.(type) { - case *types.Basic: - switch { - case t.Info()&types.IsBoolean != 0: - return NewConst(exact.MakeBool(false), t) - case t.Info()&types.IsNumeric != 0: - return NewConst(exact.MakeInt64(0), t) - case t.Info()&types.IsString != 0: - return NewConst(exact.MakeString(""), t) - case t.Kind() == types.UnsafePointer: - fallthrough - case t.Kind() == types.UntypedNil: - return nilConst(t) - default: - panic(fmt.Sprint("zeroConst for unexpected type:", t)) - } - case *types.Pointer, *types.Slice, *types.Interface, *types.Chan, *types.Map, *types.Signature: - return nilConst(t) - case *types.Named: - return NewConst(zeroConst(t.Underlying()).Value, t) - case *types.Array, *types.Struct, *types.Tuple: - panic(fmt.Sprint("zeroConst applied to aggregate:", t)) - } - panic(fmt.Sprint("zeroConst: unexpected ", t)) -} - -func (c *Const) RelString(from *types.Package) string { - var s string - if c.Value == nil { - s = "nil" - } else if c.Value.Kind() == exact.String { - s = exact.StringVal(c.Value) - const max = 20 - // TODO(adonovan): don't cut a rune in half. - if len(s) > max { - s = s[:max-3] + "..." // abbreviate - } - s = strconv.Quote(s) - } else { - s = c.Value.String() - } - return s + ":" + relType(c.Type(), from) -} - -func (c *Const) Name() string { - return c.RelString(nil) -} - -func (c *Const) String() string { - return c.Name() -} - -func (c *Const) Type() types.Type { - return c.typ -} - -func (c *Const) Referrers() *[]Instruction { - return nil -} - -func (c *Const) Parent() *Function { return nil } - -func (c *Const) Pos() token.Pos { - return token.NoPos -} - -// IsNil returns true if this constant represents a typed or untyped nil value. -func (c *Const) IsNil() bool { - return c.Value == nil -} - -// Int64 returns the numeric value of this constant truncated to fit -// a signed 64-bit integer. -// -func (c *Const) Int64() int64 { - switch x := c.Value; x.Kind() { - case exact.Int: - if i, ok := exact.Int64Val(x); ok { - return i - } - return 0 - case exact.Float: - f, _ := exact.Float64Val(x) - return int64(f) - } - panic(fmt.Sprintf("unexpected constant value: %T", c.Value)) -} - -// Uint64 returns the numeric value of this constant truncated to fit -// an unsigned 64-bit integer. -// -func (c *Const) Uint64() uint64 { - switch x := c.Value; x.Kind() { - case exact.Int: - if u, ok := exact.Uint64Val(x); ok { - return u - } - return 0 - case exact.Float: - f, _ := exact.Float64Val(x) - return uint64(f) - } - panic(fmt.Sprintf("unexpected constant value: %T", c.Value)) -} - -// Float64 returns the numeric value of this constant truncated to fit -// a float64. -// -func (c *Const) Float64() float64 { - f, _ := exact.Float64Val(c.Value) - return f -} - -// Complex128 returns the complex value of this constant truncated to -// fit a complex128. -// -func (c *Const) Complex128() complex128 { - re, _ := exact.Float64Val(exact.Real(c.Value)) - im, _ := exact.Float64Val(exact.Imag(c.Value)) - return complex(re, im) -} diff --git a/vendor/golang.org/x/tools/go/ssa/create.go b/vendor/golang.org/x/tools/go/ssa/create.go deleted file mode 100644 index 88226ae..0000000 --- a/vendor/golang.org/x/tools/go/ssa/create.go +++ /dev/null @@ -1,257 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file implements the CREATE phase of SSA construction. -// See builder.go for explanation. - -import ( - "fmt" - "go/ast" - "go/token" - "os" - "sync" - - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" -) - -// NewProgram returns a new SSA Program. -// -// mode controls diagnostics and checking during SSA construction. -// -func NewProgram(fset *token.FileSet, mode BuilderMode) *Program { - prog := &Program{ - Fset: fset, - imported: make(map[string]*Package), - packages: make(map[*types.Package]*Package), - thunks: make(map[selectionKey]*Function), - bounds: make(map[*types.Func]*Function), - mode: mode, - } - - h := typeutil.MakeHasher() // protected by methodsMu, in effect - prog.methodSets.SetHasher(h) - prog.canon.SetHasher(h) - - return prog -} - -// memberFromObject populates package pkg with a member for the -// typechecker object obj. -// -// For objects from Go source code, syntax is the associated syntax -// tree (for funcs and vars only); it will be used during the build -// phase. -// -func memberFromObject(pkg *Package, obj types.Object, syntax ast.Node) { - name := obj.Name() - switch obj := obj.(type) { - case *types.TypeName: - pkg.Members[name] = &Type{ - object: obj, - pkg: pkg, - } - - case *types.Const: - c := &NamedConst{ - object: obj, - Value: NewConst(obj.Val(), obj.Type()), - pkg: pkg, - } - pkg.values[obj] = c.Value - pkg.Members[name] = c - - case *types.Var: - g := &Global{ - Pkg: pkg, - name: name, - object: obj, - typ: types.NewPointer(obj.Type()), // address - pos: obj.Pos(), - } - pkg.values[obj] = g - pkg.Members[name] = g - - case *types.Func: - sig := obj.Type().(*types.Signature) - if sig.Recv() == nil && name == "init" { - pkg.ninit++ - name = fmt.Sprintf("init#%d", pkg.ninit) - } - fn := &Function{ - name: name, - object: obj, - Signature: sig, - syntax: syntax, - pos: obj.Pos(), - Pkg: pkg, - Prog: pkg.Prog, - } - if syntax == nil { - fn.Synthetic = "loaded from gc object file" - } - - pkg.values[obj] = fn - if sig.Recv() == nil { - pkg.Members[name] = fn // package-level function - } - - default: // (incl. *types.Package) - panic("unexpected Object type: " + obj.String()) - } -} - -// membersFromDecl populates package pkg with members for each -// typechecker object (var, func, const or type) associated with the -// specified decl. -// -func membersFromDecl(pkg *Package, decl ast.Decl) { - switch decl := decl.(type) { - case *ast.GenDecl: // import, const, type or var - switch decl.Tok { - case token.CONST: - for _, spec := range decl.Specs { - for _, id := range spec.(*ast.ValueSpec).Names { - if !isBlankIdent(id) { - memberFromObject(pkg, pkg.info.Defs[id], nil) - } - } - } - - case token.VAR: - for _, spec := range decl.Specs { - for _, id := range spec.(*ast.ValueSpec).Names { - if !isBlankIdent(id) { - memberFromObject(pkg, pkg.info.Defs[id], spec) - } - } - } - - case token.TYPE: - for _, spec := range decl.Specs { - id := spec.(*ast.TypeSpec).Name - if !isBlankIdent(id) { - memberFromObject(pkg, pkg.info.Defs[id], nil) - } - } - } - - case *ast.FuncDecl: - id := decl.Name - if !isBlankIdent(id) { - memberFromObject(pkg, pkg.info.Defs[id], decl) - } - } -} - -// CreatePackage constructs and returns an SSA Package from the -// specified type-checked, error-free file ASTs, and populates its -// Members mapping. -// -// importable determines whether this package should be returned by a -// subsequent call to ImportedPackage(pkg.Path()). -// -// The real work of building SSA form for each function is not done -// until a subsequent call to Package.Build(). -// -func (prog *Program) CreatePackage(pkg *types.Package, files []*ast.File, info *types.Info, importable bool) *Package { - p := &Package{ - Prog: prog, - Members: make(map[string]Member), - values: make(map[types.Object]Value), - Object: pkg, - info: info, // transient (CREATE and BUILD phases) - files: files, // transient (CREATE and BUILD phases) - } - - // Add init() function. - p.init = &Function{ - name: "init", - Signature: new(types.Signature), - Synthetic: "package initializer", - Pkg: p, - Prog: prog, - } - p.Members[p.init.name] = p.init - - // CREATE phase. - // Allocate all package members: vars, funcs, consts and types. - if len(files) > 0 { - // Go source package. - for _, file := range files { - for _, decl := range file.Decls { - membersFromDecl(p, decl) - } - } - } else { - // GC-compiled binary package. - // No code. - // No position information. - scope := p.Object.Scope() - for _, name := range scope.Names() { - obj := scope.Lookup(name) - memberFromObject(p, obj, nil) - if obj, ok := obj.(*types.TypeName); ok { - named := obj.Type().(*types.Named) - for i, n := 0, named.NumMethods(); i < n; i++ { - memberFromObject(p, named.Method(i), nil) - } - } - } - } - - if prog.mode&BareInits == 0 { - // Add initializer guard variable. - initguard := &Global{ - Pkg: p, - name: "init$guard", - typ: types.NewPointer(tBool), - } - p.Members[initguard.Name()] = initguard - } - - if prog.mode&GlobalDebug != 0 { - p.SetDebugMode(true) - } - - if prog.mode&PrintPackages != 0 { - printMu.Lock() - p.WriteTo(os.Stdout) - printMu.Unlock() - } - - if importable { - prog.imported[p.Object.Path()] = p - } - prog.packages[p.Object] = p - - return p -} - -// printMu serializes printing of Packages/Functions to stdout. -var printMu sync.Mutex - -// AllPackages returns a new slice containing all packages in the -// program prog in unspecified order. -// -func (prog *Program) AllPackages() []*Package { - pkgs := make([]*Package, 0, len(prog.packages)) - for _, pkg := range prog.packages { - pkgs = append(pkgs, pkg) - } - return pkgs -} - -// ImportedPackage returns the importable SSA Package whose import -// path is path, or nil if no such SSA package has been created. -// -// Not all packages are importable. For example, no import -// declaration can resolve to the x_test package created by 'go test' -// or the ad-hoc main package created 'go build foo.go'. -// -func (prog *Program) ImportedPackage(path string) *Package { - return prog.imported[path] -} diff --git a/vendor/golang.org/x/tools/go/ssa/doc.go b/vendor/golang.org/x/tools/go/ssa/doc.go deleted file mode 100644 index 2aa04f4..0000000 --- a/vendor/golang.org/x/tools/go/ssa/doc.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2013 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. - -// Package ssa defines a representation of the elements of Go programs -// (packages, types, functions, variables and constants) using a -// static single-assignment (SSA) form intermediate representation -// (IR) for the bodies of functions. -// -// THIS INTERFACE IS EXPERIMENTAL AND IS LIKELY TO CHANGE. -// -// For an introduction to SSA form, see -// http://en.wikipedia.org/wiki/Static_single_assignment_form. -// This page provides a broader reading list: -// http://www.dcs.gla.ac.uk/~jsinger/ssa.html. -// -// The level of abstraction of the SSA form is intentionally close to -// the source language to facilitate construction of source analysis -// tools. It is not intended for machine code generation. -// -// All looping, branching and switching constructs are replaced with -// unstructured control flow. Higher-level control flow constructs -// such as multi-way branch can be reconstructed as needed; see -// ssautil.Switches() for an example. -// -// To construct an SSA-form program, call ssautil.CreateProgram on a -// loader.Program, a set of type-checked packages created from -// parsed Go source files. The resulting ssa.Program contains all the -// packages and their members, but SSA code is not created for -// function bodies until a subsequent call to (*Package).Build. -// -// The builder initially builds a naive SSA form in which all local -// variables are addresses of stack locations with explicit loads and -// stores. Registerisation of eligible locals and φ-node insertion -// using dominance and dataflow are then performed as a second pass -// called "lifting" to improve the accuracy and performance of -// subsequent analyses; this pass can be skipped by setting the -// NaiveForm builder flag. -// -// The primary interfaces of this package are: -// -// - Member: a named member of a Go package. -// - Value: an expression that yields a value. -// - Instruction: a statement that consumes values and performs computation. -// - Node: a Value or Instruction (emphasizing its membership in the SSA value graph) -// -// A computation that yields a result implements both the Value and -// Instruction interfaces. The following table shows for each -// concrete type which of these interfaces it implements. -// -// Value? Instruction? Member? -// *Alloc ✔ ✔ -// *BinOp ✔ ✔ -// *Builtin ✔ -// *Call ✔ ✔ -// *ChangeInterface ✔ ✔ -// *ChangeType ✔ ✔ -// *Const ✔ -// *Convert ✔ ✔ -// *DebugRef ✔ -// *Defer ✔ -// *Extract ✔ ✔ -// *Field ✔ ✔ -// *FieldAddr ✔ ✔ -// *FreeVar ✔ -// *Function ✔ ✔ (func) -// *Global ✔ ✔ (var) -// *Go ✔ -// *If ✔ -// *Index ✔ ✔ -// *IndexAddr ✔ ✔ -// *Jump ✔ -// *Lookup ✔ ✔ -// *MakeChan ✔ ✔ -// *MakeClosure ✔ ✔ -// *MakeInterface ✔ ✔ -// *MakeMap ✔ ✔ -// *MakeSlice ✔ ✔ -// *MapUpdate ✔ -// *NamedConst ✔ (const) -// *Next ✔ ✔ -// *Panic ✔ -// *Parameter ✔ -// *Phi ✔ ✔ -// *Range ✔ ✔ -// *Return ✔ -// *RunDefers ✔ -// *Select ✔ ✔ -// *Send ✔ -// *Slice ✔ ✔ -// *Store ✔ -// *Type ✔ (type) -// *TypeAssert ✔ ✔ -// *UnOp ✔ ✔ -// -// Other key types in this package include: Program, Package, Function -// and BasicBlock. -// -// The program representation constructed by this package is fully -// resolved internally, i.e. it does not rely on the names of Values, -// Packages, Functions, Types or BasicBlocks for the correct -// interpretation of the program. Only the identities of objects and -// the topology of the SSA and type graphs are semantically -// significant. (There is one exception: Ids, used to identify field -// and method names, contain strings.) Avoidance of name-based -// operations simplifies the implementation of subsequent passes and -// can make them very efficient. Many objects are nonetheless named -// to aid in debugging, but it is not essential that the names be -// either accurate or unambiguous. The public API exposes a number of -// name-based maps for client convenience. -// -// The ssa/ssautil package provides various utilities that depend only -// on the public API of this package. -// -// TODO(adonovan): Consider the exceptional control-flow implications -// of defer and recover(). -// -// TODO(adonovan): write a how-to document for all the various cases -// of trying to determine corresponding elements across the four -// domains of source locations, ast.Nodes, types.Objects, -// ssa.Values/Instructions. -// -package ssa // import "golang.org/x/tools/go/ssa" diff --git a/vendor/golang.org/x/tools/go/ssa/dom.go b/vendor/golang.org/x/tools/go/ssa/dom.go deleted file mode 100644 index 12ef430..0000000 --- a/vendor/golang.org/x/tools/go/ssa/dom.go +++ /dev/null @@ -1,341 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines algorithms related to dominance. - -// Dominator tree construction ---------------------------------------- -// -// We use the algorithm described in Lengauer & Tarjan. 1979. A fast -// algorithm for finding dominators in a flowgraph. -// http://doi.acm.org/10.1145/357062.357071 -// -// We also apply the optimizations to SLT described in Georgiadis et -// al, Finding Dominators in Practice, JGAA 2006, -// http://jgaa.info/accepted/2006/GeorgiadisTarjanWerneck2006.10.1.pdf -// to avoid the need for buckets of size > 1. - -import ( - "bytes" - "fmt" - "math/big" - "os" - "sort" -) - -// Idom returns the block that immediately dominates b: -// its parent in the dominator tree, if any. -// Neither the entry node (b.Index==0) nor recover node -// (b==b.Parent().Recover()) have a parent. -// -func (b *BasicBlock) Idom() *BasicBlock { return b.dom.idom } - -// Dominees returns the list of blocks that b immediately dominates: -// its children in the dominator tree. -// -func (b *BasicBlock) Dominees() []*BasicBlock { return b.dom.children } - -// Dominates reports whether b dominates c. -func (b *BasicBlock) Dominates(c *BasicBlock) bool { - return b.dom.pre <= c.dom.pre && c.dom.post <= b.dom.post -} - -type byDomPreorder []*BasicBlock - -func (a byDomPreorder) Len() int { return len(a) } -func (a byDomPreorder) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -func (a byDomPreorder) Less(i, j int) bool { return a[i].dom.pre < a[j].dom.pre } - -// DomPreorder returns a new slice containing the blocks of f in -// dominator tree preorder. -// -func (f *Function) DomPreorder() []*BasicBlock { - n := len(f.Blocks) - order := make(byDomPreorder, n, n) - copy(order, f.Blocks) - sort.Sort(order) - return order -} - -// domInfo contains a BasicBlock's dominance information. -type domInfo struct { - idom *BasicBlock // immediate dominator (parent in domtree) - children []*BasicBlock // nodes immediately dominated by this one - pre, post int32 // pre- and post-order numbering within domtree -} - -// ltState holds the working state for Lengauer-Tarjan algorithm -// (during which domInfo.pre is repurposed for CFG DFS preorder number). -type ltState struct { - // Each slice is indexed by b.Index. - sdom []*BasicBlock // b's semidominator - parent []*BasicBlock // b's parent in DFS traversal of CFG - ancestor []*BasicBlock // b's ancestor with least sdom -} - -// dfs implements the depth-first search part of the LT algorithm. -func (lt *ltState) dfs(v *BasicBlock, i int32, preorder []*BasicBlock) int32 { - preorder[i] = v - v.dom.pre = i // For now: DFS preorder of spanning tree of CFG - i++ - lt.sdom[v.Index] = v - lt.link(nil, v) - for _, w := range v.Succs { - if lt.sdom[w.Index] == nil { - lt.parent[w.Index] = v - i = lt.dfs(w, i, preorder) - } - } - return i -} - -// eval implements the EVAL part of the LT algorithm. -func (lt *ltState) eval(v *BasicBlock) *BasicBlock { - // TODO(adonovan): opt: do path compression per simple LT. - u := v - for ; lt.ancestor[v.Index] != nil; v = lt.ancestor[v.Index] { - if lt.sdom[v.Index].dom.pre < lt.sdom[u.Index].dom.pre { - u = v - } - } - return u -} - -// link implements the LINK part of the LT algorithm. -func (lt *ltState) link(v, w *BasicBlock) { - lt.ancestor[w.Index] = v -} - -// buildDomTree computes the dominator tree of f using the LT algorithm. -// Precondition: all blocks are reachable (e.g. optimizeBlocks has been run). -// -func buildDomTree(f *Function) { - // The step numbers refer to the original LT paper; the - // reordering is due to Georgiadis. - - // Clear any previous domInfo. - for _, b := range f.Blocks { - b.dom = domInfo{} - } - - n := len(f.Blocks) - // Allocate space for 5 contiguous [n]*BasicBlock arrays: - // sdom, parent, ancestor, preorder, buckets. - space := make([]*BasicBlock, 5*n, 5*n) - lt := ltState{ - sdom: space[0:n], - parent: space[n : 2*n], - ancestor: space[2*n : 3*n], - } - - // Step 1. Number vertices by depth-first preorder. - preorder := space[3*n : 4*n] - root := f.Blocks[0] - prenum := lt.dfs(root, 0, preorder) - recover := f.Recover - if recover != nil { - lt.dfs(recover, prenum, preorder) - } - - buckets := space[4*n : 5*n] - copy(buckets, preorder) - - // In reverse preorder... - for i := int32(n) - 1; i > 0; i-- { - w := preorder[i] - - // Step 3. Implicitly define the immediate dominator of each node. - for v := buckets[i]; v != w; v = buckets[v.dom.pre] { - u := lt.eval(v) - if lt.sdom[u.Index].dom.pre < i { - v.dom.idom = u - } else { - v.dom.idom = w - } - } - - // Step 2. Compute the semidominators of all nodes. - lt.sdom[w.Index] = lt.parent[w.Index] - for _, v := range w.Preds { - u := lt.eval(v) - if lt.sdom[u.Index].dom.pre < lt.sdom[w.Index].dom.pre { - lt.sdom[w.Index] = lt.sdom[u.Index] - } - } - - lt.link(lt.parent[w.Index], w) - - if lt.parent[w.Index] == lt.sdom[w.Index] { - w.dom.idom = lt.parent[w.Index] - } else { - buckets[i] = buckets[lt.sdom[w.Index].dom.pre] - buckets[lt.sdom[w.Index].dom.pre] = w - } - } - - // The final 'Step 3' is now outside the loop. - for v := buckets[0]; v != root; v = buckets[v.dom.pre] { - v.dom.idom = root - } - - // Step 4. Explicitly define the immediate dominator of each - // node, in preorder. - for _, w := range preorder[1:] { - if w == root || w == recover { - w.dom.idom = nil - } else { - if w.dom.idom != lt.sdom[w.Index] { - w.dom.idom = w.dom.idom.dom.idom - } - // Calculate Children relation as inverse of Idom. - w.dom.idom.dom.children = append(w.dom.idom.dom.children, w) - } - } - - pre, post := numberDomTree(root, 0, 0) - if recover != nil { - numberDomTree(recover, pre, post) - } - - // printDomTreeDot(os.Stderr, f) // debugging - // printDomTreeText(os.Stderr, root, 0) // debugging - - if f.Prog.mode&SanityCheckFunctions != 0 { - sanityCheckDomTree(f) - } -} - -// numberDomTree sets the pre- and post-order numbers of a depth-first -// traversal of the dominator tree rooted at v. These are used to -// answer dominance queries in constant time. -// -func numberDomTree(v *BasicBlock, pre, post int32) (int32, int32) { - v.dom.pre = pre - pre++ - for _, child := range v.dom.children { - pre, post = numberDomTree(child, pre, post) - } - v.dom.post = post - post++ - return pre, post -} - -// Testing utilities ---------------------------------------- - -// sanityCheckDomTree checks the correctness of the dominator tree -// computed by the LT algorithm by comparing against the dominance -// relation computed by a naive Kildall-style forward dataflow -// analysis (Algorithm 10.16 from the "Dragon" book). -// -func sanityCheckDomTree(f *Function) { - n := len(f.Blocks) - - // D[i] is the set of blocks that dominate f.Blocks[i], - // represented as a bit-set of block indices. - D := make([]big.Int, n) - - one := big.NewInt(1) - - // all is the set of all blocks; constant. - var all big.Int - all.Set(one).Lsh(&all, uint(n)).Sub(&all, one) - - // Initialization. - for i, b := range f.Blocks { - if i == 0 || b == f.Recover { - // A root is dominated only by itself. - D[i].SetBit(&D[0], 0, 1) - } else { - // All other blocks are (initially) dominated - // by every block. - D[i].Set(&all) - } - } - - // Iteration until fixed point. - for changed := true; changed; { - changed = false - for i, b := range f.Blocks { - if i == 0 || b == f.Recover { - continue - } - // Compute intersection across predecessors. - var x big.Int - x.Set(&all) - for _, pred := range b.Preds { - x.And(&x, &D[pred.Index]) - } - x.SetBit(&x, i, 1) // a block always dominates itself. - if D[i].Cmp(&x) != 0 { - D[i].Set(&x) - changed = true - } - } - } - - // Check the entire relation. O(n^2). - // The Recover block (if any) must be treated specially so we skip it. - ok := true - for i := 0; i < n; i++ { - for j := 0; j < n; j++ { - b, c := f.Blocks[i], f.Blocks[j] - if c == f.Recover { - continue - } - actual := b.Dominates(c) - expected := D[j].Bit(i) == 1 - if actual != expected { - fmt.Fprintf(os.Stderr, "dominates(%s, %s)==%t, want %t\n", b, c, actual, expected) - ok = false - } - } - } - - preorder := f.DomPreorder() - for _, b := range f.Blocks { - if got := preorder[b.dom.pre]; got != b { - fmt.Fprintf(os.Stderr, "preorder[%d]==%s, want %s\n", b.dom.pre, got, b) - ok = false - } - } - - if !ok { - panic("sanityCheckDomTree failed for " + f.String()) - } - -} - -// Printing functions ---------------------------------------- - -// printDomTree prints the dominator tree as text, using indentation. -func printDomTreeText(buf *bytes.Buffer, v *BasicBlock, indent int) { - fmt.Fprintf(buf, "%*s%s\n", 4*indent, "", v) - for _, child := range v.dom.children { - printDomTreeText(buf, child, indent+1) - } -} - -// printDomTreeDot prints the dominator tree of f in AT&T GraphViz -// (.dot) format. -func printDomTreeDot(buf *bytes.Buffer, f *Function) { - fmt.Fprintln(buf, "//", f) - fmt.Fprintln(buf, "digraph domtree {") - for i, b := range f.Blocks { - v := b.dom - fmt.Fprintf(buf, "\tn%d [label=\"%s (%d, %d)\",shape=\"rectangle\"];\n", v.pre, b, v.pre, v.post) - // TODO(adonovan): improve appearance of edges - // belonging to both dominator tree and CFG. - - // Dominator tree edge. - if i != 0 { - fmt.Fprintf(buf, "\tn%d -> n%d [style=\"solid\",weight=100];\n", v.idom.dom.pre, v.pre) - } - // CFG edges. - for _, pred := range b.Preds { - fmt.Fprintf(buf, "\tn%d -> n%d [style=\"dotted\",weight=0];\n", pred.dom.pre, v.pre) - } - } - fmt.Fprintln(buf, "}") -} diff --git a/vendor/golang.org/x/tools/go/ssa/emit.go b/vendor/golang.org/x/tools/go/ssa/emit.go deleted file mode 100644 index fa9646b..0000000 --- a/vendor/golang.org/x/tools/go/ssa/emit.go +++ /dev/null @@ -1,469 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// Helpers for emitting SSA instructions. - -import ( - "fmt" - "go/ast" - "go/token" - - "golang.org/x/tools/go/types" -) - -// emitNew emits to f a new (heap Alloc) instruction allocating an -// object of type typ. pos is the optional source location. -// -func emitNew(f *Function, typ types.Type, pos token.Pos) *Alloc { - v := &Alloc{Heap: true} - v.setType(types.NewPointer(typ)) - v.setPos(pos) - f.emit(v) - return v -} - -// emitLoad emits to f an instruction to load the address addr into a -// new temporary, and returns the value so defined. -// -func emitLoad(f *Function, addr Value) *UnOp { - v := &UnOp{Op: token.MUL, X: addr} - v.setType(deref(addr.Type())) - f.emit(v) - return v -} - -// emitDebugRef emits to f a DebugRef pseudo-instruction associating -// expression e with value v. -// -func emitDebugRef(f *Function, e ast.Expr, v Value, isAddr bool) { - if !f.debugInfo() { - return // debugging not enabled - } - if v == nil || e == nil { - panic("nil") - } - var obj types.Object - e = unparen(e) - if id, ok := e.(*ast.Ident); ok { - if isBlankIdent(id) { - return - } - obj = f.Pkg.objectOf(id) - switch obj.(type) { - case *types.Nil, *types.Const, *types.Builtin: - return - } - } - f.emit(&DebugRef{ - X: v, - Expr: e, - IsAddr: isAddr, - object: obj, - }) -} - -// emitArith emits to f code to compute the binary operation op(x, y) -// where op is an eager shift, logical or arithmetic operation. -// (Use emitCompare() for comparisons and Builder.logicalBinop() for -// non-eager operations.) -// -func emitArith(f *Function, op token.Token, x, y Value, t types.Type, pos token.Pos) Value { - switch op { - case token.SHL, token.SHR: - x = emitConv(f, x, t) - // y may be signed or an 'untyped' constant. - // TODO(adonovan): whence signed values? - if b, ok := y.Type().Underlying().(*types.Basic); ok && b.Info()&types.IsUnsigned == 0 { - y = emitConv(f, y, types.Typ[types.Uint64]) - } - - case token.ADD, token.SUB, token.MUL, token.QUO, token.REM, token.AND, token.OR, token.XOR, token.AND_NOT: - x = emitConv(f, x, t) - y = emitConv(f, y, t) - - default: - panic("illegal op in emitArith: " + op.String()) - - } - v := &BinOp{ - Op: op, - X: x, - Y: y, - } - v.setPos(pos) - v.setType(t) - return f.emit(v) -} - -// emitCompare emits to f code compute the boolean result of -// comparison comparison 'x op y'. -// -func emitCompare(f *Function, op token.Token, x, y Value, pos token.Pos) Value { - xt := x.Type().Underlying() - yt := y.Type().Underlying() - - // Special case to optimise a tagless SwitchStmt so that - // these are equivalent - // switch { case e: ...} - // switch true { case e: ... } - // if e==true { ... } - // even in the case when e's type is an interface. - // TODO(adonovan): opt: generalise to x==true, false!=y, etc. - if x == vTrue && op == token.EQL { - if yt, ok := yt.(*types.Basic); ok && yt.Info()&types.IsBoolean != 0 { - return y - } - } - - if types.Identical(xt, yt) { - // no conversion necessary - } else if _, ok := xt.(*types.Interface); ok { - y = emitConv(f, y, x.Type()) - } else if _, ok := yt.(*types.Interface); ok { - x = emitConv(f, x, y.Type()) - } else if _, ok := x.(*Const); ok { - x = emitConv(f, x, y.Type()) - } else if _, ok := y.(*Const); ok { - y = emitConv(f, y, x.Type()) - } else { - // other cases, e.g. channels. No-op. - } - - v := &BinOp{ - Op: op, - X: x, - Y: y, - } - v.setPos(pos) - v.setType(tBool) - return f.emit(v) -} - -// isValuePreserving returns true if a conversion from ut_src to -// ut_dst is value-preserving, i.e. just a change of type. -// Precondition: neither argument is a named type. -// -func isValuePreserving(ut_src, ut_dst types.Type) bool { - // Identical underlying types? - if types.Identical(ut_dst, ut_src) { - return true - } - - switch ut_dst.(type) { - case *types.Chan: - // Conversion between channel types? - _, ok := ut_src.(*types.Chan) - return ok - - case *types.Pointer: - // Conversion between pointers with identical base types? - _, ok := ut_src.(*types.Pointer) - return ok - } - return false -} - -// emitConv emits to f code to convert Value val to exactly type typ, -// and returns the converted value. Implicit conversions are required -// by language assignability rules in assignments, parameter passing, -// etc. Conversions cannot fail dynamically. -// -func emitConv(f *Function, val Value, typ types.Type) Value { - t_src := val.Type() - - // Identical types? Conversion is a no-op. - if types.Identical(t_src, typ) { - return val - } - - ut_dst := typ.Underlying() - ut_src := t_src.Underlying() - - // Just a change of type, but not value or representation? - if isValuePreserving(ut_src, ut_dst) { - c := &ChangeType{X: val} - c.setType(typ) - return f.emit(c) - } - - // Conversion to, or construction of a value of, an interface type? - if _, ok := ut_dst.(*types.Interface); ok { - // Assignment from one interface type to another? - if _, ok := ut_src.(*types.Interface); ok { - c := &ChangeInterface{X: val} - c.setType(typ) - return f.emit(c) - } - - // Untyped nil constant? Return interface-typed nil constant. - if ut_src == tUntypedNil { - return nilConst(typ) - } - - // Convert (non-nil) "untyped" literals to their default type. - if t, ok := ut_src.(*types.Basic); ok && t.Info()&types.IsUntyped != 0 { - val = emitConv(f, val, DefaultType(ut_src)) - } - - f.Pkg.Prog.needMethodsOf(val.Type()) - mi := &MakeInterface{X: val} - mi.setType(typ) - return f.emit(mi) - } - - // Conversion of a compile-time constant value? - if c, ok := val.(*Const); ok { - if _, ok := ut_dst.(*types.Basic); ok || c.IsNil() { - // Conversion of a compile-time constant to - // another constant type results in a new - // constant of the destination type and - // (initially) the same abstract value. - // We don't truncate the value yet. - return NewConst(c.Value, typ) - } - - // We're converting from constant to non-constant type, - // e.g. string -> []byte/[]rune. - } - - // A representation-changing conversion? - // At least one of {ut_src,ut_dst} must be *Basic. - // (The other may be []byte or []rune.) - _, ok1 := ut_src.(*types.Basic) - _, ok2 := ut_dst.(*types.Basic) - if ok1 || ok2 { - c := &Convert{X: val} - c.setType(typ) - return f.emit(c) - } - - panic(fmt.Sprintf("in %s: cannot convert %s (%s) to %s", f, val, val.Type(), typ)) -} - -// emitStore emits to f an instruction to store value val at location -// addr, applying implicit conversions as required by assignability rules. -// -func emitStore(f *Function, addr, val Value, pos token.Pos) *Store { - s := &Store{ - Addr: addr, - Val: emitConv(f, val, deref(addr.Type())), - pos: pos, - } - f.emit(s) - return s -} - -// emitJump emits to f a jump to target, and updates the control-flow graph. -// Postcondition: f.currentBlock is nil. -// -func emitJump(f *Function, target *BasicBlock) { - b := f.currentBlock - b.emit(new(Jump)) - addEdge(b, target) - f.currentBlock = nil -} - -// emitIf emits to f a conditional jump to tblock or fblock based on -// cond, and updates the control-flow graph. -// Postcondition: f.currentBlock is nil. -// -func emitIf(f *Function, cond Value, tblock, fblock *BasicBlock) { - b := f.currentBlock - b.emit(&If{Cond: cond}) - addEdge(b, tblock) - addEdge(b, fblock) - f.currentBlock = nil -} - -// emitExtract emits to f an instruction to extract the index'th -// component of tuple. It returns the extracted value. -// -func emitExtract(f *Function, tuple Value, index int) Value { - e := &Extract{Tuple: tuple, Index: index} - e.setType(tuple.Type().(*types.Tuple).At(index).Type()) - return f.emit(e) -} - -// emitTypeAssert emits to f a type assertion value := x.(t) and -// returns the value. x.Type() must be an interface. -// -func emitTypeAssert(f *Function, x Value, t types.Type, pos token.Pos) Value { - a := &TypeAssert{X: x, AssertedType: t} - a.setPos(pos) - a.setType(t) - return f.emit(a) -} - -// emitTypeTest emits to f a type test value,ok := x.(t) and returns -// a (value, ok) tuple. x.Type() must be an interface. -// -func emitTypeTest(f *Function, x Value, t types.Type, pos token.Pos) Value { - a := &TypeAssert{ - X: x, - AssertedType: t, - CommaOk: true, - } - a.setPos(pos) - a.setType(types.NewTuple( - newVar("value", t), - varOk, - )) - return f.emit(a) -} - -// emitTailCall emits to f a function call in tail position. The -// caller is responsible for all fields of 'call' except its type. -// Intended for wrapper methods. -// Precondition: f does/will not use deferred procedure calls. -// Postcondition: f.currentBlock is nil. -// -func emitTailCall(f *Function, call *Call) { - tresults := f.Signature.Results() - nr := tresults.Len() - if nr == 1 { - call.typ = tresults.At(0).Type() - } else { - call.typ = tresults - } - tuple := f.emit(call) - var ret Return - switch nr { - case 0: - // no-op - case 1: - ret.Results = []Value{tuple} - default: - for i := 0; i < nr; i++ { - v := emitExtract(f, tuple, i) - // TODO(adonovan): in principle, this is required: - // v = emitConv(f, o.Type, f.Signature.Results[i].Type) - // but in practice emitTailCall is only used when - // the types exactly match. - ret.Results = append(ret.Results, v) - } - } - f.emit(&ret) - f.currentBlock = nil -} - -// emitImplicitSelections emits to f code to apply the sequence of -// implicit field selections specified by indices to base value v, and -// returns the selected value. -// -// If v is the address of a struct, the result will be the address of -// a field; if it is the value of a struct, the result will be the -// value of a field. -// -func emitImplicitSelections(f *Function, v Value, indices []int) Value { - for _, index := range indices { - fld := deref(v.Type()).Underlying().(*types.Struct).Field(index) - - if isPointer(v.Type()) { - instr := &FieldAddr{ - X: v, - Field: index, - } - instr.setType(types.NewPointer(fld.Type())) - v = f.emit(instr) - // Load the field's value iff indirectly embedded. - if isPointer(fld.Type()) { - v = emitLoad(f, v) - } - } else { - instr := &Field{ - X: v, - Field: index, - } - instr.setType(fld.Type()) - v = f.emit(instr) - } - } - return v -} - -// emitFieldSelection emits to f code to select the index'th field of v. -// -// If wantAddr, the input must be a pointer-to-struct and the result -// will be the field's address; otherwise the result will be the -// field's value. -// Ident id is used for position and debug info. -// -func emitFieldSelection(f *Function, v Value, index int, wantAddr bool, id *ast.Ident) Value { - fld := deref(v.Type()).Underlying().(*types.Struct).Field(index) - if isPointer(v.Type()) { - instr := &FieldAddr{ - X: v, - Field: index, - } - instr.setPos(id.Pos()) - instr.setType(types.NewPointer(fld.Type())) - v = f.emit(instr) - // Load the field's value iff we don't want its address. - if !wantAddr { - v = emitLoad(f, v) - } - } else { - instr := &Field{ - X: v, - Field: index, - } - instr.setPos(id.Pos()) - instr.setType(fld.Type()) - v = f.emit(instr) - } - emitDebugRef(f, id, v, wantAddr) - return v -} - -// zeroValue emits to f code to produce a zero value of type t, -// and returns it. -// -func zeroValue(f *Function, t types.Type) Value { - switch t.Underlying().(type) { - case *types.Struct, *types.Array: - return emitLoad(f, f.addLocal(t, token.NoPos)) - default: - return zeroConst(t) - } -} - -// createRecoverBlock emits to f a block of code to return after a -// recovered panic, and sets f.Recover to it. -// -// If f's result parameters are named, the code loads and returns -// their current values, otherwise it returns the zero values of their -// type. -// -// Idempotent. -// -func createRecoverBlock(f *Function) { - if f.Recover != nil { - return // already created - } - saved := f.currentBlock - - f.Recover = f.newBasicBlock("recover") - f.currentBlock = f.Recover - - var results []Value - if f.namedResults != nil { - // Reload NRPs to form value tuple. - for _, r := range f.namedResults { - results = append(results, emitLoad(f, r)) - } - } else { - R := f.Signature.Results() - for i, n := 0, R.Len(); i < n; i++ { - T := R.At(i).Type() - - // Return zero value of each result type. - results = append(results, zeroValue(f, T)) - } - } - f.emit(&Return{Results: results}) - - f.currentBlock = saved -} diff --git a/vendor/golang.org/x/tools/go/ssa/func.go b/vendor/golang.org/x/tools/go/ssa/func.go deleted file mode 100644 index a9c0f75..0000000 --- a/vendor/golang.org/x/tools/go/ssa/func.go +++ /dev/null @@ -1,690 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file implements the Function and BasicBlock types. - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - "io" - "os" - "strings" - - "golang.org/x/tools/go/types" -) - -// addEdge adds a control-flow graph edge from from to to. -func addEdge(from, to *BasicBlock) { - from.Succs = append(from.Succs, to) - to.Preds = append(to.Preds, from) -} - -// Parent returns the function that contains block b. -func (b *BasicBlock) Parent() *Function { return b.parent } - -// String returns a human-readable label of this block. -// It is not guaranteed unique within the function. -// -func (b *BasicBlock) String() string { - return fmt.Sprintf("%d", b.Index) -} - -// emit appends an instruction to the current basic block. -// If the instruction defines a Value, it is returned. -// -func (b *BasicBlock) emit(i Instruction) Value { - i.setBlock(b) - b.Instrs = append(b.Instrs, i) - v, _ := i.(Value) - return v -} - -// predIndex returns the i such that b.Preds[i] == c or panics if -// there is none. -func (b *BasicBlock) predIndex(c *BasicBlock) int { - for i, pred := range b.Preds { - if pred == c { - return i - } - } - panic(fmt.Sprintf("no edge %s -> %s", c, b)) -} - -// hasPhi returns true if b.Instrs contains φ-nodes. -func (b *BasicBlock) hasPhi() bool { - _, ok := b.Instrs[0].(*Phi) - return ok -} - -// phis returns the prefix of b.Instrs containing all the block's φ-nodes. -func (b *BasicBlock) phis() []Instruction { - for i, instr := range b.Instrs { - if _, ok := instr.(*Phi); !ok { - return b.Instrs[:i] - } - } - return nil // unreachable in well-formed blocks -} - -// replacePred replaces all occurrences of p in b's predecessor list with q. -// Ordinarily there should be at most one. -// -func (b *BasicBlock) replacePred(p, q *BasicBlock) { - for i, pred := range b.Preds { - if pred == p { - b.Preds[i] = q - } - } -} - -// replaceSucc replaces all occurrences of p in b's successor list with q. -// Ordinarily there should be at most one. -// -func (b *BasicBlock) replaceSucc(p, q *BasicBlock) { - for i, succ := range b.Succs { - if succ == p { - b.Succs[i] = q - } - } -} - -// removePred removes all occurrences of p in b's -// predecessor list and φ-nodes. -// Ordinarily there should be at most one. -// -func (b *BasicBlock) removePred(p *BasicBlock) { - phis := b.phis() - - // We must preserve edge order for φ-nodes. - j := 0 - for i, pred := range b.Preds { - if pred != p { - b.Preds[j] = b.Preds[i] - // Strike out φ-edge too. - for _, instr := range phis { - phi := instr.(*Phi) - phi.Edges[j] = phi.Edges[i] - } - j++ - } - } - // Nil out b.Preds[j:] and φ-edges[j:] to aid GC. - for i := j; i < len(b.Preds); i++ { - b.Preds[i] = nil - for _, instr := range phis { - instr.(*Phi).Edges[i] = nil - } - } - b.Preds = b.Preds[:j] - for _, instr := range phis { - phi := instr.(*Phi) - phi.Edges = phi.Edges[:j] - } -} - -// Destinations associated with unlabelled for/switch/select stmts. -// We push/pop one of these as we enter/leave each construct and for -// each BranchStmt we scan for the innermost target of the right type. -// -type targets struct { - tail *targets // rest of stack - _break *BasicBlock - _continue *BasicBlock - _fallthrough *BasicBlock -} - -// Destinations associated with a labelled block. -// We populate these as labels are encountered in forward gotos or -// labelled statements. -// -type lblock struct { - _goto *BasicBlock - _break *BasicBlock - _continue *BasicBlock -} - -// labelledBlock returns the branch target associated with the -// specified label, creating it if needed. -// -func (f *Function) labelledBlock(label *ast.Ident) *lblock { - lb := f.lblocks[label.Obj] - if lb == nil { - lb = &lblock{_goto: f.newBasicBlock(label.Name)} - if f.lblocks == nil { - f.lblocks = make(map[*ast.Object]*lblock) - } - f.lblocks[label.Obj] = lb - } - return lb -} - -// addParam adds a (non-escaping) parameter to f.Params of the -// specified name, type and source position. -// -func (f *Function) addParam(name string, typ types.Type, pos token.Pos) *Parameter { - v := &Parameter{ - name: name, - typ: typ, - pos: pos, - parent: f, - } - f.Params = append(f.Params, v) - return v -} - -func (f *Function) addParamObj(obj types.Object) *Parameter { - name := obj.Name() - if name == "" { - name = fmt.Sprintf("arg%d", len(f.Params)) - } - param := f.addParam(name, obj.Type(), obj.Pos()) - param.object = obj - return param -} - -// addSpilledParam declares a parameter that is pre-spilled to the -// stack; the function body will load/store the spilled location. -// Subsequent lifting will eliminate spills where possible. -// -func (f *Function) addSpilledParam(obj types.Object) { - param := f.addParamObj(obj) - spill := &Alloc{Comment: obj.Name()} - spill.setType(types.NewPointer(obj.Type())) - spill.setPos(obj.Pos()) - f.objects[obj] = spill - f.Locals = append(f.Locals, spill) - f.emit(spill) - f.emit(&Store{Addr: spill, Val: param}) -} - -// startBody initializes the function prior to generating SSA code for its body. -// Precondition: f.Type() already set. -// -func (f *Function) startBody() { - f.currentBlock = f.newBasicBlock("entry") - f.objects = make(map[types.Object]Value) // needed for some synthetics, e.g. init -} - -// createSyntacticParams populates f.Params and generates code (spills -// and named result locals) for all the parameters declared in the -// syntax. In addition it populates the f.objects mapping. -// -// Preconditions: -// f.startBody() was called. -// Postcondition: -// len(f.Params) == len(f.Signature.Params) + (f.Signature.Recv() ? 1 : 0) -// -func (f *Function) createSyntacticParams(recv *ast.FieldList, functype *ast.FuncType) { - // Receiver (at most one inner iteration). - if recv != nil { - for _, field := range recv.List { - for _, n := range field.Names { - f.addSpilledParam(f.Pkg.info.Defs[n]) - } - // Anonymous receiver? No need to spill. - if field.Names == nil { - f.addParamObj(f.Signature.Recv()) - } - } - } - - // Parameters. - if functype.Params != nil { - n := len(f.Params) // 1 if has recv, 0 otherwise - for _, field := range functype.Params.List { - for _, n := range field.Names { - f.addSpilledParam(f.Pkg.info.Defs[n]) - } - // Anonymous parameter? No need to spill. - if field.Names == nil { - f.addParamObj(f.Signature.Params().At(len(f.Params) - n)) - } - } - } - - // Named results. - if functype.Results != nil { - for _, field := range functype.Results.List { - // Implicit "var" decl of locals for named results. - for _, n := range field.Names { - f.namedResults = append(f.namedResults, f.addLocalForIdent(n)) - } - } - } -} - -// numberRegisters assigns numbers to all SSA registers -// (value-defining Instructions) in f, to aid debugging. -// (Non-Instruction Values are named at construction.) -// -func numberRegisters(f *Function) { - v := 0 - for _, b := range f.Blocks { - for _, instr := range b.Instrs { - switch instr.(type) { - case Value: - instr.(interface { - setNum(int) - }).setNum(v) - v++ - } - } - } -} - -// buildReferrers populates the def/use information in all non-nil -// Value.Referrers slice. -// Precondition: all such slices are initially empty. -func buildReferrers(f *Function) { - var rands []*Value - for _, b := range f.Blocks { - for _, instr := range b.Instrs { - rands = instr.Operands(rands[:0]) // recycle storage - for _, rand := range rands { - if r := *rand; r != nil { - if ref := r.Referrers(); ref != nil { - *ref = append(*ref, instr) - } - } - } - } - } -} - -// finishBody() finalizes the function after SSA code generation of its body. -func (f *Function) finishBody() { - f.objects = nil - f.currentBlock = nil - f.lblocks = nil - - // Don't pin the AST in memory (except in debug mode). - if n := f.syntax; n != nil && !f.debugInfo() { - f.syntax = extentNode{n.Pos(), n.End()} - } - - // Remove from f.Locals any Allocs that escape to the heap. - j := 0 - for _, l := range f.Locals { - if !l.Heap { - f.Locals[j] = l - j++ - } - } - // Nil out f.Locals[j:] to aid GC. - for i := j; i < len(f.Locals); i++ { - f.Locals[i] = nil - } - f.Locals = f.Locals[:j] - - optimizeBlocks(f) - - buildReferrers(f) - - buildDomTree(f) - - if f.Prog.mode&NaiveForm == 0 { - // For debugging pre-state of lifting pass: - // numberRegisters(f) - // f.WriteTo(os.Stderr) - lift(f) - } - - f.namedResults = nil // (used by lifting) - - numberRegisters(f) - - if f.Prog.mode&PrintFunctions != 0 { - printMu.Lock() - f.WriteTo(os.Stdout) - printMu.Unlock() - } - - if f.Prog.mode&SanityCheckFunctions != 0 { - mustSanityCheck(f, nil) - } -} - -// removeNilBlocks eliminates nils from f.Blocks and updates each -// BasicBlock.Index. Use this after any pass that may delete blocks. -// -func (f *Function) removeNilBlocks() { - j := 0 - for _, b := range f.Blocks { - if b != nil { - b.Index = j - f.Blocks[j] = b - j++ - } - } - // Nil out f.Blocks[j:] to aid GC. - for i := j; i < len(f.Blocks); i++ { - f.Blocks[i] = nil - } - f.Blocks = f.Blocks[:j] -} - -// SetDebugMode sets the debug mode for package pkg. If true, all its -// functions will include full debug info. This greatly increases the -// size of the instruction stream, and causes Functions to depend upon -// the ASTs, potentially keeping them live in memory for longer. -// -func (pkg *Package) SetDebugMode(debug bool) { - // TODO(adonovan): do we want ast.File granularity? - pkg.debug = debug -} - -// debugInfo reports whether debug info is wanted for this function. -func (f *Function) debugInfo() bool { - return f.Pkg != nil && f.Pkg.debug -} - -// addNamedLocal creates a local variable, adds it to function f and -// returns it. Its name and type are taken from obj. Subsequent -// calls to f.lookup(obj) will return the same local. -// -func (f *Function) addNamedLocal(obj types.Object) *Alloc { - l := f.addLocal(obj.Type(), obj.Pos()) - l.Comment = obj.Name() - f.objects[obj] = l - return l -} - -func (f *Function) addLocalForIdent(id *ast.Ident) *Alloc { - return f.addNamedLocal(f.Pkg.info.Defs[id]) -} - -// addLocal creates an anonymous local variable of type typ, adds it -// to function f and returns it. pos is the optional source location. -// -func (f *Function) addLocal(typ types.Type, pos token.Pos) *Alloc { - v := &Alloc{} - v.setType(types.NewPointer(typ)) - v.setPos(pos) - f.Locals = append(f.Locals, v) - f.emit(v) - return v -} - -// lookup returns the address of the named variable identified by obj -// that is local to function f or one of its enclosing functions. -// If escaping, the reference comes from a potentially escaping pointer -// expression and the referent must be heap-allocated. -// -func (f *Function) lookup(obj types.Object, escaping bool) Value { - if v, ok := f.objects[obj]; ok { - if alloc, ok := v.(*Alloc); ok && escaping { - alloc.Heap = true - } - return v // function-local var (address) - } - - // Definition must be in an enclosing function; - // plumb it through intervening closures. - if f.parent == nil { - panic("no ssa.Value for " + obj.String()) - } - outer := f.parent.lookup(obj, true) // escaping - v := &FreeVar{ - name: obj.Name(), - typ: outer.Type(), - pos: outer.Pos(), - outer: outer, - parent: f, - } - f.objects[obj] = v - f.FreeVars = append(f.FreeVars, v) - return v -} - -// emit emits the specified instruction to function f. -func (f *Function) emit(instr Instruction) Value { - return f.currentBlock.emit(instr) -} - -// RelString returns the full name of this function, qualified by -// package name, receiver type, etc. -// -// The specific formatting rules are not guaranteed and may change. -// -// Examples: -// "math.IsNaN" // a package-level function -// "(*bytes.Buffer).Bytes" // a declared method or a wrapper -// "(*bytes.Buffer).Bytes$thunk" // thunk (func wrapping method; receiver is param 0) -// "(*bytes.Buffer).Bytes$bound" // bound (func wrapping method; receiver supplied by closure) -// "main.main$1" // an anonymous function in main -// "main.init#1" // a declared init function -// "main.init" // the synthesized package initializer -// -// When these functions are referred to from within the same package -// (i.e. from == f.Pkg.Object), they are rendered without the package path. -// For example: "IsNaN", "(*Buffer).Bytes", etc. -// -// All non-synthetic functions have distinct package-qualified names. -// (But two methods may have the same name "(T).f" if one is a synthetic -// wrapper promoting a non-exported method "f" from another package; in -// that case, the strings are equal but the identifiers "f" are distinct.) -// -func (f *Function) RelString(from *types.Package) string { - // Anonymous? - if f.parent != nil { - // An anonymous function's Name() looks like "parentName$1", - // but its String() should include the type/package/etc. - parent := f.parent.RelString(from) - for i, anon := range f.parent.AnonFuncs { - if anon == f { - return fmt.Sprintf("%s$%d", parent, 1+i) - } - } - - return f.name // should never happen - } - - // Method (declared or wrapper)? - if recv := f.Signature.Recv(); recv != nil { - return f.relMethod(from, recv.Type()) - } - - // Thunk? - if f.method != nil { - return f.relMethod(from, f.method.Recv()) - } - - // Bound? - if len(f.FreeVars) == 1 && strings.HasSuffix(f.name, "$bound") { - return f.relMethod(from, f.FreeVars[0].Type()) - } - - // Package-level function? - // Prefix with package name for cross-package references only. - if p := f.pkgobj(); p != nil && p != from { - return fmt.Sprintf("%s.%s", p.Path(), f.name) - } - - // Unknown. - return f.name -} - -func (f *Function) relMethod(from *types.Package, recv types.Type) string { - return fmt.Sprintf("(%s).%s", relType(recv, from), f.name) -} - -// writeSignature writes to buf the signature sig in declaration syntax. -func writeSignature(buf *bytes.Buffer, from *types.Package, name string, sig *types.Signature, params []*Parameter) { - buf.WriteString("func ") - if recv := sig.Recv(); recv != nil { - buf.WriteString("(") - if n := params[0].Name(); n != "" { - buf.WriteString(n) - buf.WriteString(" ") - } - types.WriteType(buf, params[0].Type(), types.RelativeTo(from)) - buf.WriteString(") ") - } - buf.WriteString(name) - types.WriteSignature(buf, sig, types.RelativeTo(from)) -} - -func (f *Function) pkgobj() *types.Package { - if f.Pkg != nil { - return f.Pkg.Object - } - return nil -} - -var _ io.WriterTo = (*Function)(nil) // *Function implements io.Writer - -func (f *Function) WriteTo(w io.Writer) (int64, error) { - var buf bytes.Buffer - WriteFunction(&buf, f) - n, err := w.Write(buf.Bytes()) - return int64(n), err -} - -// WriteFunction writes to buf a human-readable "disassembly" of f. -func WriteFunction(buf *bytes.Buffer, f *Function) { - fmt.Fprintf(buf, "# Name: %s\n", f.String()) - if f.Pkg != nil { - fmt.Fprintf(buf, "# Package: %s\n", f.Pkg.Object.Path()) - } - if syn := f.Synthetic; syn != "" { - fmt.Fprintln(buf, "# Synthetic:", syn) - } - if pos := f.Pos(); pos.IsValid() { - fmt.Fprintf(buf, "# Location: %s\n", f.Prog.Fset.Position(pos)) - } - - if f.parent != nil { - fmt.Fprintf(buf, "# Parent: %s\n", f.parent.Name()) - } - - if f.Recover != nil { - fmt.Fprintf(buf, "# Recover: %s\n", f.Recover) - } - - from := f.pkgobj() - - if f.FreeVars != nil { - buf.WriteString("# Free variables:\n") - for i, fv := range f.FreeVars { - fmt.Fprintf(buf, "# % 3d:\t%s %s\n", i, fv.Name(), relType(fv.Type(), from)) - } - } - - if len(f.Locals) > 0 { - buf.WriteString("# Locals:\n") - for i, l := range f.Locals { - fmt.Fprintf(buf, "# % 3d:\t%s %s\n", i, l.Name(), relType(deref(l.Type()), from)) - } - } - writeSignature(buf, from, f.Name(), f.Signature, f.Params) - buf.WriteString(":\n") - - if f.Blocks == nil { - buf.WriteString("\t(external)\n") - } - - // NB. column calculations are confused by non-ASCII - // characters and assume 8-space tabs. - const punchcard = 80 // for old time's sake. - const tabwidth = 8 - for _, b := range f.Blocks { - if b == nil { - // Corrupt CFG. - fmt.Fprintf(buf, ".nil:\n") - continue - } - n, _ := fmt.Fprintf(buf, "%d:", b.Index) - bmsg := fmt.Sprintf("%s P:%d S:%d", b.Comment, len(b.Preds), len(b.Succs)) - fmt.Fprintf(buf, "%*s%s\n", punchcard-1-n-len(bmsg), "", bmsg) - - if false { // CFG debugging - fmt.Fprintf(buf, "\t# CFG: %s --> %s --> %s\n", b.Preds, b, b.Succs) - } - for _, instr := range b.Instrs { - buf.WriteString("\t") - switch v := instr.(type) { - case Value: - l := punchcard - tabwidth - // Left-align the instruction. - if name := v.Name(); name != "" { - n, _ := fmt.Fprintf(buf, "%s = ", name) - l -= n - } - n, _ := buf.WriteString(instr.String()) - l -= n - // Right-align the type if there's space. - if t := v.Type(); t != nil { - buf.WriteByte(' ') - ts := relType(t, from) - l -= len(ts) + len(" ") // (spaces before and after type) - if l > 0 { - fmt.Fprintf(buf, "%*s", l, "") - } - buf.WriteString(ts) - } - case nil: - // Be robust against bad transforms. - buf.WriteString("") - default: - buf.WriteString(instr.String()) - } - buf.WriteString("\n") - } - } - fmt.Fprintf(buf, "\n") -} - -// newBasicBlock adds to f a new basic block and returns it. It does -// not automatically become the current block for subsequent calls to emit. -// comment is an optional string for more readable debugging output. -// -func (f *Function) newBasicBlock(comment string) *BasicBlock { - b := &BasicBlock{ - Index: len(f.Blocks), - Comment: comment, - parent: f, - } - b.Succs = b.succs2[:0] - f.Blocks = append(f.Blocks, b) - return b -} - -// NewFunction returns a new synthetic Function instance belonging to -// prog, with its name and signature fields set as specified. -// -// The caller is responsible for initializing the remaining fields of -// the function object, e.g. Pkg, Params, Blocks. -// -// It is practically impossible for clients to construct well-formed -// SSA functions/packages/programs directly, so we assume this is the -// job of the Builder alone. NewFunction exists to provide clients a -// little flexibility. For example, analysis tools may wish to -// construct fake Functions for the root of the callgraph, a fake -// "reflect" package, etc. -// -// TODO(adonovan): think harder about the API here. -// -func (prog *Program) NewFunction(name string, sig *types.Signature, provenance string) *Function { - return &Function{Prog: prog, name: name, Signature: sig, Synthetic: provenance} -} - -type extentNode [2]token.Pos - -func (n extentNode) Pos() token.Pos { return n[0] } -func (n extentNode) End() token.Pos { return n[1] } - -// Syntax returns an ast.Node whose Pos/End methods provide the -// lexical extent of the function if it was defined by Go source code -// (f.Synthetic==""), or nil otherwise. -// -// If f was built with debug information (see Package.SetDebugRef), -// the result is the *ast.FuncDecl or *ast.FuncLit that declared the -// function. Otherwise, it is an opaque Node providing only position -// information; this avoids pinning the AST in memory. -// -func (f *Function) Syntax() ast.Node { return f.syntax } diff --git a/vendor/golang.org/x/tools/go/ssa/lift.go b/vendor/golang.org/x/tools/go/ssa/lift.go deleted file mode 100644 index 3771f61..0000000 --- a/vendor/golang.org/x/tools/go/ssa/lift.go +++ /dev/null @@ -1,599 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines the lifting pass which tries to "lift" Alloc -// cells (new/local variables) into SSA registers, replacing loads -// with the dominating stored value, eliminating loads and stores, and -// inserting φ-nodes as needed. - -// Cited papers and resources: -// -// Ron Cytron et al. 1991. Efficiently computing SSA form... -// http://doi.acm.org/10.1145/115372.115320 -// -// Cooper, Harvey, Kennedy. 2001. A Simple, Fast Dominance Algorithm. -// Software Practice and Experience 2001, 4:1-10. -// http://www.hipersoft.rice.edu/grads/publications/dom14.pdf -// -// Daniel Berlin, llvmdev mailing list, 2012. -// http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-January/046638.html -// (Be sure to expand the whole thread.) - -// TODO(adonovan): opt: there are many optimizations worth evaluating, and -// the conventional wisdom for SSA construction is that a simple -// algorithm well engineered often beats those of better asymptotic -// complexity on all but the most egregious inputs. -// -// Danny Berlin suggests that the Cooper et al. algorithm for -// computing the dominance frontier is superior to Cytron et al. -// Furthermore he recommends that rather than computing the DF for the -// whole function then renaming all alloc cells, it may be cheaper to -// compute the DF for each alloc cell separately and throw it away. -// -// Consider exploiting liveness information to avoid creating dead -// φ-nodes which we then immediately remove. -// -// Integrate lifting with scalar replacement of aggregates (SRA) since -// the two are synergistic. -// -// Also see many other "TODO: opt" suggestions in the code. - -import ( - "fmt" - "go/token" - "math/big" - "os" - - "golang.org/x/tools/go/types" -) - -// If true, perform sanity checking and show diagnostic information at -// each step of lifting. Very verbose. -const debugLifting = false - -// domFrontier maps each block to the set of blocks in its dominance -// frontier. The outer slice is conceptually a map keyed by -// Block.Index. The inner slice is conceptually a set, possibly -// containing duplicates. -// -// TODO(adonovan): opt: measure impact of dups; consider a packed bit -// representation, e.g. big.Int, and bitwise parallel operations for -// the union step in the Children loop. -// -// domFrontier's methods mutate the slice's elements but not its -// length, so their receivers needn't be pointers. -// -type domFrontier [][]*BasicBlock - -func (df domFrontier) add(u, v *BasicBlock) { - p := &df[u.Index] - *p = append(*p, v) -} - -// build builds the dominance frontier df for the dominator (sub)tree -// rooted at u, using the Cytron et al. algorithm. -// -// TODO(adonovan): opt: consider Berlin approach, computing pruned SSA -// by pruning the entire IDF computation, rather than merely pruning -// the DF -> IDF step. -func (df domFrontier) build(u *BasicBlock) { - // Encounter each node u in postorder of dom tree. - for _, child := range u.dom.children { - df.build(child) - } - for _, vb := range u.Succs { - if v := vb.dom; v.idom != u { - df.add(u, vb) - } - } - for _, w := range u.dom.children { - for _, vb := range df[w.Index] { - // TODO(adonovan): opt: use word-parallel bitwise union. - if v := vb.dom; v.idom != u { - df.add(u, vb) - } - } - } -} - -func buildDomFrontier(fn *Function) domFrontier { - df := make(domFrontier, len(fn.Blocks)) - df.build(fn.Blocks[0]) - if fn.Recover != nil { - df.build(fn.Recover) - } - return df -} - -func removeInstr(refs []Instruction, instr Instruction) []Instruction { - i := 0 - for _, ref := range refs { - if ref == instr { - continue - } - refs[i] = ref - i++ - } - for j := i; j != len(refs); j++ { - refs[j] = nil // aid GC - } - return refs[:i] -} - -// lift attempts to replace local and new Allocs accessed only with -// load/store by SSA registers, inserting φ-nodes where necessary. -// The result is a program in classical pruned SSA form. -// -// Preconditions: -// - fn has no dead blocks (blockopt has run). -// - Def/use info (Operands and Referrers) is up-to-date. -// - The dominator tree is up-to-date. -// -func lift(fn *Function) { - // TODO(adonovan): opt: lots of little optimizations may be - // worthwhile here, especially if they cause us to avoid - // buildDomFrontier. For example: - // - // - Alloc never loaded? Eliminate. - // - Alloc never stored? Replace all loads with a zero constant. - // - Alloc stored once? Replace loads with dominating store; - // don't forget that an Alloc is itself an effective store - // of zero. - // - Alloc used only within a single block? - // Use degenerate algorithm avoiding φ-nodes. - // - Consider synergy with scalar replacement of aggregates (SRA). - // e.g. *(&x.f) where x is an Alloc. - // Perhaps we'd get better results if we generated this as x.f - // i.e. Field(x, .f) instead of Load(FieldIndex(x, .f)). - // Unclear. - // - // But we will start with the simplest correct code. - df := buildDomFrontier(fn) - - if debugLifting { - title := false - for i, blocks := range df { - if blocks != nil { - if !title { - fmt.Fprintf(os.Stderr, "Dominance frontier of %s:\n", fn) - title = true - } - fmt.Fprintf(os.Stderr, "\t%s: %s\n", fn.Blocks[i], blocks) - } - } - } - - newPhis := make(newPhiMap) - - // During this pass we will replace some BasicBlock.Instrs - // (allocs, loads and stores) with nil, keeping a count in - // BasicBlock.gaps. At the end we will reset Instrs to the - // concatenation of all non-dead newPhis and non-nil Instrs - // for the block, reusing the original array if space permits. - - // While we're here, we also eliminate 'rundefers' - // instructions in functions that contain no 'defer' - // instructions. - usesDefer := false - - // Determine which allocs we can lift and number them densely. - // The renaming phase uses this numbering for compact maps. - numAllocs := 0 - for _, b := range fn.Blocks { - b.gaps = 0 - b.rundefers = 0 - for _, instr := range b.Instrs { - switch instr := instr.(type) { - case *Alloc: - index := -1 - if liftAlloc(df, instr, newPhis) { - index = numAllocs - numAllocs++ - } - instr.index = index - case *Defer: - usesDefer = true - case *RunDefers: - b.rundefers++ - } - } - } - - // renaming maps an alloc (keyed by index) to its replacement - // value. Initially the renaming contains nil, signifying the - // zero constant of the appropriate type; we construct the - // Const lazily at most once on each path through the domtree. - // TODO(adonovan): opt: cache per-function not per subtree. - renaming := make([]Value, numAllocs) - - // Renaming. - rename(fn.Blocks[0], renaming, newPhis) - - // Eliminate dead new phis, then prepend the live ones to each block. - for _, b := range fn.Blocks { - - // Compress the newPhis slice to eliminate unused phis. - // TODO(adonovan): opt: compute liveness to avoid - // placing phis in blocks for which the alloc cell is - // not live. - nps := newPhis[b] - j := 0 - for _, np := range nps { - if !phiIsLive(np.phi) { - // discard it, first removing it from referrers - for _, newval := range np.phi.Edges { - if refs := newval.Referrers(); refs != nil { - *refs = removeInstr(*refs, np.phi) - } - } - continue - } - nps[j] = np - j++ - } - nps = nps[:j] - - rundefersToKill := b.rundefers - if usesDefer { - rundefersToKill = 0 - } - - if j+b.gaps+rundefersToKill == 0 { - continue // fast path: no new phis or gaps - } - - // Compact nps + non-nil Instrs into a new slice. - // TODO(adonovan): opt: compact in situ if there is - // sufficient space or slack in the slice. - dst := make([]Instruction, len(b.Instrs)+j-b.gaps-rundefersToKill) - for i, np := range nps { - dst[i] = np.phi - } - for _, instr := range b.Instrs { - if instr == nil { - continue - } - if !usesDefer { - if _, ok := instr.(*RunDefers); ok { - continue - } - } - dst[j] = instr - j++ - } - for i, np := range nps { - dst[i] = np.phi - } - b.Instrs = dst - } - - // Remove any fn.Locals that were lifted. - j := 0 - for _, l := range fn.Locals { - if l.index < 0 { - fn.Locals[j] = l - j++ - } - } - // Nil out fn.Locals[j:] to aid GC. - for i := j; i < len(fn.Locals); i++ { - fn.Locals[i] = nil - } - fn.Locals = fn.Locals[:j] -} - -func phiIsLive(phi *Phi) bool { - for _, instr := range *phi.Referrers() { - if instr == phi { - continue // self-refs don't count - } - if _, ok := instr.(*DebugRef); ok { - continue // debug refs don't count - } - return true - } - return false -} - -type blockSet struct{ big.Int } // (inherit methods from Int) - -// add adds b to the set and returns true if the set changed. -func (s *blockSet) add(b *BasicBlock) bool { - i := b.Index - if s.Bit(i) != 0 { - return false - } - s.SetBit(&s.Int, i, 1) - return true -} - -// take removes an arbitrary element from a set s and -// returns its index, or returns -1 if empty. -func (s *blockSet) take() int { - l := s.BitLen() - for i := 0; i < l; i++ { - if s.Bit(i) == 1 { - s.SetBit(&s.Int, i, 0) - return i - } - } - return -1 -} - -// newPhi is a pair of a newly introduced φ-node and the lifted Alloc -// it replaces. -type newPhi struct { - phi *Phi - alloc *Alloc -} - -// newPhiMap records for each basic block, the set of newPhis that -// must be prepended to the block. -type newPhiMap map[*BasicBlock][]newPhi - -// liftAlloc determines whether alloc can be lifted into registers, -// and if so, it populates newPhis with all the φ-nodes it may require -// and returns true. -// -func liftAlloc(df domFrontier, alloc *Alloc, newPhis newPhiMap) bool { - // Don't lift aggregates into registers, because we don't have - // a way to express their zero-constants. - switch deref(alloc.Type()).Underlying().(type) { - case *types.Array, *types.Struct: - return false - } - - // Don't lift named return values in functions that defer - // calls that may recover from panic. - if fn := alloc.Parent(); fn.Recover != nil { - for _, nr := range fn.namedResults { - if nr == alloc { - return false - } - } - } - - // Compute defblocks, the set of blocks containing a - // definition of the alloc cell. - var defblocks blockSet - for _, instr := range *alloc.Referrers() { - // Bail out if we discover the alloc is not liftable; - // the only operations permitted to use the alloc are - // loads/stores into the cell, and DebugRef. - switch instr := instr.(type) { - case *Store: - if instr.Val == alloc { - return false // address used as value - } - if instr.Addr != alloc { - panic("Alloc.Referrers is inconsistent") - } - defblocks.add(instr.Block()) - case *UnOp: - if instr.Op != token.MUL { - return false // not a load - } - if instr.X != alloc { - panic("Alloc.Referrers is inconsistent") - } - case *DebugRef: - // ok - default: - return false // some other instruction - } - } - // The Alloc itself counts as a (zero) definition of the cell. - defblocks.add(alloc.Block()) - - if debugLifting { - fmt.Fprintln(os.Stderr, "\tlifting ", alloc, alloc.Name()) - } - - fn := alloc.Parent() - - // Φ-insertion. - // - // What follows is the body of the main loop of the insert-φ - // function described by Cytron et al, but instead of using - // counter tricks, we just reset the 'hasAlready' and 'work' - // sets each iteration. These are bitmaps so it's pretty cheap. - // - // TODO(adonovan): opt: recycle slice storage for W, - // hasAlready, defBlocks across liftAlloc calls. - var hasAlready blockSet - - // Initialize W and work to defblocks. - var work blockSet = defblocks // blocks seen - var W blockSet // blocks to do - W.Set(&defblocks.Int) - - // Traverse iterated dominance frontier, inserting φ-nodes. - for i := W.take(); i != -1; i = W.take() { - u := fn.Blocks[i] - for _, v := range df[u.Index] { - if hasAlready.add(v) { - // Create φ-node. - // It will be prepended to v.Instrs later, if needed. - phi := &Phi{ - Edges: make([]Value, len(v.Preds)), - Comment: alloc.Comment, - } - phi.pos = alloc.Pos() - phi.setType(deref(alloc.Type())) - phi.block = v - if debugLifting { - fmt.Fprintf(os.Stderr, "\tplace %s = %s at block %s\n", phi.Name(), phi, v) - } - newPhis[v] = append(newPhis[v], newPhi{phi, alloc}) - - if work.add(v) { - W.add(v) - } - } - } - } - - return true -} - -// replaceAll replaces all intraprocedural uses of x with y, -// updating x.Referrers and y.Referrers. -// Precondition: x.Referrers() != nil, i.e. x must be local to some function. -// -func replaceAll(x, y Value) { - var rands []*Value - pxrefs := x.Referrers() - pyrefs := y.Referrers() - for _, instr := range *pxrefs { - rands = instr.Operands(rands[:0]) // recycle storage - for _, rand := range rands { - if *rand != nil { - if *rand == x { - *rand = y - } - } - } - if pyrefs != nil { - *pyrefs = append(*pyrefs, instr) // dups ok - } - } - *pxrefs = nil // x is now unreferenced -} - -// renamed returns the value to which alloc is being renamed, -// constructing it lazily if it's the implicit zero initialization. -// -func renamed(renaming []Value, alloc *Alloc) Value { - v := renaming[alloc.index] - if v == nil { - v = zeroConst(deref(alloc.Type())) - renaming[alloc.index] = v - } - return v -} - -// rename implements the (Cytron et al) SSA renaming algorithm, a -// preorder traversal of the dominator tree replacing all loads of -// Alloc cells with the value stored to that cell by the dominating -// store instruction. For lifting, we need only consider loads, -// stores and φ-nodes. -// -// renaming is a map from *Alloc (keyed by index number) to its -// dominating stored value; newPhis[x] is the set of new φ-nodes to be -// prepended to block x. -// -func rename(u *BasicBlock, renaming []Value, newPhis newPhiMap) { - // Each φ-node becomes the new name for its associated Alloc. - for _, np := range newPhis[u] { - phi := np.phi - alloc := np.alloc - renaming[alloc.index] = phi - } - - // Rename loads and stores of allocs. - for i, instr := range u.Instrs { - switch instr := instr.(type) { - case *Alloc: - if instr.index >= 0 { // store of zero to Alloc cell - // Replace dominated loads by the zero value. - renaming[instr.index] = nil - if debugLifting { - fmt.Fprintf(os.Stderr, "\tkill alloc %s\n", instr) - } - // Delete the Alloc. - u.Instrs[i] = nil - u.gaps++ - } - - case *Store: - if alloc, ok := instr.Addr.(*Alloc); ok && alloc.index >= 0 { // store to Alloc cell - // Replace dominated loads by the stored value. - renaming[alloc.index] = instr.Val - if debugLifting { - fmt.Fprintf(os.Stderr, "\tkill store %s; new value: %s\n", - instr, instr.Val.Name()) - } - // Remove the store from the referrer list of the stored value. - if refs := instr.Val.Referrers(); refs != nil { - *refs = removeInstr(*refs, instr) - } - // Delete the Store. - u.Instrs[i] = nil - u.gaps++ - } - - case *UnOp: - if instr.Op == token.MUL { - if alloc, ok := instr.X.(*Alloc); ok && alloc.index >= 0 { // load of Alloc cell - newval := renamed(renaming, alloc) - if debugLifting { - fmt.Fprintf(os.Stderr, "\tupdate load %s = %s with %s\n", - instr.Name(), instr, newval.Name()) - } - // Replace all references to - // the loaded value by the - // dominating stored value. - replaceAll(instr, newval) - // Delete the Load. - u.Instrs[i] = nil - u.gaps++ - } - } - - case *DebugRef: - if alloc, ok := instr.X.(*Alloc); ok && alloc.index >= 0 { // ref of Alloc cell - if instr.IsAddr { - instr.X = renamed(renaming, alloc) - instr.IsAddr = false - - // Add DebugRef to instr.X's referrers. - if refs := instr.X.Referrers(); refs != nil { - *refs = append(*refs, instr) - } - } else { - // A source expression denotes the address - // of an Alloc that was optimized away. - instr.X = nil - - // Delete the DebugRef. - u.Instrs[i] = nil - u.gaps++ - } - } - } - } - - // For each φ-node in a CFG successor, rename the edge. - for _, v := range u.Succs { - phis := newPhis[v] - if len(phis) == 0 { - continue - } - i := v.predIndex(u) - for _, np := range phis { - phi := np.phi - alloc := np.alloc - newval := renamed(renaming, alloc) - if debugLifting { - fmt.Fprintf(os.Stderr, "\tsetphi %s edge %s -> %s (#%d) (alloc=%s) := %s\n", - phi.Name(), u, v, i, alloc.Name(), newval.Name()) - } - phi.Edges[i] = newval - if prefs := newval.Referrers(); prefs != nil { - *prefs = append(*prefs, phi) - } - } - } - - // Continue depth-first recursion over domtree, pushing a - // fresh copy of the renaming map for each subtree. - for _, v := range u.dom.children { - // TODO(adonovan): opt: avoid copy on final iteration; use destructive update. - r := make([]Value, len(renaming)) - copy(r, renaming) - rename(v, r, newPhis) - } -} diff --git a/vendor/golang.org/x/tools/go/ssa/lvalue.go b/vendor/golang.org/x/tools/go/ssa/lvalue.go deleted file mode 100644 index 4284b1c..0000000 --- a/vendor/golang.org/x/tools/go/ssa/lvalue.go +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// lvalues are the union of addressable expressions and map-index -// expressions. - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/types" -) - -// An lvalue represents an assignable location that may appear on the -// left-hand side of an assignment. This is a generalization of a -// pointer to permit updates to elements of maps. -// -type lvalue interface { - store(fn *Function, v Value) // stores v into the location - load(fn *Function) Value // loads the contents of the location - address(fn *Function) Value // address of the location - typ() types.Type // returns the type of the location -} - -// An address is an lvalue represented by a true pointer. -type address struct { - addr Value - pos token.Pos // source position - expr ast.Expr // source syntax of the value (not address) [debug mode] -} - -func (a *address) load(fn *Function) Value { - load := emitLoad(fn, a.addr) - load.pos = a.pos - return load -} - -func (a *address) store(fn *Function, v Value) { - store := emitStore(fn, a.addr, v, a.pos) - if a.expr != nil { - // store.Val is v, converted for assignability. - emitDebugRef(fn, a.expr, store.Val, false) - } -} - -func (a *address) address(fn *Function) Value { - if a.expr != nil { - emitDebugRef(fn, a.expr, a.addr, true) - } - return a.addr -} - -func (a *address) typ() types.Type { - return deref(a.addr.Type()) -} - -// An element is an lvalue represented by m[k], the location of an -// element of a map or string. These locations are not addressable -// since pointers cannot be formed from them, but they do support -// load(), and in the case of maps, store(). -// -type element struct { - m, k Value // map or string - t types.Type // map element type or string byte type - pos token.Pos // source position of colon ({k:v}) or lbrack (m[k]=v) -} - -func (e *element) load(fn *Function) Value { - l := &Lookup{ - X: e.m, - Index: e.k, - } - l.setPos(e.pos) - l.setType(e.t) - return fn.emit(l) -} - -func (e *element) store(fn *Function, v Value) { - up := &MapUpdate{ - Map: e.m, - Key: e.k, - Value: emitConv(fn, v, e.t), - } - up.pos = e.pos - fn.emit(up) -} - -func (e *element) address(fn *Function) Value { - panic("map/string elements are not addressable") -} - -func (e *element) typ() types.Type { - return e.t -} - -// A blank is a dummy variable whose name is "_". -// It is not reified: loads are illegal and stores are ignored. -// -type blank struct{} - -func (bl blank) load(fn *Function) Value { - panic("blank.load is illegal") -} - -func (bl blank) store(fn *Function, v Value) { - // no-op -} - -func (bl blank) address(fn *Function) Value { - panic("blank var is not addressable") -} - -func (bl blank) typ() types.Type { - // This should be the type of the blank Ident; the typechecker - // doesn't provide this yet, but fortunately, we don't need it - // yet either. - panic("blank.typ is unimplemented") -} diff --git a/vendor/golang.org/x/tools/go/ssa/methods.go b/vendor/golang.org/x/tools/go/ssa/methods.go deleted file mode 100644 index 12534de..0000000 --- a/vendor/golang.org/x/tools/go/ssa/methods.go +++ /dev/null @@ -1,243 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines utilities for population of method sets. - -import ( - "fmt" - - "golang.org/x/tools/go/types" -) - -// Method returns the Function implementing method sel, building -// wrapper methods on demand. It returns nil if sel denotes an -// abstract (interface) method. -// -// Precondition: sel.Kind() == MethodVal. -// -// TODO(adonovan): rename this to MethodValue because of the -// precondition, and for consistency with functions in source.go. -// -// Thread-safe. -// -// EXCLUSIVE_LOCKS_ACQUIRED(prog.methodsMu) -// -func (prog *Program) Method(sel *types.Selection) *Function { - if sel.Kind() != types.MethodVal { - panic(fmt.Sprintf("Method(%s) kind != MethodVal", sel)) - } - T := sel.Recv() - if isInterface(T) { - return nil // abstract method - } - if prog.mode&LogSource != 0 { - defer logStack("Method %s %v", T, sel)() - } - - prog.methodsMu.Lock() - defer prog.methodsMu.Unlock() - - return prog.addMethod(prog.createMethodSet(T), sel) -} - -// LookupMethod returns the implementation of the method of type T -// identified by (pkg, name). It returns nil if the method exists but -// is abstract, and panics if T has no such method. -// -func (prog *Program) LookupMethod(T types.Type, pkg *types.Package, name string) *Function { - sel := prog.MethodSets.MethodSet(T).Lookup(pkg, name) - if sel == nil { - panic(fmt.Sprintf("%s has no method %s", T, types.Id(pkg, name))) - } - return prog.Method(sel) -} - -// methodSet contains the (concrete) methods of a non-interface type. -type methodSet struct { - mapping map[string]*Function // populated lazily - complete bool // mapping contains all methods -} - -// Precondition: !isInterface(T). -// EXCLUSIVE_LOCKS_REQUIRED(prog.methodsMu) -func (prog *Program) createMethodSet(T types.Type) *methodSet { - mset, ok := prog.methodSets.At(T).(*methodSet) - if !ok { - mset = &methodSet{mapping: make(map[string]*Function)} - prog.methodSets.Set(T, mset) - } - return mset -} - -// EXCLUSIVE_LOCKS_REQUIRED(prog.methodsMu) -func (prog *Program) addMethod(mset *methodSet, sel *types.Selection) *Function { - if sel.Kind() == types.MethodExpr { - panic(sel) - } - id := sel.Obj().Id() - fn := mset.mapping[id] - if fn == nil { - obj := sel.Obj().(*types.Func) - - needsPromotion := len(sel.Index()) > 1 - needsIndirection := !isPointer(recvType(obj)) && isPointer(sel.Recv()) - if needsPromotion || needsIndirection { - fn = makeWrapper(prog, sel) - } else { - fn = prog.declaredFunc(obj) - } - if fn.Signature.Recv() == nil { - panic(fn) // missing receiver - } - mset.mapping[id] = fn - } - return fn -} - -// RuntimeTypes returns a new unordered slice containing all -// concrete types in the program for which a complete (non-empty) -// method set is required at run-time. -// -// Thread-safe. -// -// EXCLUSIVE_LOCKS_ACQUIRED(prog.methodsMu) -// -func (prog *Program) RuntimeTypes() []types.Type { - prog.methodsMu.Lock() - defer prog.methodsMu.Unlock() - - var res []types.Type - prog.methodSets.Iterate(func(T types.Type, v interface{}) { - if v.(*methodSet).complete { - res = append(res, T) - } - }) - return res -} - -// declaredFunc returns the concrete function/method denoted by obj. -// Panic ensues if there is none. -// -func (prog *Program) declaredFunc(obj *types.Func) *Function { - if v := prog.packageLevelValue(obj); v != nil { - return v.(*Function) - } - panic("no concrete method: " + obj.String()) -} - -// needMethodsOf ensures that runtime type information (including the -// complete method set) is available for the specified type T and all -// its subcomponents. -// -// needMethodsOf must be called for at least every type that is an -// operand of some MakeInterface instruction, and for the type of -// every exported package member. -// -// Precondition: T is not a method signature (*Signature with Recv()!=nil). -// -// Thread-safe. (Called via emitConv from multiple builder goroutines.) -// -// TODO(adonovan): make this faster. It accounts for 20% of SSA build time. -// -// EXCLUSIVE_LOCKS_ACQUIRED(prog.methodsMu) -// -func (prog *Program) needMethodsOf(T types.Type) { - prog.methodsMu.Lock() - prog.needMethods(T, false) - prog.methodsMu.Unlock() -} - -// Precondition: T is not a method signature (*Signature with Recv()!=nil). -// Recursive case: skip => don't create methods for T. -// -// EXCLUSIVE_LOCKS_REQUIRED(prog.methodsMu) -// -func (prog *Program) needMethods(T types.Type, skip bool) { - // Each package maintains its own set of types it has visited. - if prevSkip, ok := prog.runtimeTypes.At(T).(bool); ok { - // needMethods(T) was previously called - if !prevSkip || skip { - return // already seen, with same or false 'skip' value - } - } - prog.runtimeTypes.Set(T, skip) - - tmset := prog.MethodSets.MethodSet(T) - - if !skip && !isInterface(T) && tmset.Len() > 0 { - // Create methods of T. - mset := prog.createMethodSet(T) - if !mset.complete { - mset.complete = true - n := tmset.Len() - for i := 0; i < n; i++ { - prog.addMethod(mset, tmset.At(i)) - } - } - } - - // Recursion over signatures of each method. - for i := 0; i < tmset.Len(); i++ { - sig := tmset.At(i).Type().(*types.Signature) - prog.needMethods(sig.Params(), false) - prog.needMethods(sig.Results(), false) - } - - switch t := T.(type) { - case *types.Basic: - // nop - - case *types.Interface: - // nop---handled by recursion over method set. - - case *types.Pointer: - prog.needMethods(t.Elem(), false) - - case *types.Slice: - prog.needMethods(t.Elem(), false) - - case *types.Chan: - prog.needMethods(t.Elem(), false) - - case *types.Map: - prog.needMethods(t.Key(), false) - prog.needMethods(t.Elem(), false) - - case *types.Signature: - if t.Recv() != nil { - panic(fmt.Sprintf("Signature %s has Recv %s", t, t.Recv())) - } - prog.needMethods(t.Params(), false) - prog.needMethods(t.Results(), false) - - case *types.Named: - // A pointer-to-named type can be derived from a named - // type via reflection. It may have methods too. - prog.needMethods(types.NewPointer(T), false) - - // Consider 'type T struct{S}' where S has methods. - // Reflection provides no way to get from T to struct{S}, - // only to S, so the method set of struct{S} is unwanted, - // so set 'skip' flag during recursion. - prog.needMethods(t.Underlying(), true) - - case *types.Array: - prog.needMethods(t.Elem(), false) - - case *types.Struct: - for i, n := 0, t.NumFields(); i < n; i++ { - prog.needMethods(t.Field(i).Type(), false) - } - - case *types.Tuple: - for i, n := 0, t.Len(); i < n; i++ { - prog.needMethods(t.At(i).Type(), false) - } - - default: - panic(T) - } -} diff --git a/vendor/golang.org/x/tools/go/ssa/mode.go b/vendor/golang.org/x/tools/go/ssa/mode.go deleted file mode 100644 index bbd613a..0000000 --- a/vendor/golang.org/x/tools/go/ssa/mode.go +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2015 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. - -package ssa - -// This file defines the BuilderMode type and its command-line flag. - -import ( - "bytes" - "flag" - "fmt" -) - -// BuilderMode is a bitmask of options for diagnostics and checking. -type BuilderMode uint - -const ( - PrintPackages BuilderMode = 1 << iota // Print package inventory to stdout - PrintFunctions // Print function SSA code to stdout - LogSource // Log source locations as SSA builder progresses - SanityCheckFunctions // Perform sanity checking of function bodies - NaiveForm // Build naïve SSA form: don't replace local loads/stores with registers - BuildSerially // Build packages serially, not in parallel. - GlobalDebug // Enable debug info for all packages - BareInits // Build init functions without guards or calls to dependent inits -) - -const modeFlagUsage = `Options controlling the SSA builder. -The value is a sequence of zero or more of these letters: -C perform sanity [C]hecking of the SSA form. -D include [D]ebug info for every function. -P print [P]ackage inventory. -F print [F]unction SSA code. -S log [S]ource locations as SSA builder progresses. -L build distinct packages seria[L]ly instead of in parallel. -N build [N]aive SSA form: don't replace local loads/stores with registers. -I build bare [I]nit functions: no init guards or calls to dependent inits. -` - -// BuilderModeFlag creates a new command line flag of type BuilderMode, -// adds it to the specified flag set, and returns it. -// -// Example: -// var ssabuild = BuilderModeFlag(flag.CommandLine, "ssabuild", 0) -// -func BuilderModeFlag(set *flag.FlagSet, name string, value BuilderMode) *BuilderMode { - set.Var((*builderModeValue)(&value), name, modeFlagUsage) - return &value -} - -type builderModeValue BuilderMode // satisfies flag.Value and flag.Getter. - -func (v *builderModeValue) Set(s string) error { - var mode BuilderMode - for _, c := range s { - switch c { - case 'D': - mode |= GlobalDebug - case 'P': - mode |= PrintPackages - case 'F': - mode |= PrintFunctions - case 'S': - mode |= LogSource | BuildSerially - case 'C': - mode |= SanityCheckFunctions - case 'N': - mode |= NaiveForm - case 'L': - mode |= BuildSerially - default: - return fmt.Errorf("unknown BuilderMode option: %q", c) - } - } - *v = builderModeValue(mode) - return nil -} - -func (v *builderModeValue) Get() interface{} { return BuilderMode(*v) } - -func (v *builderModeValue) String() string { - mode := BuilderMode(*v) - var buf bytes.Buffer - if mode&GlobalDebug != 0 { - buf.WriteByte('D') - } - if mode&PrintPackages != 0 { - buf.WriteByte('P') - } - if mode&PrintFunctions != 0 { - buf.WriteByte('F') - } - if mode&LogSource != 0 { - buf.WriteByte('S') - } - if mode&SanityCheckFunctions != 0 { - buf.WriteByte('C') - } - if mode&NaiveForm != 0 { - buf.WriteByte('N') - } - if mode&BuildSerially != 0 { - buf.WriteByte('L') - } - return buf.String() -} diff --git a/vendor/golang.org/x/tools/go/ssa/print.go b/vendor/golang.org/x/tools/go/ssa/print.go deleted file mode 100644 index 88c31f6..0000000 --- a/vendor/golang.org/x/tools/go/ssa/print.go +++ /dev/null @@ -1,427 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file implements the String() methods for all Value and -// Instruction types. - -import ( - "bytes" - "fmt" - "io" - "reflect" - "sort" - - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" -) - -// relName returns the name of v relative to i. -// In most cases, this is identical to v.Name(), but references to -// Functions (including methods) and Globals use RelString and -// all types are displayed with relType, so that only cross-package -// references are package-qualified. -// -func relName(v Value, i Instruction) string { - var from *types.Package - if i != nil { - from = i.Parent().pkgobj() - } - switch v := v.(type) { - case Member: // *Function or *Global - return v.RelString(from) - case *Const: - return v.RelString(from) - } - return v.Name() -} - -func relType(t types.Type, from *types.Package) string { - return types.TypeString(t, types.RelativeTo(from)) -} - -func relString(m Member, from *types.Package) string { - // NB: not all globals have an Object (e.g. init$guard), - // so use Package().Object not Object.Package(). - if obj := m.Package().Object; obj != nil && obj != from { - return fmt.Sprintf("%s.%s", obj.Path(), m.Name()) - } - return m.Name() -} - -// Value.String() -// -// This method is provided only for debugging. -// It never appears in disassembly, which uses Value.Name(). - -func (v *Parameter) String() string { - from := v.Parent().pkgobj() - return fmt.Sprintf("parameter %s : %s", v.Name(), relType(v.Type(), from)) -} - -func (v *FreeVar) String() string { - from := v.Parent().pkgobj() - return fmt.Sprintf("freevar %s : %s", v.Name(), relType(v.Type(), from)) -} - -func (v *Builtin) String() string { - return fmt.Sprintf("builtin %s", v.Name()) -} - -// Instruction.String() - -func (v *Alloc) String() string { - op := "local" - if v.Heap { - op = "new" - } - from := v.Parent().pkgobj() - return fmt.Sprintf("%s %s (%s)", op, relType(deref(v.Type()), from), v.Comment) -} - -func (v *Phi) String() string { - var b bytes.Buffer - b.WriteString("phi [") - for i, edge := range v.Edges { - if i > 0 { - b.WriteString(", ") - } - // Be robust against malformed CFG. - block := -1 - if v.block != nil && i < len(v.block.Preds) { - block = v.block.Preds[i].Index - } - fmt.Fprintf(&b, "%d: ", block) - edgeVal := "" // be robust - if edge != nil { - edgeVal = relName(edge, v) - } - b.WriteString(edgeVal) - } - b.WriteString("]") - if v.Comment != "" { - b.WriteString(" #") - b.WriteString(v.Comment) - } - return b.String() -} - -func printCall(v *CallCommon, prefix string, instr Instruction) string { - var b bytes.Buffer - b.WriteString(prefix) - if !v.IsInvoke() { - b.WriteString(relName(v.Value, instr)) - } else { - fmt.Fprintf(&b, "invoke %s.%s", relName(v.Value, instr), v.Method.Name()) - } - b.WriteString("(") - for i, arg := range v.Args { - if i > 0 { - b.WriteString(", ") - } - b.WriteString(relName(arg, instr)) - } - if v.Signature().Variadic() { - b.WriteString("...") - } - b.WriteString(")") - return b.String() -} - -func (c *CallCommon) String() string { - return printCall(c, "", nil) -} - -func (v *Call) String() string { - return printCall(&v.Call, "", v) -} - -func (v *BinOp) String() string { - return fmt.Sprintf("%s %s %s", relName(v.X, v), v.Op.String(), relName(v.Y, v)) -} - -func (v *UnOp) String() string { - return fmt.Sprintf("%s%s%s", v.Op, relName(v.X, v), commaOk(v.CommaOk)) -} - -func printConv(prefix string, v, x Value) string { - from := v.Parent().pkgobj() - return fmt.Sprintf("%s %s <- %s (%s)", - prefix, - relType(v.Type(), from), - relType(x.Type(), from), - relName(x, v.(Instruction))) -} - -func (v *ChangeType) String() string { return printConv("changetype", v, v.X) } -func (v *Convert) String() string { return printConv("convert", v, v.X) } -func (v *ChangeInterface) String() string { return printConv("change interface", v, v.X) } -func (v *MakeInterface) String() string { return printConv("make", v, v.X) } - -func (v *MakeClosure) String() string { - var b bytes.Buffer - fmt.Fprintf(&b, "make closure %s", relName(v.Fn, v)) - if v.Bindings != nil { - b.WriteString(" [") - for i, c := range v.Bindings { - if i > 0 { - b.WriteString(", ") - } - b.WriteString(relName(c, v)) - } - b.WriteString("]") - } - return b.String() -} - -func (v *MakeSlice) String() string { - from := v.Parent().pkgobj() - return fmt.Sprintf("make %s %s %s", - relType(v.Type(), from), - relName(v.Len, v), - relName(v.Cap, v)) -} - -func (v *Slice) String() string { - var b bytes.Buffer - b.WriteString("slice ") - b.WriteString(relName(v.X, v)) - b.WriteString("[") - if v.Low != nil { - b.WriteString(relName(v.Low, v)) - } - b.WriteString(":") - if v.High != nil { - b.WriteString(relName(v.High, v)) - } - if v.Max != nil { - b.WriteString(":") - b.WriteString(relName(v.Max, v)) - } - b.WriteString("]") - return b.String() -} - -func (v *MakeMap) String() string { - res := "" - if v.Reserve != nil { - res = relName(v.Reserve, v) - } - from := v.Parent().pkgobj() - return fmt.Sprintf("make %s %s", relType(v.Type(), from), res) -} - -func (v *MakeChan) String() string { - from := v.Parent().pkgobj() - return fmt.Sprintf("make %s %s", relType(v.Type(), from), relName(v.Size, v)) -} - -func (v *FieldAddr) String() string { - st := deref(v.X.Type()).Underlying().(*types.Struct) - // Be robust against a bad index. - name := "?" - if 0 <= v.Field && v.Field < st.NumFields() { - name = st.Field(v.Field).Name() - } - return fmt.Sprintf("&%s.%s [#%d]", relName(v.X, v), name, v.Field) -} - -func (v *Field) String() string { - st := v.X.Type().Underlying().(*types.Struct) - // Be robust against a bad index. - name := "?" - if 0 <= v.Field && v.Field < st.NumFields() { - name = st.Field(v.Field).Name() - } - return fmt.Sprintf("%s.%s [#%d]", relName(v.X, v), name, v.Field) -} - -func (v *IndexAddr) String() string { - return fmt.Sprintf("&%s[%s]", relName(v.X, v), relName(v.Index, v)) -} - -func (v *Index) String() string { - return fmt.Sprintf("%s[%s]", relName(v.X, v), relName(v.Index, v)) -} - -func (v *Lookup) String() string { - return fmt.Sprintf("%s[%s]%s", relName(v.X, v), relName(v.Index, v), commaOk(v.CommaOk)) -} - -func (v *Range) String() string { - return "range " + relName(v.X, v) -} - -func (v *Next) String() string { - return "next " + relName(v.Iter, v) -} - -func (v *TypeAssert) String() string { - from := v.Parent().pkgobj() - return fmt.Sprintf("typeassert%s %s.(%s)", commaOk(v.CommaOk), relName(v.X, v), relType(v.AssertedType, from)) -} - -func (v *Extract) String() string { - return fmt.Sprintf("extract %s #%d", relName(v.Tuple, v), v.Index) -} - -func (s *Jump) String() string { - // Be robust against malformed CFG. - block := -1 - if s.block != nil && len(s.block.Succs) == 1 { - block = s.block.Succs[0].Index - } - return fmt.Sprintf("jump %d", block) -} - -func (s *If) String() string { - // Be robust against malformed CFG. - tblock, fblock := -1, -1 - if s.block != nil && len(s.block.Succs) == 2 { - tblock = s.block.Succs[0].Index - fblock = s.block.Succs[1].Index - } - return fmt.Sprintf("if %s goto %d else %d", relName(s.Cond, s), tblock, fblock) -} - -func (s *Go) String() string { - return printCall(&s.Call, "go ", s) -} - -func (s *Panic) String() string { - return "panic " + relName(s.X, s) -} - -func (s *Return) String() string { - var b bytes.Buffer - b.WriteString("return") - for i, r := range s.Results { - if i == 0 { - b.WriteString(" ") - } else { - b.WriteString(", ") - } - b.WriteString(relName(r, s)) - } - return b.String() -} - -func (*RunDefers) String() string { - return "rundefers" -} - -func (s *Send) String() string { - return fmt.Sprintf("send %s <- %s", relName(s.Chan, s), relName(s.X, s)) -} - -func (s *Defer) String() string { - return printCall(&s.Call, "defer ", s) -} - -func (s *Select) String() string { - var b bytes.Buffer - for i, st := range s.States { - if i > 0 { - b.WriteString(", ") - } - if st.Dir == types.RecvOnly { - b.WriteString("<-") - b.WriteString(relName(st.Chan, s)) - } else { - b.WriteString(relName(st.Chan, s)) - b.WriteString("<-") - b.WriteString(relName(st.Send, s)) - } - } - non := "" - if !s.Blocking { - non = "non" - } - return fmt.Sprintf("select %sblocking [%s]", non, b.String()) -} - -func (s *Store) String() string { - return fmt.Sprintf("*%s = %s", relName(s.Addr, s), relName(s.Val, s)) -} - -func (s *MapUpdate) String() string { - return fmt.Sprintf("%s[%s] = %s", relName(s.Map, s), relName(s.Key, s), relName(s.Value, s)) -} - -func (s *DebugRef) String() string { - p := s.Parent().Prog.Fset.Position(s.Pos()) - var descr interface{} - if s.object != nil { - descr = s.object // e.g. "var x int" - } else { - descr = reflect.TypeOf(s.Expr) // e.g. "*ast.CallExpr" - } - var addr string - if s.IsAddr { - addr = "address of " - } - return fmt.Sprintf("; %s%s @ %d:%d is %s", addr, descr, p.Line, p.Column, s.X.Name()) -} - -func (p *Package) String() string { - return "package " + p.Object.Path() -} - -var _ io.WriterTo = (*Package)(nil) // *Package implements io.Writer - -func (p *Package) WriteTo(w io.Writer) (int64, error) { - var buf bytes.Buffer - WritePackage(&buf, p) - n, err := w.Write(buf.Bytes()) - return int64(n), err -} - -// WritePackage writes to buf a human-readable summary of p. -func WritePackage(buf *bytes.Buffer, p *Package) { - fmt.Fprintf(buf, "%s:\n", p) - - var names []string - maxname := 0 - for name := range p.Members { - if l := len(name); l > maxname { - maxname = l - } - names = append(names, name) - } - - from := p.Object - sort.Strings(names) - for _, name := range names { - switch mem := p.Members[name].(type) { - case *NamedConst: - fmt.Fprintf(buf, " const %-*s %s = %s\n", - maxname, name, mem.Name(), mem.Value.RelString(from)) - - case *Function: - fmt.Fprintf(buf, " func %-*s %s\n", - maxname, name, relType(mem.Type(), from)) - - case *Type: - fmt.Fprintf(buf, " type %-*s %s\n", - maxname, name, relType(mem.Type().Underlying(), from)) - for _, meth := range typeutil.IntuitiveMethodSet(mem.Type(), &p.Prog.MethodSets) { - fmt.Fprintf(buf, " %s\n", types.SelectionString(meth, types.RelativeTo(from))) - } - - case *Global: - fmt.Fprintf(buf, " var %-*s %s\n", - maxname, name, relType(mem.Type().(*types.Pointer).Elem(), from)) - } - } - - fmt.Fprintf(buf, "\n") -} - -func commaOk(x bool) string { - if x { - return ",ok" - } - return "" -} diff --git a/vendor/golang.org/x/tools/go/ssa/sanity.go b/vendor/golang.org/x/tools/go/ssa/sanity.go deleted file mode 100644 index b0593d0..0000000 --- a/vendor/golang.org/x/tools/go/ssa/sanity.go +++ /dev/null @@ -1,520 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// An optional pass for sanity-checking invariants of the SSA representation. -// Currently it checks CFG invariants but little at the instruction level. - -import ( - "fmt" - "io" - "os" - "strings" - - "golang.org/x/tools/go/types" -) - -type sanity struct { - reporter io.Writer - fn *Function - block *BasicBlock - instrs map[Instruction]struct{} - insane bool -} - -// sanityCheck performs integrity checking of the SSA representation -// of the function fn and returns true if it was valid. Diagnostics -// are written to reporter if non-nil, os.Stderr otherwise. Some -// diagnostics are only warnings and do not imply a negative result. -// -// Sanity-checking is intended to facilitate the debugging of code -// transformation passes. -// -func sanityCheck(fn *Function, reporter io.Writer) bool { - if reporter == nil { - reporter = os.Stderr - } - return (&sanity{reporter: reporter}).checkFunction(fn) -} - -// mustSanityCheck is like sanityCheck but panics instead of returning -// a negative result. -// -func mustSanityCheck(fn *Function, reporter io.Writer) { - if !sanityCheck(fn, reporter) { - fn.WriteTo(os.Stderr) - panic("SanityCheck failed") - } -} - -func (s *sanity) diagnostic(prefix, format string, args ...interface{}) { - fmt.Fprintf(s.reporter, "%s: function %s", prefix, s.fn) - if s.block != nil { - fmt.Fprintf(s.reporter, ", block %s", s.block) - } - io.WriteString(s.reporter, ": ") - fmt.Fprintf(s.reporter, format, args...) - io.WriteString(s.reporter, "\n") -} - -func (s *sanity) errorf(format string, args ...interface{}) { - s.insane = true - s.diagnostic("Error", format, args...) -} - -func (s *sanity) warnf(format string, args ...interface{}) { - s.diagnostic("Warning", format, args...) -} - -// findDuplicate returns an arbitrary basic block that appeared more -// than once in blocks, or nil if all were unique. -func findDuplicate(blocks []*BasicBlock) *BasicBlock { - if len(blocks) < 2 { - return nil - } - if blocks[0] == blocks[1] { - return blocks[0] - } - // Slow path: - m := make(map[*BasicBlock]bool) - for _, b := range blocks { - if m[b] { - return b - } - m[b] = true - } - return nil -} - -func (s *sanity) checkInstr(idx int, instr Instruction) { - switch instr := instr.(type) { - case *If, *Jump, *Return, *Panic: - s.errorf("control flow instruction not at end of block") - case *Phi: - if idx == 0 { - // It suffices to apply this check to just the first phi node. - if dup := findDuplicate(s.block.Preds); dup != nil { - s.errorf("phi node in block with duplicate predecessor %s", dup) - } - } else { - prev := s.block.Instrs[idx-1] - if _, ok := prev.(*Phi); !ok { - s.errorf("Phi instruction follows a non-Phi: %T", prev) - } - } - if ne, np := len(instr.Edges), len(s.block.Preds); ne != np { - s.errorf("phi node has %d edges but %d predecessors", ne, np) - - } else { - for i, e := range instr.Edges { - if e == nil { - s.errorf("phi node '%s' has no value for edge #%d from %s", instr.Comment, i, s.block.Preds[i]) - } - } - } - - case *Alloc: - if !instr.Heap { - found := false - for _, l := range s.fn.Locals { - if l == instr { - found = true - break - } - } - if !found { - s.errorf("local alloc %s = %s does not appear in Function.Locals", instr.Name(), instr) - } - } - - case *BinOp: - case *Call: - case *ChangeInterface: - case *ChangeType: - case *Convert: - if _, ok := instr.X.Type().Underlying().(*types.Basic); !ok { - if _, ok := instr.Type().Underlying().(*types.Basic); !ok { - s.errorf("convert %s -> %s: at least one type must be basic", instr.X.Type(), instr.Type()) - } - } - - case *Defer: - case *Extract: - case *Field: - case *FieldAddr: - case *Go: - case *Index: - case *IndexAddr: - case *Lookup: - case *MakeChan: - case *MakeClosure: - numFree := len(instr.Fn.(*Function).FreeVars) - numBind := len(instr.Bindings) - if numFree != numBind { - s.errorf("MakeClosure has %d Bindings for function %s with %d free vars", - numBind, instr.Fn, numFree) - - } - if recv := instr.Type().(*types.Signature).Recv(); recv != nil { - s.errorf("MakeClosure's type includes receiver %s", recv.Type()) - } - - case *MakeInterface: - case *MakeMap: - case *MakeSlice: - case *MapUpdate: - case *Next: - case *Range: - case *RunDefers: - case *Select: - case *Send: - case *Slice: - case *Store: - case *TypeAssert: - case *UnOp: - case *DebugRef: - // TODO(adonovan): implement checks. - default: - panic(fmt.Sprintf("Unknown instruction type: %T", instr)) - } - - if call, ok := instr.(CallInstruction); ok { - if call.Common().Signature() == nil { - s.errorf("nil signature: %s", call) - } - } - - // Check that value-defining instructions have valid types - // and a valid referrer list. - if v, ok := instr.(Value); ok { - t := v.Type() - if t == nil { - s.errorf("no type: %s = %s", v.Name(), v) - } else if t == tRangeIter { - // not a proper type; ignore. - } else if b, ok := t.Underlying().(*types.Basic); ok && b.Info()&types.IsUntyped != 0 { - s.errorf("instruction has 'untyped' result: %s = %s : %s", v.Name(), v, t) - } - s.checkReferrerList(v) - } - - // Untyped constants are legal as instruction Operands(), - // for example: - // _ = "foo"[0] - // or: - // if wordsize==64 {...} - - // All other non-Instruction Values can be found via their - // enclosing Function or Package. -} - -func (s *sanity) checkFinalInstr(idx int, instr Instruction) { - switch instr := instr.(type) { - case *If: - if nsuccs := len(s.block.Succs); nsuccs != 2 { - s.errorf("If-terminated block has %d successors; expected 2", nsuccs) - return - } - if s.block.Succs[0] == s.block.Succs[1] { - s.errorf("If-instruction has same True, False target blocks: %s", s.block.Succs[0]) - return - } - - case *Jump: - if nsuccs := len(s.block.Succs); nsuccs != 1 { - s.errorf("Jump-terminated block has %d successors; expected 1", nsuccs) - return - } - - case *Return: - if nsuccs := len(s.block.Succs); nsuccs != 0 { - s.errorf("Return-terminated block has %d successors; expected none", nsuccs) - return - } - if na, nf := len(instr.Results), s.fn.Signature.Results().Len(); nf != na { - s.errorf("%d-ary return in %d-ary function", na, nf) - } - - case *Panic: - if nsuccs := len(s.block.Succs); nsuccs != 0 { - s.errorf("Panic-terminated block has %d successors; expected none", nsuccs) - return - } - - default: - s.errorf("non-control flow instruction at end of block") - } -} - -func (s *sanity) checkBlock(b *BasicBlock, index int) { - s.block = b - - if b.Index != index { - s.errorf("block has incorrect Index %d", b.Index) - } - if b.parent != s.fn { - s.errorf("block has incorrect parent %s", b.parent) - } - - // Check all blocks are reachable. - // (The entry block is always implicitly reachable, - // as is the Recover block, if any.) - if (index > 0 && b != b.parent.Recover) && len(b.Preds) == 0 { - s.warnf("unreachable block") - if b.Instrs == nil { - // Since this block is about to be pruned, - // tolerating transient problems in it - // simplifies other optimizations. - return - } - } - - // Check predecessor and successor relations are dual, - // and that all blocks in CFG belong to same function. - for _, a := range b.Preds { - found := false - for _, bb := range a.Succs { - if bb == b { - found = true - break - } - } - if !found { - s.errorf("expected successor edge in predecessor %s; found only: %s", a, a.Succs) - } - if a.parent != s.fn { - s.errorf("predecessor %s belongs to different function %s", a, a.parent) - } - } - for _, c := range b.Succs { - found := false - for _, bb := range c.Preds { - if bb == b { - found = true - break - } - } - if !found { - s.errorf("expected predecessor edge in successor %s; found only: %s", c, c.Preds) - } - if c.parent != s.fn { - s.errorf("successor %s belongs to different function %s", c, c.parent) - } - } - - // Check each instruction is sane. - n := len(b.Instrs) - if n == 0 { - s.errorf("basic block contains no instructions") - } - var rands [10]*Value // reuse storage - for j, instr := range b.Instrs { - if instr == nil { - s.errorf("nil instruction at index %d", j) - continue - } - if b2 := instr.Block(); b2 == nil { - s.errorf("nil Block() for instruction at index %d", j) - continue - } else if b2 != b { - s.errorf("wrong Block() (%s) for instruction at index %d ", b2, j) - continue - } - if j < n-1 { - s.checkInstr(j, instr) - } else { - s.checkFinalInstr(j, instr) - } - - // Check Instruction.Operands. - operands: - for i, op := range instr.Operands(rands[:0]) { - if op == nil { - s.errorf("nil operand pointer %d of %s", i, instr) - continue - } - val := *op - if val == nil { - continue // a nil operand is ok - } - - // Check that "untyped" types only appear on constant operands. - if _, ok := (*op).(*Const); !ok { - if basic, ok := (*op).Type().(*types.Basic); ok { - if basic.Info()&types.IsUntyped != 0 { - s.errorf("operand #%d of %s is untyped: %s", i, instr, basic) - } - } - } - - // Check that Operands that are also Instructions belong to same function. - // TODO(adonovan): also check their block dominates block b. - if val, ok := val.(Instruction); ok { - if val.Parent() != s.fn { - s.errorf("operand %d of %s is an instruction (%s) from function %s", i, instr, val, val.Parent()) - } - } - - // Check that each function-local operand of - // instr refers back to instr. (NB: quadratic) - switch val := val.(type) { - case *Const, *Global, *Builtin: - continue // not local - case *Function: - if val.parent == nil { - continue // only anon functions are local - } - } - - // TODO(adonovan): check val.Parent() != nil <=> val.Referrers() is defined. - - if refs := val.Referrers(); refs != nil { - for _, ref := range *refs { - if ref == instr { - continue operands - } - } - s.errorf("operand %d of %s (%s) does not refer to us", i, instr, val) - } else { - s.errorf("operand %d of %s (%s) has no referrers", i, instr, val) - } - } - } -} - -func (s *sanity) checkReferrerList(v Value) { - refs := v.Referrers() - if refs == nil { - s.errorf("%s has missing referrer list", v.Name()) - return - } - for i, ref := range *refs { - if _, ok := s.instrs[ref]; !ok { - s.errorf("%s.Referrers()[%d] = %s is not an instruction belonging to this function", v.Name(), i, ref) - } - } -} - -func (s *sanity) checkFunction(fn *Function) bool { - // TODO(adonovan): check Function invariants: - // - check params match signature - // - check transient fields are nil - // - warn if any fn.Locals do not appear among block instructions. - s.fn = fn - if fn.Prog == nil { - s.errorf("nil Prog") - } - - fn.String() // must not crash - fn.RelString(fn.pkgobj()) // must not crash - - // All functions have a package, except delegates (which are - // shared across packages, or duplicated as weak symbols in a - // separate-compilation model), and error.Error. - if fn.Pkg == nil { - if strings.HasPrefix(fn.Synthetic, "wrapper ") || - strings.HasPrefix(fn.Synthetic, "bound ") || - strings.HasPrefix(fn.Synthetic, "thunk ") || - strings.HasSuffix(fn.name, "Error") { - // ok - } else { - s.errorf("nil Pkg") - } - } - if src, syn := fn.Synthetic == "", fn.Syntax() != nil; src != syn { - s.errorf("got fromSource=%t, hasSyntax=%t; want same values", src, syn) - } - for i, l := range fn.Locals { - if l.Parent() != fn { - s.errorf("Local %s at index %d has wrong parent", l.Name(), i) - } - if l.Heap { - s.errorf("Local %s at index %d has Heap flag set", l.Name(), i) - } - } - // Build the set of valid referrers. - s.instrs = make(map[Instruction]struct{}) - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - s.instrs[instr] = struct{}{} - } - } - for i, p := range fn.Params { - if p.Parent() != fn { - s.errorf("Param %s at index %d has wrong parent", p.Name(), i) - } - s.checkReferrerList(p) - } - for i, fv := range fn.FreeVars { - if fv.Parent() != fn { - s.errorf("FreeVar %s at index %d has wrong parent", fv.Name(), i) - } - s.checkReferrerList(fv) - } - - if fn.Blocks != nil && len(fn.Blocks) == 0 { - // Function _had_ blocks (so it's not external) but - // they were "optimized" away, even the entry block. - s.errorf("Blocks slice is non-nil but empty") - } - for i, b := range fn.Blocks { - if b == nil { - s.warnf("nil *BasicBlock at f.Blocks[%d]", i) - continue - } - s.checkBlock(b, i) - } - if fn.Recover != nil && fn.Blocks[fn.Recover.Index] != fn.Recover { - s.errorf("Recover block is not in Blocks slice") - } - - s.block = nil - for i, anon := range fn.AnonFuncs { - if anon.Parent() != fn { - s.errorf("AnonFuncs[%d]=%s but %s.Parent()=%s", i, anon, anon, anon.Parent()) - } - } - s.fn = nil - return !s.insane -} - -// sanityCheckPackage checks invariants of packages upon creation. -// It does not require that the package is built. -// Unlike sanityCheck (for functions), it just panics at the first error. -func sanityCheckPackage(pkg *Package) { - if pkg.Object == nil { - panic(fmt.Sprintf("Package %s has no Object", pkg)) - } - pkg.String() // must not crash - - for name, mem := range pkg.Members { - if name != mem.Name() { - panic(fmt.Sprintf("%s: %T.Name() = %s, want %s", - pkg.Object.Path(), mem, mem.Name(), name)) - } - obj := mem.Object() - if obj == nil { - // This check is sound because fields - // {Global,Function}.object have type - // types.Object. (If they were declared as - // *types.{Var,Func}, we'd have a non-empty - // interface containing a nil pointer.) - - continue // not all members have typechecker objects - } - if obj.Name() != name { - if obj.Name() == "init" && strings.HasPrefix(mem.Name(), "init#") { - // Ok. The name of a declared init function varies between - // its types.Func ("init") and its ssa.Function ("init#%d"). - } else { - panic(fmt.Sprintf("%s: %T.Object().Name() = %s, want %s", - pkg.Object.Path(), mem, obj.Name(), name)) - } - } - if obj.Pos() != mem.Pos() { - panic(fmt.Sprintf("%s Pos=%d obj.Pos=%d", mem, mem.Pos(), obj.Pos())) - } - } -} diff --git a/vendor/golang.org/x/tools/go/ssa/source.go b/vendor/golang.org/x/tools/go/ssa/source.go deleted file mode 100644 index 84e6f1d..0000000 --- a/vendor/golang.org/x/tools/go/ssa/source.go +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines utilities for working with source positions -// or source-level named entities ("objects"). - -// TODO(adonovan): test that {Value,Instruction}.Pos() positions match -// the originating syntax, as specified. - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/types" -) - -// EnclosingFunction returns the function that contains the syntax -// node denoted by path. -// -// Syntax associated with package-level variable specifications is -// enclosed by the package's init() function. -// -// Returns nil if not found; reasons might include: -// - the node is not enclosed by any function. -// - the node is within an anonymous function (FuncLit) and -// its SSA function has not been created yet -// (pkg.Build() has not yet been called). -// -func EnclosingFunction(pkg *Package, path []ast.Node) *Function { - // Start with package-level function... - fn := findEnclosingPackageLevelFunction(pkg, path) - if fn == nil { - return nil // not in any function - } - - // ...then walk down the nested anonymous functions. - n := len(path) -outer: - for i := range path { - if lit, ok := path[n-1-i].(*ast.FuncLit); ok { - for _, anon := range fn.AnonFuncs { - if anon.Pos() == lit.Type.Func { - fn = anon - continue outer - } - } - // SSA function not found: - // - package not yet built, or maybe - // - builder skipped FuncLit in dead block - // (in principle; but currently the Builder - // generates even dead FuncLits). - return nil - } - } - return fn -} - -// HasEnclosingFunction returns true if the AST node denoted by path -// is contained within the declaration of some function or -// package-level variable. -// -// Unlike EnclosingFunction, the behaviour of this function does not -// depend on whether SSA code for pkg has been built, so it can be -// used to quickly reject check inputs that will cause -// EnclosingFunction to fail, prior to SSA building. -// -func HasEnclosingFunction(pkg *Package, path []ast.Node) bool { - return findEnclosingPackageLevelFunction(pkg, path) != nil -} - -// findEnclosingPackageLevelFunction returns the Function -// corresponding to the package-level function enclosing path. -// -func findEnclosingPackageLevelFunction(pkg *Package, path []ast.Node) *Function { - if n := len(path); n >= 2 { // [... {Gen,Func}Decl File] - switch decl := path[n-2].(type) { - case *ast.GenDecl: - if decl.Tok == token.VAR && n >= 3 { - // Package-level 'var' initializer. - return pkg.init - } - - case *ast.FuncDecl: - if decl.Recv == nil && decl.Name.Name == "init" { - // Explicit init() function. - for _, b := range pkg.init.Blocks { - for _, instr := range b.Instrs { - if instr, ok := instr.(*Call); ok { - if callee, ok := instr.Call.Value.(*Function); ok && callee.Pkg == pkg && callee.Pos() == decl.Name.NamePos { - return callee - } - } - } - } - // Hack: return non-nil when SSA is not yet - // built so that HasEnclosingFunction works. - return pkg.init - } - // Declared function/method. - return findNamedFunc(pkg, decl.Name.NamePos) - } - } - return nil // not in any function -} - -// findNamedFunc returns the named function whose FuncDecl.Ident is at -// position pos. -// -func findNamedFunc(pkg *Package, pos token.Pos) *Function { - // Look at all package members and method sets of named types. - // Not very efficient. - for _, mem := range pkg.Members { - switch mem := mem.(type) { - case *Function: - if mem.Pos() == pos { - return mem - } - case *Type: - mset := pkg.Prog.MethodSets.MethodSet(types.NewPointer(mem.Type())) - for i, n := 0, mset.Len(); i < n; i++ { - // Don't call Program.Method: avoid creating wrappers. - obj := mset.At(i).Obj().(*types.Func) - if obj.Pos() == pos { - return pkg.values[obj].(*Function) - } - } - } - } - return nil -} - -// ValueForExpr returns the SSA Value that corresponds to non-constant -// expression e. -// -// It returns nil if no value was found, e.g. -// - the expression is not lexically contained within f; -// - f was not built with debug information; or -// - e is a constant expression. (For efficiency, no debug -// information is stored for constants. Use -// go/types.Info.Types[e].Value instead.) -// - e is a reference to nil or a built-in function. -// - the value was optimised away. -// -// If e is an addressable expression used in an lvalue context, -// value is the address denoted by e, and isAddr is true. -// -// The types of e (or &e, if isAddr) and the result are equal -// (modulo "untyped" bools resulting from comparisons). -// -// (Tip: to find the ssa.Value given a source position, use -// importer.PathEnclosingInterval to locate the ast.Node, then -// EnclosingFunction to locate the Function, then ValueForExpr to find -// the ssa.Value.) -// -func (f *Function) ValueForExpr(e ast.Expr) (value Value, isAddr bool) { - if f.debugInfo() { // (opt) - e = unparen(e) - for _, b := range f.Blocks { - for _, instr := range b.Instrs { - if ref, ok := instr.(*DebugRef); ok { - if ref.Expr == e { - return ref.X, ref.IsAddr - } - } - } - } - } - return -} - -// --- Lookup functions for source-level named entities (types.Objects) --- - -// Package returns the SSA Package corresponding to the specified -// type-checker package object. -// It returns nil if no such SSA package has been created. -// -func (prog *Program) Package(obj *types.Package) *Package { - return prog.packages[obj] -} - -// packageLevelValue returns the package-level value corresponding to -// the specified named object, which may be a package-level const -// (*Const), var (*Global) or func (*Function) of some package in -// prog. It returns nil if the object is not found. -// -func (prog *Program) packageLevelValue(obj types.Object) Value { - if pkg, ok := prog.packages[obj.Pkg()]; ok { - return pkg.values[obj] - } - return nil -} - -// FuncValue returns the concrete Function denoted by the source-level -// named function obj, or nil if obj denotes an interface method. -// -// TODO(adonovan): check the invariant that obj.Type() matches the -// result's Signature, both in the params/results and in the receiver. -// -func (prog *Program) FuncValue(obj *types.Func) *Function { - fn, _ := prog.packageLevelValue(obj).(*Function) - return fn -} - -// ConstValue returns the SSA Value denoted by the source-level named -// constant obj. -// -func (prog *Program) ConstValue(obj *types.Const) *Const { - // TODO(adonovan): opt: share (don't reallocate) - // Consts for const objects and constant ast.Exprs. - - // Universal constant? {true,false,nil} - if obj.Parent() == types.Universe { - return NewConst(obj.Val(), obj.Type()) - } - // Package-level named constant? - if v := prog.packageLevelValue(obj); v != nil { - return v.(*Const) - } - return NewConst(obj.Val(), obj.Type()) -} - -// VarValue returns the SSA Value that corresponds to a specific -// identifier denoting the source-level named variable obj. -// -// VarValue returns nil if a local variable was not found, perhaps -// because its package was not built, the debug information was not -// requested during SSA construction, or the value was optimized away. -// -// ref is the path to an ast.Ident (e.g. from PathEnclosingInterval), -// and that ident must resolve to obj. -// -// pkg is the package enclosing the reference. (A reference to a var -// always occurs within a function, so we need to know where to find it.) -// -// If the identifier is a field selector and its base expression is -// non-addressable, then VarValue returns the value of that field. -// For example: -// func f() struct {x int} -// f().x // VarValue(x) returns a *Field instruction of type int -// -// All other identifiers denote addressable locations (variables). -// For them, VarValue may return either the variable's address or its -// value, even when the expression is evaluated only for its value; the -// situation is reported by isAddr, the second component of the result. -// -// If !isAddr, the returned value is the one associated with the -// specific identifier. For example, -// var x int // VarValue(x) returns Const 0 here -// x = 1 // VarValue(x) returns Const 1 here -// -// It is not specified whether the value or the address is returned in -// any particular case, as it may depend upon optimizations performed -// during SSA code generation, such as registerization, constant -// folding, avoidance of materialization of subexpressions, etc. -// -func (prog *Program) VarValue(obj *types.Var, pkg *Package, ref []ast.Node) (value Value, isAddr bool) { - // All references to a var are local to some function, possibly init. - fn := EnclosingFunction(pkg, ref) - if fn == nil { - return // e.g. def of struct field; SSA not built? - } - - id := ref[0].(*ast.Ident) - - // Defining ident of a parameter? - if id.Pos() == obj.Pos() { - for _, param := range fn.Params { - if param.Object() == obj { - return param, false - } - } - } - - // Other ident? - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - if dr, ok := instr.(*DebugRef); ok { - if dr.Pos() == id.Pos() { - return dr.X, dr.IsAddr - } - } - } - } - - // Defining ident of package-level var? - if v := prog.packageLevelValue(obj); v != nil { - return v.(*Global), true - } - - return // e.g. debug info not requested, or var optimized away -} diff --git a/vendor/golang.org/x/tools/go/ssa/ssa.go b/vendor/golang.org/x/tools/go/ssa/ssa.go deleted file mode 100644 index f4c64bb..0000000 --- a/vendor/golang.org/x/tools/go/ssa/ssa.go +++ /dev/null @@ -1,1700 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This package defines a high-level intermediate representation for -// Go programs using static single-assignment (SSA) form. - -import ( - "fmt" - "go/ast" - "go/token" - "sync" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" -) - -// A Program is a partial or complete Go program converted to SSA form. -type Program struct { - Fset *token.FileSet // position information for the files of this Program - imported map[string]*Package // all importable Packages, keyed by import path - packages map[*types.Package]*Package // all loaded Packages, keyed by object - mode BuilderMode // set of mode bits for SSA construction - MethodSets typeutil.MethodSetCache // cache of type-checker's method-sets - - methodsMu sync.Mutex // guards the following maps: - methodSets typeutil.Map // maps type to its concrete methodSet - runtimeTypes typeutil.Map // types for which rtypes are needed - canon typeutil.Map // type canonicalization map - bounds map[*types.Func]*Function // bounds for curried x.Method closures - thunks map[selectionKey]*Function // thunks for T.Method expressions -} - -// A Package is a single analyzed Go package containing Members for -// all package-level functions, variables, constants and types it -// declares. These may be accessed directly via Members, or via the -// type-specific accessor methods Func, Type, Var and Const. -// -// Members also contains entries for "init" (the synthetic package -// initializer) and "init#%d", the nth declared init function, -// and unspecified other things too. -// -type Package struct { - Prog *Program // the owning program - Object *types.Package // the type checker's package object for this package - Members map[string]Member // all package members keyed by name (incl. init and init#%d) - values map[types.Object]Value // package members (incl. types and methods), keyed by object - init *Function // Func("init"); the package's init function - debug bool // include full debug info in this package - - // The following fields are set transiently, then cleared - // after building. - started int32 // atomically tested and set at start of build phase - ninit int32 // number of init functions - info *types.Info // package type information - files []*ast.File // package ASTs -} - -// A Member is a member of a Go package, implemented by *NamedConst, -// *Global, *Function, or *Type; they are created by package-level -// const, var, func and type declarations respectively. -// -type Member interface { - Name() string // declared name of the package member - String() string // package-qualified name of the package member - RelString(*types.Package) string // like String, but relative refs are unqualified - Object() types.Object // typechecker's object for this member, if any - Pos() token.Pos // position of member's declaration, if known - Type() types.Type // type of the package member - Token() token.Token // token.{VAR,FUNC,CONST,TYPE} - Package() *Package // the containing package -} - -// A Type is a Member of a Package representing a package-level named type. -// -// Type() returns a *types.Named. -// -type Type struct { - object *types.TypeName - pkg *Package -} - -// A NamedConst is a Member of a Package representing a package-level -// named constant. -// -// Pos() returns the position of the declaring ast.ValueSpec.Names[*] -// identifier. -// -// NB: a NamedConst is not a Value; it contains a constant Value, which -// it augments with the name and position of its 'const' declaration. -// -type NamedConst struct { - object *types.Const - Value *Const - pos token.Pos - pkg *Package -} - -// A Value is an SSA value that can be referenced by an instruction. -type Value interface { - // Name returns the name of this value, and determines how - // this Value appears when used as an operand of an - // Instruction. - // - // This is the same as the source name for Parameters, - // Builtins, Functions, FreeVars, Globals. - // For constants, it is a representation of the constant's value - // and type. For all other Values this is the name of the - // virtual register defined by the instruction. - // - // The name of an SSA Value is not semantically significant, - // and may not even be unique within a function. - Name() string - - // If this value is an Instruction, String returns its - // disassembled form; otherwise it returns unspecified - // human-readable information about the Value, such as its - // kind, name and type. - String() string - - // Type returns the type of this value. Many instructions - // (e.g. IndexAddr) change their behaviour depending on the - // types of their operands. - Type() types.Type - - // Parent returns the function to which this Value belongs. - // It returns nil for named Functions, Builtin, Const and Global. - Parent() *Function - - // Referrers returns the list of instructions that have this - // value as one of their operands; it may contain duplicates - // if an instruction has a repeated operand. - // - // Referrers actually returns a pointer through which the - // caller may perform mutations to the object's state. - // - // Referrers is currently only defined if Parent()!=nil, - // i.e. for the function-local values FreeVar, Parameter, - // Functions (iff anonymous) and all value-defining instructions. - // It returns nil for named Functions, Builtin, Const and Global. - // - // Instruction.Operands contains the inverse of this relation. - Referrers() *[]Instruction - - // Pos returns the location of the AST token most closely - // associated with the operation that gave rise to this value, - // or token.NoPos if it was not explicit in the source. - // - // For each ast.Node type, a particular token is designated as - // the closest location for the expression, e.g. the Lparen - // for an *ast.CallExpr. This permits a compact but - // approximate mapping from Values to source positions for use - // in diagnostic messages, for example. - // - // (Do not use this position to determine which Value - // corresponds to an ast.Expr; use Function.ValueForExpr - // instead. NB: it requires that the function was built with - // debug information.) - Pos() token.Pos -} - -// An Instruction is an SSA instruction that computes a new Value or -// has some effect. -// -// An Instruction that defines a value (e.g. BinOp) also implements -// the Value interface; an Instruction that only has an effect (e.g. Store) -// does not. -// -type Instruction interface { - // String returns the disassembled form of this value. - // - // Examples of Instructions that are Values: - // "x + y" (BinOp) - // "len([])" (Call) - // Note that the name of the Value is not printed. - // - // Examples of Instructions that are not Values: - // "return x" (Return) - // "*y = x" (Store) - // - // (The separation Value.Name() from Value.String() is useful - // for some analyses which distinguish the operation from the - // value it defines, e.g., 'y = local int' is both an allocation - // of memory 'local int' and a definition of a pointer y.) - String() string - - // Parent returns the function to which this instruction - // belongs. - Parent() *Function - - // Block returns the basic block to which this instruction - // belongs. - Block() *BasicBlock - - // setBlock sets the basic block to which this instruction belongs. - setBlock(*BasicBlock) - - // Operands returns the operands of this instruction: the - // set of Values it references. - // - // Specifically, it appends their addresses to rands, a - // user-provided slice, and returns the resulting slice, - // permitting avoidance of memory allocation. - // - // The operands are appended in undefined order, but the order - // is consistent for a given Instruction; the addresses are - // always non-nil but may point to a nil Value. Clients may - // store through the pointers, e.g. to effect a value - // renaming. - // - // Value.Referrers is a subset of the inverse of this - // relation. (Referrers are not tracked for all types of - // Values.) - Operands(rands []*Value) []*Value - - // Pos returns the location of the AST token most closely - // associated with the operation that gave rise to this - // instruction, or token.NoPos if it was not explicit in the - // source. - // - // For each ast.Node type, a particular token is designated as - // the closest location for the expression, e.g. the Go token - // for an *ast.GoStmt. This permits a compact but approximate - // mapping from Instructions to source positions for use in - // diagnostic messages, for example. - // - // (Do not use this position to determine which Instruction - // corresponds to an ast.Expr; see the notes for Value.Pos. - // This position may be used to determine which non-Value - // Instruction corresponds to some ast.Stmts, but not all: If - // and Jump instructions have no Pos(), for example.) - Pos() token.Pos -} - -// A Node is a node in the SSA value graph. Every concrete type that -// implements Node is also either a Value, an Instruction, or both. -// -// Node contains the methods common to Value and Instruction, plus the -// Operands and Referrers methods generalized to return nil for -// non-Instructions and non-Values, respectively. -// -// Node is provided to simplify SSA graph algorithms. Clients should -// use the more specific and informative Value or Instruction -// interfaces where appropriate. -// -type Node interface { - // Common methods: - String() string - Pos() token.Pos - Parent() *Function - - // Partial methods: - Operands(rands []*Value) []*Value // nil for non-Instructions - Referrers() *[]Instruction // nil for non-Values -} - -// Function represents the parameters, results, and code of a function -// or method. -// -// If Blocks is nil, this indicates an external function for which no -// Go source code is available. In this case, FreeVars and Locals -// are nil too. Clients performing whole-program analysis must -// handle external functions specially. -// -// Blocks contains the function's control-flow graph (CFG). -// Blocks[0] is the function entry point; block order is not otherwise -// semantically significant, though it may affect the readability of -// the disassembly. -// To iterate over the blocks in dominance order, use DomPreorder(). -// -// Recover is an optional second entry point to which control resumes -// after a recovered panic. The Recover block may contain only a return -// statement, preceded by a load of the function's named return -// parameters, if any. -// -// A nested function (Parent()!=nil) that refers to one or more -// lexically enclosing local variables ("free variables") has FreeVars. -// Such functions cannot be called directly but require a -// value created by MakeClosure which, via its Bindings, supplies -// values for these parameters. -// -// If the function is a method (Signature.Recv() != nil) then the first -// element of Params is the receiver parameter. -// -// A Go package may declare many functions called "init". -// For each one, Object().Name() returns "init" but Name() returns -// "init#1", etc, in declaration order. -// -// Pos() returns the declaring ast.FuncLit.Type.Func or the position -// of the ast.FuncDecl.Name, if the function was explicit in the -// source. Synthetic wrappers, for which Synthetic != "", may share -// the same position as the function they wrap. -// Syntax.Pos() always returns the position of the declaring "func" token. -// -// Type() returns the function's Signature. -// -type Function struct { - name string - object types.Object // a declared *types.Func or one of its wrappers - method *types.Selection // info about provenance of synthetic methods - Signature *types.Signature - pos token.Pos - - Synthetic string // provenance of synthetic function; "" for true source functions - syntax ast.Node // *ast.Func{Decl,Lit}; replaced with simple ast.Node after build, unless debug mode - parent *Function // enclosing function if anon; nil if global - Pkg *Package // enclosing package; nil for shared funcs (wrappers and error.Error) - Prog *Program // enclosing program - Params []*Parameter // function parameters; for methods, includes receiver - FreeVars []*FreeVar // free variables whose values must be supplied by closure - Locals []*Alloc // local variables of this function - Blocks []*BasicBlock // basic blocks of the function; nil => external - Recover *BasicBlock // optional; control transfers here after recovered panic - AnonFuncs []*Function // anonymous functions directly beneath this one - referrers []Instruction // referring instructions (iff Parent() != nil) - - // The following fields are set transiently during building, - // then cleared. - currentBlock *BasicBlock // where to emit code - objects map[types.Object]Value // addresses of local variables - namedResults []*Alloc // tuple of named results - targets *targets // linked stack of branch targets - lblocks map[*ast.Object]*lblock // labelled blocks -} - -// BasicBlock represents an SSA basic block. -// -// The final element of Instrs is always an explicit transfer of -// control (If, Jump, Return, or Panic). -// -// A block may contain no Instructions only if it is unreachable, -// i.e., Preds is nil. Empty blocks are typically pruned. -// -// BasicBlocks and their Preds/Succs relation form a (possibly cyclic) -// graph independent of the SSA Value graph: the control-flow graph or -// CFG. It is illegal for multiple edges to exist between the same -// pair of blocks. -// -// Each BasicBlock is also a node in the dominator tree of the CFG. -// The tree may be navigated using Idom()/Dominees() and queried using -// Dominates(). -// -// The order of Preds and Succs is significant (to Phi and If -// instructions, respectively). -// -type BasicBlock struct { - Index int // index of this block within Parent().Blocks - Comment string // optional label; no semantic significance - parent *Function // parent function - Instrs []Instruction // instructions in order - Preds, Succs []*BasicBlock // predecessors and successors - succs2 [2]*BasicBlock // initial space for Succs - dom domInfo // dominator tree info - gaps int // number of nil Instrs (transient) - rundefers int // number of rundefers (transient) -} - -// Pure values ---------------------------------------- - -// A FreeVar represents a free variable of the function to which it -// belongs. -// -// FreeVars are used to implement anonymous functions, whose free -// variables are lexically captured in a closure formed by -// MakeClosure. The value of such a free var is an Alloc or another -// FreeVar and is considered a potentially escaping heap address, with -// pointer type. -// -// FreeVars are also used to implement bound method closures. Such a -// free var represents the receiver value and may be of any type that -// has concrete methods. -// -// Pos() returns the position of the value that was captured, which -// belongs to an enclosing function. -// -type FreeVar struct { - name string - typ types.Type - pos token.Pos - parent *Function - referrers []Instruction - - // Transiently needed during building. - outer Value // the Value captured from the enclosing context. -} - -// A Parameter represents an input parameter of a function. -// -type Parameter struct { - name string - object types.Object // a *types.Var; nil for non-source locals - typ types.Type - pos token.Pos - parent *Function - referrers []Instruction -} - -// A Const represents the value of a constant expression. -// -// The underlying type of a constant may be any boolean, numeric, or -// string type. In addition, a Const may represent the nil value of -// any reference type---interface, map, channel, pointer, slice, or -// function---but not "untyped nil". -// -// All source-level constant expressions are represented by a Const -// of the same type and value. -// -// Value holds the exact value of the constant, independent of its -// Type(), using the same representation as package go/exact uses for -// constants, or nil for a typed nil value. -// -// Pos() returns token.NoPos. -// -// Example printed form: -// 42:int -// "hello":untyped string -// 3+4i:MyComplex -// -type Const struct { - typ types.Type - Value exact.Value -} - -// A Global is a named Value holding the address of a package-level -// variable. -// -// Pos() returns the position of the ast.ValueSpec.Names[*] -// identifier. -// -type Global struct { - name string - object types.Object // a *types.Var; may be nil for synthetics e.g. init$guard - typ types.Type - pos token.Pos - - Pkg *Package -} - -// A Builtin represents a specific use of a built-in function, e.g. len. -// -// Builtins are immutable values. Builtins do not have addresses. -// Builtins can only appear in CallCommon.Func. -// -// Name() indicates the function: one of the built-in functions from the -// Go spec (excluding "make" and "new") or one of these ssa-defined -// intrinsics: -// -// // wrapnilchk returns ptr if non-nil, panics otherwise. -// // (For use in indirection wrappers.) -// func ssa:wrapnilchk(ptr *T, recvType, methodName string) *T -// -// Object() returns a *types.Builtin for built-ins defined by the spec, -// nil for others. -// -// Type() returns a *types.Signature representing the effective -// signature of the built-in for this call. -// -type Builtin struct { - name string - sig *types.Signature -} - -// Value-defining instructions ---------------------------------------- - -// The Alloc instruction reserves space for a variable of the given type, -// zero-initializes it, and yields its address. -// -// Alloc values are always addresses, and have pointer types, so the -// type of the allocated variable is actually -// Type().Underlying().(*types.Pointer).Elem(). -// -// If Heap is false, Alloc allocates space in the function's -// activation record (frame); we refer to an Alloc(Heap=false) as a -// "local" alloc. Each local Alloc returns the same address each time -// it is executed within the same activation; the space is -// re-initialized to zero. -// -// If Heap is true, Alloc allocates space in the heap; we -// refer to an Alloc(Heap=true) as a "new" alloc. Each new Alloc -// returns a different address each time it is executed. -// -// When Alloc is applied to a channel, map or slice type, it returns -// the address of an uninitialized (nil) reference of that kind; store -// the result of MakeSlice, MakeMap or MakeChan in that location to -// instantiate these types. -// -// Pos() returns the ast.CompositeLit.Lbrace for a composite literal, -// or the ast.CallExpr.Rparen for a call to new() or for a call that -// allocates a varargs slice. -// -// Example printed form: -// t0 = local int -// t1 = new int -// -type Alloc struct { - register - Comment string - Heap bool - index int // dense numbering; for lifting -} - -// The Phi instruction represents an SSA φ-node, which combines values -// that differ across incoming control-flow edges and yields a new -// value. Within a block, all φ-nodes must appear before all non-φ -// nodes. -// -// Pos() returns the position of the && or || for short-circuit -// control-flow joins, or that of the *Alloc for φ-nodes inserted -// during SSA renaming. -// -// Example printed form: -// t2 = phi [0: t0, 1: t1] -// -type Phi struct { - register - Comment string // a hint as to its purpose - Edges []Value // Edges[i] is value for Block().Preds[i] -} - -// The Call instruction represents a function or method call. -// -// The Call instruction yields the function result if there is exactly -// one. Otherwise it returns a tuple, the components of which are -// accessed via Extract. -// -// See CallCommon for generic function call documentation. -// -// Pos() returns the ast.CallExpr.Lparen, if explicit in the source. -// -// Example printed form: -// t2 = println(t0, t1) -// t4 = t3() -// t7 = invoke t5.Println(...t6) -// -type Call struct { - register - Call CallCommon -} - -// The BinOp instruction yields the result of binary operation X Op Y. -// -// Pos() returns the ast.BinaryExpr.OpPos, if explicit in the source. -// -// Example printed form: -// t1 = t0 + 1:int -// -type BinOp struct { - register - // One of: - // ADD SUB MUL QUO REM + - * / % - // AND OR XOR SHL SHR AND_NOT & | ^ << >> &~ - // EQL LSS GTR NEQ LEQ GEQ == != < <= < >= - Op token.Token - X, Y Value -} - -// The UnOp instruction yields the result of Op X. -// ARROW is channel receive. -// MUL is pointer indirection (load). -// XOR is bitwise complement. -// SUB is negation. -// NOT is logical negation. -// -// If CommaOk and Op=ARROW, the result is a 2-tuple of the value above -// and a boolean indicating the success of the receive. The -// components of the tuple are accessed using Extract. -// -// Pos() returns the ast.UnaryExpr.OpPos, if explicit in the source. -// For receive operations (ARROW) implicit in ranging over a channel, -// Pos() returns the ast.RangeStmt.For. -// For implicit memory loads (STAR), Pos() returns the position of the -// most closely associated source-level construct; the details are not -// specified. -// -// Example printed form: -// t0 = *x -// t2 = <-t1,ok -// -type UnOp struct { - register - Op token.Token // One of: NOT SUB ARROW MUL XOR ! - <- * ^ - X Value - CommaOk bool -} - -// The ChangeType instruction applies to X a value-preserving type -// change to Type(). -// -// Type changes are permitted: -// - between a named type and its underlying type. -// - between two named types of the same underlying type. -// - between (possibly named) pointers to identical base types. -// - from a bidirectional channel to a read- or write-channel, -// optionally adding/removing a name. -// -// This operation cannot fail dynamically. -// -// Pos() returns the ast.CallExpr.Lparen, if the instruction arose -// from an explicit conversion in the source. -// -// Example printed form: -// t1 = changetype *int <- IntPtr (t0) -// -type ChangeType struct { - register - X Value -} - -// The Convert instruction yields the conversion of value X to type -// Type(). One or both of those types is basic (but possibly named). -// -// A conversion may change the value and representation of its operand. -// Conversions are permitted: -// - between real numeric types. -// - between complex numeric types. -// - between string and []byte or []rune. -// - between pointers and unsafe.Pointer. -// - between unsafe.Pointer and uintptr. -// - from (Unicode) integer to (UTF-8) string. -// A conversion may imply a type name change also. -// -// This operation cannot fail dynamically. -// -// Conversions of untyped string/number/bool constants to a specific -// representation are eliminated during SSA construction. -// -// Pos() returns the ast.CallExpr.Lparen, if the instruction arose -// from an explicit conversion in the source. -// -// Example printed form: -// t1 = convert []byte <- string (t0) -// -type Convert struct { - register - X Value -} - -// ChangeInterface constructs a value of one interface type from a -// value of another interface type known to be assignable to it. -// This operation cannot fail. -// -// Pos() returns the ast.CallExpr.Lparen if the instruction arose from -// an explicit T(e) conversion; the ast.TypeAssertExpr.Lparen if the -// instruction arose from an explicit e.(T) operation; or token.NoPos -// otherwise. -// -// Example printed form: -// t1 = change interface interface{} <- I (t0) -// -type ChangeInterface struct { - register - X Value -} - -// MakeInterface constructs an instance of an interface type from a -// value of a concrete type. -// -// Use Program.MethodSets.MethodSet(X.Type()) to find the method-set -// of X, and Program.Method(m) to find the implementation of a method. -// -// To construct the zero value of an interface type T, use: -// NewConst(exact.MakeNil(), T, pos) -// -// Pos() returns the ast.CallExpr.Lparen, if the instruction arose -// from an explicit conversion in the source. -// -// Example printed form: -// t1 = make interface{} <- int (42:int) -// t2 = make Stringer <- t0 -// -type MakeInterface struct { - register - X Value -} - -// The MakeClosure instruction yields a closure value whose code is -// Fn and whose free variables' values are supplied by Bindings. -// -// Type() returns a (possibly named) *types.Signature. -// -// Pos() returns the ast.FuncLit.Type.Func for a function literal -// closure or the ast.SelectorExpr.Sel for a bound method closure. -// -// Example printed form: -// t0 = make closure anon@1.2 [x y z] -// t1 = make closure bound$(main.I).add [i] -// -type MakeClosure struct { - register - Fn Value // always a *Function - Bindings []Value // values for each free variable in Fn.FreeVars -} - -// The MakeMap instruction creates a new hash-table-based map object -// and yields a value of kind map. -// -// Type() returns a (possibly named) *types.Map. -// -// Pos() returns the ast.CallExpr.Lparen, if created by make(map), or -// the ast.CompositeLit.Lbrack if created by a literal. -// -// Example printed form: -// t1 = make map[string]int t0 -// t1 = make StringIntMap t0 -// -type MakeMap struct { - register - Reserve Value // initial space reservation; nil => default -} - -// The MakeChan instruction creates a new channel object and yields a -// value of kind chan. -// -// Type() returns a (possibly named) *types.Chan. -// -// Pos() returns the ast.CallExpr.Lparen for the make(chan) that -// created it. -// -// Example printed form: -// t0 = make chan int 0 -// t0 = make IntChan 0 -// -type MakeChan struct { - register - Size Value // int; size of buffer; zero => synchronous. -} - -// The MakeSlice instruction yields a slice of length Len backed by a -// newly allocated array of length Cap. -// -// Both Len and Cap must be non-nil Values of integer type. -// -// (Alloc(types.Array) followed by Slice will not suffice because -// Alloc can only create arrays of constant length.) -// -// Type() returns a (possibly named) *types.Slice. -// -// Pos() returns the ast.CallExpr.Lparen for the make([]T) that -// created it. -// -// Example printed form: -// t1 = make []string 1:int t0 -// t1 = make StringSlice 1:int t0 -// -type MakeSlice struct { - register - Len Value - Cap Value -} - -// The Slice instruction yields a slice of an existing string, slice -// or *array X between optional integer bounds Low and High. -// -// Dynamically, this instruction panics if X evaluates to a nil *array -// pointer. -// -// Type() returns string if the type of X was string, otherwise a -// *types.Slice with the same element type as X. -// -// Pos() returns the ast.SliceExpr.Lbrack if created by a x[:] slice -// operation, the ast.CompositeLit.Lbrace if created by a literal, or -// NoPos if not explicit in the source (e.g. a variadic argument slice). -// -// Example printed form: -// t1 = slice t0[1:] -// -type Slice struct { - register - X Value // slice, string, or *array - Low, High, Max Value // each may be nil -} - -// The FieldAddr instruction yields the address of Field of *struct X. -// -// The field is identified by its index within the field list of the -// struct type of X. -// -// Dynamically, this instruction panics if X evaluates to a nil -// pointer. -// -// Type() returns a (possibly named) *types.Pointer. -// -// Pos() returns the position of the ast.SelectorExpr.Sel for the -// field, if explicit in the source. -// -// Example printed form: -// t1 = &t0.name [#1] -// -type FieldAddr struct { - register - X Value // *struct - Field int // index into X.Type().Deref().(*types.Struct).Fields -} - -// The Field instruction yields the Field of struct X. -// -// The field is identified by its index within the field list of the -// struct type of X; by using numeric indices we avoid ambiguity of -// package-local identifiers and permit compact representations. -// -// Pos() returns the position of the ast.SelectorExpr.Sel for the -// field, if explicit in the source. -// -// Example printed form: -// t1 = t0.name [#1] -// -type Field struct { - register - X Value // struct - Field int // index into X.Type().(*types.Struct).Fields -} - -// The IndexAddr instruction yields the address of the element at -// index Index of collection X. Index is an integer expression. -// -// The elements of maps and strings are not addressable; use Lookup or -// MapUpdate instead. -// -// Dynamically, this instruction panics if X evaluates to a nil *array -// pointer. -// -// Type() returns a (possibly named) *types.Pointer. -// -// Pos() returns the ast.IndexExpr.Lbrack for the index operation, if -// explicit in the source. -// -// Example printed form: -// t2 = &t0[t1] -// -type IndexAddr struct { - register - X Value // slice or *array, - Index Value // numeric index -} - -// The Index instruction yields element Index of array X. -// -// Pos() returns the ast.IndexExpr.Lbrack for the index operation, if -// explicit in the source. -// -// Example printed form: -// t2 = t0[t1] -// -type Index struct { - register - X Value // array - Index Value // integer index -} - -// The Lookup instruction yields element Index of collection X, a map -// or string. Index is an integer expression if X is a string or the -// appropriate key type if X is a map. -// -// If CommaOk, the result is a 2-tuple of the value above and a -// boolean indicating the result of a map membership test for the key. -// The components of the tuple are accessed using Extract. -// -// Pos() returns the ast.IndexExpr.Lbrack, if explicit in the source. -// -// Example printed form: -// t2 = t0[t1] -// t5 = t3[t4],ok -// -type Lookup struct { - register - X Value // string or map - Index Value // numeric or key-typed index - CommaOk bool // return a value,ok pair -} - -// SelectState is a helper for Select. -// It represents one goal state and its corresponding communication. -// -type SelectState struct { - Dir types.ChanDir // direction of case (SendOnly or RecvOnly) - Chan Value // channel to use (for send or receive) - Send Value // value to send (for send) - Pos token.Pos // position of token.ARROW - DebugNode ast.Node // ast.SendStmt or ast.UnaryExpr(<-) [debug mode] -} - -// The Select instruction tests whether (or blocks until) one -// of the specified sent or received states is entered. -// -// Let n be the number of States for which Dir==RECV and T_i (0<=i string iterator; false => map iterator. -} - -// The TypeAssert instruction tests whether interface value X has type -// AssertedType. -// -// If !CommaOk, on success it returns v, the result of the conversion -// (defined below); on failure it panics. -// -// If CommaOk: on success it returns a pair (v, true) where v is the -// result of the conversion; on failure it returns (z, false) where z -// is AssertedType's zero value. The components of the pair must be -// accessed using the Extract instruction. -// -// If AssertedType is a concrete type, TypeAssert checks whether the -// dynamic type in interface X is equal to it, and if so, the result -// of the conversion is a copy of the value in the interface. -// -// If AssertedType is an interface, TypeAssert checks whether the -// dynamic type of the interface is assignable to it, and if so, the -// result of the conversion is a copy of the interface value X. -// If AssertedType is a superinterface of X.Type(), the operation will -// fail iff the operand is nil. (Contrast with ChangeInterface, which -// performs no nil-check.) -// -// Type() reflects the actual type of the result, possibly a -// 2-types.Tuple; AssertedType is the asserted type. -// -// Pos() returns the ast.CallExpr.Lparen if the instruction arose from -// an explicit T(e) conversion; the ast.TypeAssertExpr.Lparen if the -// instruction arose from an explicit e.(T) operation; or the -// ast.CaseClause.Case if the instruction arose from a case of a -// type-switch statement. -// -// Example printed form: -// t1 = typeassert t0.(int) -// t3 = typeassert,ok t2.(T) -// -type TypeAssert struct { - register - X Value - AssertedType types.Type - CommaOk bool -} - -// The Extract instruction yields component Index of Tuple. -// -// This is used to access the results of instructions with multiple -// return values, such as Call, TypeAssert, Next, UnOp(ARROW) and -// IndexExpr(Map). -// -// Example printed form: -// t1 = extract t0 #1 -// -type Extract struct { - register - Tuple Value - Index int -} - -// Instructions executed for effect. They do not yield a value. -------------------- - -// The Jump instruction transfers control to the sole successor of its -// owning block. -// -// A Jump must be the last instruction of its containing BasicBlock. -// -// Pos() returns NoPos. -// -// Example printed form: -// jump done -// -type Jump struct { - anInstruction -} - -// The If instruction transfers control to one of the two successors -// of its owning block, depending on the boolean Cond: the first if -// true, the second if false. -// -// An If instruction must be the last instruction of its containing -// BasicBlock. -// -// Pos() returns NoPos. -// -// Example printed form: -// if t0 goto done else body -// -type If struct { - anInstruction - Cond Value -} - -// The Return instruction returns values and control back to the calling -// function. -// -// len(Results) is always equal to the number of results in the -// function's signature. -// -// If len(Results) > 1, Return returns a tuple value with the specified -// components which the caller must access using Extract instructions. -// -// There is no instruction to return a ready-made tuple like those -// returned by a "value,ok"-mode TypeAssert, Lookup or UnOp(ARROW) or -// a tail-call to a function with multiple result parameters. -// -// Return must be the last instruction of its containing BasicBlock. -// Such a block has no successors. -// -// Pos() returns the ast.ReturnStmt.Return, if explicit in the source. -// -// Example printed form: -// return -// return nil:I, 2:int -// -type Return struct { - anInstruction - Results []Value - pos token.Pos -} - -// The RunDefers instruction pops and invokes the entire stack of -// procedure calls pushed by Defer instructions in this function. -// -// It is legal to encounter multiple 'rundefers' instructions in a -// single control-flow path through a function; this is useful in -// the combined init() function, for example. -// -// Pos() returns NoPos. -// -// Example printed form: -// rundefers -// -type RunDefers struct { - anInstruction -} - -// The Panic instruction initiates a panic with value X. -// -// A Panic instruction must be the last instruction of its containing -// BasicBlock, which must have no successors. -// -// NB: 'go panic(x)' and 'defer panic(x)' do not use this instruction; -// they are treated as calls to a built-in function. -// -// Pos() returns the ast.CallExpr.Lparen if this panic was explicit -// in the source. -// -// Example printed form: -// panic t0 -// -type Panic struct { - anInstruction - X Value // an interface{} - pos token.Pos -} - -// The Go instruction creates a new goroutine and calls the specified -// function within it. -// -// See CallCommon for generic function call documentation. -// -// Pos() returns the ast.GoStmt.Go. -// -// Example printed form: -// go println(t0, t1) -// go t3() -// go invoke t5.Println(...t6) -// -type Go struct { - anInstruction - Call CallCommon - pos token.Pos -} - -// The Defer instruction pushes the specified call onto a stack of -// functions to be called by a RunDefers instruction or by a panic. -// -// See CallCommon for generic function call documentation. -// -// Pos() returns the ast.DeferStmt.Defer. -// -// Example printed form: -// defer println(t0, t1) -// defer t3() -// defer invoke t5.Println(...t6) -// -type Defer struct { - anInstruction - Call CallCommon - pos token.Pos -} - -// The Send instruction sends X on channel Chan. -// -// Pos() returns the ast.SendStmt.Arrow, if explicit in the source. -// -// Example printed form: -// send t0 <- t1 -// -type Send struct { - anInstruction - Chan, X Value - pos token.Pos -} - -// The Store instruction stores Val at address Addr. -// Stores can be of arbitrary types. -// -// Pos() returns the position of the source-level construct most closely -// associated with the memory store operation. -// Since implicit memory stores are numerous and varied and depend upon -// implementation choices, the details are not specified. -// -// Example printed form: -// *x = y -// -type Store struct { - anInstruction - Addr Value - Val Value - pos token.Pos -} - -// The MapUpdate instruction updates the association of Map[Key] to -// Value. -// -// Pos() returns the ast.KeyValueExpr.Colon or ast.IndexExpr.Lbrack, -// if explicit in the source. -// -// Example printed form: -// t0[t1] = t2 -// -type MapUpdate struct { - anInstruction - Map Value - Key Value - Value Value - pos token.Pos -} - -// A DebugRef instruction maps a source-level expression Expr to the -// SSA value X that represents the value (!IsAddr) or address (IsAddr) -// of that expression. -// -// DebugRef is a pseudo-instruction: it has no dynamic effect. -// -// Pos() returns Expr.Pos(), the start position of the source-level -// expression. This is not the same as the "designated" token as -// documented at Value.Pos(). e.g. CallExpr.Pos() does not return the -// position of the ("designated") Lparen token. -// -// If Expr is an *ast.Ident denoting a var or func, Object() returns -// the object; though this information can be obtained from the type -// checker, including it here greatly facilitates debugging. -// For non-Ident expressions, Object() returns nil. -// -// DebugRefs are generated only for functions built with debugging -// enabled; see Package.SetDebugMode() and the GlobalDebug builder -// mode flag. -// -// DebugRefs are not emitted for ast.Idents referring to constants or -// predeclared identifiers, since they are trivial and numerous. -// Nor are they emitted for ast.ParenExprs. -// -// (By representing these as instructions, rather than out-of-band, -// consistency is maintained during transformation passes by the -// ordinary SSA renaming machinery.) -// -// Example printed form: -// ; *ast.CallExpr @ 102:9 is t5 -// ; var x float64 @ 109:72 is x -// ; address of *ast.CompositeLit @ 216:10 is t0 -// -type DebugRef struct { - anInstruction - Expr ast.Expr // the referring expression (never *ast.ParenExpr) - object types.Object // the identity of the source var/func - IsAddr bool // Expr is addressable and X is the address it denotes - X Value // the value or address of Expr -} - -// Embeddable mix-ins and helpers for common parts of other structs. ----------- - -// register is a mix-in embedded by all SSA values that are also -// instructions, i.e. virtual registers, and provides a uniform -// implementation of most of the Value interface: Value.Name() is a -// numbered register (e.g. "t0"); the other methods are field accessors. -// -// Temporary names are automatically assigned to each register on -// completion of building a function in SSA form. -// -// Clients must not assume that the 'id' value (and the Name() derived -// from it) is unique within a function. As always in this API, -// semantics are determined only by identity; names exist only to -// facilitate debugging. -// -type register struct { - anInstruction - num int // "name" of virtual register, e.g. "t0". Not guaranteed unique. - typ types.Type // type of virtual register - pos token.Pos // position of source expression, or NoPos - referrers []Instruction -} - -// anInstruction is a mix-in embedded by all Instructions. -// It provides the implementations of the Block and setBlock methods. -type anInstruction struct { - block *BasicBlock // the basic block of this instruction -} - -// CallCommon is contained by Go, Defer and Call to hold the -// common parts of a function or method call. -// -// Each CallCommon exists in one of two modes, function call and -// interface method invocation, or "call" and "invoke" for short. -// -// 1. "call" mode: when Method is nil (!IsInvoke), a CallCommon -// represents an ordinary function call of the value in Value, -// which may be a *Builtin, a *Function or any other value of kind -// 'func'. -// -// Value may be one of: -// (a) a *Function, indicating a statically dispatched call -// to a package-level function, an anonymous function, or -// a method of a named type. -// (b) a *MakeClosure, indicating an immediately applied -// function literal with free variables. -// (c) a *Builtin, indicating a statically dispatched call -// to a built-in function. -// (d) any other value, indicating a dynamically dispatched -// function call. -// StaticCallee returns the identity of the callee in cases -// (a) and (b), nil otherwise. -// -// Args contains the arguments to the call. If Value is a method, -// Args[0] contains the receiver parameter. -// -// Example printed form: -// t2 = println(t0, t1) -// go t3() -// defer t5(...t6) -// -// 2. "invoke" mode: when Method is non-nil (IsInvoke), a CallCommon -// represents a dynamically dispatched call to an interface method. -// In this mode, Value is the interface value and Method is the -// interface's abstract method. Note: an abstract method may be -// shared by multiple interfaces due to embedding; Value.Type() -// provides the specific interface used for this call. -// -// Value is implicitly supplied to the concrete method implementation -// as the receiver parameter; in other words, Args[0] holds not the -// receiver but the first true argument. -// -// Example printed form: -// t1 = invoke t0.String() -// go invoke t3.Run(t2) -// defer invoke t4.Handle(...t5) -// -// For all calls to variadic functions (Signature().Variadic()), -// the last element of Args is a slice. -// -type CallCommon struct { - Value Value // receiver (invoke mode) or func value (call mode) - Method *types.Func // abstract method (invoke mode) - Args []Value // actual parameters (in static method call, includes receiver) - pos token.Pos // position of CallExpr.Lparen, iff explicit in source -} - -// IsInvoke returns true if this call has "invoke" (not "call") mode. -func (c *CallCommon) IsInvoke() bool { - return c.Method != nil -} - -func (c *CallCommon) Pos() token.Pos { return c.pos } - -// Signature returns the signature of the called function. -// -// For an "invoke"-mode call, the signature of the interface method is -// returned. -// -// In either "call" or "invoke" mode, if the callee is a method, its -// receiver is represented by sig.Recv, not sig.Params().At(0). -// -func (c *CallCommon) Signature() *types.Signature { - if c.Method != nil { - return c.Method.Type().(*types.Signature) - } - return c.Value.Type().Underlying().(*types.Signature) -} - -// StaticCallee returns the callee if this is a trivially static -// "call"-mode call to a function. -func (c *CallCommon) StaticCallee() *Function { - switch fn := c.Value.(type) { - case *Function: - return fn - case *MakeClosure: - return fn.Fn.(*Function) - } - return nil -} - -// Description returns a description of the mode of this call suitable -// for a user interface, e.g., "static method call". -func (c *CallCommon) Description() string { - switch fn := c.Value.(type) { - case *Builtin: - return "built-in function call" - case *MakeClosure: - return "static function closure call" - case *Function: - if fn.Signature.Recv() != nil { - return "static method call" - } - return "static function call" - } - if c.IsInvoke() { - return "dynamic method call" // ("invoke" mode) - } - return "dynamic function call" -} - -// The CallInstruction interface, implemented by *Go, *Defer and *Call, -// exposes the common parts of function-calling instructions, -// yet provides a way back to the Value defined by *Call alone. -// -type CallInstruction interface { - Instruction - Common() *CallCommon // returns the common parts of the call - Value() *Call // returns the result value of the call (*Call) or nil (*Go, *Defer) -} - -func (s *Call) Common() *CallCommon { return &s.Call } -func (s *Defer) Common() *CallCommon { return &s.Call } -func (s *Go) Common() *CallCommon { return &s.Call } - -func (s *Call) Value() *Call { return s } -func (s *Defer) Value() *Call { return nil } -func (s *Go) Value() *Call { return nil } - -func (v *Builtin) Type() types.Type { return v.sig } -func (v *Builtin) Name() string { return v.name } -func (*Builtin) Referrers() *[]Instruction { return nil } -func (v *Builtin) Pos() token.Pos { return token.NoPos } -func (v *Builtin) Object() types.Object { return types.Universe.Lookup(v.name) } -func (v *Builtin) Parent() *Function { return nil } - -func (v *FreeVar) Type() types.Type { return v.typ } -func (v *FreeVar) Name() string { return v.name } -func (v *FreeVar) Referrers() *[]Instruction { return &v.referrers } -func (v *FreeVar) Pos() token.Pos { return v.pos } -func (v *FreeVar) Parent() *Function { return v.parent } - -func (v *Global) Type() types.Type { return v.typ } -func (v *Global) Name() string { return v.name } -func (v *Global) Parent() *Function { return nil } -func (v *Global) Pos() token.Pos { return v.pos } -func (v *Global) Referrers() *[]Instruction { return nil } -func (v *Global) Token() token.Token { return token.VAR } -func (v *Global) Object() types.Object { return v.object } -func (v *Global) String() string { return v.RelString(nil) } -func (v *Global) Package() *Package { return v.Pkg } -func (v *Global) RelString(from *types.Package) string { return relString(v, from) } - -func (v *Function) Name() string { return v.name } -func (v *Function) Type() types.Type { return v.Signature } -func (v *Function) Pos() token.Pos { return v.pos } -func (v *Function) Token() token.Token { return token.FUNC } -func (v *Function) Object() types.Object { return v.object } -func (v *Function) String() string { return v.RelString(nil) } -func (v *Function) Package() *Package { return v.Pkg } -func (v *Function) Parent() *Function { return v.parent } -func (v *Function) Referrers() *[]Instruction { - if v.parent != nil { - return &v.referrers - } - return nil -} - -func (v *Parameter) Type() types.Type { return v.typ } -func (v *Parameter) Name() string { return v.name } -func (v *Parameter) Object() types.Object { return v.object } -func (v *Parameter) Referrers() *[]Instruction { return &v.referrers } -func (v *Parameter) Pos() token.Pos { return v.pos } -func (v *Parameter) Parent() *Function { return v.parent } - -func (v *Alloc) Type() types.Type { return v.typ } -func (v *Alloc) Referrers() *[]Instruction { return &v.referrers } -func (v *Alloc) Pos() token.Pos { return v.pos } - -func (v *register) Type() types.Type { return v.typ } -func (v *register) setType(typ types.Type) { v.typ = typ } -func (v *register) Name() string { return fmt.Sprintf("t%d", v.num) } -func (v *register) setNum(num int) { v.num = num } -func (v *register) Referrers() *[]Instruction { return &v.referrers } -func (v *register) Pos() token.Pos { return v.pos } -func (v *register) setPos(pos token.Pos) { v.pos = pos } - -func (v *anInstruction) Parent() *Function { return v.block.parent } -func (v *anInstruction) Block() *BasicBlock { return v.block } -func (v *anInstruction) setBlock(block *BasicBlock) { v.block = block } -func (v *anInstruction) Referrers() *[]Instruction { return nil } - -func (t *Type) Name() string { return t.object.Name() } -func (t *Type) Pos() token.Pos { return t.object.Pos() } -func (t *Type) Type() types.Type { return t.object.Type() } -func (t *Type) Token() token.Token { return token.TYPE } -func (t *Type) Object() types.Object { return t.object } -func (t *Type) String() string { return t.RelString(nil) } -func (t *Type) Package() *Package { return t.pkg } -func (t *Type) RelString(from *types.Package) string { return relString(t, from) } - -func (c *NamedConst) Name() string { return c.object.Name() } -func (c *NamedConst) Pos() token.Pos { return c.object.Pos() } -func (c *NamedConst) String() string { return c.RelString(nil) } -func (c *NamedConst) Type() types.Type { return c.object.Type() } -func (c *NamedConst) Token() token.Token { return token.CONST } -func (c *NamedConst) Object() types.Object { return c.object } -func (c *NamedConst) Package() *Package { return c.pkg } -func (c *NamedConst) RelString(from *types.Package) string { return relString(c, from) } - -// Func returns the package-level function of the specified name, -// or nil if not found. -// -func (p *Package) Func(name string) (f *Function) { - f, _ = p.Members[name].(*Function) - return -} - -// Var returns the package-level variable of the specified name, -// or nil if not found. -// -func (p *Package) Var(name string) (g *Global) { - g, _ = p.Members[name].(*Global) - return -} - -// Const returns the package-level constant of the specified name, -// or nil if not found. -// -func (p *Package) Const(name string) (c *NamedConst) { - c, _ = p.Members[name].(*NamedConst) - return -} - -// Type returns the package-level type of the specified name, -// or nil if not found. -// -func (p *Package) Type(name string) (t *Type) { - t, _ = p.Members[name].(*Type) - return -} - -func (v *Call) Pos() token.Pos { return v.Call.pos } -func (s *Defer) Pos() token.Pos { return s.pos } -func (s *Go) Pos() token.Pos { return s.pos } -func (s *MapUpdate) Pos() token.Pos { return s.pos } -func (s *Panic) Pos() token.Pos { return s.pos } -func (s *Return) Pos() token.Pos { return s.pos } -func (s *Send) Pos() token.Pos { return s.pos } -func (s *Store) Pos() token.Pos { return s.pos } -func (s *If) Pos() token.Pos { return token.NoPos } -func (s *Jump) Pos() token.Pos { return token.NoPos } -func (s *RunDefers) Pos() token.Pos { return token.NoPos } -func (s *DebugRef) Pos() token.Pos { return s.Expr.Pos() } - -// Operands. - -func (v *Alloc) Operands(rands []*Value) []*Value { - return rands -} - -func (v *BinOp) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Y) -} - -func (c *CallCommon) Operands(rands []*Value) []*Value { - rands = append(rands, &c.Value) - for i := range c.Args { - rands = append(rands, &c.Args[i]) - } - return rands -} - -func (s *Go) Operands(rands []*Value) []*Value { - return s.Call.Operands(rands) -} - -func (s *Call) Operands(rands []*Value) []*Value { - return s.Call.Operands(rands) -} - -func (s *Defer) Operands(rands []*Value) []*Value { - return s.Call.Operands(rands) -} - -func (v *ChangeInterface) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (v *ChangeType) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (v *Convert) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (s *DebugRef) Operands(rands []*Value) []*Value { - return append(rands, &s.X) -} - -func (v *Extract) Operands(rands []*Value) []*Value { - return append(rands, &v.Tuple) -} - -func (v *Field) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (v *FieldAddr) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (s *If) Operands(rands []*Value) []*Value { - return append(rands, &s.Cond) -} - -func (v *Index) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Index) -} - -func (v *IndexAddr) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Index) -} - -func (*Jump) Operands(rands []*Value) []*Value { - return rands -} - -func (v *Lookup) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Index) -} - -func (v *MakeChan) Operands(rands []*Value) []*Value { - return append(rands, &v.Size) -} - -func (v *MakeClosure) Operands(rands []*Value) []*Value { - rands = append(rands, &v.Fn) - for i := range v.Bindings { - rands = append(rands, &v.Bindings[i]) - } - return rands -} - -func (v *MakeInterface) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (v *MakeMap) Operands(rands []*Value) []*Value { - return append(rands, &v.Reserve) -} - -func (v *MakeSlice) Operands(rands []*Value) []*Value { - return append(rands, &v.Len, &v.Cap) -} - -func (v *MapUpdate) Operands(rands []*Value) []*Value { - return append(rands, &v.Map, &v.Key, &v.Value) -} - -func (v *Next) Operands(rands []*Value) []*Value { - return append(rands, &v.Iter) -} - -func (s *Panic) Operands(rands []*Value) []*Value { - return append(rands, &s.X) -} - -func (v *Phi) Operands(rands []*Value) []*Value { - for i := range v.Edges { - rands = append(rands, &v.Edges[i]) - } - return rands -} - -func (v *Range) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (s *Return) Operands(rands []*Value) []*Value { - for i := range s.Results { - rands = append(rands, &s.Results[i]) - } - return rands -} - -func (*RunDefers) Operands(rands []*Value) []*Value { - return rands -} - -func (v *Select) Operands(rands []*Value) []*Value { - for i := range v.States { - rands = append(rands, &v.States[i].Chan, &v.States[i].Send) - } - return rands -} - -func (s *Send) Operands(rands []*Value) []*Value { - return append(rands, &s.Chan, &s.X) -} - -func (v *Slice) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Low, &v.High, &v.Max) -} - -func (s *Store) Operands(rands []*Value) []*Value { - return append(rands, &s.Addr, &s.Val) -} - -func (v *TypeAssert) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -func (v *UnOp) Operands(rands []*Value) []*Value { - return append(rands, &v.X) -} - -// Non-Instruction Values: -func (v *Builtin) Operands(rands []*Value) []*Value { return rands } -func (v *FreeVar) Operands(rands []*Value) []*Value { return rands } -func (v *Const) Operands(rands []*Value) []*Value { return rands } -func (v *Function) Operands(rands []*Value) []*Value { return rands } -func (v *Global) Operands(rands []*Value) []*Value { return rands } -func (v *Parameter) Operands(rands []*Value) []*Value { return rands } diff --git a/vendor/golang.org/x/tools/go/ssa/ssautil/load.go b/vendor/golang.org/x/tools/go/ssa/ssautil/load.go deleted file mode 100644 index c2b8ce1..0000000 --- a/vendor/golang.org/x/tools/go/ssa/ssautil/load.go +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2015 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. - -package ssautil - -// This file defines utility functions for constructing programs in SSA form. - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -// CreateProgram returns a new program in SSA form, given a program -// loaded from source. An SSA package is created for each transitively -// error-free package of lprog. -// -// Code for bodies of functions is not built until BuildAll() is called -// on the result. -// -// mode controls diagnostics and checking during SSA construction. -// -func CreateProgram(lprog *loader.Program, mode ssa.BuilderMode) *ssa.Program { - prog := ssa.NewProgram(lprog.Fset, mode) - - for _, info := range lprog.AllPackages { - if info.TransitivelyErrorFree { - prog.CreatePackage(info.Pkg, info.Files, &info.Info, info.Importable) - } - } - - return prog -} - -// BuildPackage builds an SSA program with IR for a single package. -// -// It populates pkg by type-checking the specified file ASTs. All -// dependencies are loaded using the importer specified by tc, which -// typically loads compiler export data; SSA code cannot be built for -// those packages. BuildPackage then constructs an ssa.Program with all -// dependency packages created, and builds and returns the SSA package -// corresponding to pkg. -// -// The caller must have set pkg.Path() to the import path. -// -// The operation fails if there were any type-checking or import errors. -// -// See ../ssa/example_test.go for an example. -// -func BuildPackage(tc *types.Config, fset *token.FileSet, pkg *types.Package, files []*ast.File, mode ssa.BuilderMode) (*ssa.Package, *types.Info, error) { - if fset == nil { - panic("no token.FileSet") - } - if pkg.Path() == "" { - panic("package has no import path") - } - - info := &types.Info{ - Types: make(map[ast.Expr]types.TypeAndValue), - Defs: make(map[*ast.Ident]types.Object), - Uses: make(map[*ast.Ident]types.Object), - Implicits: make(map[ast.Node]types.Object), - Scopes: make(map[ast.Node]*types.Scope), - Selections: make(map[*ast.SelectorExpr]*types.Selection), - } - if err := types.NewChecker(tc, fset, pkg, info).Files(files); err != nil { - return nil, nil, err - } - - prog := ssa.NewProgram(fset, mode) - - // Create SSA packages for all imports. - // Order is not significant. - created := make(map[*types.Package]bool) - var createAll func(pkgs []*types.Package) - createAll = func(pkgs []*types.Package) { - for _, p := range pkgs { - if !created[p] { - created[p] = true - prog.CreatePackage(p, nil, nil, true) - createAll(p.Imports()) - } - } - } - createAll(pkg.Imports()) - - // Create and build the primary package. - ssapkg := prog.CreatePackage(pkg, files, info, false) - ssapkg.Build() - return ssapkg, info, nil -} diff --git a/vendor/golang.org/x/tools/go/ssa/ssautil/switch.go b/vendor/golang.org/x/tools/go/ssa/ssautil/switch.go deleted file mode 100644 index 70fff9c..0000000 --- a/vendor/golang.org/x/tools/go/ssa/ssautil/switch.go +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2013 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. - -package ssautil - -// This file implements discovery of switch and type-switch constructs -// from low-level control flow. -// -// Many techniques exist for compiling a high-level switch with -// constant cases to efficient machine code. The optimal choice will -// depend on the data type, the specific case values, the code in the -// body of each case, and the hardware. -// Some examples: -// - a lookup table (for a switch that maps constants to constants) -// - a computed goto -// - a binary tree -// - a perfect hash -// - a two-level switch (to partition constant strings by their first byte). - -import ( - "bytes" - "fmt" - "go/token" - - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" -) - -// A ConstCase represents a single constant comparison. -// It is part of a Switch. -type ConstCase struct { - Block *ssa.BasicBlock // block performing the comparison - Body *ssa.BasicBlock // body of the case - Value *ssa.Const // case comparand -} - -// A TypeCase represents a single type assertion. -// It is part of a Switch. -type TypeCase struct { - Block *ssa.BasicBlock // block performing the type assert - Body *ssa.BasicBlock // body of the case - Type types.Type // case type - Binding ssa.Value // value bound by this case -} - -// A Switch is a logical high-level control flow operation -// (a multiway branch) discovered by analysis of a CFG containing -// only if/else chains. It is not part of the ssa.Instruction set. -// -// One of ConstCases and TypeCases has length >= 2; -// the other is nil. -// -// In a value switch, the list of cases may contain duplicate constants. -// A type switch may contain duplicate types, or types assignable -// to an interface type also in the list. -// TODO(adonovan): eliminate such duplicates. -// -type Switch struct { - Start *ssa.BasicBlock // block containing start of if/else chain - X ssa.Value // the switch operand - ConstCases []ConstCase // ordered list of constant comparisons - TypeCases []TypeCase // ordered list of type assertions - Default *ssa.BasicBlock // successor if all comparisons fail -} - -func (sw *Switch) String() string { - // We represent each block by the String() of its - // first Instruction, e.g. "print(42:int)". - var buf bytes.Buffer - if sw.ConstCases != nil { - fmt.Fprintf(&buf, "switch %s {\n", sw.X.Name()) - for _, c := range sw.ConstCases { - fmt.Fprintf(&buf, "case %s: %s\n", c.Value, c.Body.Instrs[0]) - } - } else { - fmt.Fprintf(&buf, "switch %s.(type) {\n", sw.X.Name()) - for _, c := range sw.TypeCases { - fmt.Fprintf(&buf, "case %s %s: %s\n", - c.Binding.Name(), c.Type, c.Body.Instrs[0]) - } - } - if sw.Default != nil { - fmt.Fprintf(&buf, "default: %s\n", sw.Default.Instrs[0]) - } - fmt.Fprintf(&buf, "}") - return buf.String() -} - -// Switches examines the control-flow graph of fn and returns the -// set of inferred value and type switches. A value switch tests an -// ssa.Value for equality against two or more compile-time constant -// values. Switches involving link-time constants (addresses) are -// ignored. A type switch type-asserts an ssa.Value against two or -// more types. -// -// The switches are returned in dominance order. -// -// The resulting switches do not necessarily correspond to uses of the -// 'switch' keyword in the source: for example, a single source-level -// switch statement with non-constant cases may result in zero, one or -// many Switches, one per plural sequence of constant cases. -// Switches may even be inferred from if/else- or goto-based control flow. -// (In general, the control flow constructs of the source program -// cannot be faithfully reproduced from the SSA representation.) -// -func Switches(fn *ssa.Function) []Switch { - // Traverse the CFG in dominance order, so we don't - // enter an if/else-chain in the middle. - var switches []Switch - seen := make(map[*ssa.BasicBlock]bool) // TODO(adonovan): opt: use ssa.blockSet - for _, b := range fn.DomPreorder() { - if x, k := isComparisonBlock(b); x != nil { - // Block b starts a switch. - sw := Switch{Start: b, X: x} - valueSwitch(&sw, k, seen) - if len(sw.ConstCases) > 1 { - switches = append(switches, sw) - } - } - - if y, x, T := isTypeAssertBlock(b); y != nil { - // Block b starts a type switch. - sw := Switch{Start: b, X: x} - typeSwitch(&sw, y, T, seen) - if len(sw.TypeCases) > 1 { - switches = append(switches, sw) - } - } - } - return switches -} - -func valueSwitch(sw *Switch, k *ssa.Const, seen map[*ssa.BasicBlock]bool) { - b := sw.Start - x := sw.X - for x == sw.X { - if seen[b] { - break - } - seen[b] = true - - sw.ConstCases = append(sw.ConstCases, ConstCase{ - Block: b, - Body: b.Succs[0], - Value: k, - }) - b = b.Succs[1] - if len(b.Instrs) > 2 { - // Block b contains not just 'if x == k', - // so it may have side effects that - // make it unsafe to elide. - break - } - if len(b.Preds) != 1 { - // Block b has multiple predecessors, - // so it cannot be treated as a case. - break - } - x, k = isComparisonBlock(b) - } - sw.Default = b -} - -func typeSwitch(sw *Switch, y ssa.Value, T types.Type, seen map[*ssa.BasicBlock]bool) { - b := sw.Start - x := sw.X - for x == sw.X { - if seen[b] { - break - } - seen[b] = true - - sw.TypeCases = append(sw.TypeCases, TypeCase{ - Block: b, - Body: b.Succs[0], - Type: T, - Binding: y, - }) - b = b.Succs[1] - if len(b.Instrs) > 4 { - // Block b contains not just - // {TypeAssert; Extract #0; Extract #1; If} - // so it may have side effects that - // make it unsafe to elide. - break - } - if len(b.Preds) != 1 { - // Block b has multiple predecessors, - // so it cannot be treated as a case. - break - } - y, x, T = isTypeAssertBlock(b) - } - sw.Default = b -} - -// isComparisonBlock returns the operands (v, k) if a block ends with -// a comparison v==k, where k is a compile-time constant. -// -func isComparisonBlock(b *ssa.BasicBlock) (v ssa.Value, k *ssa.Const) { - if n := len(b.Instrs); n >= 2 { - if i, ok := b.Instrs[n-1].(*ssa.If); ok { - if binop, ok := i.Cond.(*ssa.BinOp); ok && binop.Block() == b && binop.Op == token.EQL { - if k, ok := binop.Y.(*ssa.Const); ok { - return binop.X, k - } - if k, ok := binop.X.(*ssa.Const); ok { - return binop.Y, k - } - } - } - } - return -} - -// isTypeAssertBlock returns the operands (y, x, T) if a block ends with -// a type assertion "if y, ok := x.(T); ok {". -// -func isTypeAssertBlock(b *ssa.BasicBlock) (y, x ssa.Value, T types.Type) { - if n := len(b.Instrs); n >= 4 { - if i, ok := b.Instrs[n-1].(*ssa.If); ok { - if ext1, ok := i.Cond.(*ssa.Extract); ok && ext1.Block() == b && ext1.Index == 1 { - if ta, ok := ext1.Tuple.(*ssa.TypeAssert); ok && ta.Block() == b { - // hack: relies upon instruction ordering. - if ext0, ok := b.Instrs[n-3].(*ssa.Extract); ok { - return ext0, ta.X, ta.AssertedType - } - } - } - } - } - return -} diff --git a/vendor/golang.org/x/tools/go/ssa/ssautil/visit.go b/vendor/golang.org/x/tools/go/ssa/ssautil/visit.go deleted file mode 100644 index 30843c3..0000000 --- a/vendor/golang.org/x/tools/go/ssa/ssautil/visit.go +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2013 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. - -package ssautil // import "golang.org/x/tools/go/ssa/ssautil" - -import "golang.org/x/tools/go/ssa" - -// This file defines utilities for visiting the SSA representation of -// a Program. -// -// TODO(adonovan): test coverage. - -// AllFunctions finds and returns the set of functions potentially -// needed by program prog, as determined by a simple linker-style -// reachability algorithm starting from the members and method-sets of -// each package. The result may include anonymous functions and -// synthetic wrappers. -// -// Precondition: all packages are built. -// -func AllFunctions(prog *ssa.Program) map[*ssa.Function]bool { - visit := visitor{ - prog: prog, - seen: make(map[*ssa.Function]bool), - } - visit.program() - return visit.seen -} - -type visitor struct { - prog *ssa.Program - seen map[*ssa.Function]bool -} - -func (visit *visitor) program() { - for _, pkg := range visit.prog.AllPackages() { - for _, mem := range pkg.Members { - if fn, ok := mem.(*ssa.Function); ok { - visit.function(fn) - } - } - } - for _, T := range visit.prog.RuntimeTypes() { - mset := visit.prog.MethodSets.MethodSet(T) - for i, n := 0, mset.Len(); i < n; i++ { - visit.function(visit.prog.Method(mset.At(i))) - } - } -} - -func (visit *visitor) function(fn *ssa.Function) { - if !visit.seen[fn] { - visit.seen[fn] = true - var buf [10]*ssa.Value // avoid alloc in common case - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - for _, op := range instr.Operands(buf[:0]) { - if fn, ok := (*op).(*ssa.Function); ok { - visit.function(fn) - } - } - } - } - } -} diff --git a/vendor/golang.org/x/tools/go/ssa/testmain.go b/vendor/golang.org/x/tools/go/ssa/testmain.go deleted file mode 100644 index a7b1242..0000000 --- a/vendor/golang.org/x/tools/go/ssa/testmain.go +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// CreateTestMainPackage synthesizes a main package that runs all the -// tests of the supplied packages. -// It is closely coupled to $GOROOT/src/cmd/go/test.go and $GOROOT/src/testing. - -import ( - "go/ast" - "go/token" - "os" - "sort" - "strings" - - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/types" -) - -// FindTests returns the list of packages that define at least one Test, -// Example or Benchmark function (as defined by "go test"), and the -// lists of all such functions. -// -func FindTests(pkgs []*Package) (testpkgs []*Package, tests, benchmarks, examples []*Function) { - if len(pkgs) == 0 { - return - } - prog := pkgs[0].Prog - - // The first two of these may be nil: if the program doesn't import "testing", - // it can't contain any tests, but it may yet contain Examples. - var testSig *types.Signature // func(*testing.T) - var benchmarkSig *types.Signature // func(*testing.B) - var exampleSig = types.NewSignature(nil, nil, nil, false) // func() - - // Obtain the types from the parameters of testing.Main(). - if testingPkg := prog.ImportedPackage("testing"); testingPkg != nil { - params := testingPkg.Func("Main").Signature.Params() - testSig = funcField(params.At(1).Type()) - benchmarkSig = funcField(params.At(2).Type()) - } - - seen := make(map[*Package]bool) - for _, pkg := range pkgs { - if pkg.Prog != prog { - panic("wrong Program") - } - - // TODO(adonovan): use a stable order, e.g. lexical. - for _, mem := range pkg.Members { - if f, ok := mem.(*Function); ok && - ast.IsExported(f.Name()) && - strings.HasSuffix(prog.Fset.Position(f.Pos()).Filename, "_test.go") { - - switch { - case testSig != nil && isTestSig(f, "Test", testSig): - tests = append(tests, f) - case benchmarkSig != nil && isTestSig(f, "Benchmark", benchmarkSig): - benchmarks = append(benchmarks, f) - case isTestSig(f, "Example", exampleSig): - examples = append(examples, f) - default: - continue - } - - if !seen[pkg] { - seen[pkg] = true - testpkgs = append(testpkgs, pkg) - } - } - } - } - return -} - -// Like isTest, but checks the signature too. -func isTestSig(f *Function, prefix string, sig *types.Signature) bool { - return isTest(f.Name(), prefix) && types.Identical(f.Signature, sig) -} - -// If non-nil, testMainStartBodyHook is called immediately after -// startBody for main.init and main.main, making it easy for users to -// add custom imports and initialization steps for proprietary build -// systems that don't exactly follow 'go test' conventions. -var testMainStartBodyHook func(*Function) - -// CreateTestMainPackage creates and returns a synthetic "main" -// package that runs all the tests of the supplied packages, similar -// to the one that would be created by the 'go test' tool. -// -// It returns nil if the program contains no tests. -// -func (prog *Program) CreateTestMainPackage(pkgs ...*Package) *Package { - pkgs, tests, benchmarks, examples := FindTests(pkgs) - if len(pkgs) == 0 { - return nil - } - - testmain := &Package{ - Prog: prog, - Members: make(map[string]Member), - values: make(map[types.Object]Value), - Object: types.NewPackage("test$main", "main"), - } - - // Build package's init function. - init := &Function{ - name: "init", - Signature: new(types.Signature), - Synthetic: "package initializer", - Pkg: testmain, - Prog: prog, - } - init.startBody() - - if testMainStartBodyHook != nil { - testMainStartBodyHook(init) - } - - // Initialize packages to test. - var pkgpaths []string - for _, pkg := range pkgs { - var v Call - v.Call.Value = pkg.init - v.setType(types.NewTuple()) - init.emit(&v) - - pkgpaths = append(pkgpaths, pkg.Object.Path()) - } - sort.Strings(pkgpaths) - init.emit(new(Return)) - init.finishBody() - testmain.init = init - testmain.Object.MarkComplete() - testmain.Members[init.name] = init - - // For debugging convenience, define an unexported const - // that enumerates the packages. - packagesConst := types.NewConst(token.NoPos, testmain.Object, "packages", tString, - exact.MakeString(strings.Join(pkgpaths, " "))) - memberFromObject(testmain, packagesConst, nil) - - // Create main *types.Func and *ssa.Function - mainFunc := types.NewFunc(token.NoPos, testmain.Object, "main", new(types.Signature)) - memberFromObject(testmain, mainFunc, nil) - main := testmain.Func("main") - main.Synthetic = "test main function" - - main.startBody() - - if testMainStartBodyHook != nil { - testMainStartBodyHook(main) - } - - if testingPkg := prog.ImportedPackage("testing"); testingPkg != nil { - testingMain := testingPkg.Func("Main") - testingMainParams := testingMain.Signature.Params() - - // The generated code is as if compiled from this: - // - // func main() { - // match := func(_, _ string) (bool, error) { return true, nil } - // tests := []testing.InternalTest{{"TestFoo", TestFoo}, ...} - // benchmarks := []testing.InternalBenchmark{...} - // examples := []testing.InternalExample{...} - // testing.Main(match, tests, benchmarks, examples) - // } - - matcher := &Function{ - name: "matcher", - Signature: testingMainParams.At(0).Type().(*types.Signature), - Synthetic: "test matcher predicate", - parent: main, - Pkg: testmain, - Prog: prog, - } - main.AnonFuncs = append(main.AnonFuncs, matcher) - matcher.startBody() - matcher.emit(&Return{Results: []Value{vTrue, nilConst(types.Universe.Lookup("error").Type())}}) - matcher.finishBody() - - // Emit call: testing.Main(matcher, tests, benchmarks, examples). - var c Call - c.Call.Value = testingMain - c.Call.Args = []Value{ - matcher, - testMainSlice(main, tests, testingMainParams.At(1).Type()), - testMainSlice(main, benchmarks, testingMainParams.At(2).Type()), - testMainSlice(main, examples, testingMainParams.At(3).Type()), - } - emitTailCall(main, &c) - } else { - // The program does not import "testing", but FindTests - // returned non-nil, which must mean there were Examples - // but no Tests or Benchmarks. - // We'll simply call them from testmain.main; this will - // ensure they don't panic, but will not check any - // "Output:" comments. - for _, eg := range examples { - var c Call - c.Call.Value = eg - c.setType(types.NewTuple()) - main.emit(&c) - } - main.emit(&Return{}) - main.currentBlock = nil - } - - main.finishBody() - - testmain.Members["main"] = main - - if prog.mode&PrintPackages != 0 { - printMu.Lock() - testmain.WriteTo(os.Stdout) - printMu.Unlock() - } - - if prog.mode&SanityCheckFunctions != 0 { - sanityCheckPackage(testmain) - } - - prog.packages[testmain.Object] = testmain - - return testmain -} - -// testMainSlice emits to fn code to construct a slice of type slice -// (one of []testing.Internal{Test,Benchmark,Example}) for all -// functions in testfuncs. It returns the slice value. -// -func testMainSlice(fn *Function, testfuncs []*Function, slice types.Type) Value { - if testfuncs == nil { - return nilConst(slice) - } - - tElem := slice.(*types.Slice).Elem() - tPtrString := types.NewPointer(tString) - tPtrElem := types.NewPointer(tElem) - tPtrFunc := types.NewPointer(funcField(slice)) - - // Emit: array = new [n]testing.InternalTest - tArray := types.NewArray(tElem, int64(len(testfuncs))) - array := emitNew(fn, tArray, token.NoPos) - array.Comment = "test main" - for i, testfunc := range testfuncs { - // Emit: pitem = &array[i] - ia := &IndexAddr{X: array, Index: intConst(int64(i))} - ia.setType(tPtrElem) - pitem := fn.emit(ia) - - // Emit: pname = &pitem.Name - fa := &FieldAddr{X: pitem, Field: 0} // .Name - fa.setType(tPtrString) - pname := fn.emit(fa) - - // Emit: *pname = "testfunc" - emitStore(fn, pname, stringConst(testfunc.Name()), token.NoPos) - - // Emit: pfunc = &pitem.F - fa = &FieldAddr{X: pitem, Field: 1} // .F - fa.setType(tPtrFunc) - pfunc := fn.emit(fa) - - // Emit: *pfunc = testfunc - emitStore(fn, pfunc, testfunc, token.NoPos) - } - - // Emit: slice array[:] - sl := &Slice{X: array} - sl.setType(slice) - return fn.emit(sl) -} - -// Given the type of one of the three slice parameters of testing.Main, -// returns the function type. -func funcField(slice types.Type) *types.Signature { - return slice.(*types.Slice).Elem().Underlying().(*types.Struct).Field(1).Type().(*types.Signature) -} - -// Plundered from $GOROOT/src/cmd/go/test.go - -// isTest tells whether name looks like a test (or benchmark, according to prefix). -// It is a Test (say) if there is a character after Test that is not a lower-case letter. -// We don't want TesticularCancer. -func isTest(name, prefix string) bool { - if !strings.HasPrefix(name, prefix) { - return false - } - if len(name) == len(prefix) { // "Test" is ok - return true - } - return ast.IsExported(name[len(prefix):]) -} diff --git a/vendor/golang.org/x/tools/go/ssa/util.go b/vendor/golang.org/x/tools/go/ssa/util.go deleted file mode 100644 index 4f9d43d..0000000 --- a/vendor/golang.org/x/tools/go/ssa/util.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines a number of miscellaneous utility functions. - -import ( - "fmt" - "go/ast" - "go/token" - "io" - "os" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/types" -) - -//// AST utilities - -func unparen(e ast.Expr) ast.Expr { return astutil.Unparen(e) } - -// isBlankIdent returns true iff e is an Ident with name "_". -// They have no associated types.Object, and thus no type. -// -func isBlankIdent(e ast.Expr) bool { - id, ok := e.(*ast.Ident) - return ok && id.Name == "_" -} - -//// Type utilities. Some of these belong in go/types. - -// isPointer returns true for types whose underlying type is a pointer. -func isPointer(typ types.Type) bool { - _, ok := typ.Underlying().(*types.Pointer) - return ok -} - -func isInterface(T types.Type) bool { return types.IsInterface(T) } - -// deref returns a pointer's element type; otherwise it returns typ. -func deref(typ types.Type) types.Type { - if p, ok := typ.Underlying().(*types.Pointer); ok { - return p.Elem() - } - return typ -} - -// recvType returns the receiver type of method obj. -func recvType(obj *types.Func) types.Type { - return obj.Type().(*types.Signature).Recv().Type() -} - -// DefaultType returns the default "typed" type for an "untyped" type; -// it returns the incoming type for all other types. The default type -// for untyped nil is untyped nil. -// -// Exported to ssa/interp. -// -// TODO(gri): this is a copy of go/types.defaultType; export that function. -// -func DefaultType(typ types.Type) types.Type { - if t, ok := typ.(*types.Basic); ok { - k := t.Kind() - switch k { - case types.UntypedBool: - k = types.Bool - case types.UntypedInt: - k = types.Int - case types.UntypedRune: - k = types.Rune - case types.UntypedFloat: - k = types.Float64 - case types.UntypedComplex: - k = types.Complex128 - case types.UntypedString: - k = types.String - } - typ = types.Typ[k] - } - return typ -} - -// logStack prints the formatted "start" message to stderr and -// returns a closure that prints the corresponding "end" message. -// Call using 'defer logStack(...)()' to show builder stack on panic. -// Don't forget trailing parens! -// -func logStack(format string, args ...interface{}) func() { - msg := fmt.Sprintf(format, args...) - io.WriteString(os.Stderr, msg) - io.WriteString(os.Stderr, "\n") - return func() { - io.WriteString(os.Stderr, msg) - io.WriteString(os.Stderr, " end\n") - } -} - -// newVar creates a 'var' for use in a types.Tuple. -func newVar(name string, typ types.Type) *types.Var { - return types.NewParam(token.NoPos, nil, name, typ) -} - -// anonVar creates an anonymous 'var' for use in a types.Tuple. -func anonVar(typ types.Type) *types.Var { - return newVar("", typ) -} - -var lenResults = types.NewTuple(anonVar(tInt)) - -// makeLen returns the len builtin specialized to type func(T)int. -func makeLen(T types.Type) *Builtin { - lenParams := types.NewTuple(anonVar(T)) - return &Builtin{ - name: "len", - sig: types.NewSignature(nil, lenParams, lenResults, false), - } -} diff --git a/vendor/golang.org/x/tools/go/ssa/wrappers.go b/vendor/golang.org/x/tools/go/ssa/wrappers.go deleted file mode 100644 index ff1eac5..0000000 --- a/vendor/golang.org/x/tools/go/ssa/wrappers.go +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright 2013 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. - -package ssa - -// This file defines synthesis of Functions that delegate to declared -// methods; they come in three kinds: -// -// (1) wrappers: methods that wrap declared methods, performing -// implicit pointer indirections and embedded field selections. -// -// (2) thunks: funcs that wrap declared methods. Like wrappers, -// thunks perform indirections and field selections. The thunk's -// first parameter is used as the receiver for the method call. -// -// (3) bounds: funcs that wrap declared methods. The bound's sole -// free variable, supplied by a closure, is used as the receiver -// for the method call. No indirections or field selections are -// performed since they can be done before the call. - -import ( - "fmt" - - "golang.org/x/tools/go/types" -) - -// -- wrappers ----------------------------------------------------------- - -// makeWrapper returns a synthetic method that delegates to the -// declared method denoted by meth.Obj(), first performing any -// necessary pointer indirections or field selections implied by meth. -// -// The resulting method's receiver type is meth.Recv(). -// -// This function is versatile but quite subtle! Consider the -// following axes of variation when making changes: -// - optional receiver indirection -// - optional implicit field selections -// - meth.Obj() may denote a concrete or an interface method -// - the result may be a thunk or a wrapper. -// -// EXCLUSIVE_LOCKS_REQUIRED(prog.methodsMu) -// -func makeWrapper(prog *Program, sel *types.Selection) *Function { - obj := sel.Obj().(*types.Func) // the declared function - sig := sel.Type().(*types.Signature) // type of this wrapper - - var recv *types.Var // wrapper's receiver or thunk's params[0] - name := obj.Name() - var description string - var start int // first regular param - if sel.Kind() == types.MethodExpr { - name += "$thunk" - description = "thunk" - recv = sig.Params().At(0) - start = 1 - } else { - description = "wrapper" - recv = sig.Recv() - } - - description = fmt.Sprintf("%s for %s", description, sel.Obj()) - if prog.mode&LogSource != 0 { - defer logStack("make %s to (%s)", description, recv.Type())() - } - fn := &Function{ - name: name, - method: sel, - object: obj, - Signature: sig, - Synthetic: description, - Prog: prog, - pos: obj.Pos(), - } - fn.startBody() - fn.addSpilledParam(recv) - createParams(fn, start) - - indices := sel.Index() - - var v Value = fn.Locals[0] // spilled receiver - if isPointer(sel.Recv()) { - v = emitLoad(fn, v) - - // For simple indirection wrappers, perform an informative nil-check: - // "value method (T).f called using nil *T pointer" - if len(indices) == 1 && !isPointer(recvType(obj)) { - var c Call - c.Call.Value = &Builtin{ - name: "ssa:wrapnilchk", - sig: types.NewSignature(nil, - types.NewTuple(anonVar(sel.Recv()), anonVar(tString), anonVar(tString)), - types.NewTuple(anonVar(sel.Recv())), false), - } - c.Call.Args = []Value{ - v, - stringConst(deref(sel.Recv()).String()), - stringConst(sel.Obj().Name()), - } - c.setType(v.Type()) - v = fn.emit(&c) - } - } - - // Invariant: v is a pointer, either - // value of *A receiver param, or - // address of A spilled receiver. - - // We use pointer arithmetic (FieldAddr possibly followed by - // Load) in preference to value extraction (Field possibly - // preceded by Load). - - v = emitImplicitSelections(fn, v, indices[:len(indices)-1]) - - // Invariant: v is a pointer, either - // value of implicit *C field, or - // address of implicit C field. - - var c Call - if r := recvType(obj); !isInterface(r) { // concrete method - if !isPointer(r) { - v = emitLoad(fn, v) - } - c.Call.Value = prog.declaredFunc(obj) - c.Call.Args = append(c.Call.Args, v) - } else { - c.Call.Method = obj - c.Call.Value = emitLoad(fn, v) - } - for _, arg := range fn.Params[1:] { - c.Call.Args = append(c.Call.Args, arg) - } - emitTailCall(fn, &c) - fn.finishBody() - return fn -} - -// createParams creates parameters for wrapper method fn based on its -// Signature.Params, which do not include the receiver. -// start is the index of the first regular parameter to use. -// -func createParams(fn *Function, start int) { - var last *Parameter - tparams := fn.Signature.Params() - for i, n := start, tparams.Len(); i < n; i++ { - last = fn.addParamObj(tparams.At(i)) - } - if fn.Signature.Variadic() { - last.typ = types.NewSlice(last.typ) - } -} - -// -- bounds ----------------------------------------------------------- - -// makeBound returns a bound method wrapper (or "bound"), a synthetic -// function that delegates to a concrete or interface method denoted -// by obj. The resulting function has no receiver, but has one free -// variable which will be used as the method's receiver in the -// tail-call. -// -// Use MakeClosure with such a wrapper to construct a bound method -// closure. e.g.: -// -// type T int or: type T interface { meth() } -// func (t T) meth() -// var t T -// f := t.meth -// f() // calls t.meth() -// -// f is a closure of a synthetic wrapper defined as if by: -// -// f := func() { return t.meth() } -// -// Unlike makeWrapper, makeBound need perform no indirection or field -// selections because that can be done before the closure is -// constructed. -// -// EXCLUSIVE_LOCKS_ACQUIRED(meth.Prog.methodsMu) -// -func makeBound(prog *Program, obj *types.Func) *Function { - prog.methodsMu.Lock() - defer prog.methodsMu.Unlock() - fn, ok := prog.bounds[obj] - if !ok { - description := fmt.Sprintf("bound method wrapper for %s", obj) - if prog.mode&LogSource != 0 { - defer logStack("%s", description)() - } - fn = &Function{ - name: obj.Name() + "$bound", - object: obj, - Signature: changeRecv(obj.Type().(*types.Signature), nil), // drop receiver - Synthetic: description, - Prog: prog, - pos: obj.Pos(), - } - - fv := &FreeVar{name: "recv", typ: recvType(obj), parent: fn} - fn.FreeVars = []*FreeVar{fv} - fn.startBody() - createParams(fn, 0) - var c Call - - if !isInterface(recvType(obj)) { // concrete - c.Call.Value = prog.declaredFunc(obj) - c.Call.Args = []Value{fv} - } else { - c.Call.Value = fv - c.Call.Method = obj - } - for _, arg := range fn.Params { - c.Call.Args = append(c.Call.Args, arg) - } - emitTailCall(fn, &c) - fn.finishBody() - - prog.bounds[obj] = fn - } - return fn -} - -// -- thunks ----------------------------------------------------------- - -// makeThunk returns a thunk, a synthetic function that delegates to a -// concrete or interface method denoted by sel.Obj(). The resulting -// function has no receiver, but has an additional (first) regular -// parameter. -// -// Precondition: sel.Kind() == types.MethodExpr. -// -// type T int or: type T interface { meth() } -// func (t T) meth() -// f := T.meth -// var t T -// f(t) // calls t.meth() -// -// f is a synthetic wrapper defined as if by: -// -// f := func(t T) { return t.meth() } -// -// TODO(adonovan): opt: currently the stub is created even when used -// directly in a function call: C.f(i, 0). This is less efficient -// than inlining the stub. -// -// EXCLUSIVE_LOCKS_ACQUIRED(meth.Prog.methodsMu) -// -func makeThunk(prog *Program, sel *types.Selection) *Function { - if sel.Kind() != types.MethodExpr { - panic(sel) - } - - key := selectionKey{ - kind: sel.Kind(), - recv: sel.Recv(), - obj: sel.Obj(), - index: fmt.Sprint(sel.Index()), - indirect: sel.Indirect(), - } - - prog.methodsMu.Lock() - defer prog.methodsMu.Unlock() - - // Canonicalize key.recv to avoid constructing duplicate thunks. - canonRecv, ok := prog.canon.At(key.recv).(types.Type) - if !ok { - canonRecv = key.recv - prog.canon.Set(key.recv, canonRecv) - } - key.recv = canonRecv - - fn, ok := prog.thunks[key] - if !ok { - fn = makeWrapper(prog, sel) - if fn.Signature.Recv() != nil { - panic(fn) // unexpected receiver - } - prog.thunks[key] = fn - } - return fn -} - -func changeRecv(s *types.Signature, recv *types.Var) *types.Signature { - return types.NewSignature(recv, s.Params(), s.Results(), s.Variadic()) -} - -// selectionKey is like types.Selection but a usable map key. -type selectionKey struct { - kind types.SelectionKind - recv types.Type // canonicalized via Program.canon - obj types.Object - index string - indirect bool -} diff --git a/vendor/golang.org/x/tools/go/types/api.go b/vendor/golang.org/x/tools/go/types/api.go deleted file mode 100644 index 5344a39..0000000 --- a/vendor/golang.org/x/tools/go/types/api.go +++ /dev/null @@ -1,365 +0,0 @@ -// Copyright 2012 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. - -// Package types declares the data types and implements -// the algorithms for type-checking of Go packages. -// Use Check and Config.Check to invoke the type-checker. -// -// Type-checking consists of several interdependent phases: -// -// Name resolution maps each identifier (ast.Ident) in the program to the -// language object (Object) it denotes. -// Use Info.{Defs,Uses,Implicits} for the results of name resolution. -// -// Constant folding computes the exact constant value (exact.Value) for -// every expression (ast.Expr) that is a compile-time constant. -// Use Info.Types[expr].Value for the results of constant folding. -// -// Type inference computes the type (Type) of every expression (ast.Expr) -// and checks for compliance with the language specification. -// Use Info.Types[expr].Type for the results of type inference. -// -package types // import "golang.org/x/tools/go/types" - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -// Check type-checks a package and returns the resulting complete package -// object, or a nil package and the first error. The package is specified -// by a list of *ast.Files and corresponding file set, and the import path -// the package is identified with. The clean path must not be empty or dot ("."). -// -// For more control over type-checking and results, use Config.Check. -func Check(path string, fset *token.FileSet, files []*ast.File) (*Package, error) { - var conf Config - pkg, err := conf.Check(path, fset, files, nil) - if err != nil { - return nil, err - } - return pkg, nil -} - -// An Error describes a type-checking error; it implements the error interface. -// A "soft" error is an error that still permits a valid interpretation of a -// package (such as "unused variable"); "hard" errors may lead to unpredictable -// behavior if ignored. -type Error struct { - Fset *token.FileSet // file set for interpretation of Pos - Pos token.Pos // error position - Msg string // error message - Soft bool // if set, error is "soft" -} - -// Error returns an error string formatted as follows: -// filename:line:column: message -func (err Error) Error() string { - return fmt.Sprintf("%s: %s", err.Fset.Position(err.Pos), err.Msg) -} - -// An importer resolves import paths to Packages. -// The imports map records packages already known, -// indexed by package path. The type-checker -// will invoke Import with Config.Packages. -// An importer must determine the canonical package path and -// check imports to see if it is already present in the map. -// If so, the Importer can return the map entry. Otherwise, -// the importer must load the package data for the given path -// into a new *Package, record it in imports map, and return -// the package. -// TODO(gri) Need to be clearer about requirements of completeness. -type Importer func(map[string]*Package, string) (*Package, error) - -// A Config specifies the configuration for type checking. -// The zero value for Config is a ready-to-use default configuration. -type Config struct { - // If IgnoreFuncBodies is set, function bodies are not - // type-checked. - IgnoreFuncBodies bool - - // If FakeImportC is set, `import "C"` (for packages requiring Cgo) - // declares an empty "C" package and errors are omitted for qualified - // identifiers referring to package C (which won't find an object). - // This feature is intended for the standard library cmd/api tool. - // - // Caution: Effects may be unpredictable due to follow-up errors. - // Do not use casually! - FakeImportC bool - - // Packages is used to look up (and thus canonicalize) packages by - // package path. If Packages is nil, it is set to a new empty map. - // During type-checking, imported packages are added to the map. - Packages map[string]*Package - - // If Error != nil, it is called with each error found - // during type checking; err has dynamic type Error. - // Secondary errors (for instance, to enumerate all types - // involved in an invalid recursive type declaration) have - // error strings that start with a '\t' character. - // If Error == nil, type-checking stops with the first - // error found. - Error func(err error) - - // If Import != nil, it is called for each imported package. - // Otherwise, DefaultImport is called. - Import Importer - - // If Sizes != nil, it provides the sizing functions for package unsafe. - // Otherwise &StdSizes{WordSize: 8, MaxAlign: 8} is used instead. - Sizes Sizes - - // If DisableUnusedImportCheck is set, packages are not checked - // for unused imports. - DisableUnusedImportCheck bool -} - -// DefaultImport is the default importer invoked if Config.Import == nil. -// The declaration: -// -// import _ "golang.org/x/tools/go/gcimporter" -// -// in a client of go/types will initialize DefaultImport to gcimporter.Import. -var DefaultImport Importer - -// Info holds result type information for a type-checked package. -// Only the information for which a map is provided is collected. -// If the package has type errors, the collected information may -// be incomplete. -type Info struct { - // Types maps expressions to their types, and for constant - // expressions, their values. Invalid expressions are omitted. - // - // For (possibly parenthesized) identifiers denoting built-in - // functions, the recorded signatures are call-site specific: - // if the call result is not a constant, the recorded type is - // an argument-specific signature. Otherwise, the recorded type - // is invalid. - // - // Identifiers on the lhs of declarations (i.e., the identifiers - // which are being declared) are collected in the Defs map. - // Identifiers denoting packages are collected in the Uses maps. - Types map[ast.Expr]TypeAndValue - - // Defs maps identifiers to the objects they define (including - // package names, dots "." of dot-imports, and blank "_" identifiers). - // For identifiers that do not denote objects (e.g., the package name - // in package clauses, or symbolic variables t in t := x.(type) of - // type switch headers), the corresponding objects are nil. - // - // For an anonymous field, Defs returns the field *Var it defines. - // - // Invariant: Defs[id] == nil || Defs[id].Pos() == id.Pos() - Defs map[*ast.Ident]Object - - // Uses maps identifiers to the objects they denote. - // - // For an anonymous field, Uses returns the *TypeName it denotes. - // - // Invariant: Uses[id].Pos() != id.Pos() - Uses map[*ast.Ident]Object - - // Implicits maps nodes to their implicitly declared objects, if any. - // The following node and object types may appear: - // - // node declared object - // - // *ast.ImportSpec *PkgName for dot-imports and imports without renames - // *ast.CaseClause type-specific *Var for each type switch case clause (incl. default) - // *ast.Field anonymous struct field or parameter *Var - // - Implicits map[ast.Node]Object - - // Selections maps selector expressions (excluding qualified identifiers) - // to their corresponding selections. - Selections map[*ast.SelectorExpr]*Selection - - // Scopes maps ast.Nodes to the scopes they define. Package scopes are not - // associated with a specific node but with all files belonging to a package. - // Thus, the package scope can be found in the type-checked Package object. - // Scopes nest, with the Universe scope being the outermost scope, enclosing - // the package scope, which contains (one or more) files scopes, which enclose - // function scopes which in turn enclose statement and function literal scopes. - // Note that even though package-level functions are declared in the package - // scope, the function scopes are embedded in the file scope of the file - // containing the function declaration. - // - // The following node types may appear in Scopes: - // - // *ast.File - // *ast.FuncType - // *ast.BlockStmt - // *ast.IfStmt - // *ast.SwitchStmt - // *ast.TypeSwitchStmt - // *ast.CaseClause - // *ast.CommClause - // *ast.ForStmt - // *ast.RangeStmt - // - Scopes map[ast.Node]*Scope - - // InitOrder is the list of package-level initializers in the order in which - // they must be executed. Initializers referring to variables related by an - // initialization dependency appear in topological order, the others appear - // in source order. Variables without an initialization expression do not - // appear in this list. - InitOrder []*Initializer -} - -// TypeOf returns the type of expression e, or nil if not found. -// Precondition: the Types, Uses and Defs maps are populated. -// -func (info *Info) TypeOf(e ast.Expr) Type { - if t, ok := info.Types[e]; ok { - return t.Type - } - if id, _ := e.(*ast.Ident); id != nil { - if obj := info.ObjectOf(id); obj != nil { - return obj.Type() - } - } - return nil -} - -// ObjectOf returns the object denoted by the specified id, -// or nil if not found. -// -// If id is an anonymous struct field, ObjectOf returns the field (*Var) -// it uses, not the type (*TypeName) it defines. -// -// Precondition: the Uses and Defs maps are populated. -// -func (info *Info) ObjectOf(id *ast.Ident) Object { - if obj, _ := info.Defs[id]; obj != nil { - return obj - } - return info.Uses[id] -} - -// TypeAndValue reports the type and value (for constants) -// of the corresponding expression. -type TypeAndValue struct { - mode operandMode - Type Type - Value exact.Value -} - -// TODO(gri) Consider eliminating the IsVoid predicate. Instead, report -// "void" values as regular values but with the empty tuple type. - -// IsVoid reports whether the corresponding expression -// is a function call without results. -func (tv TypeAndValue) IsVoid() bool { - return tv.mode == novalue -} - -// IsType reports whether the corresponding expression specifies a type. -func (tv TypeAndValue) IsType() bool { - return tv.mode == typexpr -} - -// IsBuiltin reports whether the corresponding expression denotes -// a (possibly parenthesized) built-in function. -func (tv TypeAndValue) IsBuiltin() bool { - return tv.mode == builtin -} - -// IsValue reports whether the corresponding expression is a value. -// Builtins are not considered values. Constant values have a non- -// nil Value. -func (tv TypeAndValue) IsValue() bool { - switch tv.mode { - case constant, variable, mapindex, value, commaok: - return true - } - return false -} - -// IsNil reports whether the corresponding expression denotes the -// predeclared value nil. -func (tv TypeAndValue) IsNil() bool { - return tv.mode == value && tv.Type == Typ[UntypedNil] -} - -// Addressable reports whether the corresponding expression -// is addressable (http://golang.org/ref/spec#Address_operators). -func (tv TypeAndValue) Addressable() bool { - return tv.mode == variable -} - -// Assignable reports whether the corresponding expression -// is assignable to (provided a value of the right type). -func (tv TypeAndValue) Assignable() bool { - return tv.mode == variable || tv.mode == mapindex -} - -// HasOk reports whether the corresponding expression may be -// used on the lhs of a comma-ok assignment. -func (tv TypeAndValue) HasOk() bool { - return tv.mode == commaok || tv.mode == mapindex -} - -// An Initializer describes a package-level variable, or a list of variables in case -// of a multi-valued initialization expression, and the corresponding initialization -// expression. -type Initializer struct { - Lhs []*Var // var Lhs = Rhs - Rhs ast.Expr -} - -func (init *Initializer) String() string { - var buf bytes.Buffer - for i, lhs := range init.Lhs { - if i > 0 { - buf.WriteString(", ") - } - buf.WriteString(lhs.Name()) - } - buf.WriteString(" = ") - WriteExpr(&buf, init.Rhs) - return buf.String() -} - -// Check type-checks a package and returns the resulting package object, -// the first error if any, and if info != nil, additional type information. -// The package is marked as complete if no errors occurred, otherwise it is -// incomplete. See Config.Error for controlling behavior in the presence of -// errors. -// -// The package is specified by a list of *ast.Files and corresponding -// file set, and the package path the package is identified with. -// The clean path must not be empty or dot ("."). -func (conf *Config) Check(path string, fset *token.FileSet, files []*ast.File, info *Info) (*Package, error) { - pkg := NewPackage(path, "") - return pkg, NewChecker(conf, fset, pkg, info).Files(files) -} - -// AssertableTo reports whether a value of type V can be asserted to have type T. -func AssertableTo(V *Interface, T Type) bool { - m, _ := assertableTo(V, T) - return m == nil -} - -// AssignableTo reports whether a value of type V is assignable to a variable of type T. -func AssignableTo(V, T Type) bool { - x := operand{mode: value, typ: V} - return x.assignableTo(nil, T) // config not needed for non-constant x -} - -// ConvertibleTo reports whether a value of type V is convertible to a value of type T. -func ConvertibleTo(V, T Type) bool { - x := operand{mode: value, typ: V} - return x.convertibleTo(nil, T) // config not needed for non-constant x -} - -// Implements reports whether type V implements interface T. -func Implements(V Type, T *Interface) bool { - f, _ := MissingMethod(V, T, true) - return f == nil -} diff --git a/vendor/golang.org/x/tools/go/types/assignments.go b/vendor/golang.org/x/tools/go/types/assignments.go deleted file mode 100644 index 93b842e..0000000 --- a/vendor/golang.org/x/tools/go/types/assignments.go +++ /dev/null @@ -1,328 +0,0 @@ -// Copyright 2013 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. - -// This file implements initialization and assignment checks. - -package types - -import ( - "go/ast" - "go/token" -) - -// assignment reports whether x can be assigned to a variable of type T, -// if necessary by attempting to convert untyped values to the appropriate -// type. If x.mode == invalid upon return, then assignment has already -// issued an error message and the caller doesn't have to report another. -// Use T == nil to indicate assignment to an untyped blank identifier. -// -// TODO(gri) Should find a better way to handle in-band errors. -// -func (check *Checker) assignment(x *operand, T Type) bool { - switch x.mode { - case invalid: - return true // error reported before - case constant, variable, mapindex, value, commaok: - // ok - default: - unreachable() - } - - // x must be a single value - // (tuple types are never named - no need for underlying type) - if t, _ := x.typ.(*Tuple); t != nil { - assert(t.Len() > 1) - check.errorf(x.pos(), "%d-valued expression %s used as single value", t.Len(), x) - x.mode = invalid - return false - } - - if isUntyped(x.typ) { - target := T - // spec: "If an untyped constant is assigned to a variable of interface - // type or the blank identifier, the constant is first converted to type - // bool, rune, int, float64, complex128 or string respectively, depending - // on whether the value is a boolean, rune, integer, floating-point, complex, - // or string constant." - if T == nil || IsInterface(T) { - if T == nil && x.typ == Typ[UntypedNil] { - check.errorf(x.pos(), "use of untyped nil") - x.mode = invalid - return false - } - target = defaultType(x.typ) - } - check.convertUntyped(x, target) - if x.mode == invalid { - return false - } - } - - // spec: "If a left-hand side is the blank identifier, any typed or - // non-constant value except for the predeclared identifier nil may - // be assigned to it." - return T == nil || x.assignableTo(check.conf, T) -} - -func (check *Checker) initConst(lhs *Const, x *operand) { - if x.mode == invalid || x.typ == Typ[Invalid] || lhs.typ == Typ[Invalid] { - if lhs.typ == nil { - lhs.typ = Typ[Invalid] - } - return - } - - // rhs must be a constant - if x.mode != constant { - check.errorf(x.pos(), "%s is not constant", x) - if lhs.typ == nil { - lhs.typ = Typ[Invalid] - } - return - } - assert(isConstType(x.typ)) - - // If the lhs doesn't have a type yet, use the type of x. - if lhs.typ == nil { - lhs.typ = x.typ - } - - if !check.assignment(x, lhs.typ) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot define constant %s (type %s) as %s", lhs.Name(), lhs.typ, x) - } - return - } - - lhs.val = x.val -} - -// If result is set, lhs is a function result parameter and x is a return result. -func (check *Checker) initVar(lhs *Var, x *operand, result bool) Type { - if x.mode == invalid || x.typ == Typ[Invalid] || lhs.typ == Typ[Invalid] { - if lhs.typ == nil { - lhs.typ = Typ[Invalid] - } - return nil - } - - // If the lhs doesn't have a type yet, use the type of x. - if lhs.typ == nil { - typ := x.typ - if isUntyped(typ) { - // convert untyped types to default types - if typ == Typ[UntypedNil] { - check.errorf(x.pos(), "use of untyped nil") - lhs.typ = Typ[Invalid] - return nil - } - typ = defaultType(typ) - } - lhs.typ = typ - } - - if !check.assignment(x, lhs.typ) { - if x.mode != invalid { - if result { - // don't refer to lhs.name because it may be an anonymous result parameter - check.errorf(x.pos(), "cannot return %s as value of type %s", x, lhs.typ) - } else { - check.errorf(x.pos(), "cannot initialize %s with %s", lhs, x) - } - } - return nil - } - - return x.typ -} - -func (check *Checker) assignVar(lhs ast.Expr, x *operand) Type { - if x.mode == invalid || x.typ == Typ[Invalid] { - return nil - } - - // Determine if the lhs is a (possibly parenthesized) identifier. - ident, _ := unparen(lhs).(*ast.Ident) - - // Don't evaluate lhs if it is the blank identifier. - if ident != nil && ident.Name == "_" { - check.recordDef(ident, nil) - if !check.assignment(x, nil) { - assert(x.mode == invalid) - x.typ = nil - } - return x.typ - } - - // If the lhs is an identifier denoting a variable v, this assignment - // is not a 'use' of v. Remember current value of v.used and restore - // after evaluating the lhs via check.expr. - var v *Var - var v_used bool - if ident != nil { - if _, obj := check.scope.LookupParent(ident.Name, token.NoPos); obj != nil { - v, _ = obj.(*Var) - if v != nil { - v_used = v.used - } - } - } - - var z operand - check.expr(&z, lhs) - if v != nil { - v.used = v_used // restore v.used - } - - if z.mode == invalid || z.typ == Typ[Invalid] { - return nil - } - - // spec: "Each left-hand side operand must be addressable, a map index - // expression, or the blank identifier. Operands may be parenthesized." - switch z.mode { - case invalid: - return nil - case variable, mapindex: - // ok - default: - check.errorf(z.pos(), "cannot assign to %s", &z) - return nil - } - - if !check.assignment(x, z.typ) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot assign %s to %s", x, &z) - } - return nil - } - - return x.typ -} - -// If returnPos is valid, initVars is called to type-check the assignment of -// return expressions, and returnPos is the position of the return statement. -func (check *Checker) initVars(lhs []*Var, rhs []ast.Expr, returnPos token.Pos) { - l := len(lhs) - get, r, commaOk := unpack(func(x *operand, i int) { check.expr(x, rhs[i]) }, len(rhs), l == 2 && !returnPos.IsValid()) - if get == nil || l != r { - // invalidate lhs and use rhs - for _, obj := range lhs { - if obj.typ == nil { - obj.typ = Typ[Invalid] - } - } - if get == nil { - return // error reported by unpack - } - check.useGetter(get, r) - if returnPos.IsValid() { - check.errorf(returnPos, "wrong number of return values (want %d, got %d)", l, r) - return - } - check.errorf(rhs[0].Pos(), "assignment count mismatch (%d vs %d)", l, r) - return - } - - var x operand - if commaOk { - var a [2]Type - for i := range a { - get(&x, i) - a[i] = check.initVar(lhs[i], &x, returnPos.IsValid()) - } - check.recordCommaOkTypes(rhs[0], a) - return - } - - for i, lhs := range lhs { - get(&x, i) - check.initVar(lhs, &x, returnPos.IsValid()) - } -} - -func (check *Checker) assignVars(lhs, rhs []ast.Expr) { - l := len(lhs) - get, r, commaOk := unpack(func(x *operand, i int) { check.expr(x, rhs[i]) }, len(rhs), l == 2) - if get == nil { - return // error reported by unpack - } - if l != r { - check.useGetter(get, r) - check.errorf(rhs[0].Pos(), "assignment count mismatch (%d vs %d)", l, r) - return - } - - var x operand - if commaOk { - var a [2]Type - for i := range a { - get(&x, i) - a[i] = check.assignVar(lhs[i], &x) - } - check.recordCommaOkTypes(rhs[0], a) - return - } - - for i, lhs := range lhs { - get(&x, i) - check.assignVar(lhs, &x) - } -} - -func (check *Checker) shortVarDecl(pos token.Pos, lhs, rhs []ast.Expr) { - scope := check.scope - - // collect lhs variables - var newVars []*Var - var lhsVars = make([]*Var, len(lhs)) - for i, lhs := range lhs { - var obj *Var - if ident, _ := lhs.(*ast.Ident); ident != nil { - // Use the correct obj if the ident is redeclared. The - // variable's scope starts after the declaration; so we - // must use Scope.Lookup here and call Scope.Insert - // (via check.declare) later. - name := ident.Name - if alt := scope.Lookup(name); alt != nil { - // redeclared object must be a variable - if alt, _ := alt.(*Var); alt != nil { - obj = alt - } else { - check.errorf(lhs.Pos(), "cannot assign to %s", lhs) - } - check.recordUse(ident, alt) - } else { - // declare new variable, possibly a blank (_) variable - obj = NewVar(ident.Pos(), check.pkg, name, nil) - if name != "_" { - newVars = append(newVars, obj) - } - check.recordDef(ident, obj) - } - } else { - check.errorf(lhs.Pos(), "cannot declare %s", lhs) - } - if obj == nil { - obj = NewVar(lhs.Pos(), check.pkg, "_", nil) // dummy variable - } - lhsVars[i] = obj - } - - check.initVars(lhsVars, rhs, token.NoPos) - - // declare new variables - if len(newVars) > 0 { - // spec: "The scope of a constant or variable identifier declared inside - // a function begins at the end of the ConstSpec or VarSpec (ShortVarDecl - // for short variable declarations) and ends at the end of the innermost - // containing block." - scopePos := rhs[len(rhs)-1].End() - for _, obj := range newVars { - check.declare(scope, nil, obj, scopePos) // recordObject already called - } - } else { - check.softErrorf(pos, "no new variables on left side of :=") - } -} diff --git a/vendor/golang.org/x/tools/go/types/builtins.go b/vendor/golang.org/x/tools/go/types/builtins.go deleted file mode 100644 index f45f930..0000000 --- a/vendor/golang.org/x/tools/go/types/builtins.go +++ /dev/null @@ -1,628 +0,0 @@ -// Copyright 2012 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. - -// This file implements typechecking of builtin function calls. - -package types - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -// builtin type-checks a call to the built-in specified by id and -// returns true if the call is valid, with *x holding the result; -// but x.expr is not set. If the call is invalid, the result is -// false, and *x is undefined. -// -func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ bool) { - // append is the only built-in that permits the use of ... for the last argument - bin := predeclaredFuncs[id] - if call.Ellipsis.IsValid() && id != _Append { - check.invalidOp(call.Ellipsis, "invalid use of ... with built-in %s", bin.name) - check.use(call.Args...) - return - } - - // For len(x) and cap(x) we need to know if x contains any function calls or - // receive operations. Save/restore current setting and set hasCallOrRecv to - // false for the evaluation of x so that we can check it afterwards. - // Note: We must do this _before_ calling unpack because unpack evaluates the - // first argument before we even call arg(x, 0)! - if id == _Len || id == _Cap { - defer func(b bool) { - check.hasCallOrRecv = b - }(check.hasCallOrRecv) - check.hasCallOrRecv = false - } - - // determine actual arguments - var arg getter - nargs := len(call.Args) - switch id { - default: - // make argument getter - arg, nargs, _ = unpack(func(x *operand, i int) { check.expr(x, call.Args[i]) }, nargs, false) - if arg == nil { - return - } - // evaluate first argument, if present - if nargs > 0 { - arg(x, 0) - if x.mode == invalid { - return - } - } - case _Make, _New, _Offsetof, _Trace: - // arguments require special handling - } - - // check argument count - { - msg := "" - if nargs < bin.nargs { - msg = "not enough" - } else if !bin.variadic && nargs > bin.nargs { - msg = "too many" - } - if msg != "" { - check.invalidOp(call.Rparen, "%s arguments for %s (expected %d, found %d)", msg, call, bin.nargs, nargs) - return - } - } - - switch id { - case _Append: - // append(s S, x ...T) S, where T is the element type of S - // spec: "The variadic function append appends zero or more values x to s of type - // S, which must be a slice type, and returns the resulting slice, also of type S. - // The values x are passed to a parameter of type ...T where T is the element type - // of S and the respective parameter passing rules apply." - S := x.typ - var T Type - if s, _ := S.Underlying().(*Slice); s != nil { - T = s.elem - } else { - check.invalidArg(x.pos(), "%s is not a slice", x) - return - } - - // remember arguments that have been evaluated already - alist := []operand{*x} - - // spec: "As a special case, append also accepts a first argument assignable - // to type []byte with a second argument of string type followed by ... . - // This form appends the bytes of the string. - if nargs == 2 && call.Ellipsis.IsValid() && x.assignableTo(check.conf, NewSlice(universeByte)) { - arg(x, 1) - if x.mode == invalid { - return - } - if isString(x.typ) { - if check.Types != nil { - sig := makeSig(S, S, x.typ) - sig.variadic = true - check.recordBuiltinType(call.Fun, sig) - } - x.mode = value - x.typ = S - break - } - alist = append(alist, *x) - // fallthrough - } - - // check general case by creating custom signature - sig := makeSig(S, S, NewSlice(T)) // []T required for variadic signature - sig.variadic = true - check.arguments(x, call, sig, func(x *operand, i int) { - // only evaluate arguments that have not been evaluated before - if i < len(alist) { - *x = alist[i] - return - } - arg(x, i) - }, nargs) - // ok to continue even if check.arguments reported errors - - x.mode = value - x.typ = S - if check.Types != nil { - check.recordBuiltinType(call.Fun, sig) - } - - case _Cap, _Len: - // cap(x) - // len(x) - mode := invalid - var typ Type - var val exact.Value - switch typ = implicitArrayDeref(x.typ.Underlying()); t := typ.(type) { - case *Basic: - if isString(t) && id == _Len { - if x.mode == constant { - mode = constant - val = exact.MakeInt64(int64(len(exact.StringVal(x.val)))) - } else { - mode = value - } - } - - case *Array: - mode = value - // spec: "The expressions len(s) and cap(s) are constants - // if the type of s is an array or pointer to an array and - // the expression s does not contain channel receives or - // function calls; in this case s is not evaluated." - if !check.hasCallOrRecv { - mode = constant - val = exact.MakeInt64(t.len) - } - - case *Slice, *Chan: - mode = value - - case *Map: - if id == _Len { - mode = value - } - } - - if mode == invalid { - check.invalidArg(x.pos(), "%s for %s", x, bin.name) - return - } - - x.mode = mode - x.typ = Typ[Int] - x.val = val - if check.Types != nil && mode != constant { - check.recordBuiltinType(call.Fun, makeSig(x.typ, typ)) - } - - case _Close: - // close(c) - c, _ := x.typ.Underlying().(*Chan) - if c == nil { - check.invalidArg(x.pos(), "%s is not a channel", x) - return - } - if c.dir == RecvOnly { - check.invalidArg(x.pos(), "%s must not be a receive-only channel", x) - return - } - - x.mode = novalue - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(nil, c)) - } - - case _Complex: - // complex(x, y realT) complexT - if !check.complexArg(x) { - return - } - - var y operand - arg(&y, 1) - if y.mode == invalid { - return - } - if !check.complexArg(&y) { - return - } - - check.convertUntyped(x, y.typ) - if x.mode == invalid { - return - } - check.convertUntyped(&y, x.typ) - if y.mode == invalid { - return - } - - if !Identical(x.typ, y.typ) { - check.invalidArg(x.pos(), "mismatched types %s and %s", x.typ, y.typ) - return - } - - if x.mode == constant && y.mode == constant { - x.val = exact.BinaryOp(x.val, token.ADD, exact.MakeImag(y.val)) - } else { - x.mode = value - } - - realT := x.typ - complexT := Typ[Invalid] - switch realT.Underlying().(*Basic).kind { - case Float32: - complexT = Typ[Complex64] - case Float64: - complexT = Typ[Complex128] - case UntypedInt, UntypedRune, UntypedFloat: - if x.mode == constant { - realT = defaultType(realT).(*Basic) - complexT = Typ[UntypedComplex] - } else { - // untyped but not constant; probably because one - // operand is a non-constant shift of untyped lhs - realT = Typ[Float64] - complexT = Typ[Complex128] - } - default: - check.invalidArg(x.pos(), "float32 or float64 arguments expected") - return - } - - x.typ = complexT - if check.Types != nil && x.mode != constant { - check.recordBuiltinType(call.Fun, makeSig(complexT, realT, realT)) - } - - if x.mode != constant { - // The arguments have now their final types, which at run- - // time will be materialized. Update the expression trees. - // If the current types are untyped, the materialized type - // is the respective default type. - // (If the result is constant, the arguments are never - // materialized and there is nothing to do.) - check.updateExprType(x.expr, realT, true) - check.updateExprType(y.expr, realT, true) - } - - case _Copy: - // copy(x, y []T) int - var dst Type - if t, _ := x.typ.Underlying().(*Slice); t != nil { - dst = t.elem - } - - var y operand - arg(&y, 1) - if y.mode == invalid { - return - } - var src Type - switch t := y.typ.Underlying().(type) { - case *Basic: - if isString(y.typ) { - src = universeByte - } - case *Slice: - src = t.elem - } - - if dst == nil || src == nil { - check.invalidArg(x.pos(), "copy expects slice arguments; found %s and %s", x, &y) - return - } - - if !Identical(dst, src) { - check.invalidArg(x.pos(), "arguments to copy %s and %s have different element types %s and %s", x, &y, dst, src) - return - } - - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ, y.typ)) - } - x.mode = value - x.typ = Typ[Int] - - case _Delete: - // delete(m, k) - m, _ := x.typ.Underlying().(*Map) - if m == nil { - check.invalidArg(x.pos(), "%s is not a map", x) - return - } - arg(x, 1) // k - if x.mode == invalid { - return - } - - if !x.assignableTo(check.conf, m.key) { - check.invalidArg(x.pos(), "%s is not assignable to %s", x, m.key) - return - } - - x.mode = novalue - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(nil, m, m.key)) - } - - case _Imag, _Real: - // imag(complexT) realT - // real(complexT) realT - if !isComplex(x.typ) { - check.invalidArg(x.pos(), "%s must be a complex number", x) - return - } - if x.mode == constant { - if id == _Real { - x.val = exact.Real(x.val) - } else { - x.val = exact.Imag(x.val) - } - } else { - x.mode = value - } - var k BasicKind - switch x.typ.Underlying().(*Basic).kind { - case Complex64: - k = Float32 - case Complex128: - k = Float64 - case UntypedComplex: - k = UntypedFloat - default: - unreachable() - } - - if check.Types != nil && x.mode != constant { - check.recordBuiltinType(call.Fun, makeSig(Typ[k], x.typ)) - } - x.typ = Typ[k] - - case _Make: - // make(T, n) - // make(T, n, m) - // (no argument evaluated yet) - arg0 := call.Args[0] - T := check.typ(arg0) - if T == Typ[Invalid] { - return - } - - var min int // minimum number of arguments - switch T.Underlying().(type) { - case *Slice: - min = 2 - case *Map, *Chan: - min = 1 - default: - check.invalidArg(arg0.Pos(), "cannot make %s; type must be slice, map, or channel", arg0) - return - } - if nargs < min || min+1 < nargs { - check.errorf(call.Pos(), "%s expects %d or %d arguments; found %d", call, min, min+1, nargs) - return - } - var sizes []int64 // constant integer arguments, if any - for _, arg := range call.Args[1:] { - if s, ok := check.index(arg, -1); ok && s >= 0 { - sizes = append(sizes, s) - } - } - if len(sizes) == 2 && sizes[0] > sizes[1] { - check.invalidArg(call.Args[1].Pos(), "length and capacity swapped") - // safe to continue - } - x.mode = value - x.typ = T - if check.Types != nil { - params := [...]Type{T, Typ[Int], Typ[Int]} - check.recordBuiltinType(call.Fun, makeSig(x.typ, params[:1+len(sizes)]...)) - } - - case _New: - // new(T) - // (no argument evaluated yet) - T := check.typ(call.Args[0]) - if T == Typ[Invalid] { - return - } - - x.mode = value - x.typ = &Pointer{base: T} - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(x.typ, T)) - } - - case _Panic: - // panic(x) - T := new(Interface) - if !check.assignment(x, T) { - assert(x.mode == invalid) - return - } - - x.mode = novalue - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(nil, T)) - } - - case _Print, _Println: - // print(x, y, ...) - // println(x, y, ...) - var params []Type - if nargs > 0 { - params = make([]Type, nargs) - for i := 0; i < nargs; i++ { - if i > 0 { - arg(x, i) // first argument already evaluated - } - if !check.assignment(x, nil) { - assert(x.mode == invalid) - return - } - params[i] = x.typ - } - } - - x.mode = novalue - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(nil, params...)) - } - - case _Recover: - // recover() interface{} - x.mode = value - x.typ = new(Interface) - if check.Types != nil { - check.recordBuiltinType(call.Fun, makeSig(x.typ)) - } - - case _Alignof: - // unsafe.Alignof(x T) uintptr - if !check.assignment(x, nil) { - assert(x.mode == invalid) - return - } - - x.mode = constant - x.val = exact.MakeInt64(check.conf.alignof(x.typ)) - x.typ = Typ[Uintptr] - // result is constant - no need to record signature - - case _Offsetof: - // unsafe.Offsetof(x T) uintptr, where x must be a selector - // (no argument evaluated yet) - arg0 := call.Args[0] - selx, _ := unparen(arg0).(*ast.SelectorExpr) - if selx == nil { - check.invalidArg(arg0.Pos(), "%s is not a selector expression", arg0) - check.use(arg0) - return - } - - check.expr(x, selx.X) - if x.mode == invalid { - return - } - - base := derefStructPtr(x.typ) - sel := selx.Sel.Name - obj, index, indirect := LookupFieldOrMethod(base, false, check.pkg, sel) - switch obj.(type) { - case nil: - check.invalidArg(x.pos(), "%s has no single field %s", base, sel) - return - case *Func: - // TODO(gri) Using derefStructPtr may result in methods being found - // that don't actually exist. An error either way, but the error - // message is confusing. See: http://play.golang.org/p/al75v23kUy , - // but go/types reports: "invalid argument: x.m is a method value". - check.invalidArg(arg0.Pos(), "%s is a method value", arg0) - return - } - if indirect { - check.invalidArg(x.pos(), "field %s is embedded via a pointer in %s", sel, base) - return - } - - // TODO(gri) Should we pass x.typ instead of base (and indirect report if derefStructPtr indirected)? - check.recordSelection(selx, FieldVal, base, obj, index, false) - - offs := check.conf.offsetof(base, index) - x.mode = constant - x.val = exact.MakeInt64(offs) - x.typ = Typ[Uintptr] - // result is constant - no need to record signature - - case _Sizeof: - // unsafe.Sizeof(x T) uintptr - if !check.assignment(x, nil) { - assert(x.mode == invalid) - return - } - - x.mode = constant - x.val = exact.MakeInt64(check.conf.sizeof(x.typ)) - x.typ = Typ[Uintptr] - // result is constant - no need to record signature - - case _Assert: - // assert(pred) causes a typechecker error if pred is false. - // The result of assert is the value of pred if there is no error. - // Note: assert is only available in self-test mode. - if x.mode != constant || !isBoolean(x.typ) { - check.invalidArg(x.pos(), "%s is not a boolean constant", x) - return - } - if x.val.Kind() != exact.Bool { - check.errorf(x.pos(), "internal error: value of %s should be a boolean constant", x) - return - } - if !exact.BoolVal(x.val) { - check.errorf(call.Pos(), "%s failed", call) - // compile-time assertion failure - safe to continue - } - // result is constant - no need to record signature - - case _Trace: - // trace(x, y, z, ...) dumps the positions, expressions, and - // values of its arguments. The result of trace is the value - // of the first argument. - // Note: trace is only available in self-test mode. - // (no argument evaluated yet) - if nargs == 0 { - check.dump("%s: trace() without arguments", call.Pos()) - x.mode = novalue - break - } - var t operand - x1 := x - for _, arg := range call.Args { - check.rawExpr(x1, arg, nil) // permit trace for types, e.g.: new(trace(T)) - check.dump("%s: %s", x1.pos(), x1) - x1 = &t // use incoming x only for first argument - } - // trace is only available in test mode - no need to record signature - - default: - unreachable() - } - - return true -} - -// makeSig makes a signature for the given argument and result types. -// Default types are used for untyped arguments, and res may be nil. -func makeSig(res Type, args ...Type) *Signature { - list := make([]*Var, len(args)) - for i, param := range args { - list[i] = NewVar(token.NoPos, nil, "", defaultType(param)) - } - params := NewTuple(list...) - var result *Tuple - if res != nil { - assert(!isUntyped(res)) - result = NewTuple(NewVar(token.NoPos, nil, "", res)) - } - return &Signature{params: params, results: result} -} - -// implicitArrayDeref returns A if typ is of the form *A and A is an array; -// otherwise it returns typ. -// -func implicitArrayDeref(typ Type) Type { - if p, ok := typ.(*Pointer); ok { - if a, ok := p.base.Underlying().(*Array); ok { - return a - } - } - return typ -} - -// unparen returns e with any enclosing parentheses stripped. -func unparen(e ast.Expr) ast.Expr { - for { - p, ok := e.(*ast.ParenExpr) - if !ok { - return e - } - e = p.X - } -} - -func (check *Checker) complexArg(x *operand) bool { - t, _ := x.typ.Underlying().(*Basic) - if t != nil && (t.info&IsFloat != 0 || t.kind == UntypedInt || t.kind == UntypedRune) { - return true - } - check.invalidArg(x.pos(), "%s must be a float32, float64, or an untyped non-complex numeric constant", x) - return false -} diff --git a/vendor/golang.org/x/tools/go/types/call.go b/vendor/golang.org/x/tools/go/types/call.go deleted file mode 100644 index 1e94212..0000000 --- a/vendor/golang.org/x/tools/go/types/call.go +++ /dev/null @@ -1,441 +0,0 @@ -// Copyright 2013 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. - -// This file implements typechecking of call and selector expressions. - -package types - -import ( - "go/ast" - "go/token" -) - -func (check *Checker) call(x *operand, e *ast.CallExpr) exprKind { - check.exprOrType(x, e.Fun) - - switch x.mode { - case invalid: - check.use(e.Args...) - x.mode = invalid - x.expr = e - return statement - - case typexpr: - // conversion - T := x.typ - x.mode = invalid - switch n := len(e.Args); n { - case 0: - check.errorf(e.Rparen, "missing argument in conversion to %s", T) - case 1: - check.expr(x, e.Args[0]) - if x.mode != invalid { - check.conversion(x, T) - } - default: - check.errorf(e.Args[n-1].Pos(), "too many arguments in conversion to %s", T) - } - x.expr = e - return conversion - - case builtin: - id := x.id - if !check.builtin(x, e, id) { - x.mode = invalid - } - x.expr = e - // a non-constant result implies a function call - if x.mode != invalid && x.mode != constant { - check.hasCallOrRecv = true - } - return predeclaredFuncs[id].kind - - default: - // function/method call - sig, _ := x.typ.Underlying().(*Signature) - if sig == nil { - check.invalidOp(x.pos(), "cannot call non-function %s", x) - x.mode = invalid - x.expr = e - return statement - } - - arg, n, _ := unpack(func(x *operand, i int) { check.expr(x, e.Args[i]) }, len(e.Args), false) - if arg == nil { - x.mode = invalid - x.expr = e - return statement - } - - check.arguments(x, e, sig, arg, n) - - // determine result - switch sig.results.Len() { - case 0: - x.mode = novalue - case 1: - x.mode = value - x.typ = sig.results.vars[0].typ // unpack tuple - default: - x.mode = value - x.typ = sig.results - } - x.expr = e - check.hasCallOrRecv = true - - return statement - } -} - -// use type-checks each argument. -// Useful to make sure expressions are evaluated -// (and variables are "used") in the presence of other errors. -func (check *Checker) use(arg ...ast.Expr) { - var x operand - for _, e := range arg { - check.rawExpr(&x, e, nil) - } -} - -// useGetter is like use, but takes a getter instead of a list of expressions. -// It should be called instead of use if a getter is present to avoid repeated -// evaluation of the first argument (since the getter was likely obtained via -// unpack, which may have evaluated the first argument already). -func (check *Checker) useGetter(get getter, n int) { - var x operand - for i := 0; i < n; i++ { - get(&x, i) - } -} - -// A getter sets x as the i'th operand, where 0 <= i < n and n is the total -// number of operands (context-specific, and maintained elsewhere). A getter -// type-checks the i'th operand; the details of the actual check are getter- -// specific. -type getter func(x *operand, i int) - -// unpack takes a getter get and a number of operands n. If n == 1, unpack -// calls the incoming getter for the first operand. If that operand is -// invalid, unpack returns (nil, 0, false). Otherwise, if that operand is a -// function call, or a comma-ok expression and allowCommaOk is set, the result -// is a new getter and operand count providing access to the function results, -// or comma-ok values, respectively. The third result value reports if it -// is indeed the comma-ok case. In all other cases, the incoming getter and -// operand count are returned unchanged, and the third result value is false. -// -// In other words, if there's exactly one operand that - after type-checking -// by calling get - stands for multiple operands, the resulting getter provides -// access to those operands instead. -// -// If the returned getter is called at most once for a given operand index i -// (including i == 0), that operand is guaranteed to cause only one call of -// the incoming getter with that i. -// -func unpack(get getter, n int, allowCommaOk bool) (getter, int, bool) { - if n == 1 { - // possibly result of an n-valued function call or comma,ok value - var x0 operand - get(&x0, 0) - if x0.mode == invalid { - return nil, 0, false - } - - if t, ok := x0.typ.(*Tuple); ok { - // result of an n-valued function call - return func(x *operand, i int) { - x.mode = value - x.expr = x0.expr - x.typ = t.At(i).typ - }, t.Len(), false - } - - if x0.mode == mapindex || x0.mode == commaok { - // comma-ok value - if allowCommaOk { - a := [2]Type{x0.typ, Typ[UntypedBool]} - return func(x *operand, i int) { - x.mode = value - x.expr = x0.expr - x.typ = a[i] - }, 2, true - } - x0.mode = value - } - - // single value - return func(x *operand, i int) { - if i != 0 { - unreachable() - } - *x = x0 - }, 1, false - } - - // zero or multiple values - return get, n, false -} - -// arguments checks argument passing for the call with the given signature. -// The arg function provides the operand for the i'th argument. -func (check *Checker) arguments(x *operand, call *ast.CallExpr, sig *Signature, arg getter, n int) { - if call.Ellipsis.IsValid() { - // last argument is of the form x... - if len(call.Args) == 1 && n > 1 { - // f()... is not permitted if f() is multi-valued - check.errorf(call.Ellipsis, "cannot use ... with %d-valued expression %s", n, call.Args[0]) - check.useGetter(arg, n) - return - } - if !sig.variadic { - check.errorf(call.Ellipsis, "cannot use ... in call to non-variadic %s", call.Fun) - check.useGetter(arg, n) - return - } - } - - // evaluate arguments - for i := 0; i < n; i++ { - arg(x, i) - if x.mode != invalid { - var ellipsis token.Pos - if i == n-1 && call.Ellipsis.IsValid() { - ellipsis = call.Ellipsis - } - check.argument(sig, i, x, ellipsis) - } - } - - // check argument count - if sig.variadic { - // a variadic function accepts an "empty" - // last argument: count one extra - n++ - } - if n < sig.params.Len() { - check.errorf(call.Rparen, "too few arguments in call to %s", call.Fun) - // ok to continue - } -} - -// argument checks passing of argument x to the i'th parameter of the given signature. -// If ellipsis is valid, the argument is followed by ... at that position in the call. -func (check *Checker) argument(sig *Signature, i int, x *operand, ellipsis token.Pos) { - n := sig.params.Len() - - // determine parameter type - var typ Type - switch { - case i < n: - typ = sig.params.vars[i].typ - case sig.variadic: - typ = sig.params.vars[n-1].typ - if debug { - if _, ok := typ.(*Slice); !ok { - check.dump("%s: expected unnamed slice type, got %s", sig.params.vars[n-1].Pos(), typ) - } - } - default: - check.errorf(x.pos(), "too many arguments") - return - } - - if ellipsis.IsValid() { - // argument is of the form x... - if i != n-1 { - check.errorf(ellipsis, "can only use ... with matching parameter") - return - } - switch t := x.typ.Underlying().(type) { - case *Slice: - // ok - case *Tuple: - check.errorf(ellipsis, "cannot use ... with %d-valued expression %s", t.Len(), x) - return - default: - check.errorf(x.pos(), "cannot use %s as parameter of type %s", x, typ) - return - } - } else if sig.variadic && i >= n-1 { - // use the variadic parameter slice's element type - typ = typ.(*Slice).elem - } - - if !check.assignment(x, typ) && x.mode != invalid { - check.errorf(x.pos(), "cannot pass argument %s to parameter of type %s", x, typ) - } -} - -func (check *Checker) selector(x *operand, e *ast.SelectorExpr) { - // these must be declared before the "goto Error" statements - var ( - obj Object - index []int - indirect bool - ) - - sel := e.Sel.Name - // If the identifier refers to a package, handle everything here - // so we don't need a "package" mode for operands: package names - // can only appear in qualified identifiers which are mapped to - // selector expressions. - if ident, ok := e.X.(*ast.Ident); ok { - _, obj := check.scope.LookupParent(ident.Name, check.pos) - if pkg, _ := obj.(*PkgName); pkg != nil { - assert(pkg.pkg == check.pkg) - check.recordUse(ident, pkg) - pkg.used = true - exp := pkg.imported.scope.Lookup(sel) - if exp == nil { - if !pkg.imported.fake { - check.errorf(e.Pos(), "%s not declared by package %s", sel, ident) - } - goto Error - } - if !exp.Exported() { - check.errorf(e.Pos(), "%s not exported by package %s", sel, ident) - // ok to continue - } - check.recordUse(e.Sel, exp) - // Simplified version of the code for *ast.Idents: - // - imported objects are always fully initialized - switch exp := exp.(type) { - case *Const: - assert(exp.Val() != nil) - x.mode = constant - x.typ = exp.typ - x.val = exp.val - case *TypeName: - x.mode = typexpr - x.typ = exp.typ - case *Var: - x.mode = variable - x.typ = exp.typ - case *Func: - x.mode = value - x.typ = exp.typ - case *Builtin: - x.mode = builtin - x.typ = exp.typ - x.id = exp.id - default: - unreachable() - } - x.expr = e - return - } - } - - check.exprOrType(x, e.X) - if x.mode == invalid { - goto Error - } - - obj, index, indirect = LookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel) - if obj == nil { - switch { - case index != nil: - // TODO(gri) should provide actual type where the conflict happens - check.invalidOp(e.Pos(), "ambiguous selector %s", sel) - case indirect: - check.invalidOp(e.Pos(), "%s is not in method set of %s", sel, x.typ) - default: - check.invalidOp(e.Pos(), "%s has no field or method %s", x, sel) - } - goto Error - } - - if x.mode == typexpr { - // method expression - m, _ := obj.(*Func) - if m == nil { - check.invalidOp(e.Pos(), "%s has no method %s", x, sel) - goto Error - } - - check.recordSelection(e, MethodExpr, x.typ, m, index, indirect) - - // the receiver type becomes the type of the first function - // argument of the method expression's function type - var params []*Var - sig := m.typ.(*Signature) - if sig.params != nil { - params = sig.params.vars - } - x.mode = value - x.typ = &Signature{ - params: NewTuple(append([]*Var{NewVar(token.NoPos, check.pkg, "", x.typ)}, params...)...), - results: sig.results, - variadic: sig.variadic, - } - - check.addDeclDep(m) - - } else { - // regular selector - switch obj := obj.(type) { - case *Var: - check.recordSelection(e, FieldVal, x.typ, obj, index, indirect) - if x.mode == variable || indirect { - x.mode = variable - } else { - x.mode = value - } - x.typ = obj.typ - - case *Func: - // TODO(gri) If we needed to take into account the receiver's - // addressability, should we report the type &(x.typ) instead? - check.recordSelection(e, MethodVal, x.typ, obj, index, indirect) - - if debug { - // Verify that LookupFieldOrMethod and MethodSet.Lookup agree. - typ := x.typ - if x.mode == variable { - // If typ is not an (unnamed) pointer or an interface, - // use *typ instead, because the method set of *typ - // includes the methods of typ. - // Variables are addressable, so we can always take their - // address. - if _, ok := typ.(*Pointer); !ok && !IsInterface(typ) { - typ = &Pointer{base: typ} - } - } - // If we created a synthetic pointer type above, we will throw - // away the method set computed here after use. - // TODO(gri) Method set computation should probably always compute - // both, the value and the pointer receiver method set and represent - // them in a single structure. - // TODO(gri) Consider also using a method set cache for the lifetime - // of checker once we rely on MethodSet lookup instead of individual - // lookup. - mset := NewMethodSet(typ) - if m := mset.Lookup(check.pkg, sel); m == nil || m.obj != obj { - check.dump("%s: (%s).%v -> %s", e.Pos(), typ, obj.name, m) - check.dump("%s\n", mset) - panic("method sets and lookup don't agree") - } - } - - x.mode = value - - // remove receiver - sig := *obj.typ.(*Signature) - sig.recv = nil - x.typ = &sig - - check.addDeclDep(obj) - - default: - unreachable() - } - } - - // everything went well - x.expr = e - return - -Error: - x.mode = invalid - x.expr = e -} diff --git a/vendor/golang.org/x/tools/go/types/check.go b/vendor/golang.org/x/tools/go/types/check.go deleted file mode 100644 index 964d2bd..0000000 --- a/vendor/golang.org/x/tools/go/types/check.go +++ /dev/null @@ -1,364 +0,0 @@ -// Copyright 2011 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. - -// This file implements the Check function, which drives type-checking. - -package types - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -// debugging/development support -const ( - debug = false // leave on during development - trace = false // turn on for detailed type resolution traces -) - -// If Strict is set, the type-checker enforces additional -// rules not specified by the Go 1 spec, but which will -// catch guaranteed run-time errors if the respective -// code is executed. In other words, programs passing in -// Strict mode are Go 1 compliant, but not all Go 1 programs -// will pass in Strict mode. The additional rules are: -// -// - A type assertion x.(T) where T is an interface type -// is invalid if any (statically known) method that exists -// for both x and T have different signatures. -// -const strict = false - -// exprInfo stores information about an untyped expression. -type exprInfo struct { - isLhs bool // expression is lhs operand of a shift with delayed type-check - mode operandMode - typ *Basic - val exact.Value // constant value; or nil (if not a constant) -} - -// funcInfo stores the information required for type-checking a function. -type funcInfo struct { - name string // for debugging/tracing only - decl *declInfo // for cycle detection - sig *Signature - body *ast.BlockStmt -} - -// A context represents the context within which an object is type-checked. -type context struct { - decl *declInfo // package-level declaration whose init expression/function body is checked - scope *Scope // top-most scope for lookups - iota exact.Value // value of iota in a constant declaration; nil otherwise - sig *Signature // function signature if inside a function; nil otherwise - hasLabel bool // set if a function makes use of labels (only ~1% of functions); unused outside functions - hasCallOrRecv bool // set if an expression contains a function call or channel receive operation -} - -// A Checker maintains the state of the type checker. -// It must be created with NewChecker. -type Checker struct { - // package information - // (initialized by NewChecker, valid for the life-time of checker) - conf *Config - fset *token.FileSet - pkg *Package - *Info - objMap map[Object]*declInfo // maps package-level object to declaration info - - // information collected during type-checking of a set of package files - // (initialized by Files, valid only for the duration of check.Files; - // maps and lists are allocated on demand) - files []*ast.File // package files - unusedDotImports map[*Scope]map[*Package]token.Pos // positions of unused dot-imported packages for each file scope - - firstErr error // first error encountered - methods map[string][]*Func // maps type names to associated methods - untyped map[ast.Expr]exprInfo // map of expressions without final type - funcs []funcInfo // list of functions to type-check - delayed []func() // delayed checks requiring fully setup types - - // context within which the current object is type-checked - // (valid only for the duration of type-checking a specific object) - context - pos token.Pos // if valid, identifiers are looked up as if at position pos (used by Eval) - - // debugging - indent int // indentation for tracing -} - -// addUnusedImport adds the position of a dot-imported package -// pkg to the map of dot imports for the given file scope. -func (check *Checker) addUnusedDotImport(scope *Scope, pkg *Package, pos token.Pos) { - mm := check.unusedDotImports - if mm == nil { - mm = make(map[*Scope]map[*Package]token.Pos) - check.unusedDotImports = mm - } - m := mm[scope] - if m == nil { - m = make(map[*Package]token.Pos) - mm[scope] = m - } - m[pkg] = pos -} - -// addDeclDep adds the dependency edge (check.decl -> to) if check.decl exists -func (check *Checker) addDeclDep(to Object) { - from := check.decl - if from == nil { - return // not in a package-level init expression - } - if _, found := check.objMap[to]; !found { - return // to is not a package-level object - } - from.addDep(to) -} - -func (check *Checker) assocMethod(tname string, meth *Func) { - m := check.methods - if m == nil { - m = make(map[string][]*Func) - check.methods = m - } - m[tname] = append(m[tname], meth) -} - -func (check *Checker) rememberUntyped(e ast.Expr, lhs bool, mode operandMode, typ *Basic, val exact.Value) { - m := check.untyped - if m == nil { - m = make(map[ast.Expr]exprInfo) - check.untyped = m - } - m[e] = exprInfo{lhs, mode, typ, val} -} - -func (check *Checker) later(name string, decl *declInfo, sig *Signature, body *ast.BlockStmt) { - check.funcs = append(check.funcs, funcInfo{name, decl, sig, body}) -} - -func (check *Checker) delay(f func()) { - check.delayed = append(check.delayed, f) -} - -// NewChecker returns a new Checker instance for a given package. -// Package files may be added incrementally via checker.Files. -func NewChecker(conf *Config, fset *token.FileSet, pkg *Package, info *Info) *Checker { - // make sure we have a configuration - if conf == nil { - conf = new(Config) - } - - // make sure we have a package canonicalization map - if conf.Packages == nil { - conf.Packages = make(map[string]*Package) - } - - // make sure we have an info struct - if info == nil { - info = new(Info) - } - - return &Checker{ - conf: conf, - fset: fset, - pkg: pkg, - Info: info, - objMap: make(map[Object]*declInfo), - } -} - -// initFiles initializes the files-specific portion of checker. -// The provided files must all belong to the same package. -func (check *Checker) initFiles(files []*ast.File) { - // start with a clean slate (check.Files may be called multiple times) - check.files = nil - check.unusedDotImports = nil - - check.firstErr = nil - check.methods = nil - check.untyped = nil - check.funcs = nil - check.delayed = nil - - // determine package name and collect valid files - pkg := check.pkg - for _, file := range files { - switch name := file.Name.Name; pkg.name { - case "": - if name != "_" { - pkg.name = name - } else { - check.errorf(file.Name.Pos(), "invalid package name _") - } - fallthrough - - case name: - check.files = append(check.files, file) - - default: - check.errorf(file.Package, "package %s; expected %s", name, pkg.name) - // ignore this file - } - } -} - -// A bailout panic is used for early termination. -type bailout struct{} - -func (check *Checker) handleBailout(err *error) { - switch p := recover().(type) { - case nil, bailout: - // normal return or early exit - *err = check.firstErr - default: - // re-panic - panic(p) - } -} - -// Files checks the provided files as part of the checker's package. -func (check *Checker) Files(files []*ast.File) (err error) { - defer check.handleBailout(&err) - - check.initFiles(files) - - check.collectObjects() - - check.packageObjects(check.resolveOrder()) - - check.functionBodies() - - check.initOrder() - - if !check.conf.DisableUnusedImportCheck { - check.unusedImports() - } - - // perform delayed checks - for _, f := range check.delayed { - f() - } - - check.recordUntyped() - - check.pkg.complete = true - return -} - -func (check *Checker) recordUntyped() { - if !debug && check.Types == nil { - return // nothing to do - } - - for x, info := range check.untyped { - if debug && isTyped(info.typ) { - check.dump("%s: %s (type %s) is typed", x.Pos(), x, info.typ) - unreachable() - } - check.recordTypeAndValue(x, info.mode, info.typ, info.val) - } -} - -func (check *Checker) recordTypeAndValue(x ast.Expr, mode operandMode, typ Type, val exact.Value) { - assert(x != nil) - assert(typ != nil) - if mode == invalid { - return // omit - } - assert(typ != nil) - if mode == constant { - assert(val != nil) - assert(typ == Typ[Invalid] || isConstType(typ)) - } - if m := check.Types; m != nil { - m[x] = TypeAndValue{mode, typ, val} - } -} - -func (check *Checker) recordBuiltinType(f ast.Expr, sig *Signature) { - // f must be a (possibly parenthesized) identifier denoting a built-in - // (built-ins in package unsafe always produce a constant result and - // we don't record their signatures, so we don't see qualified idents - // here): record the signature for f and possible children. - for { - check.recordTypeAndValue(f, builtin, sig, nil) - switch p := f.(type) { - case *ast.Ident: - return // we're done - case *ast.ParenExpr: - f = p.X - default: - unreachable() - } - } -} - -func (check *Checker) recordCommaOkTypes(x ast.Expr, a [2]Type) { - assert(x != nil) - if a[0] == nil || a[1] == nil { - return - } - assert(isTyped(a[0]) && isTyped(a[1]) && isBoolean(a[1])) - if m := check.Types; m != nil { - for { - tv := m[x] - assert(tv.Type != nil) // should have been recorded already - pos := x.Pos() - tv.Type = NewTuple( - NewVar(pos, check.pkg, "", a[0]), - NewVar(pos, check.pkg, "", a[1]), - ) - m[x] = tv - // if x is a parenthesized expression (p.X), update p.X - p, _ := x.(*ast.ParenExpr) - if p == nil { - break - } - x = p.X - } - } -} - -func (check *Checker) recordDef(id *ast.Ident, obj Object) { - assert(id != nil) - if m := check.Defs; m != nil { - m[id] = obj - } -} - -func (check *Checker) recordUse(id *ast.Ident, obj Object) { - assert(id != nil) - assert(obj != nil) - if m := check.Uses; m != nil { - m[id] = obj - } -} - -func (check *Checker) recordImplicit(node ast.Node, obj Object) { - assert(node != nil) - assert(obj != nil) - if m := check.Implicits; m != nil { - m[node] = obj - } -} - -func (check *Checker) recordSelection(x *ast.SelectorExpr, kind SelectionKind, recv Type, obj Object, index []int, indirect bool) { - assert(obj != nil && (recv == nil || len(index) > 0)) - check.recordUse(x.Sel, obj) - // TODO(gri) Should we also call recordTypeAndValue? - if m := check.Selections; m != nil { - m[x] = &Selection{kind, recv, obj, index, indirect} - } -} - -func (check *Checker) recordScope(node ast.Node, scope *Scope) { - assert(node != nil) - assert(scope != nil) - if m := check.Scopes; m != nil { - m[node] = scope - } -} diff --git a/vendor/golang.org/x/tools/go/types/conversions.go b/vendor/golang.org/x/tools/go/types/conversions.go deleted file mode 100644 index 6e279ca..0000000 --- a/vendor/golang.org/x/tools/go/types/conversions.go +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2012 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. - -// This file implements typechecking of conversions. - -package types - -import "golang.org/x/tools/go/exact" - -// Conversion type-checks the conversion T(x). -// The result is in x. -func (check *Checker) conversion(x *operand, T Type) { - constArg := x.mode == constant - - var ok bool - switch { - case constArg && isConstType(T): - // constant conversion - switch t := T.Underlying().(*Basic); { - case representableConst(x.val, check.conf, t.kind, &x.val): - ok = true - case isInteger(x.typ) && isString(t): - codepoint := int64(-1) - if i, ok := exact.Int64Val(x.val); ok { - codepoint = i - } - // If codepoint < 0 the absolute value is too large (or unknown) for - // conversion. This is the same as converting any other out-of-range - // value - let string(codepoint) do the work. - x.val = exact.MakeString(string(codepoint)) - ok = true - } - case x.convertibleTo(check.conf, T): - // non-constant conversion - x.mode = value - ok = true - } - - if !ok { - check.errorf(x.pos(), "cannot convert %s to %s", x, T) - x.mode = invalid - return - } - - // The conversion argument types are final. For untyped values the - // conversion provides the type, per the spec: "A constant may be - // given a type explicitly by a constant declaration or conversion,...". - final := x.typ - if isUntyped(x.typ) { - final = T - // - For conversions to interfaces, use the argument's default type. - // - For conversions of untyped constants to non-constant types, also - // use the default type (e.g., []byte("foo") should report string - // not []byte as type for the constant "foo"). - // - Keep untyped nil for untyped nil arguments. - if IsInterface(T) || constArg && !isConstType(T) { - final = defaultType(x.typ) - } - check.updateExprType(x.expr, final, true) - } - - x.typ = T -} - -func (x *operand) convertibleTo(conf *Config, T Type) bool { - // "x is assignable to T" - if x.assignableTo(conf, T) { - return true - } - - // "x's type and T have identical underlying types" - V := x.typ - Vu := V.Underlying() - Tu := T.Underlying() - if Identical(Vu, Tu) { - return true - } - - // "x's type and T are unnamed pointer types and their pointer base types have identical underlying types" - if V, ok := V.(*Pointer); ok { - if T, ok := T.(*Pointer); ok { - if Identical(V.base.Underlying(), T.base.Underlying()) { - return true - } - } - } - - // "x's type and T are both integer or floating point types" - if (isInteger(V) || isFloat(V)) && (isInteger(T) || isFloat(T)) { - return true - } - - // "x's type and T are both complex types" - if isComplex(V) && isComplex(T) { - return true - } - - // "x is an integer or a slice of bytes or runes and T is a string type" - if (isInteger(V) || isBytesOrRunes(Vu)) && isString(T) { - return true - } - - // "x is a string and T is a slice of bytes or runes" - if isString(V) && isBytesOrRunes(Tu) { - return true - } - - // package unsafe: - // "any pointer or value of underlying type uintptr can be converted into a unsafe.Pointer" - if (isPointer(Vu) || isUintptr(Vu)) && isUnsafePointer(T) { - return true - } - // "and vice versa" - if isUnsafePointer(V) && (isPointer(Tu) || isUintptr(Tu)) { - return true - } - - return false -} - -func isUintptr(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.kind == Uintptr -} - -func isUnsafePointer(typ Type) bool { - // TODO(gri): Is this (typ.Underlying() instead of just typ) correct? - // The spec does not say so, but gc claims it is. See also - // issue 6326. - t, ok := typ.Underlying().(*Basic) - return ok && t.kind == UnsafePointer -} - -func isPointer(typ Type) bool { - _, ok := typ.Underlying().(*Pointer) - return ok -} - -func isBytesOrRunes(typ Type) bool { - if s, ok := typ.(*Slice); ok { - t, ok := s.elem.Underlying().(*Basic) - return ok && (t.kind == Byte || t.kind == Rune) - } - return false -} diff --git a/vendor/golang.org/x/tools/go/types/decl.go b/vendor/golang.org/x/tools/go/types/decl.go deleted file mode 100644 index 9eba85c..0000000 --- a/vendor/golang.org/x/tools/go/types/decl.go +++ /dev/null @@ -1,431 +0,0 @@ -// Copyright 2014 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. - -package types - -import ( - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -func (check *Checker) reportAltDecl(obj Object) { - if pos := obj.Pos(); pos.IsValid() { - // We use "other" rather than "previous" here because - // the first declaration seen may not be textually - // earlier in the source. - check.errorf(pos, "\tother declaration of %s", obj.Name()) // secondary error, \t indented - } -} - -func (check *Checker) declare(scope *Scope, id *ast.Ident, obj Object, pos token.Pos) { - // spec: "The blank identifier, represented by the underscore - // character _, may be used in a declaration like any other - // identifier but the declaration does not introduce a new - // binding." - if obj.Name() != "_" { - if alt := scope.Insert(obj); alt != nil { - check.errorf(obj.Pos(), "%s redeclared in this block", obj.Name()) - check.reportAltDecl(alt) - return - } - obj.setScopePos(pos) - } - if id != nil { - check.recordDef(id, obj) - } -} - -// objDecl type-checks the declaration of obj in its respective (file) context. -// See check.typ for the details on def and path. -func (check *Checker) objDecl(obj Object, def *Named, path []*TypeName) { - if obj.Type() != nil { - return // already checked - nothing to do - } - - if trace { - check.trace(obj.Pos(), "-- declaring %s", obj.Name()) - check.indent++ - defer func() { - check.indent-- - check.trace(obj.Pos(), "=> %s", obj) - }() - } - - d := check.objMap[obj] - if d == nil { - check.dump("%s: %s should have been declared", obj.Pos(), obj.Name()) - unreachable() - } - - // save/restore current context and setup object context - defer func(ctxt context) { - check.context = ctxt - }(check.context) - check.context = context{ - scope: d.file, - } - - // Const and var declarations must not have initialization - // cycles. We track them by remembering the current declaration - // in check.decl. Initialization expressions depending on other - // consts, vars, or functions, add dependencies to the current - // check.decl. - switch obj := obj.(type) { - case *Const: - check.decl = d // new package-level const decl - check.constDecl(obj, d.typ, d.init) - case *Var: - check.decl = d // new package-level var decl - check.varDecl(obj, d.lhs, d.typ, d.init) - case *TypeName: - // invalid recursive types are detected via path - check.typeDecl(obj, d.typ, def, path) - case *Func: - // functions may be recursive - no need to track dependencies - check.funcDecl(obj, d) - default: - unreachable() - } -} - -func (check *Checker) constDecl(obj *Const, typ, init ast.Expr) { - assert(obj.typ == nil) - - if obj.visited { - obj.typ = Typ[Invalid] - return - } - obj.visited = true - - // use the correct value of iota - assert(check.iota == nil) - check.iota = obj.val - defer func() { check.iota = nil }() - - // provide valid constant value under all circumstances - obj.val = exact.MakeUnknown() - - // determine type, if any - if typ != nil { - t := check.typ(typ) - if !isConstType(t) { - check.errorf(typ.Pos(), "invalid constant type %s", t) - obj.typ = Typ[Invalid] - return - } - obj.typ = t - } - - // check initialization - var x operand - if init != nil { - check.expr(&x, init) - } - check.initConst(obj, &x) -} - -func (check *Checker) varDecl(obj *Var, lhs []*Var, typ, init ast.Expr) { - assert(obj.typ == nil) - - if obj.visited { - obj.typ = Typ[Invalid] - return - } - obj.visited = true - - // var declarations cannot use iota - assert(check.iota == nil) - - // determine type, if any - if typ != nil { - obj.typ = check.typ(typ) - } - - // check initialization - if init == nil { - if typ == nil { - // error reported before by arityMatch - obj.typ = Typ[Invalid] - } - return - } - - if lhs == nil || len(lhs) == 1 { - assert(lhs == nil || lhs[0] == obj) - var x operand - check.expr(&x, init) - check.initVar(obj, &x, false) - return - } - - if debug { - // obj must be one of lhs - found := false - for _, lhs := range lhs { - if obj == lhs { - found = true - break - } - } - if !found { - panic("inconsistent lhs") - } - } - check.initVars(lhs, []ast.Expr{init}, token.NoPos) -} - -// underlying returns the underlying type of typ; possibly by following -// forward chains of named types. Such chains only exist while named types -// are incomplete. -func underlying(typ Type) Type { - for { - n, _ := typ.(*Named) - if n == nil { - break - } - typ = n.underlying - } - return typ -} - -func (n *Named) setUnderlying(typ Type) { - if n != nil { - n.underlying = typ - } -} - -func (check *Checker) typeDecl(obj *TypeName, typ ast.Expr, def *Named, path []*TypeName) { - assert(obj.typ == nil) - - // type declarations cannot use iota - assert(check.iota == nil) - - named := &Named{obj: obj} - def.setUnderlying(named) - obj.typ = named // make sure recursive type declarations terminate - - // determine underlying type of named - check.typExpr(typ, named, append(path, obj)) - - // The underlying type of named may be itself a named type that is - // incomplete: - // - // type ( - // A B - // B *C - // C A - // ) - // - // The type of C is the (named) type of A which is incomplete, - // and which has as its underlying type the named type B. - // Determine the (final, unnamed) underlying type by resolving - // any forward chain (they always end in an unnamed type). - named.underlying = underlying(named.underlying) - - // check and add associated methods - // TODO(gri) It's easy to create pathological cases where the - // current approach is incorrect: In general we need to know - // and add all methods _before_ type-checking the type. - // See http://play.golang.org/p/WMpE0q2wK8 - check.addMethodDecls(obj) -} - -func (check *Checker) addMethodDecls(obj *TypeName) { - // get associated methods - methods := check.methods[obj.name] - if len(methods) == 0 { - return // no methods - } - delete(check.methods, obj.name) - - // use an objset to check for name conflicts - var mset objset - - // spec: "If the base type is a struct type, the non-blank method - // and field names must be distinct." - base := obj.typ.(*Named) - if t, _ := base.underlying.(*Struct); t != nil { - for _, fld := range t.fields { - if fld.name != "_" { - assert(mset.insert(fld) == nil) - } - } - } - - // Checker.Files may be called multiple times; additional package files - // may add methods to already type-checked types. Add pre-existing methods - // so that we can detect redeclarations. - for _, m := range base.methods { - assert(m.name != "_") - assert(mset.insert(m) == nil) - } - - // type-check methods - for _, m := range methods { - // spec: "For a base type, the non-blank names of methods bound - // to it must be unique." - if m.name != "_" { - if alt := mset.insert(m); alt != nil { - switch alt.(type) { - case *Var: - check.errorf(m.pos, "field and method with the same name %s", m.name) - case *Func: - check.errorf(m.pos, "method %s already declared for %s", m.name, base) - default: - unreachable() - } - check.reportAltDecl(alt) - continue - } - } - check.objDecl(m, nil, nil) - // methods with blank _ names cannot be found - don't keep them - if m.name != "_" { - base.methods = append(base.methods, m) - } - } -} - -func (check *Checker) funcDecl(obj *Func, decl *declInfo) { - assert(obj.typ == nil) - - // func declarations cannot use iota - assert(check.iota == nil) - - sig := new(Signature) - obj.typ = sig // guard against cycles - fdecl := decl.fdecl - check.funcType(sig, fdecl.Recv, fdecl.Type) - if sig.recv == nil && obj.name == "init" && (sig.params.Len() > 0 || sig.results.Len() > 0) { - check.errorf(fdecl.Pos(), "func init must have no arguments and no return values") - // ok to continue - } - - // function body must be type-checked after global declarations - // (functions implemented elsewhere have no body) - if !check.conf.IgnoreFuncBodies && fdecl.Body != nil { - check.later(obj.name, decl, sig, fdecl.Body) - } -} - -func (check *Checker) declStmt(decl ast.Decl) { - pkg := check.pkg - - switch d := decl.(type) { - case *ast.BadDecl: - // ignore - - case *ast.GenDecl: - var last *ast.ValueSpec // last ValueSpec with type or init exprs seen - for iota, spec := range d.Specs { - switch s := spec.(type) { - case *ast.ValueSpec: - switch d.Tok { - case token.CONST: - // determine which init exprs to use - switch { - case s.Type != nil || len(s.Values) > 0: - last = s - case last == nil: - last = new(ast.ValueSpec) // make sure last exists - } - - // declare all constants - lhs := make([]*Const, len(s.Names)) - for i, name := range s.Names { - obj := NewConst(name.Pos(), pkg, name.Name, nil, exact.MakeInt64(int64(iota))) - lhs[i] = obj - - var init ast.Expr - if i < len(last.Values) { - init = last.Values[i] - } - - check.constDecl(obj, last.Type, init) - } - - check.arityMatch(s, last) - - // spec: "The scope of a constant or variable identifier declared - // inside a function begins at the end of the ConstSpec or VarSpec - // (ShortVarDecl for short variable declarations) and ends at the - // end of the innermost containing block." - scopePos := s.End() - for i, name := range s.Names { - check.declare(check.scope, name, lhs[i], scopePos) - } - - case token.VAR: - lhs0 := make([]*Var, len(s.Names)) - for i, name := range s.Names { - lhs0[i] = NewVar(name.Pos(), pkg, name.Name, nil) - } - - // initialize all variables - for i, obj := range lhs0 { - var lhs []*Var - var init ast.Expr - switch len(s.Values) { - case len(s.Names): - // lhs and rhs match - init = s.Values[i] - case 1: - // rhs is expected to be a multi-valued expression - lhs = lhs0 - init = s.Values[0] - default: - if i < len(s.Values) { - init = s.Values[i] - } - } - check.varDecl(obj, lhs, s.Type, init) - if len(s.Values) == 1 { - // If we have a single lhs variable we are done either way. - // If we have a single rhs expression, it must be a multi- - // valued expression, in which case handling the first lhs - // variable will cause all lhs variables to have a type - // assigned, and we are done as well. - if debug { - for _, obj := range lhs0 { - assert(obj.typ != nil) - } - } - break - } - } - - check.arityMatch(s, nil) - - // declare all variables - // (only at this point are the variable scopes (parents) set) - scopePos := s.End() // see constant declarations - for i, name := range s.Names { - // see constant declarations - check.declare(check.scope, name, lhs0[i], scopePos) - } - - default: - check.invalidAST(s.Pos(), "invalid token %s", d.Tok) - } - - case *ast.TypeSpec: - obj := NewTypeName(s.Name.Pos(), pkg, s.Name.Name, nil) - // spec: "The scope of a type identifier declared inside a function - // begins at the identifier in the TypeSpec and ends at the end of - // the innermost containing block." - scopePos := s.Name.Pos() - check.declare(check.scope, s.Name, obj, scopePos) - check.typeDecl(obj, s.Type, nil, nil) - - default: - check.invalidAST(s.Pos(), "const, type, or var declaration expected") - } - } - - default: - check.invalidAST(d.Pos(), "unknown ast.Decl node %T", d) - } -} diff --git a/vendor/golang.org/x/tools/go/types/errors.go b/vendor/golang.org/x/tools/go/types/errors.go deleted file mode 100644 index 0c0049b..0000000 --- a/vendor/golang.org/x/tools/go/types/errors.go +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2012 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. - -// This file implements various error reporters. - -package types - -import ( - "fmt" - "go/ast" - "go/token" - "strings" -) - -func assert(p bool) { - if !p { - panic("assertion failed") - } -} - -func unreachable() { - panic("unreachable") -} - -func (check *Checker) qualifier(pkg *Package) string { - if pkg != check.pkg { - return pkg.path - } - return "" -} - -func (check *Checker) sprintf(format string, args ...interface{}) string { - for i, arg := range args { - switch a := arg.(type) { - case nil: - arg = "" - case operand: - panic("internal error: should always pass *operand") - case *operand: - arg = operandString(a, check.qualifier) - case token.Pos: - arg = check.fset.Position(a).String() - case ast.Expr: - arg = ExprString(a) - case Object: - arg = ObjectString(a, check.qualifier) - case Type: - arg = TypeString(a, check.qualifier) - } - args[i] = arg - } - return fmt.Sprintf(format, args...) -} - -func (check *Checker) trace(pos token.Pos, format string, args ...interface{}) { - fmt.Printf("%s:\t%s%s\n", - check.fset.Position(pos), - strings.Repeat(". ", check.indent), - check.sprintf(format, args...), - ) -} - -// dump is only needed for debugging -func (check *Checker) dump(format string, args ...interface{}) { - fmt.Println(check.sprintf(format, args...)) -} - -func (check *Checker) err(pos token.Pos, msg string, soft bool) { - err := Error{check.fset, pos, msg, soft} - if check.firstErr == nil { - check.firstErr = err - } - f := check.conf.Error - if f == nil { - panic(bailout{}) // report only first error - } - f(err) -} - -func (check *Checker) error(pos token.Pos, msg string) { - check.err(pos, msg, false) -} - -func (check *Checker) errorf(pos token.Pos, format string, args ...interface{}) { - check.err(pos, check.sprintf(format, args...), false) -} - -func (check *Checker) softErrorf(pos token.Pos, format string, args ...interface{}) { - check.err(pos, check.sprintf(format, args...), true) -} - -func (check *Checker) invalidAST(pos token.Pos, format string, args ...interface{}) { - check.errorf(pos, "invalid AST: "+format, args...) -} - -func (check *Checker) invalidArg(pos token.Pos, format string, args ...interface{}) { - check.errorf(pos, "invalid argument: "+format, args...) -} - -func (check *Checker) invalidOp(pos token.Pos, format string, args ...interface{}) { - check.errorf(pos, "invalid operation: "+format, args...) -} diff --git a/vendor/golang.org/x/tools/go/types/eval.go b/vendor/golang.org/x/tools/go/types/eval.go deleted file mode 100644 index c09f2a3..0000000 --- a/vendor/golang.org/x/tools/go/types/eval.go +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2013 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. - -package types - -import ( - "fmt" - "go/parser" - "go/token" -) - -// Eval returns the type and, if constant, the value for the -// expression expr, evaluated at position pos of package pkg, -// which must have been derived from type-checking an AST with -// complete position information relative to the provided file -// set. -// -// If the expression contains function literals, their bodies -// are ignored (i.e., the bodies are not type-checked). -// -// If pkg == nil, the Universe scope is used and the provided -// position pos is ignored. If pkg != nil, and pos is invalid, -// the package scope is used. Otherwise, pos must belong to the -// package. -// -// An error is returned if pos is not within the package or -// if the node cannot be evaluated. -// -// Note: Eval should not be used instead of running Check to compute -// types and values, but in addition to Check. Eval will re-evaluate -// its argument each time, and it also does not know about the context -// in which an expression is used (e.g., an assignment). Thus, top- -// level untyped constants will return an untyped type rather then the -// respective context-specific type. -// -func Eval(fset *token.FileSet, pkg *Package, pos token.Pos, expr string) (tv TypeAndValue, err error) { - // determine scope - var scope *Scope - if pkg == nil { - scope = Universe - pos = token.NoPos - } else if !pos.IsValid() { - scope = pkg.scope - } else { - // The package scope extent (position information) may be - // incorrect (files spread accross a wide range of fset - // positions) - ignore it and just consider its children - // (file scopes). - for _, fscope := range pkg.scope.children { - if scope = fscope.Innermost(pos); scope != nil { - break - } - } - if scope == nil || debug { - s := scope - for s != nil && s != pkg.scope { - s = s.parent - } - // s == nil || s == pkg.scope - if s == nil { - return TypeAndValue{}, fmt.Errorf("no position %s found in package %s", fset.Position(pos), pkg.name) - } - } - } - - // parse expressions - // BUG(gri) In case of type-checking errors below, the type checker - // doesn't have the correct file set for expr. The correct - // solution requires a ParseExpr that uses the incoming - // file set fset. - node, err := parser.ParseExpr(expr) - if err != nil { - return TypeAndValue{}, err - } - - // initialize checker - check := NewChecker(nil, fset, pkg, nil) - check.scope = scope - check.pos = pos - defer check.handleBailout(&err) - - // evaluate node - var x operand - check.rawExpr(&x, node, nil) - return TypeAndValue{x.mode, x.typ, x.val}, err -} diff --git a/vendor/golang.org/x/tools/go/types/expr.go b/vendor/golang.org/x/tools/go/types/expr.go deleted file mode 100644 index 6efc7b4..0000000 --- a/vendor/golang.org/x/tools/go/types/expr.go +++ /dev/null @@ -1,1497 +0,0 @@ -// Copyright 2012 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. - -// This file implements typechecking of expressions. - -package types - -import ( - "fmt" - "go/ast" - "go/token" - "math" - - "golang.org/x/tools/go/exact" -) - -/* -Basic algorithm: - -Expressions are checked recursively, top down. Expression checker functions -are generally of the form: - - func f(x *operand, e *ast.Expr, ...) - -where e is the expression to be checked, and x is the result of the check. -The check performed by f may fail in which case x.mode == invalid, and -related error messages will have been issued by f. - -If a hint argument is present, it is the composite literal element type -of an outer composite literal; it is used to type-check composite literal -elements that have no explicit type specification in the source -(e.g.: []T{{...}, {...}}, the hint is the type T in this case). - -All expressions are checked via rawExpr, which dispatches according -to expression kind. Upon returning, rawExpr is recording the types and -constant values for all expressions that have an untyped type (those types -may change on the way up in the expression tree). Usually these are constants, -but the results of comparisons or non-constant shifts of untyped constants -may also be untyped, but not constant. - -Untyped expressions may eventually become fully typed (i.e., not untyped), -typically when the value is assigned to a variable, or is used otherwise. -The updateExprType method is used to record this final type and update -the recorded types: the type-checked expression tree is again traversed down, -and the new type is propagated as needed. Untyped constant expression values -that become fully typed must now be representable by the full type (constant -sub-expression trees are left alone except for their roots). This mechanism -ensures that a client sees the actual (run-time) type an untyped value would -have. It also permits type-checking of lhs shift operands "as if the shift -were not present": when updateExprType visits an untyped lhs shift operand -and assigns it it's final type, that type must be an integer type, and a -constant lhs must be representable as an integer. - -When an expression gets its final type, either on the way out from rawExpr, -on the way down in updateExprType, or at the end of the type checker run, -the type (and constant value, if any) is recorded via Info.Types, if present. -*/ - -type opPredicates map[token.Token]func(Type) bool - -var unaryOpPredicates = opPredicates{ - token.ADD: isNumeric, - token.SUB: isNumeric, - token.XOR: isInteger, - token.NOT: isBoolean, -} - -func (check *Checker) op(m opPredicates, x *operand, op token.Token) bool { - if pred := m[op]; pred != nil { - if !pred(x.typ) { - check.invalidOp(x.pos(), "operator %s not defined for %s", op, x) - return false - } - } else { - check.invalidAST(x.pos(), "unknown operator %s", op) - return false - } - return true -} - -// The unary expression e may be nil. It's passed in for better error messages only. -func (check *Checker) unary(x *operand, e *ast.UnaryExpr, op token.Token) { - switch op { - case token.AND: - // spec: "As an exception to the addressability - // requirement x may also be a composite literal." - if _, ok := unparen(x.expr).(*ast.CompositeLit); !ok && x.mode != variable { - check.invalidOp(x.pos(), "cannot take address of %s", x) - x.mode = invalid - return - } - x.mode = value - x.typ = &Pointer{base: x.typ} - return - - case token.ARROW: - typ, ok := x.typ.Underlying().(*Chan) - if !ok { - check.invalidOp(x.pos(), "cannot receive from non-channel %s", x) - x.mode = invalid - return - } - if typ.dir == SendOnly { - check.invalidOp(x.pos(), "cannot receive from send-only channel %s", x) - x.mode = invalid - return - } - x.mode = commaok - x.typ = typ.elem - check.hasCallOrRecv = true - return - } - - if !check.op(unaryOpPredicates, x, op) { - x.mode = invalid - return - } - - if x.mode == constant { - typ := x.typ.Underlying().(*Basic) - size := -1 - if isUnsigned(typ) { - size = int(check.conf.sizeof(typ)) - } - x.val = exact.UnaryOp(op, x.val, size) - // Typed constants must be representable in - // their type after each constant operation. - if isTyped(typ) { - if e != nil { - x.expr = e // for better error message - } - check.representable(x, typ) - } - return - } - - x.mode = value - // x.typ remains unchanged -} - -func isShift(op token.Token) bool { - return op == token.SHL || op == token.SHR -} - -func isComparison(op token.Token) bool { - // Note: tokens are not ordered well to make this much easier - switch op { - case token.EQL, token.NEQ, token.LSS, token.LEQ, token.GTR, token.GEQ: - return true - } - return false -} - -func fitsFloat32(x exact.Value) bool { - f32, _ := exact.Float32Val(x) - f := float64(f32) - return !math.IsInf(f, 0) -} - -func roundFloat32(x exact.Value) exact.Value { - f32, _ := exact.Float32Val(x) - f := float64(f32) - if !math.IsInf(f, 0) { - return exact.MakeFloat64(f) - } - return nil -} - -func fitsFloat64(x exact.Value) bool { - f, _ := exact.Float64Val(x) - return !math.IsInf(f, 0) -} - -func roundFloat64(x exact.Value) exact.Value { - f, _ := exact.Float64Val(x) - if !math.IsInf(f, 0) { - return exact.MakeFloat64(f) - } - return nil -} - -// representableConst reports whether x can be represented as -// value of the given basic type kind and for the configuration -// provided (only needed for int/uint sizes). -// -// If rounded != nil, *rounded is set to the rounded value of x for -// representable floating-point values; it is left alone otherwise. -// It is ok to provide the addressof the first argument for rounded. -func representableConst(x exact.Value, conf *Config, as BasicKind, rounded *exact.Value) bool { - switch x.Kind() { - case exact.Unknown: - return true - - case exact.Bool: - return as == Bool || as == UntypedBool - - case exact.Int: - if x, ok := exact.Int64Val(x); ok { - switch as { - case Int: - var s = uint(conf.sizeof(Typ[as])) * 8 - return int64(-1)<<(s-1) <= x && x <= int64(1)<<(s-1)-1 - case Int8: - const s = 8 - return -1<<(s-1) <= x && x <= 1<<(s-1)-1 - case Int16: - const s = 16 - return -1<<(s-1) <= x && x <= 1<<(s-1)-1 - case Int32: - const s = 32 - return -1<<(s-1) <= x && x <= 1<<(s-1)-1 - case Int64: - return true - case Uint, Uintptr: - if s := uint(conf.sizeof(Typ[as])) * 8; s < 64 { - return 0 <= x && x <= int64(1)<= 0 && n <= int(s) - case Uint64: - return exact.Sign(x) >= 0 && n <= 64 - case Float32, Complex64: - if rounded == nil { - return fitsFloat32(x) - } - r := roundFloat32(x) - if r != nil { - *rounded = r - return true - } - case Float64, Complex128: - if rounded == nil { - return fitsFloat64(x) - } - r := roundFloat64(x) - if r != nil { - *rounded = r - return true - } - case UntypedInt, UntypedFloat, UntypedComplex: - return true - } - - case exact.Float: - switch as { - case Float32, Complex64: - if rounded == nil { - return fitsFloat32(x) - } - r := roundFloat32(x) - if r != nil { - *rounded = r - return true - } - case Float64, Complex128: - if rounded == nil { - return fitsFloat64(x) - } - r := roundFloat64(x) - if r != nil { - *rounded = r - return true - } - case UntypedFloat, UntypedComplex: - return true - } - - case exact.Complex: - switch as { - case Complex64: - if rounded == nil { - return fitsFloat32(exact.Real(x)) && fitsFloat32(exact.Imag(x)) - } - re := roundFloat32(exact.Real(x)) - im := roundFloat32(exact.Imag(x)) - if re != nil && im != nil { - *rounded = exact.BinaryOp(re, token.ADD, exact.MakeImag(im)) - return true - } - case Complex128: - if rounded == nil { - return fitsFloat64(exact.Real(x)) && fitsFloat64(exact.Imag(x)) - } - re := roundFloat64(exact.Real(x)) - im := roundFloat64(exact.Imag(x)) - if re != nil && im != nil { - *rounded = exact.BinaryOp(re, token.ADD, exact.MakeImag(im)) - return true - } - case UntypedComplex: - return true - } - - case exact.String: - return as == String || as == UntypedString - - default: - unreachable() - } - - return false -} - -// representable checks that a constant operand is representable in the given basic type. -func (check *Checker) representable(x *operand, typ *Basic) { - assert(x.mode == constant) - if !representableConst(x.val, check.conf, typ.kind, &x.val) { - var msg string - if isNumeric(x.typ) && isNumeric(typ) { - // numeric conversion : error msg - // - // integer -> integer : overflows - // integer -> float : overflows (actually not possible) - // float -> integer : truncated - // float -> float : overflows - // - if !isInteger(x.typ) && isInteger(typ) { - msg = "%s truncated to %s" - } else { - msg = "%s overflows %s" - } - } else { - msg = "cannot convert %s to %s" - } - check.errorf(x.pos(), msg, x, typ) - x.mode = invalid - } -} - -// updateExprType updates the type of x to typ and invokes itself -// recursively for the operands of x, depending on expression kind. -// If typ is still an untyped and not the final type, updateExprType -// only updates the recorded untyped type for x and possibly its -// operands. Otherwise (i.e., typ is not an untyped type anymore, -// or it is the final type for x), the type and value are recorded. -// Also, if x is a constant, it must be representable as a value of typ, -// and if x is the (formerly untyped) lhs operand of a non-constant -// shift, it must be an integer value. -// -func (check *Checker) updateExprType(x ast.Expr, typ Type, final bool) { - old, found := check.untyped[x] - if !found { - return // nothing to do - } - - // update operands of x if necessary - switch x := x.(type) { - case *ast.BadExpr, - *ast.FuncLit, - *ast.CompositeLit, - *ast.IndexExpr, - *ast.SliceExpr, - *ast.TypeAssertExpr, - *ast.StarExpr, - *ast.KeyValueExpr, - *ast.ArrayType, - *ast.StructType, - *ast.FuncType, - *ast.InterfaceType, - *ast.MapType, - *ast.ChanType: - // These expression are never untyped - nothing to do. - // The respective sub-expressions got their final types - // upon assignment or use. - if debug { - check.dump("%s: found old type(%s): %s (new: %s)", x.Pos(), x, old.typ, typ) - unreachable() - } - return - - case *ast.CallExpr: - // Resulting in an untyped constant (e.g., built-in complex). - // The respective calls take care of calling updateExprType - // for the arguments if necessary. - - case *ast.Ident, *ast.BasicLit, *ast.SelectorExpr: - // An identifier denoting a constant, a constant literal, - // or a qualified identifier (imported untyped constant). - // No operands to take care of. - - case *ast.ParenExpr: - check.updateExprType(x.X, typ, final) - - case *ast.UnaryExpr: - // If x is a constant, the operands were constants. - // They don't need to be updated since they never - // get "materialized" into a typed value; and they - // will be processed at the end of the type check. - if old.val != nil { - break - } - check.updateExprType(x.X, typ, final) - - case *ast.BinaryExpr: - if old.val != nil { - break // see comment for unary expressions - } - if isComparison(x.Op) { - // The result type is independent of operand types - // and the operand types must have final types. - } else if isShift(x.Op) { - // The result type depends only on lhs operand. - // The rhs type was updated when checking the shift. - check.updateExprType(x.X, typ, final) - } else { - // The operand types match the result type. - check.updateExprType(x.X, typ, final) - check.updateExprType(x.Y, typ, final) - } - - default: - unreachable() - } - - // If the new type is not final and still untyped, just - // update the recorded type. - if !final && isUntyped(typ) { - old.typ = typ.Underlying().(*Basic) - check.untyped[x] = old - return - } - - // Otherwise we have the final (typed or untyped type). - // Remove it from the map of yet untyped expressions. - delete(check.untyped, x) - - // If x is the lhs of a shift, its final type must be integer. - // We already know from the shift check that it is representable - // as an integer if it is a constant. - if old.isLhs && !isInteger(typ) { - check.invalidOp(x.Pos(), "shifted operand %s (type %s) must be integer", x, typ) - return - } - - // Everything's fine, record final type and value for x. - check.recordTypeAndValue(x, old.mode, typ, old.val) -} - -// updateExprVal updates the value of x to val. -func (check *Checker) updateExprVal(x ast.Expr, val exact.Value) { - if info, ok := check.untyped[x]; ok { - info.val = val - check.untyped[x] = info - } -} - -// convertUntyped attempts to set the type of an untyped value to the target type. -func (check *Checker) convertUntyped(x *operand, target Type) { - if x.mode == invalid || isTyped(x.typ) || target == Typ[Invalid] { - return - } - - // TODO(gri) Sloppy code - clean up. This function is central - // to assignment and expression checking. - - if isUntyped(target) { - // both x and target are untyped - xkind := x.typ.(*Basic).kind - tkind := target.(*Basic).kind - if isNumeric(x.typ) && isNumeric(target) { - if xkind < tkind { - x.typ = target - check.updateExprType(x.expr, target, false) - } - } else if xkind != tkind { - goto Error - } - return - } - - // typed target - switch t := target.Underlying().(type) { - case *Basic: - if x.mode == constant { - check.representable(x, t) - if x.mode == invalid { - return - } - // expression value may have been rounded - update if needed - // TODO(gri) A floating-point value may silently underflow to - // zero. If it was negative, the sign is lost. See issue 6898. - check.updateExprVal(x.expr, x.val) - } else { - // Non-constant untyped values may appear as the - // result of comparisons (untyped bool), intermediate - // (delayed-checked) rhs operands of shifts, and as - // the value nil. - switch x.typ.(*Basic).kind { - case UntypedBool: - if !isBoolean(target) { - goto Error - } - case UntypedInt, UntypedRune, UntypedFloat, UntypedComplex: - if !isNumeric(target) { - goto Error - } - case UntypedString: - // Non-constant untyped string values are not - // permitted by the spec and should not occur. - unreachable() - case UntypedNil: - // Unsafe.Pointer is a basic type that includes nil. - if !hasNil(target) { - goto Error - } - default: - goto Error - } - } - case *Interface: - if !x.isNil() && !t.Empty() /* empty interfaces are ok */ { - goto Error - } - // Update operand types to the default type rather then - // the target (interface) type: values must have concrete - // dynamic types. If the value is nil, keep it untyped - // (this is important for tools such as go vet which need - // the dynamic type for argument checking of say, print - // functions) - if x.isNil() { - target = Typ[UntypedNil] - } else { - // cannot assign untyped values to non-empty interfaces - if !t.Empty() { - goto Error - } - target = defaultType(x.typ) - } - case *Pointer, *Signature, *Slice, *Map, *Chan: - if !x.isNil() { - goto Error - } - // keep nil untyped - see comment for interfaces, above - target = Typ[UntypedNil] - default: - goto Error - } - - x.typ = target - check.updateExprType(x.expr, target, true) // UntypedNils are final - return - -Error: - check.errorf(x.pos(), "cannot convert %s to %s", x, target) - x.mode = invalid -} - -func (check *Checker) comparison(x, y *operand, op token.Token) { - // spec: "In any comparison, the first operand must be assignable - // to the type of the second operand, or vice versa." - err := "" - if x.assignableTo(check.conf, y.typ) || y.assignableTo(check.conf, x.typ) { - defined := false - switch op { - case token.EQL, token.NEQ: - // spec: "The equality operators == and != apply to operands that are comparable." - defined = Comparable(x.typ) || x.isNil() && hasNil(y.typ) || y.isNil() && hasNil(x.typ) - case token.LSS, token.LEQ, token.GTR, token.GEQ: - // spec: The ordering operators <, <=, >, and >= apply to operands that are ordered." - defined = isOrdered(x.typ) - default: - unreachable() - } - if !defined { - typ := x.typ - if x.isNil() { - typ = y.typ - } - err = check.sprintf("operator %s not defined for %s", op, typ) - } - } else { - err = check.sprintf("mismatched types %s and %s", x.typ, y.typ) - } - - if err != "" { - check.errorf(x.pos(), "cannot compare %s %s %s (%s)", x.expr, op, y.expr, err) - x.mode = invalid - return - } - - if x.mode == constant && y.mode == constant { - x.val = exact.MakeBool(exact.Compare(x.val, op, y.val)) - // The operands are never materialized; no need to update - // their types. - } else { - x.mode = value - // The operands have now their final types, which at run- - // time will be materialized. Update the expression trees. - // If the current types are untyped, the materialized type - // is the respective default type. - check.updateExprType(x.expr, defaultType(x.typ), true) - check.updateExprType(y.expr, defaultType(y.typ), true) - } - - // spec: "Comparison operators compare two operands and yield - // an untyped boolean value." - x.typ = Typ[UntypedBool] -} - -func (check *Checker) shift(x, y *operand, op token.Token) { - untypedx := isUntyped(x.typ) - - // The lhs must be of integer type or be representable - // as an integer; otherwise the shift has no chance. - if !x.isInteger() { - check.invalidOp(x.pos(), "shifted operand %s must be integer", x) - x.mode = invalid - return - } - - // spec: "The right operand in a shift expression must have unsigned - // integer type or be an untyped constant that can be converted to - // unsigned integer type." - switch { - case isInteger(y.typ) && isUnsigned(y.typ): - // nothing to do - case isUntyped(y.typ): - check.convertUntyped(y, Typ[UntypedInt]) - if y.mode == invalid { - x.mode = invalid - return - } - default: - check.invalidOp(y.pos(), "shift count %s must be unsigned integer", y) - x.mode = invalid - return - } - - if x.mode == constant { - if y.mode == constant { - // rhs must be an integer value - if !y.isInteger() { - check.invalidOp(y.pos(), "shift count %s must be unsigned integer", y) - x.mode = invalid - return - } - // rhs must be within reasonable bounds - const stupidShift = 1023 - 1 + 52 // so we can express smallestFloat64 - s, ok := exact.Uint64Val(y.val) - if !ok || s > stupidShift { - check.invalidOp(y.pos(), "stupid shift count %s", y) - x.mode = invalid - return - } - // The lhs is representable as an integer but may not be an integer - // (e.g., 2.0, an untyped float) - this can only happen for untyped - // non-integer numeric constants. Correct the type so that the shift - // result is of integer type. - if !isInteger(x.typ) { - x.typ = Typ[UntypedInt] - } - x.val = exact.Shift(x.val, op, uint(s)) - return - } - - // non-constant shift with constant lhs - if untypedx { - // spec: "If the left operand of a non-constant shift - // expression is an untyped constant, the type of the - // constant is what it would be if the shift expression - // were replaced by its left operand alone.". - // - // Delay operand checking until we know the final type: - // The lhs expression must be in the untyped map, mark - // the entry as lhs shift operand. - info, found := check.untyped[x.expr] - assert(found) - info.isLhs = true - check.untyped[x.expr] = info - // keep x's type - x.mode = value - return - } - } - - // constant rhs must be >= 0 - if y.mode == constant && exact.Sign(y.val) < 0 { - check.invalidOp(y.pos(), "shift count %s must not be negative", y) - } - - // non-constant shift - lhs must be an integer - if !isInteger(x.typ) { - check.invalidOp(x.pos(), "shifted operand %s must be integer", x) - x.mode = invalid - return - } - - x.mode = value -} - -var binaryOpPredicates = opPredicates{ - token.ADD: func(typ Type) bool { return isNumeric(typ) || isString(typ) }, - token.SUB: isNumeric, - token.MUL: isNumeric, - token.QUO: isNumeric, - token.REM: isInteger, - - token.AND: isInteger, - token.OR: isInteger, - token.XOR: isInteger, - token.AND_NOT: isInteger, - - token.LAND: isBoolean, - token.LOR: isBoolean, -} - -// The binary expression e may be nil. It's passed in for better error messages only. -func (check *Checker) binary(x *operand, e *ast.BinaryExpr, lhs, rhs ast.Expr, op token.Token) { - var y operand - - check.expr(x, lhs) - check.expr(&y, rhs) - - if x.mode == invalid { - return - } - if y.mode == invalid { - x.mode = invalid - x.expr = y.expr - return - } - - if isShift(op) { - check.shift(x, &y, op) - return - } - - check.convertUntyped(x, y.typ) - if x.mode == invalid { - return - } - check.convertUntyped(&y, x.typ) - if y.mode == invalid { - x.mode = invalid - return - } - - if isComparison(op) { - check.comparison(x, &y, op) - return - } - - if !Identical(x.typ, y.typ) { - // only report an error if we have valid types - // (otherwise we had an error reported elsewhere already) - if x.typ != Typ[Invalid] && y.typ != Typ[Invalid] { - check.invalidOp(x.pos(), "mismatched types %s and %s", x.typ, y.typ) - } - x.mode = invalid - return - } - - if !check.op(binaryOpPredicates, x, op) { - x.mode = invalid - return - } - - if (op == token.QUO || op == token.REM) && (x.mode == constant || isInteger(x.typ)) && y.mode == constant && exact.Sign(y.val) == 0 { - check.invalidOp(y.pos(), "division by zero") - x.mode = invalid - return - } - - if x.mode == constant && y.mode == constant { - typ := x.typ.Underlying().(*Basic) - // force integer division of integer operands - if op == token.QUO && isInteger(typ) { - op = token.QUO_ASSIGN - } - x.val = exact.BinaryOp(x.val, op, y.val) - // Typed constants must be representable in - // their type after each constant operation. - if isTyped(typ) { - if e != nil { - x.expr = e // for better error message - } - check.representable(x, typ) - } - return - } - - x.mode = value - // x.typ is unchanged -} - -// index checks an index expression for validity. -// If max >= 0, it is the upper bound for index. -// If index is valid and the result i >= 0, then i is the constant value of index. -func (check *Checker) index(index ast.Expr, max int64) (i int64, valid bool) { - var x operand - check.expr(&x, index) - if x.mode == invalid { - return - } - - // an untyped constant must be representable as Int - check.convertUntyped(&x, Typ[Int]) - if x.mode == invalid { - return - } - - // the index must be of integer type - if !isInteger(x.typ) { - check.invalidArg(x.pos(), "index %s must be integer", &x) - return - } - - // a constant index i must be in bounds - if x.mode == constant { - if exact.Sign(x.val) < 0 { - check.invalidArg(x.pos(), "index %s must not be negative", &x) - return - } - i, valid = exact.Int64Val(x.val) - if !valid || max >= 0 && i >= max { - check.errorf(x.pos(), "index %s is out of bounds", &x) - return i, false - } - // 0 <= i [ && i < max ] - return i, true - } - - return -1, true -} - -// indexElts checks the elements (elts) of an array or slice composite literal -// against the literal's element type (typ), and the element indices against -// the literal length if known (length >= 0). It returns the length of the -// literal (maximum index value + 1). -// -func (check *Checker) indexedElts(elts []ast.Expr, typ Type, length int64) int64 { - visited := make(map[int64]bool, len(elts)) - var index, max int64 - for _, e := range elts { - // determine and check index - validIndex := false - eval := e - if kv, _ := e.(*ast.KeyValueExpr); kv != nil { - if i, ok := check.index(kv.Key, length); ok { - if i >= 0 { - index = i - validIndex = true - } else { - check.errorf(e.Pos(), "index %s must be integer constant", kv.Key) - } - } - eval = kv.Value - } else if length >= 0 && index >= length { - check.errorf(e.Pos(), "index %d is out of bounds (>= %d)", index, length) - } else { - validIndex = true - } - - // if we have a valid index, check for duplicate entries - if validIndex { - if visited[index] { - check.errorf(e.Pos(), "duplicate index %d in array or slice literal", index) - } - visited[index] = true - } - index++ - if index > max { - max = index - } - - // check element against composite literal element type - var x operand - check.exprWithHint(&x, eval, typ) - if !check.assignment(&x, typ) && x.mode != invalid { - check.errorf(x.pos(), "cannot use %s as %s value in array or slice literal", &x, typ) - } - } - return max -} - -// exprKind describes the kind of an expression; the kind -// determines if an expression is valid in 'statement context'. -type exprKind int - -const ( - conversion exprKind = iota - expression - statement -) - -// rawExpr typechecks expression e and initializes x with the expression -// value or type. If an error occurred, x.mode is set to invalid. -// If hint != nil, it is the type of a composite literal element. -// -func (check *Checker) rawExpr(x *operand, e ast.Expr, hint Type) exprKind { - if trace { - check.trace(e.Pos(), "%s", e) - check.indent++ - defer func() { - check.indent-- - check.trace(e.Pos(), "=> %s", x) - }() - } - - kind := check.exprInternal(x, e, hint) - - // convert x into a user-friendly set of values - // TODO(gri) this code can be simplified - var typ Type - var val exact.Value - switch x.mode { - case invalid: - typ = Typ[Invalid] - case novalue: - typ = (*Tuple)(nil) - case constant: - typ = x.typ - val = x.val - default: - typ = x.typ - } - assert(x.expr != nil && typ != nil) - - if isUntyped(typ) { - // delay type and value recording until we know the type - // or until the end of type checking - check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val) - } else { - check.recordTypeAndValue(e, x.mode, typ, val) - } - - return kind -} - -// exprInternal contains the core of type checking of expressions. -// Must only be called by rawExpr. -// -func (check *Checker) exprInternal(x *operand, e ast.Expr, hint Type) exprKind { - // make sure x has a valid state in case of bailout - // (was issue 5770) - x.mode = invalid - x.typ = Typ[Invalid] - - switch e := e.(type) { - case *ast.BadExpr: - goto Error // error was reported before - - case *ast.Ident: - check.ident(x, e, nil, nil) - - case *ast.Ellipsis: - // ellipses are handled explicitly where they are legal - // (array composite literals and parameter lists) - check.error(e.Pos(), "invalid use of '...'") - goto Error - - case *ast.BasicLit: - x.setConst(e.Kind, e.Value) - if x.mode == invalid { - check.invalidAST(e.Pos(), "invalid literal %v", e.Value) - goto Error - } - - case *ast.FuncLit: - if sig, ok := check.typ(e.Type).(*Signature); ok { - // Anonymous functions are considered part of the - // init expression/func declaration which contains - // them: use existing package-level declaration info. - check.funcBody(check.decl, "", sig, e.Body) - x.mode = value - x.typ = sig - } else { - check.invalidAST(e.Pos(), "invalid function literal %s", e) - goto Error - } - - case *ast.CompositeLit: - typ := hint - openArray := false - if e.Type != nil { - // [...]T array types may only appear with composite literals. - // Check for them here so we don't have to handle ... in general. - typ = nil - if atyp, _ := e.Type.(*ast.ArrayType); atyp != nil && atyp.Len != nil { - if ellip, _ := atyp.Len.(*ast.Ellipsis); ellip != nil && ellip.Elt == nil { - // We have an "open" [...]T array type. - // Create a new ArrayType with unknown length (-1) - // and finish setting it up after analyzing the literal. - typ = &Array{len: -1, elem: check.typ(atyp.Elt)} - openArray = true - } - } - if typ == nil { - typ = check.typ(e.Type) - } - } - if typ == nil { - // TODO(gri) provide better error messages depending on context - check.error(e.Pos(), "missing type in composite literal") - goto Error - } - - switch typ, _ := deref(typ); utyp := typ.Underlying().(type) { - case *Struct: - if len(e.Elts) == 0 { - break - } - fields := utyp.fields - if _, ok := e.Elts[0].(*ast.KeyValueExpr); ok { - // all elements must have keys - visited := make([]bool, len(fields)) - for _, e := range e.Elts { - kv, _ := e.(*ast.KeyValueExpr) - if kv == nil { - check.error(e.Pos(), "mixture of field:value and value elements in struct literal") - continue - } - key, _ := kv.Key.(*ast.Ident) - if key == nil { - check.errorf(kv.Pos(), "invalid field name %s in struct literal", kv.Key) - continue - } - i := fieldIndex(utyp.fields, check.pkg, key.Name) - if i < 0 { - check.errorf(kv.Pos(), "unknown field %s in struct literal", key.Name) - continue - } - fld := fields[i] - check.recordUse(key, fld) - // 0 <= i < len(fields) - if visited[i] { - check.errorf(kv.Pos(), "duplicate field name %s in struct literal", key.Name) - continue - } - visited[i] = true - check.expr(x, kv.Value) - etyp := fld.typ - if !check.assignment(x, etyp) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot use %s as %s value in struct literal", x, etyp) - } - continue - } - } - } else { - // no element must have a key - for i, e := range e.Elts { - if kv, _ := e.(*ast.KeyValueExpr); kv != nil { - check.error(kv.Pos(), "mixture of field:value and value elements in struct literal") - continue - } - check.expr(x, e) - if i >= len(fields) { - check.error(x.pos(), "too many values in struct literal") - break // cannot continue - } - // i < len(fields) - fld := fields[i] - if !fld.Exported() && fld.pkg != check.pkg { - check.errorf(x.pos(), "implicit assignment to unexported field %s in %s literal", fld.name, typ) - continue - } - etyp := fld.typ - if !check.assignment(x, etyp) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot use %s as %s value in struct literal", x, etyp) - } - continue - } - } - if len(e.Elts) < len(fields) { - check.error(e.Rbrace, "too few values in struct literal") - // ok to continue - } - } - - case *Array: - n := check.indexedElts(e.Elts, utyp.elem, utyp.len) - // if we have an "open" [...]T array, set the length now that we know it - if openArray { - utyp.len = n - } - - case *Slice: - check.indexedElts(e.Elts, utyp.elem, -1) - - case *Map: - visited := make(map[interface{}][]Type, len(e.Elts)) - for _, e := range e.Elts { - kv, _ := e.(*ast.KeyValueExpr) - if kv == nil { - check.error(e.Pos(), "missing key in map literal") - continue - } - check.exprWithHint(x, kv.Key, utyp.key) - if !check.assignment(x, utyp.key) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot use %s as %s key in map literal", x, utyp.key) - } - continue - } - if x.mode == constant { - duplicate := false - // if the key is of interface type, the type is also significant when checking for duplicates - if _, ok := utyp.key.Underlying().(*Interface); ok { - for _, vtyp := range visited[x.val] { - if Identical(vtyp, x.typ) { - duplicate = true - break - } - } - visited[x.val] = append(visited[x.val], x.typ) - } else { - _, duplicate = visited[x.val] - visited[x.val] = nil - } - if duplicate { - check.errorf(x.pos(), "duplicate key %s in map literal", x.val) - continue - } - } - check.exprWithHint(x, kv.Value, utyp.elem) - if !check.assignment(x, utyp.elem) { - if x.mode != invalid { - check.errorf(x.pos(), "cannot use %s as %s value in map literal", x, utyp.elem) - } - continue - } - } - - default: - // if utyp is invalid, an error was reported before - if utyp != Typ[Invalid] { - check.errorf(e.Pos(), "invalid composite literal type %s", typ) - goto Error - } - } - - x.mode = value - x.typ = typ - - case *ast.ParenExpr: - kind := check.rawExpr(x, e.X, nil) - x.expr = e - return kind - - case *ast.SelectorExpr: - check.selector(x, e) - - case *ast.IndexExpr: - check.expr(x, e.X) - if x.mode == invalid { - goto Error - } - - valid := false - length := int64(-1) // valid if >= 0 - switch typ := x.typ.Underlying().(type) { - case *Basic: - if isString(typ) { - valid = true - if x.mode == constant { - length = int64(len(exact.StringVal(x.val))) - } - // an indexed string always yields a byte value - // (not a constant) even if the string and the - // index are constant - x.mode = value - x.typ = universeByte // use 'byte' name - } - - case *Array: - valid = true - length = typ.len - if x.mode != variable { - x.mode = value - } - x.typ = typ.elem - - case *Pointer: - if typ, _ := typ.base.Underlying().(*Array); typ != nil { - valid = true - length = typ.len - x.mode = variable - x.typ = typ.elem - } - - case *Slice: - valid = true - x.mode = variable - x.typ = typ.elem - - case *Map: - var key operand - check.expr(&key, e.Index) - if !check.assignment(&key, typ.key) { - if key.mode != invalid { - check.invalidOp(key.pos(), "cannot use %s as map index of type %s", &key, typ.key) - } - goto Error - } - x.mode = mapindex - x.typ = typ.elem - x.expr = e - return expression - } - - if !valid { - check.invalidOp(x.pos(), "cannot index %s", x) - goto Error - } - - if e.Index == nil { - check.invalidAST(e.Pos(), "missing index for %s", x) - goto Error - } - - check.index(e.Index, length) - // ok to continue - - case *ast.SliceExpr: - check.expr(x, e.X) - if x.mode == invalid { - goto Error - } - - valid := false - length := int64(-1) // valid if >= 0 - switch typ := x.typ.Underlying().(type) { - case *Basic: - if isString(typ) { - if slice3(e) { - check.invalidOp(x.pos(), "3-index slice of string") - goto Error - } - valid = true - if x.mode == constant { - length = int64(len(exact.StringVal(x.val))) - } - // spec: "For untyped string operands the result - // is a non-constant value of type string." - if typ.kind == UntypedString { - x.typ = Typ[String] - } - } - - case *Array: - valid = true - length = typ.len - if x.mode != variable { - check.invalidOp(x.pos(), "cannot slice %s (value not addressable)", x) - goto Error - } - x.typ = &Slice{elem: typ.elem} - - case *Pointer: - if typ, _ := typ.base.Underlying().(*Array); typ != nil { - valid = true - length = typ.len - x.typ = &Slice{elem: typ.elem} - } - - case *Slice: - valid = true - // x.typ doesn't change - } - - if !valid { - check.invalidOp(x.pos(), "cannot slice %s", x) - goto Error - } - - x.mode = value - - // spec: "Only the first index may be omitted; it defaults to 0." - if slice3(e) && (e.High == nil || sliceMax(e) == nil) { - check.error(e.Rbrack, "2nd and 3rd index required in 3-index slice") - goto Error - } - - // check indices - var ind [3]int64 - for i, expr := range []ast.Expr{e.Low, e.High, sliceMax(e)} { - x := int64(-1) - switch { - case expr != nil: - // The "capacity" is only known statically for strings, arrays, - // and pointers to arrays, and it is the same as the length for - // those types. - max := int64(-1) - if length >= 0 { - max = length + 1 - } - if t, ok := check.index(expr, max); ok && t >= 0 { - x = t - } - case i == 0: - // default is 0 for the first index - x = 0 - case length >= 0: - // default is length (== capacity) otherwise - x = length - } - ind[i] = x - } - - // constant indices must be in range - // (check.index already checks that existing indices >= 0) - L: - for i, x := range ind[:len(ind)-1] { - if x > 0 { - for _, y := range ind[i+1:] { - if y >= 0 && x > y { - check.errorf(e.Rbrack, "invalid slice indices: %d > %d", x, y) - break L // only report one error, ok to continue - } - } - } - } - - case *ast.TypeAssertExpr: - check.expr(x, e.X) - if x.mode == invalid { - goto Error - } - xtyp, _ := x.typ.Underlying().(*Interface) - if xtyp == nil { - check.invalidOp(x.pos(), "%s is not an interface", x) - goto Error - } - // x.(type) expressions are handled explicitly in type switches - if e.Type == nil { - check.invalidAST(e.Pos(), "use of .(type) outside type switch") - goto Error - } - T := check.typ(e.Type) - if T == Typ[Invalid] { - goto Error - } - check.typeAssertion(x.pos(), x, xtyp, T) - x.mode = commaok - x.typ = T - - case *ast.CallExpr: - return check.call(x, e) - - case *ast.StarExpr: - check.exprOrType(x, e.X) - switch x.mode { - case invalid: - goto Error - case typexpr: - x.typ = &Pointer{base: x.typ} - default: - if typ, ok := x.typ.Underlying().(*Pointer); ok { - x.mode = variable - x.typ = typ.base - } else { - check.invalidOp(x.pos(), "cannot indirect %s", x) - goto Error - } - } - - case *ast.UnaryExpr: - check.expr(x, e.X) - if x.mode == invalid { - goto Error - } - check.unary(x, e, e.Op) - if x.mode == invalid { - goto Error - } - if e.Op == token.ARROW { - x.expr = e - return statement // receive operations may appear in statement context - } - - case *ast.BinaryExpr: - check.binary(x, e, e.X, e.Y, e.Op) - if x.mode == invalid { - goto Error - } - - case *ast.KeyValueExpr: - // key:value expressions are handled in composite literals - check.invalidAST(e.Pos(), "no key:value expected") - goto Error - - case *ast.ArrayType, *ast.StructType, *ast.FuncType, - *ast.InterfaceType, *ast.MapType, *ast.ChanType: - x.mode = typexpr - x.typ = check.typ(e) - // Note: rawExpr (caller of exprInternal) will call check.recordTypeAndValue - // even though check.typ has already called it. This is fine as both - // times the same expression and type are recorded. It is also not a - // performance issue because we only reach here for composite literal - // types, which are comparatively rare. - - default: - panic(fmt.Sprintf("%s: unknown expression type %T", check.fset.Position(e.Pos()), e)) - } - - // everything went well - x.expr = e - return expression - -Error: - x.mode = invalid - x.expr = e - return statement // avoid follow-up errors -} - -// typeAssertion checks that x.(T) is legal; xtyp must be the type of x. -func (check *Checker) typeAssertion(pos token.Pos, x *operand, xtyp *Interface, T Type) { - method, wrongType := assertableTo(xtyp, T) - if method == nil { - return - } - - var msg string - if wrongType { - msg = "wrong type for method" - } else { - msg = "missing method" - } - check.errorf(pos, "%s cannot have dynamic type %s (%s %s)", x, T, msg, method.name) -} - -// expr typechecks expression e and initializes x with the expression value. -// If an error occurred, x.mode is set to invalid. -// -func (check *Checker) expr(x *operand, e ast.Expr) { - check.rawExpr(x, e, nil) - var msg string - switch x.mode { - default: - return - case novalue: - msg = "used as value" - case builtin: - msg = "must be called" - case typexpr: - msg = "is not an expression" - } - check.errorf(x.pos(), "%s %s", x, msg) - x.mode = invalid -} - -// exprWithHint typechecks expression e and initializes x with the expression value. -// If an error occurred, x.mode is set to invalid. -// If hint != nil, it is the type of a composite literal element. -// -func (check *Checker) exprWithHint(x *operand, e ast.Expr, hint Type) { - assert(hint != nil) - check.rawExpr(x, e, hint) - var msg string - switch x.mode { - default: - return - case novalue: - msg = "used as value" - case builtin: - msg = "must be called" - case typexpr: - msg = "is not an expression" - } - check.errorf(x.pos(), "%s %s", x, msg) - x.mode = invalid -} - -// exprOrType typechecks expression or type e and initializes x with the expression value or type. -// If an error occurred, x.mode is set to invalid. -// -func (check *Checker) exprOrType(x *operand, e ast.Expr) { - check.rawExpr(x, e, nil) - if x.mode == novalue { - check.errorf(x.pos(), "%s used as value or type", x) - x.mode = invalid - } -} diff --git a/vendor/golang.org/x/tools/go/types/exprstring.go b/vendor/golang.org/x/tools/go/types/exprstring.go deleted file mode 100644 index 370bdf3..0000000 --- a/vendor/golang.org/x/tools/go/types/exprstring.go +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright 2013 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. - -// This file implements printing of expressions. - -package types - -import ( - "bytes" - "go/ast" -) - -// ExprString returns the (possibly simplified) string representation for x. -func ExprString(x ast.Expr) string { - var buf bytes.Buffer - WriteExpr(&buf, x) - return buf.String() -} - -// WriteExpr writes the (possibly simplified) string representation for x to buf. -func WriteExpr(buf *bytes.Buffer, x ast.Expr) { - // The AST preserves source-level parentheses so there is - // no need to introduce them here to correct for different - // operator precedences. (This assumes that the AST was - // generated by a Go parser.) - - switch x := x.(type) { - default: - buf.WriteString("(bad expr)") // nil, ast.BadExpr, ast.KeyValueExpr - - case *ast.Ident: - buf.WriteString(x.Name) - - case *ast.Ellipsis: - buf.WriteString("...") - if x.Elt != nil { - WriteExpr(buf, x.Elt) - } - - case *ast.BasicLit: - buf.WriteString(x.Value) - - case *ast.FuncLit: - buf.WriteByte('(') - WriteExpr(buf, x.Type) - buf.WriteString(" literal)") // simplified - - case *ast.CompositeLit: - buf.WriteByte('(') - WriteExpr(buf, x.Type) - buf.WriteString(" literal)") // simplified - - case *ast.ParenExpr: - buf.WriteByte('(') - WriteExpr(buf, x.X) - buf.WriteByte(')') - - case *ast.SelectorExpr: - WriteExpr(buf, x.X) - buf.WriteByte('.') - buf.WriteString(x.Sel.Name) - - case *ast.IndexExpr: - WriteExpr(buf, x.X) - buf.WriteByte('[') - WriteExpr(buf, x.Index) - buf.WriteByte(']') - - case *ast.SliceExpr: - WriteExpr(buf, x.X) - buf.WriteByte('[') - if x.Low != nil { - WriteExpr(buf, x.Low) - } - buf.WriteByte(':') - if x.High != nil { - WriteExpr(buf, x.High) - } - if x.Slice3 { - buf.WriteByte(':') - if x.Max != nil { - WriteExpr(buf, x.Max) - } - } - buf.WriteByte(']') - - case *ast.TypeAssertExpr: - WriteExpr(buf, x.X) - buf.WriteString(".(") - WriteExpr(buf, x.Type) - buf.WriteByte(')') - - case *ast.CallExpr: - WriteExpr(buf, x.Fun) - buf.WriteByte('(') - for i, arg := range x.Args { - if i > 0 { - buf.WriteString(", ") - } - WriteExpr(buf, arg) - } - if x.Ellipsis.IsValid() { - buf.WriteString("...") - } - buf.WriteByte(')') - - case *ast.StarExpr: - buf.WriteByte('*') - WriteExpr(buf, x.X) - - case *ast.UnaryExpr: - buf.WriteString(x.Op.String()) - WriteExpr(buf, x.X) - - case *ast.BinaryExpr: - WriteExpr(buf, x.X) - buf.WriteByte(' ') - buf.WriteString(x.Op.String()) - buf.WriteByte(' ') - WriteExpr(buf, x.Y) - - case *ast.ArrayType: - buf.WriteByte('[') - if x.Len != nil { - WriteExpr(buf, x.Len) - } - buf.WriteByte(']') - WriteExpr(buf, x.Elt) - - case *ast.StructType: - buf.WriteString("struct{") - writeFieldList(buf, x.Fields, "; ", false) - buf.WriteByte('}') - - case *ast.FuncType: - buf.WriteString("func") - writeSigExpr(buf, x) - - case *ast.InterfaceType: - buf.WriteString("interface{") - writeFieldList(buf, x.Methods, "; ", true) - buf.WriteByte('}') - - case *ast.MapType: - buf.WriteString("map[") - WriteExpr(buf, x.Key) - buf.WriteByte(']') - WriteExpr(buf, x.Value) - - case *ast.ChanType: - var s string - switch x.Dir { - case ast.SEND: - s = "chan<- " - case ast.RECV: - s = "<-chan " - default: - s = "chan " - } - buf.WriteString(s) - WriteExpr(buf, x.Value) - } -} - -func writeSigExpr(buf *bytes.Buffer, sig *ast.FuncType) { - buf.WriteByte('(') - writeFieldList(buf, sig.Params, ", ", false) - buf.WriteByte(')') - - res := sig.Results - n := res.NumFields() - if n == 0 { - // no result - return - } - - buf.WriteByte(' ') - if n == 1 && len(res.List[0].Names) == 0 { - // single unnamed result - WriteExpr(buf, res.List[0].Type) - return - } - - // multiple or named result(s) - buf.WriteByte('(') - writeFieldList(buf, res, ", ", false) - buf.WriteByte(')') -} - -func writeFieldList(buf *bytes.Buffer, fields *ast.FieldList, sep string, iface bool) { - for i, f := range fields.List { - if i > 0 { - buf.WriteString(sep) - } - - // field list names - for i, name := range f.Names { - if i > 0 { - buf.WriteString(", ") - } - buf.WriteString(name.Name) - } - - // types of interface methods consist of signatures only - if sig, _ := f.Type.(*ast.FuncType); sig != nil && iface { - writeSigExpr(buf, sig) - continue - } - - // named fields are separated with a blank from the field type - if len(f.Names) > 0 { - buf.WriteByte(' ') - } - - WriteExpr(buf, f.Type) - - // ignore tag - } -} diff --git a/vendor/golang.org/x/tools/go/types/go11.go b/vendor/golang.org/x/tools/go/types/go11.go deleted file mode 100644 index cf41cab..0000000 --- a/vendor/golang.org/x/tools/go/types/go11.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2013 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. - -// +build !go1.2 - -package types - -import "go/ast" - -func slice3(x *ast.SliceExpr) bool { - return false -} - -func sliceMax(x *ast.SliceExpr) ast.Expr { - return nil -} diff --git a/vendor/golang.org/x/tools/go/types/go12.go b/vendor/golang.org/x/tools/go/types/go12.go deleted file mode 100644 index 2017442..0000000 --- a/vendor/golang.org/x/tools/go/types/go12.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2013 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. - -// +build go1.2 - -package types - -import "go/ast" - -func slice3(x *ast.SliceExpr) bool { - return x.Slice3 -} - -func sliceMax(x *ast.SliceExpr) ast.Expr { - return x.Max -} diff --git a/vendor/golang.org/x/tools/go/types/initorder.go b/vendor/golang.org/x/tools/go/types/initorder.go deleted file mode 100644 index 0fd567b..0000000 --- a/vendor/golang.org/x/tools/go/types/initorder.go +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2014 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. - -package types - -import ( - "container/heap" - "fmt" -) - -// initOrder computes the Info.InitOrder for package variables. -func (check *Checker) initOrder() { - // An InitOrder may already have been computed if a package is - // built from several calls to (*Checker).Files. Clear it. - check.Info.InitOrder = check.Info.InitOrder[:0] - - // compute the object dependency graph and - // initialize a priority queue with the list - // of graph nodes - pq := nodeQueue(dependencyGraph(check.objMap)) - heap.Init(&pq) - - const debug = false - if debug { - fmt.Printf("package %s: object dependency graph\n", check.pkg.Name()) - for _, n := range pq { - for _, o := range n.out { - fmt.Printf("\t%s -> %s\n", n.obj.Name(), o.obj.Name()) - } - } - fmt.Println() - fmt.Printf("package %s: initialization order\n", check.pkg.Name()) - } - - // determine initialization order by removing the highest priority node - // (the one with the fewest dependencies) and its edges from the graph, - // repeatedly, until there are no nodes left. - // In a valid Go program, those nodes always have zero dependencies (after - // removing all incoming dependencies), otherwise there are initialization - // cycles. - mark := 0 - emitted := make(map[*declInfo]bool) - for len(pq) > 0 { - // get the next node - n := heap.Pop(&pq).(*objNode) - - // if n still depends on other nodes, we have a cycle - if n.in > 0 { - mark++ // mark nodes using a different value each time - cycle := findPath(n, n, mark) - if i := valIndex(cycle); i >= 0 { - check.reportCycle(cycle, i) - } - // ok to continue, but the variable initialization order - // will be incorrect at this point since it assumes no - // cycle errors - } - - // reduce dependency count of all dependent nodes - // and update priority queue - for _, out := range n.out { - out.in-- - heap.Fix(&pq, out.index) - } - - // record the init order for variables with initializers only - v, _ := n.obj.(*Var) - info := check.objMap[v] - if v == nil || !info.hasInitializer() { - continue - } - - // n:1 variable declarations such as: a, b = f() - // introduce a node for each lhs variable (here: a, b); - // but they all have the same initializer - emit only - // one, for the first variable seen - if emitted[info] { - continue // initializer already emitted, if any - } - emitted[info] = true - - infoLhs := info.lhs // possibly nil (see declInfo.lhs field comment) - if infoLhs == nil { - infoLhs = []*Var{v} - } - init := &Initializer{infoLhs, info.init} - check.Info.InitOrder = append(check.Info.InitOrder, init) - - if debug { - fmt.Printf("\t%s\n", init) - } - } - - if debug { - fmt.Println() - } -} - -// findPath returns the (reversed) list of nodes z, ... c, b, a, -// such that there is a path (list of edges) from a to z. -// If there is no such path, the result is nil. -// Nodes marked with the value mark are considered "visited"; -// unvisited nodes are marked during the graph search. -func findPath(a, z *objNode, mark int) []*objNode { - if a.mark == mark { - return nil // node already seen - } - a.mark = mark - - for _, n := range a.out { - if n == z { - return []*objNode{z} - } - if P := findPath(n, z, mark); P != nil { - return append(P, n) - } - } - - return nil -} - -// valIndex returns the index of the first constant or variable in a, -// if any; or a value < 0. -func valIndex(a []*objNode) int { - for i, n := range a { - switch n.obj.(type) { - case *Const, *Var: - return i - } - } - return -1 -} - -// reportCycle reports an error for the cycle starting at i. -func (check *Checker) reportCycle(cycle []*objNode, i int) { - obj := cycle[i].obj - check.errorf(obj.Pos(), "initialization cycle for %s", obj.Name()) - // print cycle - for _ = range cycle { - check.errorf(obj.Pos(), "\t%s refers to", obj.Name()) // secondary error, \t indented - i++ - if i >= len(cycle) { - i = 0 - } - obj = cycle[i].obj - } - check.errorf(obj.Pos(), "\t%s", obj.Name()) -} - -// An objNode represents a node in the object dependency graph. -// Each node b in a.out represents an edge a->b indicating that -// b depends on a. -// Nodes may be marked for cycle detection. A node n is marked -// if n.mark corresponds to the current mark value. -type objNode struct { - obj Object // object represented by this node - in int // number of nodes this node depends on - out []*objNode // list of nodes that depend on this node - index int // node index in list of nodes - mark int // for cycle detection -} - -// dependencyGraph computes the transposed object dependency graph -// from the given objMap. The transposed graph is returned as a list -// of nodes; an edge d->n indicates that node n depends on node d. -func dependencyGraph(objMap map[Object]*declInfo) []*objNode { - // M maps each object to its corresponding node - M := make(map[Object]*objNode, len(objMap)) - for obj := range objMap { - M[obj] = &objNode{obj: obj} - } - - // G is the graph of nodes n - G := make([]*objNode, len(M)) - i := 0 - for obj, n := range M { - deps := objMap[obj].deps - n.in = len(deps) - for d := range deps { - d := M[d] // node n depends on node d - d.out = append(d.out, n) // add edge d->n - } - - G[i] = n - n.index = i - i++ - } - - return G -} - -// nodeQueue implements the container/heap interface; -// a nodeQueue may be used as a priority queue. -type nodeQueue []*objNode - -func (a nodeQueue) Len() int { return len(a) } - -func (a nodeQueue) Swap(i, j int) { - x, y := a[i], a[j] - a[i], a[j] = y, x - x.index, y.index = j, i -} - -func (a nodeQueue) Less(i, j int) bool { - x, y := a[i], a[j] - // nodes are prioritized by number of incoming dependencies (1st key) - // and source order (2nd key) - return x.in < y.in || x.in == y.in && x.obj.order() < y.obj.order() -} - -func (a *nodeQueue) Push(x interface{}) { - panic("unreachable") -} - -func (a *nodeQueue) Pop() interface{} { - n := len(*a) - x := (*a)[n-1] - x.index = -1 // for safety - *a = (*a)[:n-1] - return x -} diff --git a/vendor/golang.org/x/tools/go/types/labels.go b/vendor/golang.org/x/tools/go/types/labels.go deleted file mode 100644 index 7364d4d..0000000 --- a/vendor/golang.org/x/tools/go/types/labels.go +++ /dev/null @@ -1,268 +0,0 @@ -// Copyright 2013 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. - -package types - -import ( - "go/ast" - "go/token" -) - -// labels checks correct label use in body. -func (check *Checker) labels(body *ast.BlockStmt) { - // set of all labels in this body - all := NewScope(nil, body.Pos(), body.End(), "label") - - fwdJumps := check.blockBranches(all, nil, nil, body.List) - - // If there are any forward jumps left, no label was found for - // the corresponding goto statements. Either those labels were - // never defined, or they are inside blocks and not reachable - // for the respective gotos. - for _, jmp := range fwdJumps { - var msg string - name := jmp.Label.Name - if alt := all.Lookup(name); alt != nil { - msg = "goto %s jumps into block" - alt.(*Label).used = true // avoid another error - } else { - msg = "label %s not declared" - } - check.errorf(jmp.Label.Pos(), msg, name) - } - - // spec: "It is illegal to define a label that is never used." - for _, obj := range all.elems { - if lbl := obj.(*Label); !lbl.used { - check.softErrorf(lbl.pos, "label %s declared but not used", lbl.name) - } - } -} - -// A block tracks label declarations in a block and its enclosing blocks. -type block struct { - parent *block // enclosing block - lstmt *ast.LabeledStmt // labeled statement to which this block belongs, or nil - labels map[string]*ast.LabeledStmt // allocated lazily -} - -// insert records a new label declaration for the current block. -// The label must not have been declared before in any block. -func (b *block) insert(s *ast.LabeledStmt) { - name := s.Label.Name - if debug { - assert(b.gotoTarget(name) == nil) - } - labels := b.labels - if labels == nil { - labels = make(map[string]*ast.LabeledStmt) - b.labels = labels - } - labels[name] = s -} - -// gotoTarget returns the labeled statement in the current -// or an enclosing block with the given label name, or nil. -func (b *block) gotoTarget(name string) *ast.LabeledStmt { - for s := b; s != nil; s = s.parent { - if t := s.labels[name]; t != nil { - return t - } - } - return nil -} - -// enclosingTarget returns the innermost enclosing labeled -// statement with the given label name, or nil. -func (b *block) enclosingTarget(name string) *ast.LabeledStmt { - for s := b; s != nil; s = s.parent { - if t := s.lstmt; t != nil && t.Label.Name == name { - return t - } - } - return nil -} - -// blockBranches processes a block's statement list and returns the set of outgoing forward jumps. -// all is the scope of all declared labels, parent the set of labels declared in the immediately -// enclosing block, and lstmt is the labeled statement this block is associated with (or nil). -func (check *Checker) blockBranches(all *Scope, parent *block, lstmt *ast.LabeledStmt, list []ast.Stmt) []*ast.BranchStmt { - b := &block{parent: parent, lstmt: lstmt} - - var ( - varDeclPos token.Pos - fwdJumps, badJumps []*ast.BranchStmt - ) - - // All forward jumps jumping over a variable declaration are possibly - // invalid (they may still jump out of the block and be ok). - // recordVarDecl records them for the given position. - recordVarDecl := func(pos token.Pos) { - varDeclPos = pos - badJumps = append(badJumps[:0], fwdJumps...) // copy fwdJumps to badJumps - } - - jumpsOverVarDecl := func(jmp *ast.BranchStmt) bool { - if varDeclPos.IsValid() { - for _, bad := range badJumps { - if jmp == bad { - return true - } - } - } - return false - } - - blockBranches := func(lstmt *ast.LabeledStmt, list []ast.Stmt) { - // Unresolved forward jumps inside the nested block - // become forward jumps in the current block. - fwdJumps = append(fwdJumps, check.blockBranches(all, b, lstmt, list)...) - } - - var stmtBranches func(ast.Stmt) - stmtBranches = func(s ast.Stmt) { - switch s := s.(type) { - case *ast.DeclStmt: - if d, _ := s.Decl.(*ast.GenDecl); d != nil && d.Tok == token.VAR { - recordVarDecl(d.Pos()) - } - - case *ast.LabeledStmt: - // declare non-blank label - if name := s.Label.Name; name != "_" { - lbl := NewLabel(s.Label.Pos(), check.pkg, name) - if alt := all.Insert(lbl); alt != nil { - check.softErrorf(lbl.pos, "label %s already declared", name) - check.reportAltDecl(alt) - // ok to continue - } else { - b.insert(s) - check.recordDef(s.Label, lbl) - } - // resolve matching forward jumps and remove them from fwdJumps - i := 0 - for _, jmp := range fwdJumps { - if jmp.Label.Name == name { - // match - lbl.used = true - check.recordUse(jmp.Label, lbl) - if jumpsOverVarDecl(jmp) { - check.softErrorf( - jmp.Label.Pos(), - "goto %s jumps over variable declaration at line %d", - name, - check.fset.Position(varDeclPos).Line, - ) - // ok to continue - } - } else { - // no match - record new forward jump - fwdJumps[i] = jmp - i++ - } - } - fwdJumps = fwdJumps[:i] - lstmt = s - } - stmtBranches(s.Stmt) - - case *ast.BranchStmt: - if s.Label == nil { - return // checked in 1st pass (check.stmt) - } - - // determine and validate target - name := s.Label.Name - switch s.Tok { - case token.BREAK: - // spec: "If there is a label, it must be that of an enclosing - // "for", "switch", or "select" statement, and that is the one - // whose execution terminates." - valid := false - if t := b.enclosingTarget(name); t != nil { - switch t.Stmt.(type) { - case *ast.SwitchStmt, *ast.TypeSwitchStmt, *ast.SelectStmt, *ast.ForStmt, *ast.RangeStmt: - valid = true - } - } - if !valid { - check.errorf(s.Label.Pos(), "invalid break label %s", name) - return - } - - case token.CONTINUE: - // spec: "If there is a label, it must be that of an enclosing - // "for" statement, and that is the one whose execution advances." - valid := false - if t := b.enclosingTarget(name); t != nil { - switch t.Stmt.(type) { - case *ast.ForStmt, *ast.RangeStmt: - valid = true - } - } - if !valid { - check.errorf(s.Label.Pos(), "invalid continue label %s", name) - return - } - - case token.GOTO: - if b.gotoTarget(name) == nil { - // label may be declared later - add branch to forward jumps - fwdJumps = append(fwdJumps, s) - return - } - - default: - check.invalidAST(s.Pos(), "branch statement: %s %s", s.Tok, name) - return - } - - // record label use - obj := all.Lookup(name) - obj.(*Label).used = true - check.recordUse(s.Label, obj) - - case *ast.AssignStmt: - if s.Tok == token.DEFINE { - recordVarDecl(s.Pos()) - } - - case *ast.BlockStmt: - blockBranches(lstmt, s.List) - - case *ast.IfStmt: - stmtBranches(s.Body) - if s.Else != nil { - stmtBranches(s.Else) - } - - case *ast.CaseClause: - blockBranches(nil, s.Body) - - case *ast.SwitchStmt: - stmtBranches(s.Body) - - case *ast.TypeSwitchStmt: - stmtBranches(s.Body) - - case *ast.CommClause: - blockBranches(nil, s.Body) - - case *ast.SelectStmt: - stmtBranches(s.Body) - - case *ast.ForStmt: - stmtBranches(s.Body) - - case *ast.RangeStmt: - stmtBranches(s.Body) - } - } - - for _, s := range list { - stmtBranches(s) - } - - return fwdJumps -} diff --git a/vendor/golang.org/x/tools/go/types/lookup.go b/vendor/golang.org/x/tools/go/types/lookup.go deleted file mode 100644 index 3caca55..0000000 --- a/vendor/golang.org/x/tools/go/types/lookup.go +++ /dev/null @@ -1,341 +0,0 @@ -// Copyright 2013 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. - -// This file implements various field and method lookup functions. - -package types - -// LookupFieldOrMethod looks up a field or method with given package and name -// in T and returns the corresponding *Var or *Func, an index sequence, and a -// bool indicating if there were any pointer indirections on the path to the -// field or method. If addressable is set, T is the type of an addressable -// variable (only matters for method lookups). -// -// The last index entry is the field or method index in the (possibly embedded) -// type where the entry was found, either: -// -// 1) the list of declared methods of a named type; or -// 2) the list of all methods (method set) of an interface type; or -// 3) the list of fields of a struct type. -// -// The earlier index entries are the indices of the anonymous struct fields -// traversed to get to the found entry, starting at depth 0. -// -// If no entry is found, a nil object is returned. In this case, the returned -// index and indirect values have the following meaning: -// -// - If index != nil, the index sequence points to an ambiguous entry -// (the same name appeared more than once at the same embedding level). -// -// - If indirect is set, a method with a pointer receiver type was found -// but there was no pointer on the path from the actual receiver type to -// the method's formal receiver base type, nor was the receiver addressable. -// -func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { - // Methods cannot be associated to a named pointer type - // (spec: "The type denoted by T is called the receiver base type; - // it must not be a pointer or interface type and it must be declared - // in the same package as the method."). - // Thus, if we have a named pointer type, proceed with the underlying - // pointer type but discard the result if it is a method since we would - // not have found it for T (see also issue 8590). - if t, _ := T.(*Named); t != nil { - if p, _ := t.underlying.(*Pointer); p != nil { - obj, index, indirect = lookupFieldOrMethod(p, false, pkg, name) - if _, ok := obj.(*Func); ok { - return nil, nil, false - } - return - } - } - - return lookupFieldOrMethod(T, addressable, pkg, name) -} - -// TODO(gri) The named type consolidation and seen maps below must be -// indexed by unique keys for a given type. Verify that named -// types always have only one representation (even when imported -// indirectly via different packages.) - -func lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { - // WARNING: The code in this function is extremely subtle - do not modify casually! - // This function and NewMethodSet should be kept in sync. - - if name == "_" { - return // blank fields/methods are never found - } - - typ, isPtr := deref(T) - named, _ := typ.(*Named) - - // *typ where typ is an interface has no methods. - if isPtr { - utyp := typ - if named != nil { - utyp = named.underlying - } - if _, ok := utyp.(*Interface); ok { - return - } - } - - // Start with typ as single entry at shallowest depth. - // If typ is not a named type, insert a nil type instead. - current := []embeddedType{{named, nil, isPtr, false}} - - // named types that we have seen already, allocated lazily - var seen map[*Named]bool - - // search current depth - for len(current) > 0 { - var next []embeddedType // embedded types found at current depth - - // look for (pkg, name) in all types at current depth - for _, e := range current { - // The very first time only, e.typ may be nil. - // In this case, we don't have a named type and - // we simply continue with the underlying type. - if e.typ != nil { - if seen[e.typ] { - // We have seen this type before, at a more shallow depth - // (note that multiples of this type at the current depth - // were consolidated before). The type at that depth shadows - // this same type at the current depth, so we can ignore - // this one. - continue - } - if seen == nil { - seen = make(map[*Named]bool) - } - seen[e.typ] = true - - // look for a matching attached method - if i, m := lookupMethod(e.typ.methods, pkg, name); m != nil { - // potential match - assert(m.typ != nil) - index = concat(e.index, i) - if obj != nil || e.multiples { - return nil, index, false // collision - } - obj = m - indirect = e.indirect - continue // we can't have a matching field or interface method - } - - // continue with underlying type - typ = e.typ.underlying - } - - switch t := typ.(type) { - case *Struct: - // look for a matching field and collect embedded types - for i, f := range t.fields { - if f.sameId(pkg, name) { - assert(f.typ != nil) - index = concat(e.index, i) - if obj != nil || e.multiples { - return nil, index, false // collision - } - obj = f - indirect = e.indirect - continue // we can't have a matching interface method - } - // Collect embedded struct fields for searching the next - // lower depth, but only if we have not seen a match yet - // (if we have a match it is either the desired field or - // we have a name collision on the same depth; in either - // case we don't need to look further). - // Embedded fields are always of the form T or *T where - // T is a named type. If e.typ appeared multiple times at - // this depth, f.typ appears multiple times at the next - // depth. - if obj == nil && f.anonymous { - // Ignore embedded basic types - only user-defined - // named types can have methods or struct fields. - typ, isPtr := deref(f.typ) - if t, _ := typ.(*Named); t != nil { - next = append(next, embeddedType{t, concat(e.index, i), e.indirect || isPtr, e.multiples}) - } - } - } - - case *Interface: - // look for a matching method - // TODO(gri) t.allMethods is sorted - use binary search - if i, m := lookupMethod(t.allMethods, pkg, name); m != nil { - assert(m.typ != nil) - index = concat(e.index, i) - if obj != nil || e.multiples { - return nil, index, false // collision - } - obj = m - indirect = e.indirect - } - } - } - - if obj != nil { - // found a potential match - // spec: "A method call x.m() is valid if the method set of (the type of) x - // contains m and the argument list can be assigned to the parameter - // list of m. If x is addressable and &x's method set contains m, x.m() - // is shorthand for (&x).m()". - if f, _ := obj.(*Func); f != nil && ptrRecv(f) && !indirect && !addressable { - return nil, nil, true // pointer/addressable receiver required - } - return - } - - current = consolidateMultiples(next) - } - - return nil, nil, false // not found -} - -// embeddedType represents an embedded named type -type embeddedType struct { - typ *Named // nil means use the outer typ variable instead - index []int // embedded field indices, starting with index at depth 0 - indirect bool // if set, there was a pointer indirection on the path to this field - multiples bool // if set, typ appears multiple times at this depth -} - -// consolidateMultiples collects multiple list entries with the same type -// into a single entry marked as containing multiples. The result is the -// consolidated list. -func consolidateMultiples(list []embeddedType) []embeddedType { - if len(list) <= 1 { - return list // at most one entry - nothing to do - } - - n := 0 // number of entries w/ unique type - prev := make(map[*Named]int) // index at which type was previously seen - for _, e := range list { - if i, found := prev[e.typ]; found { - list[i].multiples = true - // ignore this entry - } else { - prev[e.typ] = n - list[n] = e - n++ - } - } - return list[:n] -} - -// MissingMethod returns (nil, false) if V implements T, otherwise it -// returns a missing method required by T and whether it is missing or -// just has the wrong type. -// -// For non-interface types V, or if static is set, V implements T if all -// methods of T are present in V. Otherwise (V is an interface and static -// is not set), MissingMethod only checks that methods of T which are also -// present in V have matching types (e.g., for a type assertion x.(T) where -// x is of interface type V). -// -func MissingMethod(V Type, T *Interface, static bool) (method *Func, wrongType bool) { - // fast path for common case - if T.Empty() { - return - } - - // TODO(gri) Consider using method sets here. Might be more efficient. - - if ityp, _ := V.Underlying().(*Interface); ityp != nil { - // TODO(gri) allMethods is sorted - can do this more efficiently - for _, m := range T.allMethods { - _, obj := lookupMethod(ityp.allMethods, m.pkg, m.name) - switch { - case obj == nil: - if static { - return m, false - } - case !Identical(obj.Type(), m.typ): - return m, true - } - } - return - } - - // A concrete type implements T if it implements all methods of T. - for _, m := range T.allMethods { - obj, _, _ := lookupFieldOrMethod(V, false, m.pkg, m.name) - - f, _ := obj.(*Func) - if f == nil { - return m, false - } - - if !Identical(f.typ, m.typ) { - return m, true - } - } - - return -} - -// assertableTo reports whether a value of type V can be asserted to have type T. -// It returns (nil, false) as affirmative answer. Otherwise it returns a missing -// method required by V and whether it is missing or just has the wrong type. -func assertableTo(V *Interface, T Type) (method *Func, wrongType bool) { - // no static check is required if T is an interface - // spec: "If T is an interface type, x.(T) asserts that the - // dynamic type of x implements the interface T." - if _, ok := T.Underlying().(*Interface); ok && !strict { - return - } - return MissingMethod(T, V, false) -} - -// deref dereferences typ if it is a *Pointer and returns its base and true. -// Otherwise it returns (typ, false). -func deref(typ Type) (Type, bool) { - if p, _ := typ.(*Pointer); p != nil { - return p.base, true - } - return typ, false -} - -// derefStructPtr dereferences typ if it is a (named or unnamed) pointer to a -// (named or unnamed) struct and returns its base. Otherwise it returns typ. -func derefStructPtr(typ Type) Type { - if p, _ := typ.Underlying().(*Pointer); p != nil { - if _, ok := p.base.Underlying().(*Struct); ok { - return p.base - } - } - return typ -} - -// concat returns the result of concatenating list and i. -// The result does not share its underlying array with list. -func concat(list []int, i int) []int { - var t []int - t = append(t, list...) - return append(t, i) -} - -// fieldIndex returns the index for the field with matching package and name, or a value < 0. -func fieldIndex(fields []*Var, pkg *Package, name string) int { - if name != "_" { - for i, f := range fields { - if f.sameId(pkg, name) { - return i - } - } - } - return -1 -} - -// lookupMethod returns the index of and method with matching package and name, or (-1, nil). -func lookupMethod(methods []*Func, pkg *Package, name string) (int, *Func) { - if name != "_" { - for i, m := range methods { - if m.sameId(pkg, name) { - return i, m - } - } - } - return -1, nil -} diff --git a/vendor/golang.org/x/tools/go/types/methodset.go b/vendor/golang.org/x/tools/go/types/methodset.go deleted file mode 100644 index 8aff6f9..0000000 --- a/vendor/golang.org/x/tools/go/types/methodset.go +++ /dev/null @@ -1,271 +0,0 @@ -// Copyright 2013 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. - -// This file implements method sets. - -package types - -import ( - "bytes" - "fmt" - "sort" -) - -// A MethodSet is an ordered set of concrete or abstract (interface) methods; -// a method is a MethodVal selection, and they are ordered by ascending m.Obj().Id(). -// The zero value for a MethodSet is a ready-to-use empty method set. -type MethodSet struct { - list []*Selection -} - -func (s *MethodSet) String() string { - if s.Len() == 0 { - return "MethodSet {}" - } - - var buf bytes.Buffer - fmt.Fprintln(&buf, "MethodSet {") - for _, f := range s.list { - fmt.Fprintf(&buf, "\t%s\n", f) - } - fmt.Fprintln(&buf, "}") - return buf.String() -} - -// Len returns the number of methods in s. -func (s *MethodSet) Len() int { return len(s.list) } - -// At returns the i'th method in s for 0 <= i < s.Len(). -func (s *MethodSet) At(i int) *Selection { return s.list[i] } - -// Lookup returns the method with matching package and name, or nil if not found. -func (s *MethodSet) Lookup(pkg *Package, name string) *Selection { - if s.Len() == 0 { - return nil - } - - key := Id(pkg, name) - i := sort.Search(len(s.list), func(i int) bool { - m := s.list[i] - return m.obj.Id() >= key - }) - if i < len(s.list) { - m := s.list[i] - if m.obj.Id() == key { - return m - } - } - return nil -} - -// Shared empty method set. -var emptyMethodSet MethodSet - -// NewMethodSet returns the method set for the given type T. It -// always returns a non-nil method set, even if it is empty. -// -// A MethodSetCache handles repeat queries more efficiently. -// -func NewMethodSet(T Type) *MethodSet { - // WARNING: The code in this function is extremely subtle - do not modify casually! - // This function and lookupFieldOrMethod should be kept in sync. - - // method set up to the current depth, allocated lazily - var base methodSet - - typ, isPtr := deref(T) - named, _ := typ.(*Named) - - // *typ where typ is an interface has no methods. - if isPtr { - utyp := typ - if named != nil { - utyp = named.underlying - } - if _, ok := utyp.(*Interface); ok { - return &emptyMethodSet - } - } - - // Start with typ as single entry at shallowest depth. - // If typ is not a named type, insert a nil type instead. - current := []embeddedType{{named, nil, isPtr, false}} - - // named types that we have seen already, allocated lazily - var seen map[*Named]bool - - // collect methods at current depth - for len(current) > 0 { - var next []embeddedType // embedded types found at current depth - - // field and method sets at current depth, allocated lazily - var fset fieldSet - var mset methodSet - - for _, e := range current { - // The very first time only, e.typ may be nil. - // In this case, we don't have a named type and - // we simply continue with the underlying type. - if e.typ != nil { - if seen[e.typ] { - // We have seen this type before, at a more shallow depth - // (note that multiples of this type at the current depth - // were consolidated before). The type at that depth shadows - // this same type at the current depth, so we can ignore - // this one. - continue - } - if seen == nil { - seen = make(map[*Named]bool) - } - seen[e.typ] = true - - mset = mset.add(e.typ.methods, e.index, e.indirect, e.multiples) - - // continue with underlying type - typ = e.typ.underlying - } - - switch t := typ.(type) { - case *Struct: - for i, f := range t.fields { - fset = fset.add(f, e.multiples) - - // Embedded fields are always of the form T or *T where - // T is a named type. If typ appeared multiple times at - // this depth, f.Type appears multiple times at the next - // depth. - if f.anonymous { - // Ignore embedded basic types - only user-defined - // named types can have methods or struct fields. - typ, isPtr := deref(f.typ) - if t, _ := typ.(*Named); t != nil { - next = append(next, embeddedType{t, concat(e.index, i), e.indirect || isPtr, e.multiples}) - } - } - } - - case *Interface: - mset = mset.add(t.allMethods, e.index, true, e.multiples) - } - } - - // Add methods and collisions at this depth to base if no entries with matching - // names exist already. - for k, m := range mset { - if _, found := base[k]; !found { - // Fields collide with methods of the same name at this depth. - if _, found := fset[k]; found { - m = nil // collision - } - if base == nil { - base = make(methodSet) - } - base[k] = m - } - } - - // Multiple fields with matching names collide at this depth and shadow all - // entries further down; add them as collisions to base if no entries with - // matching names exist already. - for k, f := range fset { - if f == nil { - if _, found := base[k]; !found { - if base == nil { - base = make(methodSet) - } - base[k] = nil // collision - } - } - } - - current = consolidateMultiples(next) - } - - if len(base) == 0 { - return &emptyMethodSet - } - - // collect methods - var list []*Selection - for _, m := range base { - if m != nil { - m.recv = T - list = append(list, m) - } - } - sort.Sort(byUniqueName(list)) - return &MethodSet{list} -} - -// A fieldSet is a set of fields and name collisions. -// A collision indicates that multiple fields with the -// same unique id appeared. -type fieldSet map[string]*Var // a nil entry indicates a name collision - -// Add adds field f to the field set s. -// If multiples is set, f appears multiple times -// and is treated as a collision. -func (s fieldSet) add(f *Var, multiples bool) fieldSet { - if s == nil { - s = make(fieldSet) - } - key := f.Id() - // if f is not in the set, add it - if !multiples { - if _, found := s[key]; !found { - s[key] = f - return s - } - } - s[key] = nil // collision - return s -} - -// A methodSet is a set of methods and name collisions. -// A collision indicates that multiple methods with the -// same unique id appeared. -type methodSet map[string]*Selection // a nil entry indicates a name collision - -// Add adds all functions in list to the method set s. -// If multiples is set, every function in list appears multiple times -// and is treated as a collision. -func (s methodSet) add(list []*Func, index []int, indirect bool, multiples bool) methodSet { - if len(list) == 0 { - return s - } - if s == nil { - s = make(methodSet) - } - for i, f := range list { - key := f.Id() - // if f is not in the set, add it - if !multiples { - // TODO(gri) A found method may not be added because it's not in the method set - // (!indirect && ptrRecv(f)). A 2nd method on the same level may be in the method - // set and may not collide with the first one, thus leading to a false positive. - // Is that possible? Investigate. - if _, found := s[key]; !found && (indirect || !ptrRecv(f)) { - s[key] = &Selection{MethodVal, nil, f, concat(index, i), indirect} - continue - } - } - s[key] = nil // collision - } - return s -} - -// ptrRecv reports whether the receiver is of the form *T. -// The receiver must exist. -func ptrRecv(f *Func) bool { - _, isPtr := deref(f.typ.(*Signature).recv.typ) - return isPtr -} - -// byUniqueName function lists can be sorted by their unique names. -type byUniqueName []*Selection - -func (a byUniqueName) Len() int { return len(a) } -func (a byUniqueName) Less(i, j int) bool { return a[i].obj.Id() < a[j].obj.Id() } -func (a byUniqueName) Swap(i, j int) { a[i], a[j] = a[j], a[i] } diff --git a/vendor/golang.org/x/tools/go/types/object.go b/vendor/golang.org/x/tools/go/types/object.go deleted file mode 100644 index a9b6c43..0000000 --- a/vendor/golang.org/x/tools/go/types/object.go +++ /dev/null @@ -1,361 +0,0 @@ -// Copyright 2013 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. - -package types - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -// TODO(gri) Document factory, accessor methods, and fields. General clean-up. - -// An Object describes a named language entity such as a package, -// constant, type, variable, function (incl. methods), or label. -// All objects implement the Object interface. -// -type Object interface { - Parent() *Scope // scope in which this object is declared - Pos() token.Pos // position of object identifier in declaration - Pkg() *Package // nil for objects in the Universe scope and labels - Name() string // package local object name - Type() Type // object type - Exported() bool // reports whether the name starts with a capital letter - Id() string // object id (see Id below) - - // String returns a human-readable string of the object. - String() string - - // order reflects a package-level object's source order: if object - // a is before object b in the source, then a.order() < b.order(). - // order returns a value > 0 for package-level objects; it returns - // 0 for all other objects (including objects in file scopes). - order() uint32 - - // setOrder sets the order number of the object. It must be > 0. - setOrder(uint32) - - // setParent sets the parent scope of the object. - setParent(*Scope) - - // sameId reports whether obj.Id() and Id(pkg, name) are the same. - sameId(pkg *Package, name string) bool - - // scopePos returns the start position of the scope of this Object - scopePos() token.Pos - - // setScopePos sets the start position of the scope for this Object. - setScopePos(pos token.Pos) -} - -// Id returns name if it is exported, otherwise it -// returns the name qualified with the package path. -func Id(pkg *Package, name string) string { - if ast.IsExported(name) { - return name - } - // unexported names need the package path for differentiation - // (if there's no package, make sure we don't start with '.' - // as that may change the order of methods between a setup - // inside a package and outside a package - which breaks some - // tests) - path := "_" - // TODO(gri): shouldn't !ast.IsExported(name) => pkg != nil be an precondition? - // if pkg == nil { - // panic("nil package in lookup of unexported name") - // } - if pkg != nil { - path = pkg.path - if path == "" { - path = "_" - } - } - return path + "." + name -} - -// An object implements the common parts of an Object. -type object struct { - parent *Scope - pos token.Pos - pkg *Package - name string - typ Type - order_ uint32 - scopePos_ token.Pos -} - -func (obj *object) Parent() *Scope { return obj.parent } -func (obj *object) Pos() token.Pos { return obj.pos } -func (obj *object) Pkg() *Package { return obj.pkg } -func (obj *object) Name() string { return obj.name } -func (obj *object) Type() Type { return obj.typ } -func (obj *object) Exported() bool { return ast.IsExported(obj.name) } -func (obj *object) Id() string { return Id(obj.pkg, obj.name) } -func (obj *object) String() string { panic("abstract") } -func (obj *object) order() uint32 { return obj.order_ } -func (obj *object) scopePos() token.Pos { return obj.scopePos_ } - -func (obj *object) setParent(parent *Scope) { obj.parent = parent } -func (obj *object) setOrder(order uint32) { assert(order > 0); obj.order_ = order } -func (obj *object) setScopePos(pos token.Pos) { obj.scopePos_ = pos } - -func (obj *object) sameId(pkg *Package, name string) bool { - // spec: - // "Two identifiers are different if they are spelled differently, - // or if they appear in different packages and are not exported. - // Otherwise, they are the same." - if name != obj.name { - return false - } - // obj.Name == name - if obj.Exported() { - return true - } - // not exported, so packages must be the same (pkg == nil for - // fields in Universe scope; this can only happen for types - // introduced via Eval) - if pkg == nil || obj.pkg == nil { - return pkg == obj.pkg - } - // pkg != nil && obj.pkg != nil - return pkg.path == obj.pkg.path -} - -// A PkgName represents an imported Go package. -type PkgName struct { - object - imported *Package - used bool // set if the package was used -} - -func NewPkgName(pos token.Pos, pkg *Package, name string, imported *Package) *PkgName { - return &PkgName{object{nil, pos, pkg, name, Typ[Invalid], 0, token.NoPos}, imported, false} -} - -// Imported returns the package that was imported. -// It is distinct from Pkg(), which is the package containing the import statement. -func (obj *PkgName) Imported() *Package { return obj.imported } - -// A Const represents a declared constant. -type Const struct { - object - val exact.Value - visited bool // for initialization cycle detection -} - -func NewConst(pos token.Pos, pkg *Package, name string, typ Type, val exact.Value) *Const { - return &Const{object{nil, pos, pkg, name, typ, 0, token.NoPos}, val, false} -} - -func (obj *Const) Val() exact.Value { return obj.val } - -// A TypeName represents a declared type. -type TypeName struct { - object -} - -func NewTypeName(pos token.Pos, pkg *Package, name string, typ Type) *TypeName { - return &TypeName{object{nil, pos, pkg, name, typ, 0, token.NoPos}} -} - -// A Variable represents a declared variable (including function parameters and results, and struct fields). -type Var struct { - object - anonymous bool // if set, the variable is an anonymous struct field, and name is the type name - visited bool // for initialization cycle detection - isField bool // var is struct field - used bool // set if the variable was used -} - -func NewVar(pos token.Pos, pkg *Package, name string, typ Type) *Var { - return &Var{object: object{nil, pos, pkg, name, typ, 0, token.NoPos}} -} - -func NewParam(pos token.Pos, pkg *Package, name string, typ Type) *Var { - return &Var{object: object{nil, pos, pkg, name, typ, 0, token.NoPos}, used: true} // parameters are always 'used' -} - -func NewField(pos token.Pos, pkg *Package, name string, typ Type, anonymous bool) *Var { - return &Var{object: object{nil, pos, pkg, name, typ, 0, token.NoPos}, anonymous: anonymous, isField: true} -} - -func (obj *Var) Anonymous() bool { return obj.anonymous } - -func (obj *Var) IsField() bool { return obj.isField } - -// A Func represents a declared function, concrete method, or abstract -// (interface) method. Its Type() is always a *Signature. -// An abstract method may belong to many interfaces due to embedding. -type Func struct { - object -} - -func NewFunc(pos token.Pos, pkg *Package, name string, sig *Signature) *Func { - // don't store a nil signature - var typ Type - if sig != nil { - typ = sig - } - return &Func{object{nil, pos, pkg, name, typ, 0, token.NoPos}} -} - -// FullName returns the package- or receiver-type-qualified name of -// function or method obj. -func (obj *Func) FullName() string { - var buf bytes.Buffer - writeFuncName(&buf, obj, nil) - return buf.String() -} - -func (obj *Func) Scope() *Scope { - return obj.typ.(*Signature).scope -} - -// A Label represents a declared label. -type Label struct { - object - used bool // set if the label was used -} - -func NewLabel(pos token.Pos, pkg *Package, name string) *Label { - return &Label{object{pos: pos, pkg: pkg, name: name, typ: Typ[Invalid]}, false} -} - -// A Builtin represents a built-in function. -// Builtins don't have a valid type. -type Builtin struct { - object - id builtinId -} - -func newBuiltin(id builtinId) *Builtin { - return &Builtin{object{name: predeclaredFuncs[id].name, typ: Typ[Invalid]}, id} -} - -// Nil represents the predeclared value nil. -type Nil struct { - object -} - -func writeObject(buf *bytes.Buffer, obj Object, qf Qualifier) { - typ := obj.Type() - switch obj := obj.(type) { - case *PkgName: - fmt.Fprintf(buf, "package %s", obj.Name()) - if path := obj.imported.path; path != "" && path != obj.name { - fmt.Fprintf(buf, " (%q)", path) - } - return - - case *Const: - buf.WriteString("const") - - case *TypeName: - buf.WriteString("type") - typ = typ.Underlying() - - case *Var: - if obj.isField { - buf.WriteString("field") - } else { - buf.WriteString("var") - } - - case *Func: - buf.WriteString("func ") - writeFuncName(buf, obj, qf) - if typ != nil { - WriteSignature(buf, typ.(*Signature), qf) - } - return - - case *Label: - buf.WriteString("label") - typ = nil - - case *Builtin: - buf.WriteString("builtin") - typ = nil - - case *Nil: - buf.WriteString("nil") - return - - default: - panic(fmt.Sprintf("writeObject(%T)", obj)) - } - - buf.WriteByte(' ') - - // For package-level objects, qualify the name. - if obj.Pkg() != nil && obj.Pkg().scope.Lookup(obj.Name()) == obj { - writePackage(buf, obj.Pkg(), qf) - } - buf.WriteString(obj.Name()) - if typ != nil { - buf.WriteByte(' ') - WriteType(buf, typ, qf) - } -} - -func writePackage(buf *bytes.Buffer, pkg *Package, qf Qualifier) { - if pkg == nil { - return - } - var s string - if qf != nil { - s = qf(pkg) - } else { - s = pkg.Path() - } - if s != "" { - buf.WriteString(s) - buf.WriteByte('.') - } -} - -// ObjectString returns the string form of obj. -// The Qualifier controls the printing of -// package-level objects, and may be nil. -func ObjectString(obj Object, qf Qualifier) string { - var buf bytes.Buffer - writeObject(&buf, obj, qf) - return buf.String() -} - -func (obj *PkgName) String() string { return ObjectString(obj, nil) } -func (obj *Const) String() string { return ObjectString(obj, nil) } -func (obj *TypeName) String() string { return ObjectString(obj, nil) } -func (obj *Var) String() string { return ObjectString(obj, nil) } -func (obj *Func) String() string { return ObjectString(obj, nil) } -func (obj *Label) String() string { return ObjectString(obj, nil) } -func (obj *Builtin) String() string { return ObjectString(obj, nil) } -func (obj *Nil) String() string { return ObjectString(obj, nil) } - -func writeFuncName(buf *bytes.Buffer, f *Func, qf Qualifier) { - if f.typ != nil { - sig := f.typ.(*Signature) - if recv := sig.Recv(); recv != nil { - buf.WriteByte('(') - if _, ok := recv.Type().(*Interface); ok { - // gcimporter creates abstract methods of - // named interfaces using the interface type - // (not the named type) as the receiver. - // Don't print it in full. - buf.WriteString("interface") - } else { - WriteType(buf, recv.Type(), qf) - } - buf.WriteByte(')') - buf.WriteByte('.') - } else if f.pkg != nil { - writePackage(buf, f.pkg, qf) - } - } - buf.WriteString(f.name) -} diff --git a/vendor/golang.org/x/tools/go/types/objset.go b/vendor/golang.org/x/tools/go/types/objset.go deleted file mode 100644 index 55eb74a..0000000 --- a/vendor/golang.org/x/tools/go/types/objset.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2013 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. - -// This file implements objsets. -// -// An objset is similar to a Scope but objset elements -// are identified by their unique id, instead of their -// object name. - -package types - -// An objset is a set of objects identified by their unique id. -// The zero value for objset is a ready-to-use empty objset. -type objset map[string]Object // initialized lazily - -// insert attempts to insert an object obj into objset s. -// If s already contains an alternative object alt with -// the same name, insert leaves s unchanged and returns alt. -// Otherwise it inserts obj and returns nil. -func (s *objset) insert(obj Object) Object { - id := obj.Id() - if alt := (*s)[id]; alt != nil { - return alt - } - if *s == nil { - *s = make(map[string]Object) - } - (*s)[id] = obj - return nil -} diff --git a/vendor/golang.org/x/tools/go/types/operand.go b/vendor/golang.org/x/tools/go/types/operand.go deleted file mode 100644 index d52b30e..0000000 --- a/vendor/golang.org/x/tools/go/types/operand.go +++ /dev/null @@ -1,288 +0,0 @@ -// Copyright 2012 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. - -// This file defines operands and associated operations. - -package types - -import ( - "bytes" - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -// An operandMode specifies the (addressing) mode of an operand. -type operandMode byte - -const ( - invalid operandMode = iota // operand is invalid - novalue // operand represents no value (result of a function call w/o result) - builtin // operand is a built-in function - typexpr // operand is a type - constant // operand is a constant; the operand's typ is a Basic type - variable // operand is an addressable variable - mapindex // operand is a map index expression (acts like a variable on lhs, commaok on rhs of an assignment) - value // operand is a computed value - commaok // like value, but operand may be used in a comma,ok expression -) - -var operandModeString = [...]string{ - invalid: "invalid operand", - novalue: "no value", - builtin: "built-in", - typexpr: "type", - constant: "constant", - variable: "variable", - mapindex: "map index expression", - value: "value", - commaok: "comma, ok expression", -} - -// An operand represents an intermediate value during type checking. -// Operands have an (addressing) mode, the expression evaluating to -// the operand, the operand's type, a value for constants, and an id -// for built-in functions. -// The zero value of operand is a ready to use invalid operand. -// -type operand struct { - mode operandMode - expr ast.Expr - typ Type - val exact.Value - id builtinId -} - -// pos returns the position of the expression corresponding to x. -// If x is invalid the position is token.NoPos. -// -func (x *operand) pos() token.Pos { - // x.expr may not be set if x is invalid - if x.expr == nil { - return token.NoPos - } - return x.expr.Pos() -} - -// Operand string formats -// (not all "untyped" cases can appear due to the type system, -// but they fall out naturally here) -// -// mode format -// -// invalid ( ) -// novalue ( ) -// builtin ( ) -// typexpr ( ) -// -// constant ( ) -// constant ( of type ) -// constant ( ) -// constant ( of type ) -// -// variable ( ) -// variable ( of type ) -// -// mapindex ( ) -// mapindex ( of type ) -// -// value ( ) -// value ( of type ) -// -// commaok ( ) -// commaok ( of type ) -// -func operandString(x *operand, qf Qualifier) string { - var buf bytes.Buffer - - var expr string - if x.expr != nil { - expr = ExprString(x.expr) - } else { - switch x.mode { - case builtin: - expr = predeclaredFuncs[x.id].name - case typexpr: - expr = TypeString(x.typ, qf) - case constant: - expr = x.val.String() - } - } - - // ( - if expr != "" { - buf.WriteString(expr) - buf.WriteString(" (") - } - - // - hasType := false - switch x.mode { - case invalid, novalue, builtin, typexpr: - // no type - default: - // has type - if isUntyped(x.typ) { - buf.WriteString(x.typ.(*Basic).name) - buf.WriteByte(' ') - break - } - hasType = true - } - - // - buf.WriteString(operandModeString[x.mode]) - - // - if x.mode == constant { - if s := x.val.String(); s != expr { - buf.WriteByte(' ') - buf.WriteString(s) - } - } - - // - if hasType { - if x.typ != Typ[Invalid] { - buf.WriteString(" of type ") - WriteType(&buf, x.typ, qf) - } else { - buf.WriteString(" with invalid type") - } - } - - // ) - if expr != "" { - buf.WriteByte(')') - } - - return buf.String() -} - -func (x *operand) String() string { - return operandString(x, nil) -} - -// setConst sets x to the untyped constant for literal lit. -func (x *operand) setConst(tok token.Token, lit string) { - val := exact.MakeFromLiteral(lit, tok) - if val == nil { - // TODO(gri) Should we make it an unknown constant instead? - x.mode = invalid - return - } - - var kind BasicKind - switch tok { - case token.INT: - kind = UntypedInt - case token.FLOAT: - kind = UntypedFloat - case token.IMAG: - kind = UntypedComplex - case token.CHAR: - kind = UntypedRune - case token.STRING: - kind = UntypedString - } - - x.mode = constant - x.typ = Typ[kind] - x.val = val -} - -// isNil reports whether x is the nil value. -func (x *operand) isNil() bool { - return x.mode == value && x.typ == Typ[UntypedNil] -} - -// TODO(gri) The functions operand.assignableTo, checker.convertUntyped, -// checker.representable, and checker.assignment are -// overlapping in functionality. Need to simplify and clean up. - -// assignableTo reports whether x is assignable to a variable of type T. -func (x *operand) assignableTo(conf *Config, T Type) bool { - if x.mode == invalid || T == Typ[Invalid] { - return true // avoid spurious errors - } - - V := x.typ - - // x's type is identical to T - if Identical(V, T) { - return true - } - - Vu := V.Underlying() - Tu := T.Underlying() - - // T is an interface type and x implements T - // (Do this check first as it might succeed early.) - if Ti, ok := Tu.(*Interface); ok { - if Implements(x.typ, Ti) { - return true - } - } - - // x's type V and T have identical underlying types - // and at least one of V or T is not a named type - if Identical(Vu, Tu) && (!isNamed(V) || !isNamed(T)) { - return true - } - - // x is a bidirectional channel value, T is a channel - // type, x's type V and T have identical element types, - // and at least one of V or T is not a named type - if Vc, ok := Vu.(*Chan); ok && Vc.dir == SendRecv { - if Tc, ok := Tu.(*Chan); ok && Identical(Vc.elem, Tc.elem) { - return !isNamed(V) || !isNamed(T) - } - } - - // x is the predeclared identifier nil and T is a pointer, - // function, slice, map, channel, or interface type - if x.isNil() { - switch t := Tu.(type) { - case *Basic: - if t.kind == UnsafePointer { - return true - } - case *Pointer, *Signature, *Slice, *Map, *Chan, *Interface: - return true - } - return false - } - - // x is an untyped constant representable by a value of type T - // TODO(gri) This is borrowing from checker.convertUntyped and - // checker.representable. Need to clean up. - if isUntyped(Vu) { - switch t := Tu.(type) { - case *Basic: - if x.mode == constant { - return representableConst(x.val, conf, t.kind, nil) - } - // The result of a comparison is an untyped boolean, - // but may not be a constant. - if Vb, _ := Vu.(*Basic); Vb != nil { - return Vb.kind == UntypedBool && isBoolean(Tu) - } - case *Interface: - return x.isNil() || t.Empty() - case *Pointer, *Signature, *Slice, *Map, *Chan: - return x.isNil() - } - } - - return false -} - -// isInteger reports whether x is a value of integer type -// or an untyped constant representable as an integer. -func (x *operand) isInteger() bool { - return x.mode == invalid || - isInteger(x.typ) || - isUntyped(x.typ) && x.mode == constant && representableConst(x.val, nil, UntypedInt, nil) // no *Config required for UntypedInt -} diff --git a/vendor/golang.org/x/tools/go/types/ordering.go b/vendor/golang.org/x/tools/go/types/ordering.go deleted file mode 100644 index 6bb98f2..0000000 --- a/vendor/golang.org/x/tools/go/types/ordering.go +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2014 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. - -// This file implements resolveOrder. - -package types - -import ( - "go/ast" - "sort" -) - -// resolveOrder computes the order in which package-level objects -// must be type-checked. -// -// Interface types appear first in the list, sorted topologically -// by dependencies on embedded interfaces that are also declared -// in this package, followed by all other objects sorted in source -// order. -// -// TODO(gri) Consider sorting all types by dependencies here, and -// in the process check _and_ report type cycles. This may simplify -// the full type-checking phase. -// -func (check *Checker) resolveOrder() []Object { - var ifaces, others []Object - - // collect interface types with their dependencies, and all other objects - for obj := range check.objMap { - if ityp := check.interfaceFor(obj); ityp != nil { - ifaces = append(ifaces, obj) - // determine dependencies on embedded interfaces - for _, f := range ityp.Methods.List { - if len(f.Names) == 0 { - // Embedded interface: The type must be a (possibly - // qualified) identifier denoting another interface. - // Imported interfaces are already fully resolved, - // so we can ignore qualified identifiers. - if ident, _ := f.Type.(*ast.Ident); ident != nil { - embedded := check.pkg.scope.Lookup(ident.Name) - if check.interfaceFor(embedded) != nil { - check.objMap[obj].addDep(embedded) - } - } - } - } - } else { - others = append(others, obj) - } - } - - // final object order - var order []Object - - // sort interface types topologically by dependencies, - // and in source order if there are no dependencies - sort.Sort(inSourceOrder(ifaces)) - if debug { - for _, obj := range ifaces { - assert(check.objMap[obj].mark == 0) - } - } - for _, obj := range ifaces { - check.appendInPostOrder(&order, obj) - } - - // sort everything else in source order - sort.Sort(inSourceOrder(others)) - - return append(order, others...) -} - -// interfaceFor returns the AST interface denoted by obj, or nil. -func (check *Checker) interfaceFor(obj Object) *ast.InterfaceType { - tname, _ := obj.(*TypeName) - if tname == nil { - return nil // not a type - } - d := check.objMap[obj] - if d == nil { - check.dump("%s: %s should have been declared", obj.Pos(), obj.Name()) - unreachable() - } - if d.typ == nil { - return nil // invalid AST - ignore (will be handled later) - } - ityp, _ := d.typ.(*ast.InterfaceType) - return ityp -} - -func (check *Checker) appendInPostOrder(order *[]Object, obj Object) { - d := check.objMap[obj] - if d.mark != 0 { - // We've already seen this object; either because it's - // already added to order, or because we have a cycle. - // In both cases we stop. Cycle errors are reported - // when type-checking types. - return - } - d.mark = 1 - - for _, obj := range orderedSetObjects(d.deps) { - check.appendInPostOrder(order, obj) - } - - *order = append(*order, obj) -} - -func orderedSetObjects(set map[Object]bool) []Object { - list := make([]Object, len(set)) - i := 0 - for obj := range set { - // we don't care about the map element value - list[i] = obj - i++ - } - sort.Sort(inSourceOrder(list)) - return list -} - -// inSourceOrder implements the sort.Sort interface. -type inSourceOrder []Object - -func (a inSourceOrder) Len() int { return len(a) } -func (a inSourceOrder) Less(i, j int) bool { return a[i].order() < a[j].order() } -func (a inSourceOrder) Swap(i, j int) { a[i], a[j] = a[j], a[i] } diff --git a/vendor/golang.org/x/tools/go/types/package.go b/vendor/golang.org/x/tools/go/types/package.go deleted file mode 100644 index 48fe839..0000000 --- a/vendor/golang.org/x/tools/go/types/package.go +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2013 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. - -package types - -import ( - "fmt" - "go/token" -) - -// A Package describes a Go package. -type Package struct { - path string - name string - scope *Scope - complete bool - imports []*Package - fake bool // scope lookup errors are silently dropped if package is fake (internal use only) -} - -// NewPackage returns a new Package for the given package path and name; -// the name must not be the blank identifier. -// The package is not complete and contains no explicit imports. -func NewPackage(path, name string) *Package { - if name == "_" { - panic("invalid package name _") - } - scope := NewScope(Universe, token.NoPos, token.NoPos, fmt.Sprintf("package %q", path)) - return &Package{path: path, name: name, scope: scope} -} - -// Path returns the package path. -func (pkg *Package) Path() string { return pkg.path } - -// Name returns the package name. -func (pkg *Package) Name() string { return pkg.name } - -// Scope returns the (complete or incomplete) package scope -// holding the objects declared at package level (TypeNames, -// Consts, Vars, and Funcs). -func (pkg *Package) Scope() *Scope { return pkg.scope } - -// A package is complete if its scope contains (at least) all -// exported objects; otherwise it is incomplete. -func (pkg *Package) Complete() bool { return pkg.complete } - -// MarkComplete marks a package as complete. -func (pkg *Package) MarkComplete() { pkg.complete = true } - -// Imports returns the list of packages directly imported by -// pkg; the list is in source order. Package unsafe is excluded. -// -// If pkg was loaded from export data, Imports includes packages that -// provide package-level objects referenced by pkg. This may be more or -// less than the set of packages directly imported by pkg's source code. -func (pkg *Package) Imports() []*Package { return pkg.imports } - -// SetImports sets the list of explicitly imported packages to list. -// It is the caller's responsibility to make sure list elements are unique. -func (pkg *Package) SetImports(list []*Package) { pkg.imports = list } - -func (pkg *Package) String() string { - return fmt.Sprintf("package %s (%q)", pkg.name, pkg.path) -} diff --git a/vendor/golang.org/x/tools/go/types/predicates.go b/vendor/golang.org/x/tools/go/types/predicates.go deleted file mode 100644 index 993c6d2..0000000 --- a/vendor/golang.org/x/tools/go/types/predicates.go +++ /dev/null @@ -1,309 +0,0 @@ -// Copyright 2012 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. - -// This file implements commonly used type predicates. - -package types - -import "sort" - -func isNamed(typ Type) bool { - if _, ok := typ.(*Basic); ok { - return ok - } - _, ok := typ.(*Named) - return ok -} - -func isBoolean(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsBoolean != 0 -} - -func isInteger(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsInteger != 0 -} - -func isUnsigned(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsUnsigned != 0 -} - -func isFloat(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsFloat != 0 -} - -func isComplex(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsComplex != 0 -} - -func isNumeric(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsNumeric != 0 -} - -func isString(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsString != 0 -} - -func isTyped(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return !ok || t.info&IsUntyped == 0 -} - -func isUntyped(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsUntyped != 0 -} - -func isOrdered(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsOrdered != 0 -} - -func isConstType(typ Type) bool { - t, ok := typ.Underlying().(*Basic) - return ok && t.info&IsConstType != 0 -} - -// IsInterface reports whether typ is an interface type. -func IsInterface(typ Type) bool { - _, ok := typ.Underlying().(*Interface) - return ok -} - -// Comparable reports whether values of type T are comparable. -func Comparable(T Type) bool { - switch t := T.Underlying().(type) { - case *Basic: - // assume invalid types to be comparable - // to avoid follow-up errors - return t.kind != UntypedNil - case *Pointer, *Interface, *Chan: - return true - case *Struct: - for _, f := range t.fields { - if !Comparable(f.typ) { - return false - } - } - return true - case *Array: - return Comparable(t.elem) - } - return false -} - -// hasNil reports whether a type includes the nil value. -func hasNil(typ Type) bool { - switch t := typ.Underlying().(type) { - case *Basic: - return t.kind == UnsafePointer - case *Slice, *Pointer, *Signature, *Interface, *Map, *Chan: - return true - } - return false -} - -// Identical reports whether x and y are identical. -func Identical(x, y Type) bool { - return identical(x, y, nil) -} - -// An ifacePair is a node in a stack of interface type pairs compared for identity. -type ifacePair struct { - x, y *Interface - prev *ifacePair -} - -func (p *ifacePair) identical(q *ifacePair) bool { - return p.x == q.x && p.y == q.y || p.x == q.y && p.y == q.x -} - -func identical(x, y Type, p *ifacePair) bool { - if x == y { - return true - } - - switch x := x.(type) { - case *Basic: - // Basic types are singletons except for the rune and byte - // aliases, thus we cannot solely rely on the x == y check - // above. - if y, ok := y.(*Basic); ok { - return x.kind == y.kind - } - - case *Array: - // Two array types are identical if they have identical element types - // and the same array length. - if y, ok := y.(*Array); ok { - return x.len == y.len && identical(x.elem, y.elem, p) - } - - case *Slice: - // Two slice types are identical if they have identical element types. - if y, ok := y.(*Slice); ok { - return identical(x.elem, y.elem, p) - } - - case *Struct: - // Two struct types are identical if they have the same sequence of fields, - // and if corresponding fields have the same names, and identical types, - // and identical tags. Two anonymous fields are considered to have the same - // name. Lower-case field names from different packages are always different. - if y, ok := y.(*Struct); ok { - if x.NumFields() == y.NumFields() { - for i, f := range x.fields { - g := y.fields[i] - if f.anonymous != g.anonymous || - x.Tag(i) != y.Tag(i) || - !f.sameId(g.pkg, g.name) || - !identical(f.typ, g.typ, p) { - return false - } - } - return true - } - } - - case *Pointer: - // Two pointer types are identical if they have identical base types. - if y, ok := y.(*Pointer); ok { - return identical(x.base, y.base, p) - } - - case *Tuple: - // Two tuples types are identical if they have the same number of elements - // and corresponding elements have identical types. - if y, ok := y.(*Tuple); ok { - if x.Len() == y.Len() { - if x != nil { - for i, v := range x.vars { - w := y.vars[i] - if !identical(v.typ, w.typ, p) { - return false - } - } - } - return true - } - } - - case *Signature: - // Two function types are identical if they have the same number of parameters - // and result values, corresponding parameter and result types are identical, - // and either both functions are variadic or neither is. Parameter and result - // names are not required to match. - if y, ok := y.(*Signature); ok { - return x.variadic == y.variadic && - identical(x.params, y.params, p) && - identical(x.results, y.results, p) - } - - case *Interface: - // Two interface types are identical if they have the same set of methods with - // the same names and identical function types. Lower-case method names from - // different packages are always different. The order of the methods is irrelevant. - if y, ok := y.(*Interface); ok { - a := x.allMethods - b := y.allMethods - if len(a) == len(b) { - // Interface types are the only types where cycles can occur - // that are not "terminated" via named types; and such cycles - // can only be created via method parameter types that are - // anonymous interfaces (directly or indirectly) embedding - // the current interface. Example: - // - // type T interface { - // m() interface{T} - // } - // - // If two such (differently named) interfaces are compared, - // endless recursion occurs if the cycle is not detected. - // - // If x and y were compared before, they must be equal - // (if they were not, the recursion would have stopped); - // search the ifacePair stack for the same pair. - // - // This is a quadratic algorithm, but in practice these stacks - // are extremely short (bounded by the nesting depth of interface - // type declarations that recur via parameter types, an extremely - // rare occurrence). An alternative implementation might use a - // "visited" map, but that is probably less efficient overall. - q := &ifacePair{x, y, p} - for p != nil { - if p.identical(q) { - return true // same pair was compared before - } - p = p.prev - } - if debug { - assert(sort.IsSorted(byUniqueMethodName(a))) - assert(sort.IsSorted(byUniqueMethodName(b))) - } - for i, f := range a { - g := b[i] - if f.Id() != g.Id() || !identical(f.typ, g.typ, q) { - return false - } - } - return true - } - } - - case *Map: - // Two map types are identical if they have identical key and value types. - if y, ok := y.(*Map); ok { - return identical(x.key, y.key, p) && identical(x.elem, y.elem, p) - } - - case *Chan: - // Two channel types are identical if they have identical value types - // and the same direction. - if y, ok := y.(*Chan); ok { - return x.dir == y.dir && identical(x.elem, y.elem, p) - } - - case *Named: - // Two named types are identical if their type names originate - // in the same type declaration. - if y, ok := y.(*Named); ok { - return x.obj == y.obj - } - - default: - unreachable() - } - - return false -} - -// defaultType returns the default "typed" type for an "untyped" type; -// it returns the incoming type for all other types. The default type -// for untyped nil is untyped nil. -// -func defaultType(typ Type) Type { - if t, ok := typ.(*Basic); ok { - switch t.kind { - case UntypedBool: - return Typ[Bool] - case UntypedInt: - return Typ[Int] - case UntypedRune: - return universeRune // use 'rune' name - case UntypedFloat: - return Typ[Float64] - case UntypedComplex: - return Typ[Complex128] - case UntypedString: - return Typ[String] - } - } - return typ -} diff --git a/vendor/golang.org/x/tools/go/types/resolver.go b/vendor/golang.org/x/tools/go/types/resolver.go deleted file mode 100644 index 374ffc2..0000000 --- a/vendor/golang.org/x/tools/go/types/resolver.go +++ /dev/null @@ -1,453 +0,0 @@ -// Copyright 2013 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. - -package types - -import ( - "errors" - "fmt" - "go/ast" - "go/token" - pathLib "path" - "strconv" - "strings" - "unicode" - - "golang.org/x/tools/go/exact" -) - -// A declInfo describes a package-level const, type, var, or func declaration. -type declInfo struct { - file *Scope // scope of file containing this declaration - lhs []*Var // lhs of n:1 variable declarations, or nil - typ ast.Expr // type, or nil - init ast.Expr // init expression, or nil - fdecl *ast.FuncDecl // func declaration, or nil - - deps map[Object]bool // type and init dependencies; lazily allocated - mark int // for dependency analysis -} - -// hasInitializer reports whether the declared object has an initialization -// expression or function body. -func (d *declInfo) hasInitializer() bool { - return d.init != nil || d.fdecl != nil && d.fdecl.Body != nil -} - -// addDep adds obj as a dependency to d. -func (d *declInfo) addDep(obj Object) { - m := d.deps - if m == nil { - m = make(map[Object]bool) - d.deps = m - } - m[obj] = true -} - -// arityMatch checks that the lhs and rhs of a const or var decl -// have the appropriate number of names and init exprs. For const -// decls, init is the value spec providing the init exprs; for -// var decls, init is nil (the init exprs are in s in this case). -func (check *Checker) arityMatch(s, init *ast.ValueSpec) { - l := len(s.Names) - r := len(s.Values) - if init != nil { - r = len(init.Values) - } - - switch { - case init == nil && r == 0: - // var decl w/o init expr - if s.Type == nil { - check.errorf(s.Pos(), "missing type or init expr") - } - case l < r: - if l < len(s.Values) { - // init exprs from s - n := s.Values[l] - check.errorf(n.Pos(), "extra init expr %s", n) - // TODO(gri) avoid declared but not used error here - } else { - // init exprs "inherited" - check.errorf(s.Pos(), "extra init expr at %s", init.Pos()) - // TODO(gri) avoid declared but not used error here - } - case l > r && (init != nil || r != 1): - n := s.Names[r] - check.errorf(n.Pos(), "missing init expr for %s", n) - } -} - -func validatedImportPath(path string) (string, error) { - s, err := strconv.Unquote(path) - if err != nil { - return "", err - } - if s == "" { - return "", fmt.Errorf("empty string") - } - const illegalChars = `!"#$%&'()*,:;<=>?[\]^{|}` + "`\uFFFD" - for _, r := range s { - if !unicode.IsGraphic(r) || unicode.IsSpace(r) || strings.ContainsRune(illegalChars, r) { - return s, fmt.Errorf("invalid character %#U", r) - } - } - return s, nil -} - -// declarePkgObj declares obj in the package scope, records its ident -> obj mapping, -// and updates check.objMap. The object must not be a function or method. -func (check *Checker) declarePkgObj(ident *ast.Ident, obj Object, d *declInfo) { - assert(ident.Name == obj.Name()) - - // spec: "A package-scope or file-scope identifier with name init - // may only be declared to be a function with this (func()) signature." - if ident.Name == "init" { - check.errorf(ident.Pos(), "cannot declare init - must be func") - return - } - - check.declare(check.pkg.scope, ident, obj, token.NoPos) - check.objMap[obj] = d - obj.setOrder(uint32(len(check.objMap))) -} - -// filename returns a filename suitable for debugging output. -func (check *Checker) filename(fileNo int) string { - file := check.files[fileNo] - if pos := file.Pos(); pos.IsValid() { - return check.fset.File(pos).Name() - } - return fmt.Sprintf("file[%d]", fileNo) -} - -// collectObjects collects all file and package objects and inserts them -// into their respective scopes. It also performs imports and associates -// methods with receiver base type names. -func (check *Checker) collectObjects() { - pkg := check.pkg - - importer := check.conf.Import - if importer == nil { - if DefaultImport != nil { - importer = DefaultImport - } else { - // Panic if we encounter an import. - importer = func(map[string]*Package, string) (*Package, error) { - panic(`no Config.Import or DefaultImport (missing import _ "golang.org/x/tools/go/gcimporter"?)`) - } - } - } - - // pkgImports is the set of packages already imported by any package file seen - // so far. Used to avoid duplicate entries in pkg.imports. Allocate and populate - // it (pkg.imports may not be empty if we are checking test files incrementally). - var pkgImports = make(map[*Package]bool) - for _, imp := range pkg.imports { - pkgImports[imp] = true - } - - for fileNo, file := range check.files { - // The package identifier denotes the current package, - // but there is no corresponding package object. - check.recordDef(file.Name, nil) - - // Use the actual source file extent rather than *ast.File extent since the - // latter doesn't include comments which appear at the start or end of the file. - // Be conservative and use the *ast.File extent if we don't have a *token.File. - pos, end := file.Pos(), file.End() - if f := check.fset.File(file.Pos()); f != nil { - pos, end = token.Pos(f.Base()), token.Pos(f.Base()+f.Size()) - } - fileScope := NewScope(check.pkg.scope, pos, end, check.filename(fileNo)) - check.recordScope(file, fileScope) - - for _, decl := range file.Decls { - switch d := decl.(type) { - case *ast.BadDecl: - // ignore - - case *ast.GenDecl: - var last *ast.ValueSpec // last ValueSpec with type or init exprs seen - for iota, spec := range d.Specs { - switch s := spec.(type) { - case *ast.ImportSpec: - // import package - var imp *Package - path, err := validatedImportPath(s.Path.Value) - if err != nil { - check.errorf(s.Path.Pos(), "invalid import path (%s)", err) - continue - } - if path == "C" && check.conf.FakeImportC { - // TODO(gri) shouldn't create a new one each time - imp = NewPackage("C", "C") - imp.fake = true - } else { - var err error - imp, err = importer(check.conf.Packages, path) - if imp == nil && err == nil { - err = errors.New("Config.Import returned nil but no error") - } - if err != nil { - check.errorf(s.Path.Pos(), "could not import %s (%s)", path, err) - continue - } - } - - // add package to list of explicit imports - // (this functionality is provided as a convenience - // for clients; it is not needed for type-checking) - if !pkgImports[imp] { - pkgImports[imp] = true - if imp != Unsafe { - pkg.imports = append(pkg.imports, imp) - } - } - - // local name overrides imported package name - name := imp.name - if s.Name != nil { - name = s.Name.Name - if name == "init" { - check.errorf(s.Name.Pos(), "cannot declare init - must be func") - continue - } - } - - obj := NewPkgName(s.Pos(), pkg, name, imp) - if s.Name != nil { - // in a dot-import, the dot represents the package - check.recordDef(s.Name, obj) - } else { - check.recordImplicit(s, obj) - } - - // add import to file scope - if name == "." { - // merge imported scope with file scope - for _, obj := range imp.scope.elems { - // A package scope may contain non-exported objects, - // do not import them! - if obj.Exported() { - // TODO(gri) When we import a package, we create - // a new local package object. We should do the - // same for each dot-imported object. That way - // they can have correct position information. - // (We must not modify their existing position - // information because the same package - found - // via Config.Packages - may be dot-imported in - // another package!) - check.declare(fileScope, nil, obj, token.NoPos) - check.recordImplicit(s, obj) - } - } - // add position to set of dot-import positions for this file - // (this is only needed for "imported but not used" errors) - check.addUnusedDotImport(fileScope, imp, s.Pos()) - } else { - // declare imported package object in file scope - check.declare(fileScope, nil, obj, token.NoPos) - } - - case *ast.ValueSpec: - switch d.Tok { - case token.CONST: - // determine which initialization expressions to use - switch { - case s.Type != nil || len(s.Values) > 0: - last = s - case last == nil: - last = new(ast.ValueSpec) // make sure last exists - } - - // declare all constants - for i, name := range s.Names { - obj := NewConst(name.Pos(), pkg, name.Name, nil, exact.MakeInt64(int64(iota))) - - var init ast.Expr - if i < len(last.Values) { - init = last.Values[i] - } - - d := &declInfo{file: fileScope, typ: last.Type, init: init} - check.declarePkgObj(name, obj, d) - } - - check.arityMatch(s, last) - - case token.VAR: - lhs := make([]*Var, len(s.Names)) - // If there's exactly one rhs initializer, use - // the same declInfo d1 for all lhs variables - // so that each lhs variable depends on the same - // rhs initializer (n:1 var declaration). - var d1 *declInfo - if len(s.Values) == 1 { - // The lhs elements are only set up after the for loop below, - // but that's ok because declareVar only collects the declInfo - // for a later phase. - d1 = &declInfo{file: fileScope, lhs: lhs, typ: s.Type, init: s.Values[0]} - } - - // declare all variables - for i, name := range s.Names { - obj := NewVar(name.Pos(), pkg, name.Name, nil) - lhs[i] = obj - - d := d1 - if d == nil { - // individual assignments - var init ast.Expr - if i < len(s.Values) { - init = s.Values[i] - } - d = &declInfo{file: fileScope, typ: s.Type, init: init} - } - - check.declarePkgObj(name, obj, d) - } - - check.arityMatch(s, nil) - - default: - check.invalidAST(s.Pos(), "invalid token %s", d.Tok) - } - - case *ast.TypeSpec: - obj := NewTypeName(s.Name.Pos(), pkg, s.Name.Name, nil) - check.declarePkgObj(s.Name, obj, &declInfo{file: fileScope, typ: s.Type}) - - default: - check.invalidAST(s.Pos(), "unknown ast.Spec node %T", s) - } - } - - case *ast.FuncDecl: - name := d.Name.Name - obj := NewFunc(d.Name.Pos(), pkg, name, nil) - if d.Recv == nil { - // regular function - if name == "init" { - // don't declare init functions in the package scope - they are invisible - obj.parent = pkg.scope - check.recordDef(d.Name, obj) - // init functions must have a body - if d.Body == nil { - check.softErrorf(obj.pos, "missing function body") - } - } else { - check.declare(pkg.scope, d.Name, obj, token.NoPos) - } - } else { - // method - check.recordDef(d.Name, obj) - // Associate method with receiver base type name, if possible. - // Ignore methods that have an invalid receiver, or a blank _ - // receiver name. They will be type-checked later, with regular - // functions. - if list := d.Recv.List; len(list) > 0 { - typ := list[0].Type - if ptr, _ := typ.(*ast.StarExpr); ptr != nil { - typ = ptr.X - } - if base, _ := typ.(*ast.Ident); base != nil && base.Name != "_" { - check.assocMethod(base.Name, obj) - } - } - } - info := &declInfo{file: fileScope, fdecl: d} - check.objMap[obj] = info - obj.setOrder(uint32(len(check.objMap))) - - default: - check.invalidAST(d.Pos(), "unknown ast.Decl node %T", d) - } - } - } - - // verify that objects in package and file scopes have different names - for _, scope := range check.pkg.scope.children /* file scopes */ { - for _, obj := range scope.elems { - if alt := pkg.scope.Lookup(obj.Name()); alt != nil { - if pkg, ok := obj.(*PkgName); ok { - check.errorf(alt.Pos(), "%s already declared through import of %s", alt.Name(), pkg.Imported()) - check.reportAltDecl(pkg) - } else { - check.errorf(alt.Pos(), "%s already declared through dot-import of %s", alt.Name(), obj.Pkg()) - // TODO(gri) dot-imported objects don't have a position; reportAltDecl won't print anything - check.reportAltDecl(obj) - } - } - } - } -} - -// packageObjects typechecks all package objects in objList, but not function bodies. -func (check *Checker) packageObjects(objList []Object) { - // add new methods to already type-checked types (from a prior Checker.Files call) - for _, obj := range objList { - if obj, _ := obj.(*TypeName); obj != nil && obj.typ != nil { - check.addMethodDecls(obj) - } - } - - // pre-allocate space for type declaration paths so that the underlying array is reused - typePath := make([]*TypeName, 0, 8) - - for _, obj := range objList { - check.objDecl(obj, nil, typePath) - } - - // At this point we may have a non-empty check.methods map; this means that not all - // entries were deleted at the end of typeDecl because the respective receiver base - // types were not found. In that case, an error was reported when declaring those - // methods. We can now safely discard this map. - check.methods = nil -} - -// functionBodies typechecks all function bodies. -func (check *Checker) functionBodies() { - for _, f := range check.funcs { - check.funcBody(f.decl, f.name, f.sig, f.body) - } -} - -// unusedImports checks for unused imports. -func (check *Checker) unusedImports() { - // if function bodies are not checked, packages' uses are likely missing - don't check - if check.conf.IgnoreFuncBodies { - return - } - - // spec: "It is illegal (...) to directly import a package without referring to - // any of its exported identifiers. To import a package solely for its side-effects - // (initialization), use the blank identifier as explicit package name." - - // check use of regular imported packages - for _, scope := range check.pkg.scope.children /* file scopes */ { - for _, obj := range scope.elems { - if obj, ok := obj.(*PkgName); ok { - // Unused "blank imports" are automatically ignored - // since _ identifiers are not entered into scopes. - if !obj.used { - path := obj.imported.path - base := pathLib.Base(path) - if obj.name == base { - check.softErrorf(obj.pos, "%q imported but not used", path) - } else { - check.softErrorf(obj.pos, "%q imported but not used as %s", path, obj.name) - } - } - } - } - } - - // check use of dot-imported packages - for _, unusedDotImports := range check.unusedDotImports { - for pkg, pos := range unusedDotImports { - check.softErrorf(pos, "%q imported but not used", pkg.path) - } - } -} diff --git a/vendor/golang.org/x/tools/go/types/return.go b/vendor/golang.org/x/tools/go/types/return.go deleted file mode 100644 index 6628985..0000000 --- a/vendor/golang.org/x/tools/go/types/return.go +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright 2013 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. - -// This file implements isTerminating. - -package types - -import ( - "go/ast" - "go/token" -) - -// isTerminating reports if s is a terminating statement. -// If s is labeled, label is the label name; otherwise s -// is "". -func (check *Checker) isTerminating(s ast.Stmt, label string) bool { - switch s := s.(type) { - default: - unreachable() - - case *ast.BadStmt, *ast.DeclStmt, *ast.EmptyStmt, *ast.SendStmt, - *ast.IncDecStmt, *ast.AssignStmt, *ast.GoStmt, *ast.DeferStmt, - *ast.RangeStmt: - // no chance - - case *ast.LabeledStmt: - return check.isTerminating(s.Stmt, s.Label.Name) - - case *ast.ExprStmt: - // the predeclared (possibly parenthesized) panic() function is terminating - if call, _ := unparen(s.X).(*ast.CallExpr); call != nil { - if id, _ := call.Fun.(*ast.Ident); id != nil { - if _, obj := check.scope.LookupParent(id.Name, token.NoPos); obj != nil { - if b, _ := obj.(*Builtin); b != nil && b.id == _Panic { - return true - } - } - } - } - - case *ast.ReturnStmt: - return true - - case *ast.BranchStmt: - if s.Tok == token.GOTO || s.Tok == token.FALLTHROUGH { - return true - } - - case *ast.BlockStmt: - return check.isTerminatingList(s.List, "") - - case *ast.IfStmt: - if s.Else != nil && - check.isTerminating(s.Body, "") && - check.isTerminating(s.Else, "") { - return true - } - - case *ast.SwitchStmt: - return check.isTerminatingSwitch(s.Body, label) - - case *ast.TypeSwitchStmt: - return check.isTerminatingSwitch(s.Body, label) - - case *ast.SelectStmt: - for _, s := range s.Body.List { - cc := s.(*ast.CommClause) - if !check.isTerminatingList(cc.Body, "") || hasBreakList(cc.Body, label, true) { - return false - } - - } - return true - - case *ast.ForStmt: - if s.Cond == nil && !hasBreak(s.Body, label, true) { - return true - } - } - - return false -} - -func (check *Checker) isTerminatingList(list []ast.Stmt, label string) bool { - n := len(list) - return n > 0 && check.isTerminating(list[n-1], label) -} - -func (check *Checker) isTerminatingSwitch(body *ast.BlockStmt, label string) bool { - hasDefault := false - for _, s := range body.List { - cc := s.(*ast.CaseClause) - if cc.List == nil { - hasDefault = true - } - if !check.isTerminatingList(cc.Body, "") || hasBreakList(cc.Body, label, true) { - return false - } - } - return hasDefault -} - -// TODO(gri) For nested breakable statements, the current implementation of hasBreak -// will traverse the same subtree repeatedly, once for each label. Replace -// with a single-pass label/break matching phase. - -// hasBreak reports if s is or contains a break statement -// referring to the label-ed statement or implicit-ly the -// closest outer breakable statement. -func hasBreak(s ast.Stmt, label string, implicit bool) bool { - switch s := s.(type) { - default: - unreachable() - - case *ast.BadStmt, *ast.DeclStmt, *ast.EmptyStmt, *ast.ExprStmt, - *ast.SendStmt, *ast.IncDecStmt, *ast.AssignStmt, *ast.GoStmt, - *ast.DeferStmt, *ast.ReturnStmt: - // no chance - - case *ast.LabeledStmt: - return hasBreak(s.Stmt, label, implicit) - - case *ast.BranchStmt: - if s.Tok == token.BREAK { - if s.Label == nil { - return implicit - } - if s.Label.Name == label { - return true - } - } - - case *ast.BlockStmt: - return hasBreakList(s.List, label, implicit) - - case *ast.IfStmt: - if hasBreak(s.Body, label, implicit) || - s.Else != nil && hasBreak(s.Else, label, implicit) { - return true - } - - case *ast.CaseClause: - return hasBreakList(s.Body, label, implicit) - - case *ast.SwitchStmt: - if label != "" && hasBreak(s.Body, label, false) { - return true - } - - case *ast.TypeSwitchStmt: - if label != "" && hasBreak(s.Body, label, false) { - return true - } - - case *ast.CommClause: - return hasBreakList(s.Body, label, implicit) - - case *ast.SelectStmt: - if label != "" && hasBreak(s.Body, label, false) { - return true - } - - case *ast.ForStmt: - if label != "" && hasBreak(s.Body, label, false) { - return true - } - - case *ast.RangeStmt: - if label != "" && hasBreak(s.Body, label, false) { - return true - } - } - - return false -} - -func hasBreakList(list []ast.Stmt, label string, implicit bool) bool { - for _, s := range list { - if hasBreak(s, label, implicit) { - return true - } - } - return false -} diff --git a/vendor/golang.org/x/tools/go/types/scope.go b/vendor/golang.org/x/tools/go/types/scope.go deleted file mode 100644 index 3502840..0000000 --- a/vendor/golang.org/x/tools/go/types/scope.go +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright 2013 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. - -// This file implements Scopes. - -package types - -import ( - "bytes" - "fmt" - "go/token" - "io" - "sort" - "strings" -) - -// TODO(gri) Provide scopes with a name or other mechanism so that -// objects can use that information for better printing. - -// A Scope maintains a set of objects and links to its containing -// (parent) and contained (children) scopes. Objects may be inserted -// and looked up by name. The zero value for Scope is a ready-to-use -// empty scope. -type Scope struct { - parent *Scope - children []*Scope - elems map[string]Object // lazily allocated - pos, end token.Pos // scope extent; may be invalid - comment string // for debugging only -} - -// NewScope returns a new, empty scope contained in the given parent -// scope, if any. The comment is for debugging only. -func NewScope(parent *Scope, pos, end token.Pos, comment string) *Scope { - s := &Scope{parent, nil, nil, pos, end, comment} - // don't add children to Universe scope! - if parent != nil && parent != Universe { - parent.children = append(parent.children, s) - } - return s -} - -// Parent returns the scope's containing (parent) scope. -func (s *Scope) Parent() *Scope { return s.parent } - -// Len() returns the number of scope elements. -func (s *Scope) Len() int { return len(s.elems) } - -// Names returns the scope's element names in sorted order. -func (s *Scope) Names() []string { - names := make([]string, len(s.elems)) - i := 0 - for name := range s.elems { - names[i] = name - i++ - } - sort.Strings(names) - return names -} - -// NumChildren() returns the number of scopes nested in s. -func (s *Scope) NumChildren() int { return len(s.children) } - -// Child returns the i'th child scope for 0 <= i < NumChildren(). -func (s *Scope) Child(i int) *Scope { return s.children[i] } - -// Lookup returns the object in scope s with the given name if such an -// object exists; otherwise the result is nil. -func (s *Scope) Lookup(name string) Object { - return s.elems[name] -} - -// LookupParent follows the parent chain of scopes starting with s until -// it finds a scope where Lookup(name) returns a non-nil object, and then -// returns that scope and object. If a valid position pos is provided, -// only objects that were declared at or before pos are considered. -// If no such scope and object exists, the result is (nil, nil). -// -// Note that obj.Parent() may be different from the returned scope if the -// object was inserted into the scope and already had a parent at that -// time (see Insert, below). This can only happen for dot-imported objects -// whose scope is the scope of the package that exported them. -func (s *Scope) LookupParent(name string, pos token.Pos) (*Scope, Object) { - for ; s != nil; s = s.parent { - if obj := s.elems[name]; obj != nil && (!pos.IsValid() || obj.scopePos() <= pos) { - return s, obj - } - } - return nil, nil -} - -// Insert attempts to insert an object obj into scope s. -// If s already contains an alternative object alt with -// the same name, Insert leaves s unchanged and returns alt. -// Otherwise it inserts obj, sets the object's parent scope -// if not already set, and returns nil. -func (s *Scope) Insert(obj Object) Object { - name := obj.Name() - if alt := s.elems[name]; alt != nil { - return alt - } - if s.elems == nil { - s.elems = make(map[string]Object) - } - s.elems[name] = obj - if obj.Parent() == nil { - obj.setParent(s) - } - return nil -} - -// Pos and End describe the scope's source code extent [pos, end). -// The results are guaranteed to be valid only if the type-checked -// AST has complete position information. The extent is undefined -// for Universe and package scopes. -func (s *Scope) Pos() token.Pos { return s.pos } -func (s *Scope) End() token.Pos { return s.end } - -// Contains returns true if pos is within the scope's extent. -// The result is guaranteed to be valid only if the type-checked -// AST has complete position information. -func (s *Scope) Contains(pos token.Pos) bool { - return s.pos <= pos && pos < s.end -} - -// Innermost returns the innermost (child) scope containing -// pos. If pos is not within any scope, the result is nil. -// The result is also nil for the Universe scope. -// The result is guaranteed to be valid only if the type-checked -// AST has complete position information. -func (s *Scope) Innermost(pos token.Pos) *Scope { - // Package scopes do not have extents since they may be - // discontiguous, so iterate over the package's files. - if s.parent == Universe { - for _, s := range s.children { - if inner := s.Innermost(pos); inner != nil { - return inner - } - } - } - - if s.Contains(pos) { - for _, s := range s.children { - if s.Contains(pos) { - return s.Innermost(pos) - } - } - return s - } - return nil -} - -// WriteTo writes a string representation of the scope to w, -// with the scope elements sorted by name. -// The level of indentation is controlled by n >= 0, with -// n == 0 for no indentation. -// If recurse is set, it also writes nested (children) scopes. -func (s *Scope) WriteTo(w io.Writer, n int, recurse bool) { - const ind = ". " - indn := strings.Repeat(ind, n) - - fmt.Fprintf(w, "%s%s scope %p {", indn, s.comment, s) - if len(s.elems) == 0 { - fmt.Fprintf(w, "}\n") - return - } - - fmt.Fprintln(w) - indn1 := indn + ind - for _, name := range s.Names() { - fmt.Fprintf(w, "%s%s\n", indn1, s.elems[name]) - } - - if recurse { - for _, s := range s.children { - fmt.Fprintln(w) - s.WriteTo(w, n+1, recurse) - } - } - - fmt.Fprintf(w, "%s}", indn) -} - -// String returns a string representation of the scope, for debugging. -func (s *Scope) String() string { - var buf bytes.Buffer - s.WriteTo(&buf, 0, false) - return buf.String() -} diff --git a/vendor/golang.org/x/tools/go/types/selection.go b/vendor/golang.org/x/tools/go/types/selection.go deleted file mode 100644 index 124e0d3..0000000 --- a/vendor/golang.org/x/tools/go/types/selection.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2013 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. - -// This file implements Selections. - -package types - -import ( - "bytes" - "fmt" -) - -// SelectionKind describes the kind of a selector expression x.f -// (excluding qualified identifiers). -type SelectionKind int - -const ( - FieldVal SelectionKind = iota // x.f is a struct field selector - MethodVal // x.f is a method selector - MethodExpr // x.f is a method expression -) - -// A Selection describes a selector expression x.f. -// For the declarations: -// -// type T struct{ x int; E } -// type E struct{} -// func (e E) m() {} -// var p *T -// -// the following relations exist: -// -// Selector Kind Recv Obj Type Index Indirect -// -// p.x FieldVal T x int {0} true -// p.m MethodVal *T m func (e *T) m() {1, 0} true -// T.m MethodExpr T m func m(_ T) {1, 0} false -// -type Selection struct { - kind SelectionKind - recv Type // type of x - obj Object // object denoted by x.f - index []int // path from x to x.f - indirect bool // set if there was any pointer indirection on the path -} - -// Kind returns the selection kind. -func (s *Selection) Kind() SelectionKind { return s.kind } - -// Recv returns the type of x in x.f. -func (s *Selection) Recv() Type { return s.recv } - -// Obj returns the object denoted by x.f; a *Var for -// a field selection, and a *Func in all other cases. -func (s *Selection) Obj() Object { return s.obj } - -// Type returns the type of x.f, which may be different from the type of f. -// See Selection for more information. -func (s *Selection) Type() Type { - switch s.kind { - case MethodVal: - // The type of x.f is a method with its receiver type set - // to the type of x. - sig := *s.obj.(*Func).typ.(*Signature) - recv := *sig.recv - recv.typ = s.recv - sig.recv = &recv - return &sig - - case MethodExpr: - // The type of x.f is a function (without receiver) - // and an additional first argument with the same type as x. - // TODO(gri) Similar code is already in call.go - factor! - // TODO(gri) Compute this eagerly to avoid allocations. - sig := *s.obj.(*Func).typ.(*Signature) - arg0 := *sig.recv - sig.recv = nil - arg0.typ = s.recv - var params []*Var - if sig.params != nil { - params = sig.params.vars - } - sig.params = NewTuple(append([]*Var{&arg0}, params...)...) - return &sig - } - - // In all other cases, the type of x.f is the type of x. - return s.obj.Type() -} - -// Index describes the path from x to f in x.f. -// The last index entry is the field or method index of the type declaring f; -// either: -// -// 1) the list of declared methods of a named type; or -// 2) the list of methods of an interface type; or -// 3) the list of fields of a struct type. -// -// The earlier index entries are the indices of the embedded fields implicitly -// traversed to get from (the type of) x to f, starting at embedding depth 0. -func (s *Selection) Index() []int { return s.index } - -// Indirect reports whether any pointer indirection was required to get from -// x to f in x.f. -func (s *Selection) Indirect() bool { return s.indirect } - -func (s *Selection) String() string { return SelectionString(s, nil) } - -// SelectionString returns the string form of s. -// The Qualifier controls the printing of -// package-level objects, and may be nil. -// -// Examples: -// "field (T) f int" -// "method (T) f(X) Y" -// "method expr (T) f(X) Y" -// -func SelectionString(s *Selection, qf Qualifier) string { - var k string - switch s.kind { - case FieldVal: - k = "field " - case MethodVal: - k = "method " - case MethodExpr: - k = "method expr " - default: - unreachable() - } - var buf bytes.Buffer - buf.WriteString(k) - buf.WriteByte('(') - WriteType(&buf, s.Recv(), qf) - fmt.Fprintf(&buf, ") %s", s.obj.Name()) - if T := s.Type(); s.kind == FieldVal { - buf.WriteByte(' ') - WriteType(&buf, T, qf) - } else { - WriteSignature(&buf, T.(*Signature), qf) - } - return buf.String() -} diff --git a/vendor/golang.org/x/tools/go/types/sizes.go b/vendor/golang.org/x/tools/go/types/sizes.go deleted file mode 100644 index 56fb310..0000000 --- a/vendor/golang.org/x/tools/go/types/sizes.go +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright 2013 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. - -// This file implements Sizes. - -package types - -// Sizes defines the sizing functions for package unsafe. -type Sizes interface { - // Alignof returns the alignment of a variable of type T. - // Alignof must implement the alignment guarantees required by the spec. - Alignof(T Type) int64 - - // Offsetsof returns the offsets of the given struct fields, in bytes. - // Offsetsof must implement the offset guarantees required by the spec. - Offsetsof(fields []*Var) []int64 - - // Sizeof returns the size of a variable of type T. - // Sizeof must implement the size guarantees required by the spec. - Sizeof(T Type) int64 -} - -// StdSizes is a convenience type for creating commonly used Sizes. -// It makes the following simplifying assumptions: -// -// - The size of explicitly sized basic types (int16, etc.) is the -// specified size. -// - The size of strings and interfaces is 2*WordSize. -// - The size of slices is 3*WordSize. -// - The size of an array of n elements corresponds to the size of -// a struct of n consecutive fields of the array's element type. -// - The size of a struct is the offset of the last field plus that -// field's size. As with all element types, if the struct is used -// in an array its size must first be aligned to a multiple of the -// struct's alignment. -// - All other types have size WordSize. -// - Arrays and structs are aligned per spec definition; all other -// types are naturally aligned with a maximum alignment MaxAlign. -// -// *StdSizes implements Sizes. -// -type StdSizes struct { - WordSize int64 // word size in bytes - must be >= 4 (32bits) - MaxAlign int64 // maximum alignment in bytes - must be >= 1 -} - -func (s *StdSizes) Alignof(T Type) int64 { - // For arrays and structs, alignment is defined in terms - // of alignment of the elements and fields, respectively. - switch t := T.Underlying().(type) { - case *Array: - // spec: "For a variable x of array type: unsafe.Alignof(x) - // is the same as unsafe.Alignof(x[0]), but at least 1." - return s.Alignof(t.elem) - case *Struct: - // spec: "For a variable x of struct type: unsafe.Alignof(x) - // is the largest of the values unsafe.Alignof(x.f) for each - // field f of x, but at least 1." - max := int64(1) - for _, f := range t.fields { - if a := s.Alignof(f.typ); a > max { - max = a - } - } - return max - } - a := s.Sizeof(T) // may be 0 - // spec: "For a variable x of any type: unsafe.Alignof(x) is at least 1." - if a < 1 { - return 1 - } - if a > s.MaxAlign { - return s.MaxAlign - } - return a -} - -func (s *StdSizes) Offsetsof(fields []*Var) []int64 { - offsets := make([]int64, len(fields)) - var o int64 - for i, f := range fields { - a := s.Alignof(f.typ) - o = align(o, a) - offsets[i] = o - o += s.Sizeof(f.typ) - } - return offsets -} - -var basicSizes = [...]byte{ - Bool: 1, - Int8: 1, - Int16: 2, - Int32: 4, - Int64: 8, - Uint8: 1, - Uint16: 2, - Uint32: 4, - Uint64: 8, - Float32: 4, - Float64: 8, - Complex64: 8, - Complex128: 16, -} - -func (s *StdSizes) Sizeof(T Type) int64 { - switch t := T.Underlying().(type) { - case *Basic: - assert(isTyped(T)) - k := t.kind - if int(k) < len(basicSizes) { - if s := basicSizes[k]; s > 0 { - return int64(s) - } - } - if k == String { - return s.WordSize * 2 - } - case *Array: - n := t.len - if n == 0 { - return 0 - } - a := s.Alignof(t.elem) - z := s.Sizeof(t.elem) - return align(z, a)*(n-1) + z - case *Slice: - return s.WordSize * 3 - case *Struct: - n := t.NumFields() - if n == 0 { - return 0 - } - offsets := t.offsets - if t.offsets == nil { - // compute offsets on demand - offsets = s.Offsetsof(t.fields) - t.offsets = offsets - } - return offsets[n-1] + s.Sizeof(t.fields[n-1].typ) - case *Interface: - return s.WordSize * 2 - } - return s.WordSize // catch-all -} - -// stdSizes is used if Config.Sizes == nil. -var stdSizes = StdSizes{8, 8} - -func (conf *Config) alignof(T Type) int64 { - if s := conf.Sizes; s != nil { - if a := s.Alignof(T); a >= 1 { - return a - } - panic("Config.Sizes.Alignof returned an alignment < 1") - } - return stdSizes.Alignof(T) -} - -func (conf *Config) offsetsof(T *Struct) []int64 { - offsets := T.offsets - if offsets == nil && T.NumFields() > 0 { - // compute offsets on demand - if s := conf.Sizes; s != nil { - offsets = s.Offsetsof(T.fields) - // sanity checks - if len(offsets) != T.NumFields() { - panic("Config.Sizes.Offsetsof returned the wrong number of offsets") - } - for _, o := range offsets { - if o < 0 { - panic("Config.Sizes.Offsetsof returned an offset < 0") - } - } - } else { - offsets = stdSizes.Offsetsof(T.fields) - } - T.offsets = offsets - } - return offsets -} - -// offsetof returns the offset of the field specified via -// the index sequence relative to typ. All embedded fields -// must be structs (rather than pointer to structs). -func (conf *Config) offsetof(typ Type, index []int) int64 { - var o int64 - for _, i := range index { - s := typ.Underlying().(*Struct) - o += conf.offsetsof(s)[i] - typ = s.fields[i].typ - } - return o -} - -func (conf *Config) sizeof(T Type) int64 { - if s := conf.Sizes; s != nil { - if z := s.Sizeof(T); z >= 0 { - return z - } - panic("Config.Sizes.Sizeof returned a size < 0") - } - return stdSizes.Sizeof(T) -} - -// align returns the smallest y >= x such that y % a == 0. -func align(x, a int64) int64 { - y := x + a - 1 - return y - y%a -} diff --git a/vendor/golang.org/x/tools/go/types/stmt.go b/vendor/golang.org/x/tools/go/types/stmt.go deleted file mode 100644 index eeb2c31..0000000 --- a/vendor/golang.org/x/tools/go/types/stmt.go +++ /dev/null @@ -1,745 +0,0 @@ -// Copyright 2012 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. - -// This file implements typechecking of statements. - -package types - -import ( - "fmt" - "go/ast" - "go/token" - - "golang.org/x/tools/go/exact" -) - -func (check *Checker) funcBody(decl *declInfo, name string, sig *Signature, body *ast.BlockStmt) { - if trace { - if name == "" { - name = "" - } - fmt.Printf("--- %s: %s {\n", name, sig) - defer fmt.Println("--- ") - } - - // set function scope extent - sig.scope.pos = body.Pos() - sig.scope.end = body.End() - - // save/restore current context and setup function context - // (and use 0 indentation at function start) - defer func(ctxt context, indent int) { - check.context = ctxt - check.indent = indent - }(check.context, check.indent) - check.context = context{ - decl: decl, - scope: sig.scope, - sig: sig, - } - check.indent = 0 - - check.stmtList(0, body.List) - - if check.hasLabel { - check.labels(body) - } - - if sig.results.Len() > 0 && !check.isTerminating(body, "") { - check.error(body.Rbrace, "missing return") - } - - // spec: "Implementation restriction: A compiler may make it illegal to - // declare a variable inside a function body if the variable is never used." - // (One could check each scope after use, but that distributes this check - // over several places because CloseScope is not always called explicitly.) - check.usage(sig.scope) -} - -func (check *Checker) usage(scope *Scope) { - for _, obj := range scope.elems { - if v, _ := obj.(*Var); v != nil && !v.used { - check.softErrorf(v.pos, "%s declared but not used", v.name) - } - } - for _, scope := range scope.children { - check.usage(scope) - } -} - -// stmtContext is a bitset describing which -// control-flow statements are permissible. -type stmtContext uint - -const ( - breakOk stmtContext = 1 << iota - continueOk - fallthroughOk -) - -func (check *Checker) simpleStmt(s ast.Stmt) { - if s != nil { - check.stmt(0, s) - } -} - -func (check *Checker) stmtList(ctxt stmtContext, list []ast.Stmt) { - ok := ctxt&fallthroughOk != 0 - inner := ctxt &^ fallthroughOk - for i, s := range list { - inner := inner - if ok && i+1 == len(list) { - inner |= fallthroughOk - } - check.stmt(inner, s) - } -} - -func (check *Checker) multipleDefaults(list []ast.Stmt) { - var first ast.Stmt - for _, s := range list { - var d ast.Stmt - switch c := s.(type) { - case *ast.CaseClause: - if len(c.List) == 0 { - d = s - } - case *ast.CommClause: - if c.Comm == nil { - d = s - } - default: - check.invalidAST(s.Pos(), "case/communication clause expected") - } - if d != nil { - if first != nil { - check.errorf(d.Pos(), "multiple defaults (first at %s)", first.Pos()) - } else { - first = d - } - } - } -} - -func (check *Checker) openScope(s ast.Stmt, comment string) { - scope := NewScope(check.scope, s.Pos(), s.End(), comment) - check.recordScope(s, scope) - check.scope = scope -} - -func (check *Checker) closeScope() { - check.scope = check.scope.Parent() -} - -func assignOp(op token.Token) token.Token { - // token_test.go verifies the token ordering this function relies on - if token.ADD_ASSIGN <= op && op <= token.AND_NOT_ASSIGN { - return op + (token.ADD - token.ADD_ASSIGN) - } - return token.ILLEGAL -} - -func (check *Checker) suspendedCall(keyword string, call *ast.CallExpr) { - var x operand - var msg string - switch check.rawExpr(&x, call, nil) { - case conversion: - msg = "requires function call, not conversion" - case expression: - msg = "discards result of" - case statement: - return - default: - unreachable() - } - check.errorf(x.pos(), "%s %s %s", keyword, msg, &x) -} - -func (check *Checker) caseValues(x operand /* copy argument (not *operand!) */, values []ast.Expr) { - // No duplicate checking for now. See issue 4524. - for _, e := range values { - var y operand - check.expr(&y, e) - if y.mode == invalid { - return - } - // TODO(gri) The convertUntyped call pair below appears in other places. Factor! - // Order matters: By comparing y against x, error positions are at the case values. - check.convertUntyped(&y, x.typ) - if y.mode == invalid { - return - } - check.convertUntyped(&x, y.typ) - if x.mode == invalid { - return - } - check.comparison(&y, &x, token.EQL) - } -} - -func (check *Checker) caseTypes(x *operand, xtyp *Interface, types []ast.Expr, seen map[Type]token.Pos) (T Type) { -L: - for _, e := range types { - T = check.typOrNil(e) - if T == Typ[Invalid] { - continue - } - // complain about duplicate types - // TODO(gri) use a type hash to avoid quadratic algorithm - for t, pos := range seen { - if T == nil && t == nil || T != nil && t != nil && Identical(T, t) { - // talk about "case" rather than "type" because of nil case - check.error(e.Pos(), "duplicate case in type switch") - check.errorf(pos, "\tprevious case %s", T) // secondary error, \t indented - continue L - } - } - seen[T] = e.Pos() - if T != nil { - check.typeAssertion(e.Pos(), x, xtyp, T) - } - } - return -} - -// stmt typechecks statement s. -func (check *Checker) stmt(ctxt stmtContext, s ast.Stmt) { - // statements cannot use iota in general - // (constant declarations set it explicitly) - assert(check.iota == nil) - - // statements must end with the same top scope as they started with - if debug { - defer func(scope *Scope) { - // don't check if code is panicking - if p := recover(); p != nil { - panic(p) - } - assert(scope == check.scope) - }(check.scope) - } - - inner := ctxt &^ fallthroughOk - switch s := s.(type) { - case *ast.BadStmt, *ast.EmptyStmt: - // ignore - - case *ast.DeclStmt: - check.declStmt(s.Decl) - - case *ast.LabeledStmt: - check.hasLabel = true - check.stmt(ctxt, s.Stmt) - - case *ast.ExprStmt: - // spec: "With the exception of specific built-in functions, - // function and method calls and receive operations can appear - // in statement context. Such statements may be parenthesized." - var x operand - kind := check.rawExpr(&x, s.X, nil) - var msg string - switch x.mode { - default: - if kind == statement { - return - } - msg = "is not used" - case builtin: - msg = "must be called" - case typexpr: - msg = "is not an expression" - } - check.errorf(x.pos(), "%s %s", &x, msg) - - case *ast.SendStmt: - var ch, x operand - check.expr(&ch, s.Chan) - check.expr(&x, s.Value) - if ch.mode == invalid || x.mode == invalid { - return - } - if tch, ok := ch.typ.Underlying().(*Chan); !ok || tch.dir == RecvOnly || !check.assignment(&x, tch.elem) { - if x.mode != invalid { - check.invalidOp(ch.pos(), "cannot send %s to channel %s", &x, &ch) - } - } - - case *ast.IncDecStmt: - var op token.Token - switch s.Tok { - case token.INC: - op = token.ADD - case token.DEC: - op = token.SUB - default: - check.invalidAST(s.TokPos, "unknown inc/dec operation %s", s.Tok) - return - } - var x operand - Y := &ast.BasicLit{ValuePos: s.X.Pos(), Kind: token.INT, Value: "1"} // use x's position - check.binary(&x, nil, s.X, Y, op) - if x.mode == invalid { - return - } - check.assignVar(s.X, &x) - - case *ast.AssignStmt: - switch s.Tok { - case token.ASSIGN, token.DEFINE: - if len(s.Lhs) == 0 { - check.invalidAST(s.Pos(), "missing lhs in assignment") - return - } - if s.Tok == token.DEFINE { - check.shortVarDecl(s.TokPos, s.Lhs, s.Rhs) - } else { - // regular assignment - check.assignVars(s.Lhs, s.Rhs) - } - - default: - // assignment operations - if len(s.Lhs) != 1 || len(s.Rhs) != 1 { - check.errorf(s.TokPos, "assignment operation %s requires single-valued expressions", s.Tok) - return - } - op := assignOp(s.Tok) - if op == token.ILLEGAL { - check.invalidAST(s.TokPos, "unknown assignment operation %s", s.Tok) - return - } - var x operand - check.binary(&x, nil, s.Lhs[0], s.Rhs[0], op) - if x.mode == invalid { - return - } - check.assignVar(s.Lhs[0], &x) - } - - case *ast.GoStmt: - check.suspendedCall("go", s.Call) - - case *ast.DeferStmt: - check.suspendedCall("defer", s.Call) - - case *ast.ReturnStmt: - res := check.sig.results - if res.Len() > 0 { - // function returns results - // (if one, say the first, result parameter is named, all of them are named) - if len(s.Results) == 0 && res.vars[0].name != "" { - // spec: "Implementation restriction: A compiler may disallow an empty expression - // list in a "return" statement if a different entity (constant, type, or variable) - // with the same name as a result parameter is in scope at the place of the return." - for _, obj := range res.vars { - if _, alt := check.scope.LookupParent(obj.name, check.pos); alt != nil && alt != obj { - check.errorf(s.Pos(), "result parameter %s not in scope at return", obj.name) - check.errorf(alt.Pos(), "\tinner declaration of %s", obj) - // ok to continue - } - } - } else { - // return has results or result parameters are unnamed - check.initVars(res.vars, s.Results, s.Return) - } - } else if len(s.Results) > 0 { - check.error(s.Results[0].Pos(), "no result values expected") - check.use(s.Results...) - } - - case *ast.BranchStmt: - if s.Label != nil { - check.hasLabel = true - return // checked in 2nd pass (check.labels) - } - switch s.Tok { - case token.BREAK: - if ctxt&breakOk == 0 { - check.error(s.Pos(), "break not in for, switch, or select statement") - } - case token.CONTINUE: - if ctxt&continueOk == 0 { - check.error(s.Pos(), "continue not in for statement") - } - case token.FALLTHROUGH: - if ctxt&fallthroughOk == 0 { - check.error(s.Pos(), "fallthrough statement out of place") - } - default: - check.invalidAST(s.Pos(), "branch statement: %s", s.Tok) - } - - case *ast.BlockStmt: - check.openScope(s, "block") - defer check.closeScope() - - check.stmtList(inner, s.List) - - case *ast.IfStmt: - check.openScope(s, "if") - defer check.closeScope() - - check.simpleStmt(s.Init) - var x operand - check.expr(&x, s.Cond) - if x.mode != invalid && !isBoolean(x.typ) { - check.error(s.Cond.Pos(), "non-boolean condition in if statement") - } - check.stmt(inner, s.Body) - if s.Else != nil { - check.stmt(inner, s.Else) - } - - case *ast.SwitchStmt: - inner |= breakOk - check.openScope(s, "switch") - defer check.closeScope() - - check.simpleStmt(s.Init) - var x operand - if s.Tag != nil { - check.expr(&x, s.Tag) - } else { - // spec: "A missing switch expression is - // equivalent to the boolean value true." - x.mode = constant - x.typ = Typ[Bool] - x.val = exact.MakeBool(true) - x.expr = &ast.Ident{NamePos: s.Body.Lbrace, Name: "true"} - } - - check.multipleDefaults(s.Body.List) - - for i, c := range s.Body.List { - clause, _ := c.(*ast.CaseClause) - if clause == nil { - check.invalidAST(c.Pos(), "incorrect expression switch case") - continue - } - if x.mode != invalid { - check.caseValues(x, clause.List) - } - check.openScope(clause, "case") - inner := inner - if i+1 < len(s.Body.List) { - inner |= fallthroughOk - } - check.stmtList(inner, clause.Body) - check.closeScope() - } - - case *ast.TypeSwitchStmt: - inner |= breakOk - check.openScope(s, "type switch") - defer check.closeScope() - - check.simpleStmt(s.Init) - - // A type switch guard must be of the form: - // - // TypeSwitchGuard = [ identifier ":=" ] PrimaryExpr "." "(" "type" ")" . - // - // The parser is checking syntactic correctness; - // remaining syntactic errors are considered AST errors here. - // TODO(gri) better factoring of error handling (invalid ASTs) - // - var lhs *ast.Ident // lhs identifier or nil - var rhs ast.Expr - switch guard := s.Assign.(type) { - case *ast.ExprStmt: - rhs = guard.X - case *ast.AssignStmt: - if len(guard.Lhs) != 1 || guard.Tok != token.DEFINE || len(guard.Rhs) != 1 { - check.invalidAST(s.Pos(), "incorrect form of type switch guard") - return - } - - lhs, _ = guard.Lhs[0].(*ast.Ident) - if lhs == nil { - check.invalidAST(s.Pos(), "incorrect form of type switch guard") - return - } - - if lhs.Name == "_" { - // _ := x.(type) is an invalid short variable declaration - check.softErrorf(lhs.Pos(), "no new variable on left side of :=") - lhs = nil // avoid declared but not used error below - } else { - check.recordDef(lhs, nil) // lhs variable is implicitly declared in each cause clause - } - - rhs = guard.Rhs[0] - - default: - check.invalidAST(s.Pos(), "incorrect form of type switch guard") - return - } - - // rhs must be of the form: expr.(type) and expr must be an interface - expr, _ := rhs.(*ast.TypeAssertExpr) - if expr == nil || expr.Type != nil { - check.invalidAST(s.Pos(), "incorrect form of type switch guard") - return - } - var x operand - check.expr(&x, expr.X) - if x.mode == invalid { - return - } - xtyp, _ := x.typ.Underlying().(*Interface) - if xtyp == nil { - check.errorf(x.pos(), "%s is not an interface", &x) - return - } - - check.multipleDefaults(s.Body.List) - - var lhsVars []*Var // list of implicitly declared lhs variables - seen := make(map[Type]token.Pos) // map of seen types to positions - for _, s := range s.Body.List { - clause, _ := s.(*ast.CaseClause) - if clause == nil { - check.invalidAST(s.Pos(), "incorrect type switch case") - continue - } - // Check each type in this type switch case. - T := check.caseTypes(&x, xtyp, clause.List, seen) - check.openScope(clause, "case") - // If lhs exists, declare a corresponding variable in the case-local scope. - if lhs != nil { - // spec: "The TypeSwitchGuard may include a short variable declaration. - // When that form is used, the variable is declared at the beginning of - // the implicit block in each clause. In clauses with a case listing - // exactly one type, the variable has that type; otherwise, the variable - // has the type of the expression in the TypeSwitchGuard." - if len(clause.List) != 1 || T == nil { - T = x.typ - } - obj := NewVar(lhs.Pos(), check.pkg, lhs.Name, T) - scopePos := clause.End() - if len(clause.Body) > 0 { - scopePos = clause.Body[0].Pos() - } - check.declare(check.scope, nil, obj, scopePos) - check.recordImplicit(clause, obj) - // For the "declared but not used" error, all lhs variables act as - // one; i.e., if any one of them is 'used', all of them are 'used'. - // Collect them for later analysis. - lhsVars = append(lhsVars, obj) - } - check.stmtList(inner, clause.Body) - check.closeScope() - } - - // If lhs exists, we must have at least one lhs variable that was used. - if lhs != nil { - var used bool - for _, v := range lhsVars { - if v.used { - used = true - } - v.used = true // avoid usage error when checking entire function - } - if !used { - check.softErrorf(lhs.Pos(), "%s declared but not used", lhs.Name) - } - } - - case *ast.SelectStmt: - inner |= breakOk - - check.multipleDefaults(s.Body.List) - - for _, s := range s.Body.List { - clause, _ := s.(*ast.CommClause) - if clause == nil { - continue // error reported before - } - - // clause.Comm must be a SendStmt, RecvStmt, or default case - valid := false - var rhs ast.Expr // rhs of RecvStmt, or nil - switch s := clause.Comm.(type) { - case nil, *ast.SendStmt: - valid = true - case *ast.AssignStmt: - if len(s.Rhs) == 1 { - rhs = s.Rhs[0] - } - case *ast.ExprStmt: - rhs = s.X - } - - // if present, rhs must be a receive operation - if rhs != nil { - if x, _ := unparen(rhs).(*ast.UnaryExpr); x != nil && x.Op == token.ARROW { - valid = true - } - } - - if !valid { - check.error(clause.Comm.Pos(), "select case must be send or receive (possibly with assignment)") - continue - } - - check.openScope(s, "case") - if clause.Comm != nil { - check.stmt(inner, clause.Comm) - } - check.stmtList(inner, clause.Body) - check.closeScope() - } - - case *ast.ForStmt: - inner |= breakOk | continueOk - check.openScope(s, "for") - defer check.closeScope() - - check.simpleStmt(s.Init) - if s.Cond != nil { - var x operand - check.expr(&x, s.Cond) - if x.mode != invalid && !isBoolean(x.typ) { - check.error(s.Cond.Pos(), "non-boolean condition in for statement") - } - } - check.simpleStmt(s.Post) - // spec: "The init statement may be a short variable - // declaration, but the post statement must not." - if s, _ := s.Post.(*ast.AssignStmt); s != nil && s.Tok == token.DEFINE { - check.softErrorf(s.Pos(), "cannot declare in post statement") - check.use(s.Lhs...) // avoid follow-up errors - } - check.stmt(inner, s.Body) - - case *ast.RangeStmt: - inner |= breakOk | continueOk - check.openScope(s, "for") - defer check.closeScope() - - // check expression to iterate over - var x operand - check.expr(&x, s.X) - - // determine key/value types - var key, val Type - if x.mode != invalid { - switch typ := x.typ.Underlying().(type) { - case *Basic: - if isString(typ) { - key = Typ[Int] - val = universeRune // use 'rune' name - } - case *Array: - key = Typ[Int] - val = typ.elem - case *Slice: - key = Typ[Int] - val = typ.elem - case *Pointer: - if typ, _ := typ.base.Underlying().(*Array); typ != nil { - key = Typ[Int] - val = typ.elem - } - case *Map: - key = typ.key - val = typ.elem - case *Chan: - key = typ.elem - val = Typ[Invalid] - if typ.dir == SendOnly { - check.errorf(x.pos(), "cannot range over send-only channel %s", &x) - // ok to continue - } - if s.Value != nil { - check.errorf(s.Value.Pos(), "iteration over %s permits only one iteration variable", &x) - // ok to continue - } - } - } - - if key == nil { - check.errorf(x.pos(), "cannot range over %s", &x) - // ok to continue - } - - // check assignment to/declaration of iteration variables - // (irregular assignment, cannot easily map to existing assignment checks) - - // lhs expressions and initialization value (rhs) types - lhs := [2]ast.Expr{s.Key, s.Value} - rhs := [2]Type{key, val} // key, val may be nil - - if s.Tok == token.DEFINE { - // short variable declaration; variable scope starts after the range clause - // (the for loop opens a new scope, so variables on the lhs never redeclare - // previously declared variables) - var vars []*Var - for i, lhs := range lhs { - if lhs == nil { - continue - } - - // determine lhs variable - var obj *Var - if ident, _ := lhs.(*ast.Ident); ident != nil { - // declare new variable - name := ident.Name - obj = NewVar(ident.Pos(), check.pkg, name, nil) - check.recordDef(ident, obj) - // _ variables don't count as new variables - if name != "_" { - vars = append(vars, obj) - } - } else { - check.errorf(lhs.Pos(), "cannot declare %s", lhs) - obj = NewVar(lhs.Pos(), check.pkg, "_", nil) // dummy variable - } - - // initialize lhs variable - if typ := rhs[i]; typ != nil { - x.mode = value - x.expr = lhs // we don't have a better rhs expression to use here - x.typ = typ - check.initVar(obj, &x, false) - } else { - obj.typ = Typ[Invalid] - obj.used = true // don't complain about unused variable - } - } - - // declare variables - if len(vars) > 0 { - for _, obj := range vars { - // spec: "The scope of a constant or variable identifier declared inside - // a function begins at the end of the ConstSpec or VarSpec (ShortVarDecl - // for short variable declarations) and ends at the end of the innermost - // containing block." - scopePos := s.End() - check.declare(check.scope, nil /* recordDef already called */, obj, scopePos) - } - } else { - check.error(s.TokPos, "no new variables on left side of :=") - } - } else { - // ordinary assignment - for i, lhs := range lhs { - if lhs == nil { - continue - } - if typ := rhs[i]; typ != nil { - x.mode = value - x.expr = lhs // we don't have a better rhs expression to use here - x.typ = typ - check.assignVar(lhs, &x) - } - } - } - - check.stmt(inner, s.Body) - - default: - check.error(s.Pos(), "invalid statement") - } -} diff --git a/vendor/golang.org/x/tools/go/types/type.go b/vendor/golang.org/x/tools/go/types/type.go deleted file mode 100644 index 1df8b45..0000000 --- a/vendor/golang.org/x/tools/go/types/type.go +++ /dev/null @@ -1,454 +0,0 @@ -// Copyright 2011 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. - -package types - -import "sort" - -// TODO(gri) Revisit factory functions - make sure they have all relevant parameters. - -// A Type represents a type of Go. -// All types implement the Type interface. -type Type interface { - // Underlying returns the underlying type of a type. - Underlying() Type - - // String returns a string representation of a type. - String() string -} - -// BasicKind describes the kind of basic type. -type BasicKind int - -const ( - Invalid BasicKind = iota // type is invalid - - // predeclared types - Bool - Int - Int8 - Int16 - Int32 - Int64 - Uint - Uint8 - Uint16 - Uint32 - Uint64 - Uintptr - Float32 - Float64 - Complex64 - Complex128 - String - UnsafePointer - - // types for untyped values - UntypedBool - UntypedInt - UntypedRune - UntypedFloat - UntypedComplex - UntypedString - UntypedNil - - // aliases - Byte = Uint8 - Rune = Int32 -) - -// BasicInfo is a set of flags describing properties of a basic type. -type BasicInfo int - -// Properties of basic types. -const ( - IsBoolean BasicInfo = 1 << iota - IsInteger - IsUnsigned - IsFloat - IsComplex - IsString - IsUntyped - - IsOrdered = IsInteger | IsFloat | IsString - IsNumeric = IsInteger | IsFloat | IsComplex - IsConstType = IsBoolean | IsNumeric | IsString -) - -// A Basic represents a basic type. -type Basic struct { - kind BasicKind - info BasicInfo - name string -} - -// Kind returns the kind of basic type b. -func (b *Basic) Kind() BasicKind { return b.kind } - -// Info returns information about properties of basic type b. -func (b *Basic) Info() BasicInfo { return b.info } - -// Name returns the name of basic type b. -func (b *Basic) Name() string { return b.name } - -// An Array represents an array type. -type Array struct { - len int64 - elem Type -} - -// NewArray returns a new array type for the given element type and length. -func NewArray(elem Type, len int64) *Array { return &Array{len, elem} } - -// Len returns the length of array a. -func (a *Array) Len() int64 { return a.len } - -// Elem returns element type of array a. -func (a *Array) Elem() Type { return a.elem } - -// A Slice represents a slice type. -type Slice struct { - elem Type -} - -// NewSlice returns a new slice type for the given element type. -func NewSlice(elem Type) *Slice { return &Slice{elem} } - -// Elem returns the element type of slice s. -func (s *Slice) Elem() Type { return s.elem } - -// A Struct represents a struct type. -type Struct struct { - fields []*Var - tags []string // field tags; nil if there are no tags - // TODO(gri) access to offsets is not threadsafe - fix this - offsets []int64 // field offsets in bytes, lazily initialized -} - -// NewStruct returns a new struct with the given fields and corresponding field tags. -// If a field with index i has a tag, tags[i] must be that tag, but len(tags) may be -// only as long as required to hold the tag with the largest index i. Consequently, -// if no field has a tag, tags may be nil. -func NewStruct(fields []*Var, tags []string) *Struct { - var fset objset - for _, f := range fields { - if f.name != "_" && fset.insert(f) != nil { - panic("multiple fields with the same name") - } - } - if len(tags) > len(fields) { - panic("more tags than fields") - } - return &Struct{fields: fields, tags: tags} -} - -// NumFields returns the number of fields in the struct (including blank and anonymous fields). -func (s *Struct) NumFields() int { return len(s.fields) } - -// Field returns the i'th field for 0 <= i < NumFields(). -func (s *Struct) Field(i int) *Var { return s.fields[i] } - -// Tag returns the i'th field tag for 0 <= i < NumFields(). -func (s *Struct) Tag(i int) string { - if i < len(s.tags) { - return s.tags[i] - } - return "" -} - -// A Pointer represents a pointer type. -type Pointer struct { - base Type // element type -} - -// NewPointer returns a new pointer type for the given element (base) type. -func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} } - -// Elem returns the element type for the given pointer p. -func (p *Pointer) Elem() Type { return p.base } - -// A Tuple represents an ordered list of variables; a nil *Tuple is a valid (empty) tuple. -// Tuples are used as components of signatures and to represent the type of multiple -// assignments; they are not first class types of Go. -type Tuple struct { - vars []*Var -} - -// NewTuple returns a new tuple for the given variables. -func NewTuple(x ...*Var) *Tuple { - if len(x) > 0 { - return &Tuple{x} - } - return nil -} - -// Len returns the number variables of tuple t. -func (t *Tuple) Len() int { - if t != nil { - return len(t.vars) - } - return 0 -} - -// At returns the i'th variable of tuple t. -func (t *Tuple) At(i int) *Var { return t.vars[i] } - -// A Signature represents a (non-builtin) function or method type. -type Signature struct { - // We need to keep the scope in Signature (rather than passing it around - // and store it in the Func Object) because when type-checking a function - // literal we call the general type checker which returns a general Type. - // We then unpack the *Signature and use the scope for the literal body. - scope *Scope // function scope, present for package-local signatures - recv *Var // nil if not a method - params *Tuple // (incoming) parameters from left to right; or nil - results *Tuple // (outgoing) results from left to right; or nil - variadic bool // true if the last parameter's type is of the form ...T (or string, for append built-in only) -} - -// NewSignature returns a new function type for the given receiver, parameters, -// and results, either of which may be nil. If variadic is set, the function -// is variadic, it must have at least one parameter, and the last parameter -// must be of unnamed slice type. -func NewSignature(recv *Var, params, results *Tuple, variadic bool) *Signature { - if variadic { - n := params.Len() - if n == 0 { - panic("types.NewSignature: variadic function must have at least one parameter") - } - if _, ok := params.At(n - 1).typ.(*Slice); !ok { - panic("types.NewSignature: variadic parameter must be of unnamed slice type") - } - } - return &Signature{nil, recv, params, results, variadic} -} - -// Recv returns the receiver of signature s (if a method), or nil if a -// function. -// -// For an abstract method, Recv returns the enclosing interface either -// as a *Named or an *Interface. Due to embedding, an interface may -// contain methods whose receiver type is a different interface. -func (s *Signature) Recv() *Var { return s.recv } - -// Params returns the parameters of signature s, or nil. -func (s *Signature) Params() *Tuple { return s.params } - -// Results returns the results of signature s, or nil. -func (s *Signature) Results() *Tuple { return s.results } - -// Variadic reports whether the signature s is variadic. -func (s *Signature) Variadic() bool { return s.variadic } - -// An Interface represents an interface type. -type Interface struct { - methods []*Func // ordered list of explicitly declared methods - embeddeds []*Named // ordered list of explicitly embedded types - - allMethods []*Func // ordered list of methods declared with or embedded in this interface (TODO(gri): replace with mset) -} - -// NewInterface returns a new interface for the given methods and embedded types. -func NewInterface(methods []*Func, embeddeds []*Named) *Interface { - typ := new(Interface) - - var mset objset - for _, m := range methods { - if mset.insert(m) != nil { - panic("multiple methods with the same name") - } - // set receiver - // TODO(gri) Ideally, we should use a named type here instead of - // typ, for less verbose printing of interface method signatures. - m.typ.(*Signature).recv = NewVar(m.pos, m.pkg, "", typ) - } - sort.Sort(byUniqueMethodName(methods)) - - if embeddeds == nil { - sort.Sort(byUniqueTypeName(embeddeds)) - } - - typ.methods = methods - typ.embeddeds = embeddeds - return typ -} - -// NumExplicitMethods returns the number of explicitly declared methods of interface t. -func (t *Interface) NumExplicitMethods() int { return len(t.methods) } - -// ExplicitMethod returns the i'th explicitly declared method of interface t for 0 <= i < t.NumExplicitMethods(). -// The methods are ordered by their unique Id. -func (t *Interface) ExplicitMethod(i int) *Func { return t.methods[i] } - -// NumEmbeddeds returns the number of embedded types in interface t. -func (t *Interface) NumEmbeddeds() int { return len(t.embeddeds) } - -// Embedded returns the i'th embedded type of interface t for 0 <= i < t.NumEmbeddeds(). -// The types are ordered by the corresponding TypeName's unique Id. -func (t *Interface) Embedded(i int) *Named { return t.embeddeds[i] } - -// NumMethods returns the total number of methods of interface t. -func (t *Interface) NumMethods() int { return len(t.allMethods) } - -// Method returns the i'th method of interface t for 0 <= i < t.NumMethods(). -// The methods are ordered by their unique Id. -func (t *Interface) Method(i int) *Func { return t.allMethods[i] } - -// Empty returns true if t is the empty interface. -func (t *Interface) Empty() bool { return len(t.allMethods) == 0 } - -// Complete computes the interface's method set. It must be called by users of -// NewInterface after the interface's embedded types are fully defined and -// before using the interface type in any way other than to form other types. -// Complete returns the receiver. -func (t *Interface) Complete() *Interface { - if t.allMethods != nil { - return t - } - - var allMethods []*Func - if t.embeddeds == nil { - if t.methods == nil { - allMethods = make([]*Func, 0, 1) - } else { - allMethods = t.methods - } - } else { - allMethods = append(allMethods, t.methods...) - for _, et := range t.embeddeds { - it := et.Underlying().(*Interface) - it.Complete() - for _, tm := range it.allMethods { - // Make a copy of the method and adjust its receiver type. - newm := *tm - newmtyp := *tm.typ.(*Signature) - newm.typ = &newmtyp - newmtyp.recv = NewVar(newm.pos, newm.pkg, "", t) - allMethods = append(allMethods, &newm) - } - } - sort.Sort(byUniqueMethodName(allMethods)) - } - t.allMethods = allMethods - - return t -} - -// A Map represents a map type. -type Map struct { - key, elem Type -} - -// NewMap returns a new map for the given key and element types. -func NewMap(key, elem Type) *Map { - return &Map{key, elem} -} - -// Key returns the key type of map m. -func (m *Map) Key() Type { return m.key } - -// Elem returns the element type of map m. -func (m *Map) Elem() Type { return m.elem } - -// A Chan represents a channel type. -type Chan struct { - dir ChanDir - elem Type -} - -// A ChanDir value indicates a channel direction. -type ChanDir int - -// The direction of a channel is indicated by one of the following constants. -const ( - SendRecv ChanDir = iota - SendOnly - RecvOnly -) - -// NewChan returns a new channel type for the given direction and element type. -func NewChan(dir ChanDir, elem Type) *Chan { - return &Chan{dir, elem} -} - -// Dir returns the direction of channel c. -func (c *Chan) Dir() ChanDir { return c.dir } - -// Elem returns the element type of channel c. -func (c *Chan) Elem() Type { return c.elem } - -// A Named represents a named type. -type Named struct { - obj *TypeName // corresponding declared object - underlying Type // possibly a *Named during setup; never a *Named once set up completely - methods []*Func // methods declared for this type (not the method set of this type) -} - -// NewNamed returns a new named type for the given type name, underlying type, and associated methods. -// The underlying type must not be a *Named. -func NewNamed(obj *TypeName, underlying Type, methods []*Func) *Named { - if _, ok := underlying.(*Named); ok { - panic("types.NewNamed: underlying type must not be *Named") - } - typ := &Named{obj: obj, underlying: underlying, methods: methods} - if obj.typ == nil { - obj.typ = typ - } - return typ -} - -// TypeName returns the type name for the named type t. -func (t *Named) Obj() *TypeName { return t.obj } - -// NumMethods returns the number of explicit methods whose receiver is named type t. -func (t *Named) NumMethods() int { return len(t.methods) } - -// Method returns the i'th method of named type t for 0 <= i < t.NumMethods(). -func (t *Named) Method(i int) *Func { return t.methods[i] } - -// SetUnderlying sets the underlying type and marks t as complete. -// TODO(gri) determine if there's a better solution rather than providing this function -func (t *Named) SetUnderlying(underlying Type) { - if underlying == nil { - panic("types.Named.SetUnderlying: underlying type must not be nil") - } - if _, ok := underlying.(*Named); ok { - panic("types.Named.SetUnderlying: underlying type must not be *Named") - } - t.underlying = underlying -} - -// AddMethod adds method m unless it is already in the method list. -// TODO(gri) find a better solution instead of providing this function -func (t *Named) AddMethod(m *Func) { - if i, _ := lookupMethod(t.methods, m.pkg, m.name); i < 0 { - t.methods = append(t.methods, m) - } -} - -// Implementations for Type methods. - -func (t *Basic) Underlying() Type { return t } -func (t *Array) Underlying() Type { return t } -func (t *Slice) Underlying() Type { return t } -func (t *Struct) Underlying() Type { return t } -func (t *Pointer) Underlying() Type { return t } -func (t *Tuple) Underlying() Type { return t } -func (t *Signature) Underlying() Type { return t } -func (t *Interface) Underlying() Type { return t } -func (t *Map) Underlying() Type { return t } -func (t *Chan) Underlying() Type { return t } -func (t *Named) Underlying() Type { return t.underlying } - -func (t *Basic) String() string { return TypeString(t, nil) } -func (t *Array) String() string { return TypeString(t, nil) } -func (t *Slice) String() string { return TypeString(t, nil) } -func (t *Struct) String() string { return TypeString(t, nil) } -func (t *Pointer) String() string { return TypeString(t, nil) } -func (t *Tuple) String() string { return TypeString(t, nil) } -func (t *Signature) String() string { return TypeString(t, nil) } -func (t *Interface) String() string { return TypeString(t, nil) } -func (t *Map) String() string { return TypeString(t, nil) } -func (t *Chan) String() string { return TypeString(t, nil) } -func (t *Named) String() string { return TypeString(t, nil) } diff --git a/vendor/golang.org/x/tools/go/types/typestring.go b/vendor/golang.org/x/tools/go/types/typestring.go deleted file mode 100644 index abee8ab..0000000 --- a/vendor/golang.org/x/tools/go/types/typestring.go +++ /dev/null @@ -1,292 +0,0 @@ -// Copyright 2013 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. - -// This file implements printing of types. - -package types - -import ( - "bytes" - "fmt" -) - -// A Qualifier controls how named package-level objects are printed in -// calls to TypeString, ObjectString, and SelectionString. -// -// These three formatting routines call the Qualifier for each -// package-level object O, and if the Qualifier returns a non-empty -// string p, the object is printed in the form p.O. -// If it returns an empty string, only the object name O is printed. -// -// Using a nil Qualifier is equivalent to using (*Package).Path: the -// object is qualified by the import path, e.g., "encoding/json.Marshal". -// -type Qualifier func(*Package) string - -// RelativeTo(pkg) returns a Qualifier that fully qualifies members of -// all packages other than pkg. -func RelativeTo(pkg *Package) Qualifier { - if pkg == nil { - return nil - } - return func(other *Package) string { - if pkg == other { - return "" // same package; unqualified - } - return other.Path() - } -} - -// If GcCompatibilityMode is set, printing of types is modified -// to match the representation of some types in the gc compiler: -// -// - byte and rune lose their alias name and simply stand for -// uint8 and int32 respectively -// - embedded interfaces get flattened (the embedding info is lost, -// and certain recursive interface types cannot be printed anymore) -// -// This makes it easier to compare packages computed with the type- -// checker vs packages imported from gc export data. -// -// Caution: This flag affects all uses of WriteType, globally. -// It is only provided for testing in conjunction with -// gc-generated data. It may be removed at any time. -var GcCompatibilityMode bool - -// TypeString returns the string representation of typ. -// The Qualifier controls the printing of -// package-level objects, and may be nil. -func TypeString(typ Type, qf Qualifier) string { - var buf bytes.Buffer - WriteType(&buf, typ, qf) - return buf.String() -} - -// WriteType writes the string representation of typ to buf. -// The Qualifier controls the printing of -// package-level objects, and may be nil. -func WriteType(buf *bytes.Buffer, typ Type, qf Qualifier) { - writeType(buf, typ, qf, make([]Type, 8)) -} - -func writeType(buf *bytes.Buffer, typ Type, qf Qualifier, visited []Type) { - // Theoretically, this is a quadratic lookup algorithm, but in - // practice deeply nested composite types with unnamed component - // types are uncommon. This code is likely more efficient than - // using a map. - for _, t := range visited { - if t == typ { - fmt.Fprintf(buf, "○%T", typ) // cycle to typ - return - } - } - visited = append(visited, typ) - - switch t := typ.(type) { - case nil: - buf.WriteString("") - - case *Basic: - if t.kind == UnsafePointer { - buf.WriteString("unsafe.") - } - if GcCompatibilityMode { - // forget the alias names - switch t.kind { - case Byte: - t = Typ[Uint8] - case Rune: - t = Typ[Int32] - } - } - buf.WriteString(t.name) - - case *Array: - fmt.Fprintf(buf, "[%d]", t.len) - writeType(buf, t.elem, qf, visited) - - case *Slice: - buf.WriteString("[]") - writeType(buf, t.elem, qf, visited) - - case *Struct: - buf.WriteString("struct{") - for i, f := range t.fields { - if i > 0 { - buf.WriteString("; ") - } - if !f.anonymous { - buf.WriteString(f.name) - buf.WriteByte(' ') - } - writeType(buf, f.typ, qf, visited) - if tag := t.Tag(i); tag != "" { - fmt.Fprintf(buf, " %q", tag) - } - } - buf.WriteByte('}') - - case *Pointer: - buf.WriteByte('*') - writeType(buf, t.base, qf, visited) - - case *Tuple: - writeTuple(buf, t, false, qf, visited) - - case *Signature: - buf.WriteString("func") - writeSignature(buf, t, qf, visited) - - case *Interface: - // We write the source-level methods and embedded types rather - // than the actual method set since resolved method signatures - // may have non-printable cycles if parameters have anonymous - // interface types that (directly or indirectly) embed the - // current interface. For instance, consider the result type - // of m: - // - // type T interface{ - // m() interface{ T } - // } - // - buf.WriteString("interface{") - if GcCompatibilityMode { - // print flattened interface - // (useful to compare against gc-generated interfaces) - for i, m := range t.allMethods { - if i > 0 { - buf.WriteString("; ") - } - buf.WriteString(m.name) - writeSignature(buf, m.typ.(*Signature), qf, visited) - } - } else { - // print explicit interface methods and embedded types - for i, m := range t.methods { - if i > 0 { - buf.WriteString("; ") - } - buf.WriteString(m.name) - writeSignature(buf, m.typ.(*Signature), qf, visited) - } - for i, typ := range t.embeddeds { - if i > 0 || len(t.methods) > 0 { - buf.WriteString("; ") - } - writeType(buf, typ, qf, visited) - } - } - buf.WriteByte('}') - - case *Map: - buf.WriteString("map[") - writeType(buf, t.key, qf, visited) - buf.WriteByte(']') - writeType(buf, t.elem, qf, visited) - - case *Chan: - var s string - var parens bool - switch t.dir { - case SendRecv: - s = "chan " - // chan (<-chan T) requires parentheses - if c, _ := t.elem.(*Chan); c != nil && c.dir == RecvOnly { - parens = true - } - case SendOnly: - s = "chan<- " - case RecvOnly: - s = "<-chan " - default: - panic("unreachable") - } - buf.WriteString(s) - if parens { - buf.WriteByte('(') - } - writeType(buf, t.elem, qf, visited) - if parens { - buf.WriteByte(')') - } - - case *Named: - s := "" - if obj := t.obj; obj != nil { - if obj.pkg != nil { - writePackage(buf, obj.pkg, qf) - } - // TODO(gri): function-local named types should be displayed - // differently from named types at package level to avoid - // ambiguity. - s = obj.name - } - buf.WriteString(s) - - default: - // For externally defined implementations of Type. - buf.WriteString(t.String()) - } -} - -func writeTuple(buf *bytes.Buffer, tup *Tuple, variadic bool, qf Qualifier, visited []Type) { - buf.WriteByte('(') - if tup != nil { - for i, v := range tup.vars { - if i > 0 { - buf.WriteString(", ") - } - if v.name != "" { - buf.WriteString(v.name) - buf.WriteByte(' ') - } - typ := v.typ - if variadic && i == len(tup.vars)-1 { - if s, ok := typ.(*Slice); ok { - buf.WriteString("...") - typ = s.elem - } else { - // special case: - // append(s, "foo"...) leads to signature func([]byte, string...) - if t, ok := typ.Underlying().(*Basic); !ok || t.kind != String { - panic("internal error: string type expected") - } - writeType(buf, typ, qf, visited) - buf.WriteString("...") - continue - } - } - writeType(buf, typ, qf, visited) - } - } - buf.WriteByte(')') -} - -// WriteSignature writes the representation of the signature sig to buf, -// without a leading "func" keyword. -// The Qualifier controls the printing of -// package-level objects, and may be nil. -func WriteSignature(buf *bytes.Buffer, sig *Signature, qf Qualifier) { - writeSignature(buf, sig, qf, make([]Type, 8)) -} - -func writeSignature(buf *bytes.Buffer, sig *Signature, qf Qualifier, visited []Type) { - writeTuple(buf, sig.params, sig.variadic, qf, visited) - - n := sig.results.Len() - if n == 0 { - // no result - return - } - - buf.WriteByte(' ') - if n == 1 && sig.results.vars[0].name == "" { - // single unnamed result - writeType(buf, sig.results.vars[0].typ, qf, visited) - return - } - - // multiple or named result(s) - writeTuple(buf, sig.results, false, qf, visited) -} diff --git a/vendor/golang.org/x/tools/go/types/typeutil/imports.go b/vendor/golang.org/x/tools/go/types/typeutil/imports.go deleted file mode 100644 index 967fe1e..0000000 --- a/vendor/golang.org/x/tools/go/types/typeutil/imports.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2014 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. - -package typeutil - -import "golang.org/x/tools/go/types" - -// Dependencies returns all dependencies of the specified packages. -// -// Dependent packages appear in topological order: if package P imports -// package Q, Q appears earlier than P in the result. -// The algorithm follows import statements in the order they -// appear in the source code, so the result is a total order. -// -func Dependencies(pkgs ...*types.Package) []*types.Package { - var result []*types.Package - seen := make(map[*types.Package]bool) - var visit func(pkgs []*types.Package) - visit = func(pkgs []*types.Package) { - for _, p := range pkgs { - if !seen[p] { - seen[p] = true - visit(p.Imports()) - result = append(result, p) - } - } - } - visit(pkgs) - return result -} diff --git a/vendor/golang.org/x/tools/go/types/typeutil/map.go b/vendor/golang.org/x/tools/go/types/typeutil/map.go deleted file mode 100644 index b3a04cc..0000000 --- a/vendor/golang.org/x/tools/go/types/typeutil/map.go +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright 2014 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. - -// Package typeutil defines various utilities for types, such as Map, -// a mapping from types.Type to interface{} values. -package typeutil // import "golang.org/x/tools/go/types/typeutil" - -import ( - "bytes" - "fmt" - "reflect" - - "golang.org/x/tools/go/types" -) - -// Map is a hash-table-based mapping from types (types.Type) to -// arbitrary interface{} values. The concrete types that implement -// the Type interface are pointers. Since they are not canonicalized, -// == cannot be used to check for equivalence, and thus we cannot -// simply use a Go map. -// -// Just as with map[K]V, a nil *Map is a valid empty map. -// -// Not thread-safe. -// -type Map struct { - hasher Hasher // shared by many Maps - table map[uint32][]entry // maps hash to bucket; entry.key==nil means unused - length int // number of map entries -} - -// entry is an entry (key/value association) in a hash bucket. -type entry struct { - key types.Type - value interface{} -} - -// SetHasher sets the hasher used by Map. -// -// All Hashers are functionally equivalent but contain internal state -// used to cache the results of hashing previously seen types. -// -// A single Hasher created by MakeHasher() may be shared among many -// Maps. This is recommended if the instances have many keys in -// common, as it will amortize the cost of hash computation. -// -// A Hasher may grow without bound as new types are seen. Even when a -// type is deleted from the map, the Hasher never shrinks, since other -// types in the map may reference the deleted type indirectly. -// -// Hashers are not thread-safe, and read-only operations such as -// Map.Lookup require updates to the hasher, so a full Mutex lock (not a -// read-lock) is require around all Map operations if a shared -// hasher is accessed from multiple threads. -// -// If SetHasher is not called, the Map will create a private hasher at -// the first call to Insert. -// -func (m *Map) SetHasher(hasher Hasher) { - m.hasher = hasher -} - -// Delete removes the entry with the given key, if any. -// It returns true if the entry was found. -// -func (m *Map) Delete(key types.Type) bool { - if m != nil && m.table != nil { - hash := m.hasher.Hash(key) - bucket := m.table[hash] - for i, e := range bucket { - if e.key != nil && types.Identical(key, e.key) { - // We can't compact the bucket as it - // would disturb iterators. - bucket[i] = entry{} - m.length-- - return true - } - } - } - return false -} - -// At returns the map entry for the given key. -// The result is nil if the entry is not present. -// -func (m *Map) At(key types.Type) interface{} { - if m != nil && m.table != nil { - for _, e := range m.table[m.hasher.Hash(key)] { - if e.key != nil && types.Identical(key, e.key) { - return e.value - } - } - } - return nil -} - -// Set sets the map entry for key to val, -// and returns the previous entry, if any. -func (m *Map) Set(key types.Type, value interface{}) (prev interface{}) { - if m.table != nil { - hash := m.hasher.Hash(key) - bucket := m.table[hash] - var hole *entry - for i, e := range bucket { - if e.key == nil { - hole = &bucket[i] - } else if types.Identical(key, e.key) { - prev = e.value - bucket[i].value = value - return - } - } - - if hole != nil { - *hole = entry{key, value} // overwrite deleted entry - } else { - m.table[hash] = append(bucket, entry{key, value}) - } - } else { - if m.hasher.memo == nil { - m.hasher = MakeHasher() - } - hash := m.hasher.Hash(key) - m.table = map[uint32][]entry{hash: {entry{key, value}}} - } - - m.length++ - return -} - -// Len returns the number of map entries. -func (m *Map) Len() int { - if m != nil { - return m.length - } - return 0 -} - -// Iterate calls function f on each entry in the map in unspecified order. -// -// If f should mutate the map, Iterate provides the same guarantees as -// Go maps: if f deletes a map entry that Iterate has not yet reached, -// f will not be invoked for it, but if f inserts a map entry that -// Iterate has not yet reached, whether or not f will be invoked for -// it is unspecified. -// -func (m *Map) Iterate(f func(key types.Type, value interface{})) { - if m != nil { - for _, bucket := range m.table { - for _, e := range bucket { - if e.key != nil { - f(e.key, e.value) - } - } - } - } -} - -// Keys returns a new slice containing the set of map keys. -// The order is unspecified. -func (m *Map) Keys() []types.Type { - keys := make([]types.Type, 0, m.Len()) - m.Iterate(func(key types.Type, _ interface{}) { - keys = append(keys, key) - }) - return keys -} - -func (m *Map) toString(values bool) string { - if m == nil { - return "{}" - } - var buf bytes.Buffer - fmt.Fprint(&buf, "{") - sep := "" - m.Iterate(func(key types.Type, value interface{}) { - fmt.Fprint(&buf, sep) - sep = ", " - fmt.Fprint(&buf, key) - if values { - fmt.Fprintf(&buf, ": %q", value) - } - }) - fmt.Fprint(&buf, "}") - return buf.String() -} - -// String returns a string representation of the map's entries. -// Values are printed using fmt.Sprintf("%v", v). -// Order is unspecified. -// -func (m *Map) String() string { - return m.toString(true) -} - -// KeysString returns a string representation of the map's key set. -// Order is unspecified. -// -func (m *Map) KeysString() string { - return m.toString(false) -} - -//////////////////////////////////////////////////////////////////////// -// Hasher - -// A Hasher maps each type to its hash value. -// For efficiency, a hasher uses memoization; thus its memory -// footprint grows monotonically over time. -// Hashers are not thread-safe. -// Hashers have reference semantics. -// Call MakeHasher to create a Hasher. -type Hasher struct { - memo map[types.Type]uint32 -} - -// MakeHasher returns a new Hasher instance. -func MakeHasher() Hasher { - return Hasher{make(map[types.Type]uint32)} -} - -// Hash computes a hash value for the given type t such that -// Identical(t, t') => Hash(t) == Hash(t'). -func (h Hasher) Hash(t types.Type) uint32 { - hash, ok := h.memo[t] - if !ok { - hash = h.hashFor(t) - h.memo[t] = hash - } - return hash -} - -// hashString computes the Fowler–Noll–Vo hash of s. -func hashString(s string) uint32 { - var h uint32 - for i := 0; i < len(s); i++ { - h ^= uint32(s[i]) - h *= 16777619 - } - return h -} - -// hashFor computes the hash of t. -func (h Hasher) hashFor(t types.Type) uint32 { - // See Identical for rationale. - switch t := t.(type) { - case *types.Basic: - return uint32(t.Kind()) - - case *types.Array: - return 9043 + 2*uint32(t.Len()) + 3*h.Hash(t.Elem()) - - case *types.Slice: - return 9049 + 2*h.Hash(t.Elem()) - - case *types.Struct: - var hash uint32 = 9059 - for i, n := 0, t.NumFields(); i < n; i++ { - f := t.Field(i) - if f.Anonymous() { - hash += 8861 - } - hash += hashString(t.Tag(i)) - hash += hashString(f.Name()) // (ignore f.Pkg) - hash += h.Hash(f.Type()) - } - return hash - - case *types.Pointer: - return 9067 + 2*h.Hash(t.Elem()) - - case *types.Signature: - var hash uint32 = 9091 - if t.Variadic() { - hash *= 8863 - } - return hash + 3*h.hashTuple(t.Params()) + 5*h.hashTuple(t.Results()) - - case *types.Interface: - var hash uint32 = 9103 - for i, n := 0, t.NumMethods(); i < n; i++ { - // See go/types.identicalMethods for rationale. - // Method order is not significant. - // Ignore m.Pkg(). - m := t.Method(i) - hash += 3*hashString(m.Name()) + 5*h.Hash(m.Type()) - } - return hash - - case *types.Map: - return 9109 + 2*h.Hash(t.Key()) + 3*h.Hash(t.Elem()) - - case *types.Chan: - return 9127 + 2*uint32(t.Dir()) + 3*h.Hash(t.Elem()) - - case *types.Named: - // Not safe with a copying GC; objects may move. - return uint32(reflect.ValueOf(t.Obj()).Pointer()) - - case *types.Tuple: - return h.hashTuple(t) - } - panic(t) -} - -func (h Hasher) hashTuple(tuple *types.Tuple) uint32 { - // See go/types.identicalTypes for rationale. - n := tuple.Len() - var hash uint32 = 9137 + 2*uint32(n) - for i := 0; i < n; i++ { - hash += 3 * h.Hash(tuple.At(i).Type()) - } - return hash -} diff --git a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go b/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go deleted file mode 100644 index daad644..0000000 --- a/vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2014 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. - -// This file implements a cache of method sets. - -package typeutil - -import ( - "sync" - - "golang.org/x/tools/go/types" -) - -// A MethodSetCache records the method set of each type T for which -// MethodSet(T) is called so that repeat queries are fast. -// The zero value is a ready-to-use cache instance. -type MethodSetCache struct { - mu sync.Mutex - named map[*types.Named]struct{ value, pointer *types.MethodSet } // method sets for named N and *N - others map[types.Type]*types.MethodSet // all other types -} - -// MethodSet returns the method set of type T. It is thread-safe. -// -// If cache is nil, this function is equivalent to types.NewMethodSet(T). -// Utility functions can thus expose an optional *MethodSetCache -// parameter to clients that care about performance. -// -func (cache *MethodSetCache) MethodSet(T types.Type) *types.MethodSet { - if cache == nil { - return types.NewMethodSet(T) - } - cache.mu.Lock() - defer cache.mu.Unlock() - - switch T := T.(type) { - case *types.Named: - return cache.lookupNamed(T).value - - case *types.Pointer: - if N, ok := T.Elem().(*types.Named); ok { - return cache.lookupNamed(N).pointer - } - } - - // all other types - // (The map uses pointer equivalence, not type identity.) - mset := cache.others[T] - if mset == nil { - mset = types.NewMethodSet(T) - if cache.others == nil { - cache.others = make(map[types.Type]*types.MethodSet) - } - cache.others[T] = mset - } - return mset -} - -func (cache *MethodSetCache) lookupNamed(named *types.Named) struct{ value, pointer *types.MethodSet } { - if cache.named == nil { - cache.named = make(map[*types.Named]struct{ value, pointer *types.MethodSet }) - } - // Avoid recomputing mset(*T) for each distinct Pointer - // instance whose underlying type is a named type. - msets, ok := cache.named[named] - if !ok { - msets.value = types.NewMethodSet(named) - msets.pointer = types.NewMethodSet(types.NewPointer(named)) - cache.named[named] = msets - } - return msets -} diff --git a/vendor/golang.org/x/tools/go/types/typeutil/ui.go b/vendor/golang.org/x/tools/go/types/typeutil/ui.go deleted file mode 100644 index 20c5249..0000000 --- a/vendor/golang.org/x/tools/go/types/typeutil/ui.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2014 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. - -package typeutil - -// This file defines utilities for user interfaces that display types. - -import "golang.org/x/tools/go/types" - -// IntuitiveMethodSet returns the intuitive method set of a type, T. -// -// The result contains MethodSet(T) and additionally, if T is a -// concrete type, methods belonging to *T if there is no identically -// named method on T itself. This corresponds to user intuition about -// method sets; this function is intended only for user interfaces. -// -// The order of the result is as for types.MethodSet(T). -// -func IntuitiveMethodSet(T types.Type, msets *MethodSetCache) []*types.Selection { - var result []*types.Selection - mset := msets.MethodSet(T) - if _, ok := T.Underlying().(*types.Interface); ok { - for i, n := 0, mset.Len(); i < n; i++ { - result = append(result, mset.At(i)) - } - } else { - pmset := msets.MethodSet(types.NewPointer(T)) - for i, n := 0, pmset.Len(); i < n; i++ { - meth := pmset.At(i) - if m := mset.Lookup(meth.Obj().Pkg(), meth.Obj().Name()); m != nil { - meth = m - } - result = append(result, meth) - } - } - return result -} diff --git a/vendor/golang.org/x/tools/go/types/typexpr.go b/vendor/golang.org/x/tools/go/types/typexpr.go deleted file mode 100644 index bd2d7ba..0000000 --- a/vendor/golang.org/x/tools/go/types/typexpr.go +++ /dev/null @@ -1,713 +0,0 @@ -// Copyright 2013 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. - -// This file implements type-checking of identifiers and type expressions. - -package types - -import ( - "go/ast" - "go/token" - "sort" - "strconv" - - "golang.org/x/tools/go/exact" -) - -// ident type-checks identifier e and initializes x with the value or type of e. -// If an error occurred, x.mode is set to invalid. -// For the meaning of def and path, see check.typ, below. -// -func (check *Checker) ident(x *operand, e *ast.Ident, def *Named, path []*TypeName) { - x.mode = invalid - x.expr = e - - scope, obj := check.scope.LookupParent(e.Name, check.pos) - if obj == nil { - if e.Name == "_" { - check.errorf(e.Pos(), "cannot use _ as value or type") - } else { - check.errorf(e.Pos(), "undeclared name: %s", e.Name) - } - return - } - check.recordUse(e, obj) - - check.objDecl(obj, def, path) - typ := obj.Type() - assert(typ != nil) - - // The object may be dot-imported: If so, remove its package from - // the map of unused dot imports for the respective file scope. - // (This code is only needed for dot-imports. Without them, - // we only have to mark variables, see *Var case below). - if pkg := obj.Pkg(); pkg != check.pkg && pkg != nil { - delete(check.unusedDotImports[scope], pkg) - } - - switch obj := obj.(type) { - case *PkgName: - check.errorf(e.Pos(), "use of package %s not in selector", obj.name) - return - - case *Const: - check.addDeclDep(obj) - if typ == Typ[Invalid] { - return - } - if obj == universeIota { - if check.iota == nil { - check.errorf(e.Pos(), "cannot use iota outside constant declaration") - return - } - x.val = check.iota - } else { - x.val = obj.val - } - assert(x.val != nil) - x.mode = constant - - case *TypeName: - x.mode = typexpr - // check for cycle - // (it's ok to iterate forward because each named type appears at most once in path) - for i, prev := range path { - if prev == obj { - check.errorf(obj.pos, "illegal cycle in declaration of %s", obj.name) - // print cycle - for _, obj := range path[i:] { - check.errorf(obj.Pos(), "\t%s refers to", obj.Name()) // secondary error, \t indented - } - check.errorf(obj.Pos(), "\t%s", obj.Name()) - // maintain x.mode == typexpr despite error - typ = Typ[Invalid] - break - } - } - - case *Var: - if obj.pkg == check.pkg { - obj.used = true - } - check.addDeclDep(obj) - if typ == Typ[Invalid] { - return - } - x.mode = variable - - case *Func: - check.addDeclDep(obj) - x.mode = value - - case *Builtin: - x.id = obj.id - x.mode = builtin - - case *Nil: - x.mode = value - - default: - unreachable() - } - - x.typ = typ -} - -// typExpr type-checks the type expression e and returns its type, or Typ[Invalid]. -// If def != nil, e is the type specification for the named type def, declared -// in a type declaration, and def.underlying will be set to the type of e before -// any components of e are type-checked. Path contains the path of named types -// referring to this type. -// -func (check *Checker) typExpr(e ast.Expr, def *Named, path []*TypeName) (T Type) { - if trace { - check.trace(e.Pos(), "%s", e) - check.indent++ - defer func() { - check.indent-- - check.trace(e.Pos(), "=> %s", T) - }() - } - - T = check.typExprInternal(e, def, path) - assert(isTyped(T)) - check.recordTypeAndValue(e, typexpr, T, nil) - - return -} - -func (check *Checker) typ(e ast.Expr) Type { - return check.typExpr(e, nil, nil) -} - -// funcType type-checks a function or method type. -func (check *Checker) funcType(sig *Signature, recvPar *ast.FieldList, ftyp *ast.FuncType) { - scope := NewScope(check.scope, token.NoPos, token.NoPos, "function") - check.recordScope(ftyp, scope) - - recvList, _ := check.collectParams(scope, recvPar, false) - params, variadic := check.collectParams(scope, ftyp.Params, true) - results, _ := check.collectParams(scope, ftyp.Results, false) - - if recvPar != nil { - // recv parameter list present (may be empty) - // spec: "The receiver is specified via an extra parameter section preceeding the - // method name. That parameter section must declare a single parameter, the receiver." - var recv *Var - switch len(recvList) { - case 0: - check.error(recvPar.Pos(), "method is missing receiver") - recv = NewParam(0, nil, "", Typ[Invalid]) // ignore recv below - default: - // more than one receiver - check.error(recvList[len(recvList)-1].Pos(), "method must have exactly one receiver") - fallthrough // continue with first receiver - case 1: - recv = recvList[0] - } - // spec: "The receiver type must be of the form T or *T where T is a type name." - // (ignore invalid types - error was reported before) - if t, _ := deref(recv.typ); t != Typ[Invalid] { - var err string - if T, _ := t.(*Named); T != nil { - // spec: "The type denoted by T is called the receiver base type; it must not - // be a pointer or interface type and it must be declared in the same package - // as the method." - if T.obj.pkg != check.pkg { - err = "type not defined in this package" - } else { - // TODO(gri) This is not correct if the underlying type is unknown yet. - switch u := T.underlying.(type) { - case *Basic: - // unsafe.Pointer is treated like a regular pointer - if u.kind == UnsafePointer { - err = "unsafe.Pointer" - } - case *Pointer, *Interface: - err = "pointer or interface type" - } - } - } else { - err = "basic or unnamed type" - } - if err != "" { - check.errorf(recv.pos, "invalid receiver %s (%s)", recv.typ, err) - // ok to continue - } - } - sig.recv = recv - } - - sig.scope = scope - sig.params = NewTuple(params...) - sig.results = NewTuple(results...) - sig.variadic = variadic -} - -// typExprInternal drives type checking of types. -// Must only be called by typExpr. -// -func (check *Checker) typExprInternal(e ast.Expr, def *Named, path []*TypeName) Type { - switch e := e.(type) { - case *ast.BadExpr: - // ignore - error reported before - - case *ast.Ident: - var x operand - check.ident(&x, e, def, path) - - switch x.mode { - case typexpr: - typ := x.typ - def.setUnderlying(typ) - return typ - case invalid: - // ignore - error reported before - case novalue: - check.errorf(x.pos(), "%s used as type", &x) - default: - check.errorf(x.pos(), "%s is not a type", &x) - } - - case *ast.SelectorExpr: - var x operand - check.selector(&x, e) - - switch x.mode { - case typexpr: - typ := x.typ - def.setUnderlying(typ) - return typ - case invalid: - // ignore - error reported before - case novalue: - check.errorf(x.pos(), "%s used as type", &x) - default: - check.errorf(x.pos(), "%s is not a type", &x) - } - - case *ast.ParenExpr: - return check.typExpr(e.X, def, path) - - case *ast.ArrayType: - if e.Len != nil { - typ := new(Array) - def.setUnderlying(typ) - typ.len = check.arrayLength(e.Len) - typ.elem = check.typExpr(e.Elt, nil, path) - return typ - - } else { - typ := new(Slice) - def.setUnderlying(typ) - typ.elem = check.typ(e.Elt) - return typ - } - - case *ast.StructType: - typ := new(Struct) - def.setUnderlying(typ) - check.structType(typ, e, path) - return typ - - case *ast.StarExpr: - typ := new(Pointer) - def.setUnderlying(typ) - typ.base = check.typ(e.X) - return typ - - case *ast.FuncType: - typ := new(Signature) - def.setUnderlying(typ) - check.funcType(typ, nil, e) - return typ - - case *ast.InterfaceType: - typ := new(Interface) - def.setUnderlying(typ) - check.interfaceType(typ, e, def, path) - return typ - - case *ast.MapType: - typ := new(Map) - def.setUnderlying(typ) - - typ.key = check.typ(e.Key) - typ.elem = check.typ(e.Value) - - // spec: "The comparison operators == and != must be fully defined - // for operands of the key type; thus the key type must not be a - // function, map, or slice." - // - // Delay this check because it requires fully setup types; - // it is safe to continue in any case (was issue 6667). - check.delay(func() { - if !Comparable(typ.key) { - check.errorf(e.Key.Pos(), "invalid map key type %s", typ.key) - } - }) - - return typ - - case *ast.ChanType: - typ := new(Chan) - def.setUnderlying(typ) - - dir := SendRecv - switch e.Dir { - case ast.SEND | ast.RECV: - // nothing to do - case ast.SEND: - dir = SendOnly - case ast.RECV: - dir = RecvOnly - default: - check.invalidAST(e.Pos(), "unknown channel direction %d", e.Dir) - // ok to continue - } - - typ.dir = dir - typ.elem = check.typ(e.Value) - return typ - - default: - check.errorf(e.Pos(), "%s is not a type", e) - } - - typ := Typ[Invalid] - def.setUnderlying(typ) - return typ -} - -// typeOrNil type-checks the type expression (or nil value) e -// and returns the typ of e, or nil. -// If e is neither a type nor nil, typOrNil returns Typ[Invalid]. -// -func (check *Checker) typOrNil(e ast.Expr) Type { - var x operand - check.rawExpr(&x, e, nil) - switch x.mode { - case invalid: - // ignore - error reported before - case novalue: - check.errorf(x.pos(), "%s used as type", &x) - case typexpr: - return x.typ - case value: - if x.isNil() { - return nil - } - fallthrough - default: - check.errorf(x.pos(), "%s is not a type", &x) - } - return Typ[Invalid] -} - -func (check *Checker) arrayLength(e ast.Expr) int64 { - var x operand - check.expr(&x, e) - if x.mode != constant { - if x.mode != invalid { - check.errorf(x.pos(), "array length %s must be constant", &x) - } - return 0 - } - if !x.isInteger() { - check.errorf(x.pos(), "array length %s must be integer", &x) - return 0 - } - n, ok := exact.Int64Val(x.val) - if !ok || n < 0 { - check.errorf(x.pos(), "invalid array length %s", &x) - return 0 - } - return n -} - -func (check *Checker) collectParams(scope *Scope, list *ast.FieldList, variadicOk bool) (params []*Var, variadic bool) { - if list == nil { - return - } - - var named, anonymous bool - for i, field := range list.List { - ftype := field.Type - if t, _ := ftype.(*ast.Ellipsis); t != nil { - ftype = t.Elt - if variadicOk && i == len(list.List)-1 { - variadic = true - } else { - check.invalidAST(field.Pos(), "... not permitted") - // ignore ... and continue - } - } - typ := check.typ(ftype) - // The parser ensures that f.Tag is nil and we don't - // care if a constructed AST contains a non-nil tag. - if len(field.Names) > 0 { - // named parameter - for _, name := range field.Names { - if name.Name == "" { - check.invalidAST(name.Pos(), "anonymous parameter") - // ok to continue - } - par := NewParam(name.Pos(), check.pkg, name.Name, typ) - check.declare(scope, name, par, scope.pos) - params = append(params, par) - } - named = true - } else { - // anonymous parameter - par := NewParam(ftype.Pos(), check.pkg, "", typ) - check.recordImplicit(field, par) - params = append(params, par) - anonymous = true - } - } - - if named && anonymous { - check.invalidAST(list.Pos(), "list contains both named and anonymous parameters") - // ok to continue - } - - // For a variadic function, change the last parameter's type from T to []T. - if variadic && len(params) > 0 { - last := params[len(params)-1] - last.typ = &Slice{elem: last.typ} - } - - return -} - -func (check *Checker) declareInSet(oset *objset, pos token.Pos, obj Object) bool { - if alt := oset.insert(obj); alt != nil { - check.errorf(pos, "%s redeclared", obj.Name()) - check.reportAltDecl(alt) - return false - } - return true -} - -func (check *Checker) interfaceType(iface *Interface, ityp *ast.InterfaceType, def *Named, path []*TypeName) { - // empty interface: common case - if ityp.Methods == nil { - return - } - - // The parser ensures that field tags are nil and we don't - // care if a constructed AST contains non-nil tags. - - // use named receiver type if available (for better error messages) - var recvTyp Type = iface - if def != nil { - recvTyp = def - } - - // Phase 1: Collect explicitly declared methods, the corresponding - // signature (AST) expressions, and the list of embedded - // type (AST) expressions. Do not resolve signatures or - // embedded types yet to avoid cycles referring to this - // interface. - - var ( - mset objset - signatures []ast.Expr // list of corresponding method signatures - embedded []ast.Expr // list of embedded types - ) - for _, f := range ityp.Methods.List { - if len(f.Names) > 0 { - // The parser ensures that there's only one method - // and we don't care if a constructed AST has more. - name := f.Names[0] - pos := name.Pos() - // spec: "As with all method sets, in an interface type, - // each method must have a unique non-blank name." - if name.Name == "_" { - check.errorf(pos, "invalid method name _") - continue - } - // Don't type-check signature yet - use an - // empty signature now and update it later. - // Since we know the receiver, set it up now - // (required to avoid crash in ptrRecv; see - // e.g. test case for issue 6638). - // TODO(gri) Consider marking methods signatures - // as incomplete, for better error messages. See - // also the T4 and T5 tests in testdata/cycles2.src. - sig := new(Signature) - sig.recv = NewVar(pos, check.pkg, "", recvTyp) - m := NewFunc(pos, check.pkg, name.Name, sig) - if check.declareInSet(&mset, pos, m) { - iface.methods = append(iface.methods, m) - iface.allMethods = append(iface.allMethods, m) - signatures = append(signatures, f.Type) - check.recordDef(name, m) - } - } else { - // embedded type - embedded = append(embedded, f.Type) - } - } - - // Phase 2: Resolve embedded interfaces. Because an interface must not - // embed itself (directly or indirectly), each embedded interface - // can be fully resolved without depending on any method of this - // interface (if there is a cycle or another error, the embedded - // type resolves to an invalid type and is ignored). - // In particular, the list of methods for each embedded interface - // must be complete (it cannot depend on this interface), and so - // those methods can be added to the list of all methods of this - // interface. - - for _, e := range embedded { - pos := e.Pos() - typ := check.typExpr(e, nil, path) - // Determine underlying embedded (possibly incomplete) type - // by following its forward chain. - named, _ := typ.(*Named) - under := underlying(named) - embed, _ := under.(*Interface) - if embed == nil { - if typ != Typ[Invalid] { - check.errorf(pos, "%s is not an interface", typ) - } - continue - } - iface.embeddeds = append(iface.embeddeds, named) - // collect embedded methods - for _, m := range embed.allMethods { - if check.declareInSet(&mset, pos, m) { - iface.allMethods = append(iface.allMethods, m) - } - } - } - - // Phase 3: At this point all methods have been collected for this interface. - // It is now safe to type-check the signatures of all explicitly - // declared methods, even if they refer to this interface via a cycle - // and embed the methods of this interface in a parameter of interface - // type. - - for i, m := range iface.methods { - expr := signatures[i] - typ := check.typ(expr) - sig, _ := typ.(*Signature) - if sig == nil { - if typ != Typ[Invalid] { - check.invalidAST(expr.Pos(), "%s is not a method signature", typ) - } - continue // keep method with empty method signature - } - // update signature, but keep recv that was set up before - old := m.typ.(*Signature) - sig.recv = old.recv - *old = *sig // update signature (don't replace it!) - } - - // TODO(gri) The list of explicit methods is only sorted for now to - // produce the same Interface as NewInterface. We may be able to - // claim source order in the future. Revisit. - sort.Sort(byUniqueMethodName(iface.methods)) - - // TODO(gri) The list of embedded types is only sorted for now to - // produce the same Interface as NewInterface. We may be able to - // claim source order in the future. Revisit. - sort.Sort(byUniqueTypeName(iface.embeddeds)) - - sort.Sort(byUniqueMethodName(iface.allMethods)) -} - -// byUniqueTypeName named type lists can be sorted by their unique type names. -type byUniqueTypeName []*Named - -func (a byUniqueTypeName) Len() int { return len(a) } -func (a byUniqueTypeName) Less(i, j int) bool { return a[i].obj.Id() < a[j].obj.Id() } -func (a byUniqueTypeName) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -// byUniqueMethodName method lists can be sorted by their unique method names. -type byUniqueMethodName []*Func - -func (a byUniqueMethodName) Len() int { return len(a) } -func (a byUniqueMethodName) Less(i, j int) bool { return a[i].Id() < a[j].Id() } -func (a byUniqueMethodName) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -func (check *Checker) tag(t *ast.BasicLit) string { - if t != nil { - if t.Kind == token.STRING { - if val, err := strconv.Unquote(t.Value); err == nil { - return val - } - } - check.invalidAST(t.Pos(), "incorrect tag syntax: %q", t.Value) - } - return "" -} - -func (check *Checker) structType(styp *Struct, e *ast.StructType, path []*TypeName) { - list := e.Fields - if list == nil { - return - } - - // struct fields and tags - var fields []*Var - var tags []string - - // for double-declaration checks - var fset objset - - // current field typ and tag - var typ Type - var tag string - // anonymous != nil indicates an anonymous field. - add := func(field *ast.Field, ident *ast.Ident, anonymous *TypeName, pos token.Pos) { - if tag != "" && tags == nil { - tags = make([]string, len(fields)) - } - if tags != nil { - tags = append(tags, tag) - } - - name := ident.Name - fld := NewField(pos, check.pkg, name, typ, anonymous != nil) - // spec: "Within a struct, non-blank field names must be unique." - if name == "_" || check.declareInSet(&fset, pos, fld) { - fields = append(fields, fld) - check.recordDef(ident, fld) - } - if anonymous != nil { - check.recordUse(ident, anonymous) - } - } - - for _, f := range list.List { - typ = check.typExpr(f.Type, nil, path) - tag = check.tag(f.Tag) - if len(f.Names) > 0 { - // named fields - for _, name := range f.Names { - add(f, name, nil, name.Pos()) - } - } else { - // anonymous field - name := anonymousFieldIdent(f.Type) - pos := f.Type.Pos() - t, isPtr := deref(typ) - switch t := t.(type) { - case *Basic: - if t == Typ[Invalid] { - // error was reported before - continue - } - // unsafe.Pointer is treated like a regular pointer - if t.kind == UnsafePointer { - check.errorf(pos, "anonymous field type cannot be unsafe.Pointer") - continue - } - add(f, name, Universe.Lookup(t.name).(*TypeName), pos) - - case *Named: - // spec: "An embedded type must be specified as a type name - // T or as a pointer to a non-interface type name *T, and T - // itself may not be a pointer type." - switch u := t.underlying.(type) { - case *Basic: - // unsafe.Pointer is treated like a regular pointer - if u.kind == UnsafePointer { - check.errorf(pos, "anonymous field type cannot be unsafe.Pointer") - continue - } - case *Pointer: - check.errorf(pos, "anonymous field type cannot be a pointer") - continue - case *Interface: - if isPtr { - check.errorf(pos, "anonymous field type cannot be a pointer to an interface") - continue - } - } - add(f, name, t.obj, pos) - - default: - check.invalidAST(pos, "anonymous field type %s must be named", typ) - } - } - } - - styp.fields = fields - styp.tags = tags -} - -func anonymousFieldIdent(e ast.Expr) *ast.Ident { - switch e := e.(type) { - case *ast.Ident: - return e - case *ast.StarExpr: - return anonymousFieldIdent(e.X) - case *ast.SelectorExpr: - return e.Sel - } - return nil // invalid anonymous field -} diff --git a/vendor/golang.org/x/tools/go/types/universe.go b/vendor/golang.org/x/tools/go/types/universe.go deleted file mode 100644 index 12a34ef..0000000 --- a/vendor/golang.org/x/tools/go/types/universe.go +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright 2011 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. - -// This file sets up the universe scope and the unsafe package. - -package types - -import ( - "go/token" - "strings" - - "golang.org/x/tools/go/exact" -) - -var ( - Universe *Scope - Unsafe *Package - universeIota *Const - universeByte *Basic // uint8 alias, but has name "byte" - universeRune *Basic // int32 alias, but has name "rune" -) - -var Typ = []*Basic{ - Invalid: {Invalid, 0, "invalid type"}, - - Bool: {Bool, IsBoolean, "bool"}, - Int: {Int, IsInteger, "int"}, - Int8: {Int8, IsInteger, "int8"}, - Int16: {Int16, IsInteger, "int16"}, - Int32: {Int32, IsInteger, "int32"}, - Int64: {Int64, IsInteger, "int64"}, - Uint: {Uint, IsInteger | IsUnsigned, "uint"}, - Uint8: {Uint8, IsInteger | IsUnsigned, "uint8"}, - Uint16: {Uint16, IsInteger | IsUnsigned, "uint16"}, - Uint32: {Uint32, IsInteger | IsUnsigned, "uint32"}, - Uint64: {Uint64, IsInteger | IsUnsigned, "uint64"}, - Uintptr: {Uintptr, IsInteger | IsUnsigned, "uintptr"}, - Float32: {Float32, IsFloat, "float32"}, - Float64: {Float64, IsFloat, "float64"}, - Complex64: {Complex64, IsComplex, "complex64"}, - Complex128: {Complex128, IsComplex, "complex128"}, - String: {String, IsString, "string"}, - UnsafePointer: {UnsafePointer, 0, "Pointer"}, - - UntypedBool: {UntypedBool, IsBoolean | IsUntyped, "untyped bool"}, - UntypedInt: {UntypedInt, IsInteger | IsUntyped, "untyped int"}, - UntypedRune: {UntypedRune, IsInteger | IsUntyped, "untyped rune"}, - UntypedFloat: {UntypedFloat, IsFloat | IsUntyped, "untyped float"}, - UntypedComplex: {UntypedComplex, IsComplex | IsUntyped, "untyped complex"}, - UntypedString: {UntypedString, IsString | IsUntyped, "untyped string"}, - UntypedNil: {UntypedNil, IsUntyped, "untyped nil"}, -} - -var aliases = [...]*Basic{ - {Byte, IsInteger | IsUnsigned, "byte"}, - {Rune, IsInteger, "rune"}, -} - -func defPredeclaredTypes() { - for _, t := range Typ { - def(NewTypeName(token.NoPos, nil, t.name, t)) - } - for _, t := range aliases { - def(NewTypeName(token.NoPos, nil, t.name, t)) - } - - // Error has a nil package in its qualified name since it is in no package - res := NewVar(token.NoPos, nil, "", Typ[String]) - sig := &Signature{results: NewTuple(res)} - err := NewFunc(token.NoPos, nil, "Error", sig) - typ := &Named{underlying: NewInterface([]*Func{err}, nil).Complete()} - sig.recv = NewVar(token.NoPos, nil, "", typ) - def(NewTypeName(token.NoPos, nil, "error", typ)) -} - -var predeclaredConsts = [...]struct { - name string - kind BasicKind - val exact.Value -}{ - {"true", UntypedBool, exact.MakeBool(true)}, - {"false", UntypedBool, exact.MakeBool(false)}, - {"iota", UntypedInt, exact.MakeInt64(0)}, -} - -func defPredeclaredConsts() { - for _, c := range predeclaredConsts { - def(NewConst(token.NoPos, nil, c.name, Typ[c.kind], c.val)) - } -} - -func defPredeclaredNil() { - def(&Nil{object{name: "nil", typ: Typ[UntypedNil]}}) -} - -// A builtinId is the id of a builtin function. -type builtinId int - -const ( - // universe scope - _Append builtinId = iota - _Cap - _Close - _Complex - _Copy - _Delete - _Imag - _Len - _Make - _New - _Panic - _Print - _Println - _Real - _Recover - - // package unsafe - _Alignof - _Offsetof - _Sizeof - - // testing support - _Assert - _Trace -) - -var predeclaredFuncs = [...]struct { - name string - nargs int - variadic bool - kind exprKind -}{ - _Append: {"append", 1, true, expression}, - _Cap: {"cap", 1, false, expression}, - _Close: {"close", 1, false, statement}, - _Complex: {"complex", 2, false, expression}, - _Copy: {"copy", 2, false, statement}, - _Delete: {"delete", 2, false, statement}, - _Imag: {"imag", 1, false, expression}, - _Len: {"len", 1, false, expression}, - _Make: {"make", 1, true, expression}, - _New: {"new", 1, false, expression}, - _Panic: {"panic", 1, false, statement}, - _Print: {"print", 0, true, statement}, - _Println: {"println", 0, true, statement}, - _Real: {"real", 1, false, expression}, - _Recover: {"recover", 0, false, statement}, - - _Alignof: {"Alignof", 1, false, expression}, - _Offsetof: {"Offsetof", 1, false, expression}, - _Sizeof: {"Sizeof", 1, false, expression}, - - _Assert: {"assert", 1, false, statement}, - _Trace: {"trace", 0, true, statement}, -} - -func defPredeclaredFuncs() { - for i := range predeclaredFuncs { - id := builtinId(i) - if id == _Assert || id == _Trace { - continue // only define these in testing environment - } - def(newBuiltin(id)) - } -} - -// DefPredeclaredTestFuncs defines the assert and trace built-ins. -// These built-ins are intended for debugging and testing of this -// package only. -func DefPredeclaredTestFuncs() { - if Universe.Lookup("assert") != nil { - return // already defined - } - def(newBuiltin(_Assert)) - def(newBuiltin(_Trace)) -} - -func init() { - Universe = NewScope(nil, token.NoPos, token.NoPos, "universe") - Unsafe = NewPackage("unsafe", "unsafe") - Unsafe.complete = true - - defPredeclaredTypes() - defPredeclaredConsts() - defPredeclaredNil() - defPredeclaredFuncs() - - universeIota = Universe.Lookup("iota").(*Const) - universeByte = Universe.Lookup("byte").(*TypeName).typ.(*Basic) - universeRune = Universe.Lookup("rune").(*TypeName).typ.(*Basic) -} - -// Objects with names containing blanks are internal and not entered into -// a scope. Objects with exported names are inserted in the unsafe package -// scope; other objects are inserted in the universe scope. -// -func def(obj Object) { - name := obj.Name() - if strings.Index(name, " ") >= 0 { - return // nothing to do - } - // fix Obj link for named types - if typ, ok := obj.Type().(*Named); ok { - typ.obj = obj.(*TypeName) - } - // exported identifiers go into package unsafe - scope := Universe - if obj.Exported() { - scope = Unsafe.scope - // set Pkg field - switch obj := obj.(type) { - case *TypeName: - obj.pkg = Unsafe - case *Builtin: - obj.pkg = Unsafe - default: - unreachable() - } - } - if scope.Insert(obj) != nil { - panic("internal error: double declaration") - } -} diff --git a/vendor/golang.org/x/tools/imports/fix.go b/vendor/golang.org/x/tools/imports/fix.go deleted file mode 100644 index 22fde6c..0000000 --- a/vendor/golang.org/x/tools/imports/fix.go +++ /dev/null @@ -1,387 +0,0 @@ -// Copyright 2013 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. - -package imports - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "os" - "path" - "path/filepath" - "strings" - "sync" - - "golang.org/x/tools/go/ast/astutil" -) - -// importToGroup is a list of functions which map from an import path to -// a group number. -var importToGroup = []func(importPath string) (num int, ok bool){ - func(importPath string) (num int, ok bool) { - if strings.HasPrefix(importPath, "appengine") { - return 2, true - } - return - }, - func(importPath string) (num int, ok bool) { - if strings.Contains(importPath, ".") { - return 1, true - } - return - }, -} - -func importGroup(importPath string) int { - for _, fn := range importToGroup { - if n, ok := fn(importPath); ok { - return n - } - } - return 0 -} - -func fixImports(fset *token.FileSet, f *ast.File) (added []string, err error) { - // refs are a set of possible package references currently unsatisfied by imports. - // first key: either base package (e.g. "fmt") or renamed package - // second key: referenced package symbol (e.g. "Println") - refs := make(map[string]map[string]bool) - - // decls are the current package imports. key is base package or renamed package. - decls := make(map[string]*ast.ImportSpec) - - // collect potential uses of packages. - var visitor visitFn - visitor = visitFn(func(node ast.Node) ast.Visitor { - if node == nil { - return visitor - } - switch v := node.(type) { - case *ast.ImportSpec: - if v.Name != nil { - decls[v.Name.Name] = v - } else { - local := importPathToName(strings.Trim(v.Path.Value, `\"`)) - decls[local] = v - } - case *ast.SelectorExpr: - xident, ok := v.X.(*ast.Ident) - if !ok { - break - } - if xident.Obj != nil { - // if the parser can resolve it, it's not a package ref - break - } - pkgName := xident.Name - if refs[pkgName] == nil { - refs[pkgName] = make(map[string]bool) - } - if decls[pkgName] == nil { - refs[pkgName][v.Sel.Name] = true - } - } - return visitor - }) - ast.Walk(visitor, f) - - // Search for imports matching potential package references. - searches := 0 - type result struct { - ipath string - name string - err error - } - results := make(chan result) - for pkgName, symbols := range refs { - if len(symbols) == 0 { - continue // skip over packages already imported - } - go func(pkgName string, symbols map[string]bool) { - ipath, rename, err := findImport(pkgName, symbols) - r := result{ipath: ipath, err: err} - if rename { - r.name = pkgName - } - results <- r - }(pkgName, symbols) - searches++ - } - for i := 0; i < searches; i++ { - result := <-results - if result.err != nil { - return nil, result.err - } - if result.ipath != "" { - if result.name != "" { - astutil.AddNamedImport(fset, f, result.name, result.ipath) - } else { - astutil.AddImport(fset, f, result.ipath) - } - added = append(added, result.ipath) - } - } - - // Nil out any unused ImportSpecs, to be removed in following passes - unusedImport := map[string]bool{} - for pkg, is := range decls { - if refs[pkg] == nil && pkg != "_" && pkg != "." { - unusedImport[strings.Trim(is.Path.Value, `"`)] = true - } - } - for ipath := range unusedImport { - if ipath == "C" { - // Don't remove cgo stuff. - continue - } - astutil.DeleteImport(fset, f, ipath) - } - - return added, nil -} - -// importPathToName returns the package name for the given import path. -var importPathToName = importPathToNameGoPath - -// importPathToNameBasic assumes the package name is the base of import path. -func importPathToNameBasic(importPath string) (packageName string) { - return path.Base(importPath) -} - -// importPathToNameGoPath finds out the actual package name, as declared in its .go files. -// If there's a problem, it falls back to using importPathToNameBasic. -func importPathToNameGoPath(importPath string) (packageName string) { - if buildPkg, err := build.Import(importPath, "", 0); err == nil { - return buildPkg.Name - } else { - return importPathToNameBasic(importPath) - } -} - -type pkg struct { - importpath string // full pkg import path, e.g. "net/http" - dir string // absolute file path to pkg directory e.g. "/usr/lib/go/src/fmt" -} - -var pkgIndexOnce sync.Once - -var pkgIndex struct { - sync.Mutex - m map[string][]pkg // shortname => []pkg, e.g "http" => "net/http" -} - -// gate is a semaphore for limiting concurrency. -type gate chan struct{} - -func (g gate) enter() { g <- struct{}{} } -func (g gate) leave() { <-g } - -// fsgate protects the OS & filesystem from too much concurrency. -// Too much disk I/O -> too many threads -> swapping and bad scheduling. -var fsgate = make(gate, 8) - -func loadPkgIndex() { - pkgIndex.Lock() - pkgIndex.m = make(map[string][]pkg) - pkgIndex.Unlock() - - var wg sync.WaitGroup - for _, path := range build.Default.SrcDirs() { - fsgate.enter() - f, err := os.Open(path) - if err != nil { - fsgate.leave() - fmt.Fprint(os.Stderr, err) - continue - } - children, err := f.Readdir(-1) - f.Close() - fsgate.leave() - if err != nil { - fmt.Fprint(os.Stderr, err) - continue - } - for _, child := range children { - if child.IsDir() { - wg.Add(1) - go func(path, name string) { - defer wg.Done() - loadPkg(&wg, path, name) - }(path, child.Name()) - } - } - } - wg.Wait() -} - -func loadPkg(wg *sync.WaitGroup, root, pkgrelpath string) { - importpath := filepath.ToSlash(pkgrelpath) - dir := filepath.Join(root, importpath) - - fsgate.enter() - defer fsgate.leave() - pkgDir, err := os.Open(dir) - if err != nil { - return - } - children, err := pkgDir.Readdir(-1) - pkgDir.Close() - if err != nil { - return - } - // hasGo tracks whether a directory actually appears to be a - // Go source code directory. If $GOPATH == $HOME, and - // $HOME/src has lots of other large non-Go projects in it, - // then the calls to importPathToName below can be expensive. - hasGo := false - for _, child := range children { - // Avoid .foo, _foo, and testdata directory trees. - name := child.Name() - if name == "" || name[0] == '.' || name[0] == '_' || name == "testdata" { - continue - } - if strings.HasSuffix(name, ".go") { - hasGo = true - } - if child.IsDir() { - wg.Add(1) - go func(root, name string) { - defer wg.Done() - loadPkg(wg, root, name) - }(root, filepath.Join(importpath, name)) - } - } - if hasGo { - shortName := importPathToName(importpath) - pkgIndex.Lock() - pkgIndex.m[shortName] = append(pkgIndex.m[shortName], pkg{ - importpath: importpath, - dir: dir, - }) - pkgIndex.Unlock() - } - -} - -// loadExports returns a list exports for a package. -var loadExports = loadExportsGoPath - -func loadExportsGoPath(dir string) map[string]bool { - exports := make(map[string]bool) - buildPkg, err := build.ImportDir(dir, 0) - if err != nil { - if strings.Contains(err.Error(), "no buildable Go source files in") { - return nil - } - fmt.Fprintf(os.Stderr, "could not import %q: %v\n", dir, err) - return nil - } - fset := token.NewFileSet() - for _, files := range [...][]string{buildPkg.GoFiles, buildPkg.CgoFiles} { - for _, file := range files { - f, err := parser.ParseFile(fset, filepath.Join(dir, file), nil, 0) - if err != nil { - fmt.Fprintf(os.Stderr, "could not parse %q: %v\n", file, err) - continue - } - for name := range f.Scope.Objects { - if ast.IsExported(name) { - exports[name] = true - } - } - } - } - return exports -} - -// findImport searches for a package with the given symbols. -// If no package is found, findImport returns "". -// Declared as a variable rather than a function so goimports can be easily -// extended by adding a file with an init function. -var findImport = findImportGoPath - -func findImportGoPath(pkgName string, symbols map[string]bool) (string, bool, error) { - // Fast path for the standard library. - // In the common case we hopefully never have to scan the GOPATH, which can - // be slow with moving disks. - if pkg, rename, ok := findImportStdlib(pkgName, symbols); ok { - return pkg, rename, nil - } - - // TODO(sameer): look at the import lines for other Go files in the - // local directory, since the user is likely to import the same packages - // in the current Go file. Return rename=true when the other Go files - // use a renamed package that's also used in the current file. - - pkgIndexOnce.Do(loadPkgIndex) - - // Collect exports for packages with matching names. - var wg sync.WaitGroup - var pkgsMu sync.Mutex // guards pkgs - // full importpath => exported symbol => True - // e.g. "net/http" => "Client" => True - pkgs := make(map[string]map[string]bool) - pkgIndex.Lock() - for _, pkg := range pkgIndex.m[pkgName] { - wg.Add(1) - go func(importpath, dir string) { - defer wg.Done() - exports := loadExports(dir) - if exports != nil { - pkgsMu.Lock() - pkgs[importpath] = exports - pkgsMu.Unlock() - } - }(pkg.importpath, pkg.dir) - } - pkgIndex.Unlock() - wg.Wait() - - // Filter out packages missing required exported symbols. - for symbol := range symbols { - for importpath, exports := range pkgs { - if !exports[symbol] { - delete(pkgs, importpath) - } - } - } - if len(pkgs) == 0 { - return "", false, nil - } - - // If there are multiple candidate packages, the shortest one wins. - // This is a heuristic to prefer the standard library (e.g. "bytes") - // over e.g. "github.com/foo/bar/bytes". - shortest := "" - for importPath := range pkgs { - if shortest == "" || len(importPath) < len(shortest) { - shortest = importPath - } - } - return shortest, false, nil -} - -type visitFn func(node ast.Node) ast.Visitor - -func (fn visitFn) Visit(node ast.Node) ast.Visitor { - return fn(node) -} - -func findImportStdlib(shortPkg string, symbols map[string]bool) (importPath string, rename, ok bool) { - for symbol := range symbols { - path := stdlib[shortPkg+"."+symbol] - if path == "" { - return "", false, false - } - if importPath != "" && importPath != path { - // Ambiguous. Symbols pointed to different things. - return "", false, false - } - importPath = path - } - return importPath, false, importPath != "" -} diff --git a/vendor/golang.org/x/tools/imports/imports.go b/vendor/golang.org/x/tools/imports/imports.go deleted file mode 100644 index e30946b..0000000 --- a/vendor/golang.org/x/tools/imports/imports.go +++ /dev/null @@ -1,279 +0,0 @@ -// Copyright 2013 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. - -// Package imports implements a Go pretty-printer (like package "go/format") -// that also adds or removes import statements as necessary. -package imports // import "golang.org/x/tools/imports" - -import ( - "bufio" - "bytes" - "fmt" - "go/ast" - "go/format" - "go/parser" - "go/printer" - "go/token" - "io" - "regexp" - "strconv" - "strings" - - "golang.org/x/tools/go/ast/astutil" -) - -// Options specifies options for processing files. -type Options struct { - Fragment bool // Accept fragment of a source file (no package statement) - AllErrors bool // Report all errors (not just the first 10 on different lines) - - Comments bool // Print comments (true if nil *Options provided) - TabIndent bool // Use tabs for indent (true if nil *Options provided) - TabWidth int // Tab width (8 if nil *Options provided) -} - -// Process formats and adjusts imports for the provided file. -// If opt is nil the defaults are used. -func Process(filename string, src []byte, opt *Options) ([]byte, error) { - if opt == nil { - opt = &Options{Comments: true, TabIndent: true, TabWidth: 8} - } - - fileSet := token.NewFileSet() - file, adjust, err := parse(fileSet, filename, src, opt) - if err != nil { - return nil, err - } - - _, err = fixImports(fileSet, file) - if err != nil { - return nil, err - } - - sortImports(fileSet, file) - imps := astutil.Imports(fileSet, file) - - var spacesBefore []string // import paths we need spaces before - for _, impSection := range imps { - // Within each block of contiguous imports, see if any - // import lines are in different group numbers. If so, - // we'll need to put a space between them so it's - // compatible with gofmt. - lastGroup := -1 - for _, importSpec := range impSection { - importPath, _ := strconv.Unquote(importSpec.Path.Value) - groupNum := importGroup(importPath) - if groupNum != lastGroup && lastGroup != -1 { - spacesBefore = append(spacesBefore, importPath) - } - lastGroup = groupNum - } - - } - - printerMode := printer.UseSpaces - if opt.TabIndent { - printerMode |= printer.TabIndent - } - printConfig := &printer.Config{Mode: printerMode, Tabwidth: opt.TabWidth} - - var buf bytes.Buffer - err = printConfig.Fprint(&buf, fileSet, file) - if err != nil { - return nil, err - } - out := buf.Bytes() - if adjust != nil { - out = adjust(src, out) - } - if len(spacesBefore) > 0 { - out = addImportSpaces(bytes.NewReader(out), spacesBefore) - } - - out, err = format.Source(out) - if err != nil { - return nil, err - } - return out, nil -} - -// parse parses src, which was read from filename, -// as a Go source file or statement list. -func parse(fset *token.FileSet, filename string, src []byte, opt *Options) (*ast.File, func(orig, src []byte) []byte, error) { - parserMode := parser.Mode(0) - if opt.Comments { - parserMode |= parser.ParseComments - } - if opt.AllErrors { - parserMode |= parser.AllErrors - } - - // Try as whole source file. - file, err := parser.ParseFile(fset, filename, src, parserMode) - if err == nil { - return file, nil, nil - } - // If the error is that the source file didn't begin with a - // package line and we accept fragmented input, fall through to - // try as a source fragment. Stop and return on any other error. - if !opt.Fragment || !strings.Contains(err.Error(), "expected 'package'") { - return nil, nil, err - } - - // If this is a declaration list, make it a source file - // by inserting a package clause. - // Insert using a ;, not a newline, so that the line numbers - // in psrc match the ones in src. - psrc := append([]byte("package main;"), src...) - file, err = parser.ParseFile(fset, filename, psrc, parserMode) - if err == nil { - // If a main function exists, we will assume this is a main - // package and leave the file. - if containsMainFunc(file) { - return file, nil, nil - } - - adjust := func(orig, src []byte) []byte { - // Remove the package clause. - // Gofmt has turned the ; into a \n. - src = src[len("package main\n"):] - return matchSpace(orig, src) - } - return file, adjust, nil - } - // If the error is that the source file didn't begin with a - // declaration, fall through to try as a statement list. - // Stop and return on any other error. - if !strings.Contains(err.Error(), "expected declaration") { - return nil, nil, err - } - - // If this is a statement list, make it a source file - // by inserting a package clause and turning the list - // into a function body. This handles expressions too. - // Insert using a ;, not a newline, so that the line numbers - // in fsrc match the ones in src. - fsrc := append(append([]byte("package p; func _() {"), src...), '}') - file, err = parser.ParseFile(fset, filename, fsrc, parserMode) - if err == nil { - adjust := func(orig, src []byte) []byte { - // Remove the wrapping. - // Gofmt has turned the ; into a \n\n. - src = src[len("package p\n\nfunc _() {"):] - src = src[:len(src)-len("}\n")] - // Gofmt has also indented the function body one level. - // Remove that indent. - src = bytes.Replace(src, []byte("\n\t"), []byte("\n"), -1) - return matchSpace(orig, src) - } - return file, adjust, nil - } - - // Failed, and out of options. - return nil, nil, err -} - -// containsMainFunc checks if a file contains a function declaration with the -// function signature 'func main()' -func containsMainFunc(file *ast.File) bool { - for _, decl := range file.Decls { - if f, ok := decl.(*ast.FuncDecl); ok { - if f.Name.Name != "main" { - continue - } - - if len(f.Type.Params.List) != 0 { - continue - } - - if f.Type.Results != nil && len(f.Type.Results.List) != 0 { - continue - } - - return true - } - } - - return false -} - -func cutSpace(b []byte) (before, middle, after []byte) { - i := 0 - for i < len(b) && (b[i] == ' ' || b[i] == '\t' || b[i] == '\n') { - i++ - } - j := len(b) - for j > 0 && (b[j-1] == ' ' || b[j-1] == '\t' || b[j-1] == '\n') { - j-- - } - if i <= j { - return b[:i], b[i:j], b[j:] - } - return nil, nil, b[j:] -} - -// matchSpace reformats src to use the same space context as orig. -// 1) If orig begins with blank lines, matchSpace inserts them at the beginning of src. -// 2) matchSpace copies the indentation of the first non-blank line in orig -// to every non-blank line in src. -// 3) matchSpace copies the trailing space from orig and uses it in place -// of src's trailing space. -func matchSpace(orig []byte, src []byte) []byte { - before, _, after := cutSpace(orig) - i := bytes.LastIndex(before, []byte{'\n'}) - before, indent := before[:i+1], before[i+1:] - - _, src, _ = cutSpace(src) - - var b bytes.Buffer - b.Write(before) - for len(src) > 0 { - line := src - if i := bytes.IndexByte(line, '\n'); i >= 0 { - line, src = line[:i+1], line[i+1:] - } else { - src = nil - } - if len(line) > 0 && line[0] != '\n' { // not blank - b.Write(indent) - } - b.Write(line) - } - b.Write(after) - return b.Bytes() -} - -var impLine = regexp.MustCompile(`^\s+(?:[\w\.]+\s+)?"(.+)"`) - -func addImportSpaces(r io.Reader, breaks []string) []byte { - var out bytes.Buffer - sc := bufio.NewScanner(r) - inImports := false - done := false - for sc.Scan() { - s := sc.Text() - - if !inImports && !done && strings.HasPrefix(s, "import") { - inImports = true - } - if inImports && (strings.HasPrefix(s, "var") || - strings.HasPrefix(s, "func") || - strings.HasPrefix(s, "const") || - strings.HasPrefix(s, "type")) { - done = true - inImports = false - } - if inImports && len(breaks) > 0 { - if m := impLine.FindStringSubmatch(s); m != nil { - if m[1] == string(breaks[0]) { - out.WriteByte('\n') - breaks = breaks[1:] - } - } - } - - fmt.Fprintln(&out, s) - } - return out.Bytes() -} diff --git a/vendor/golang.org/x/tools/imports/mkindex.go b/vendor/golang.org/x/tools/imports/mkindex.go deleted file mode 100644 index 755e239..0000000 --- a/vendor/golang.org/x/tools/imports/mkindex.go +++ /dev/null @@ -1,173 +0,0 @@ -// +build ignore - -// Copyright 2013 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. - -// Command mkindex creates the file "pkgindex.go" containing an index of the Go -// standard library. The file is intended to be built as part of the imports -// package, so that the package may be used in environments where a GOROOT is -// not available (such as App Engine). -package main - -import ( - "bytes" - "fmt" - "go/ast" - "go/build" - "go/format" - "go/parser" - "go/token" - "io/ioutil" - "log" - "os" - "path" - "path/filepath" - "strings" -) - -var ( - pkgIndex = make(map[string][]pkg) - exports = make(map[string]map[string]bool) -) - -func main() { - // Don't use GOPATH. - ctx := build.Default - ctx.GOPATH = "" - - // Populate pkgIndex global from GOROOT. - for _, path := range ctx.SrcDirs() { - f, err := os.Open(path) - if err != nil { - log.Print(err) - continue - } - children, err := f.Readdir(-1) - f.Close() - if err != nil { - log.Print(err) - continue - } - for _, child := range children { - if child.IsDir() { - loadPkg(path, child.Name()) - } - } - } - // Populate exports global. - for _, ps := range pkgIndex { - for _, p := range ps { - e := loadExports(p.dir) - if e != nil { - exports[p.dir] = e - } - } - } - - // Construct source file. - var buf bytes.Buffer - fmt.Fprint(&buf, pkgIndexHead) - fmt.Fprintf(&buf, "var pkgIndexMaster = %#v\n", pkgIndex) - fmt.Fprintf(&buf, "var exportsMaster = %#v\n", exports) - src := buf.Bytes() - - // Replace main.pkg type name with pkg. - src = bytes.Replace(src, []byte("main.pkg"), []byte("pkg"), -1) - // Replace actual GOROOT with "/go". - src = bytes.Replace(src, []byte(ctx.GOROOT), []byte("/go"), -1) - // Add some line wrapping. - src = bytes.Replace(src, []byte("}, "), []byte("},\n"), -1) - src = bytes.Replace(src, []byte("true, "), []byte("true,\n"), -1) - - var err error - src, err = format.Source(src) - if err != nil { - log.Fatal(err) - } - - // Write out source file. - err = ioutil.WriteFile("pkgindex.go", src, 0644) - if err != nil { - log.Fatal(err) - } -} - -const pkgIndexHead = `package imports - -func init() { - pkgIndexOnce.Do(func() { - pkgIndex.m = pkgIndexMaster - }) - loadExports = func(dir string) map[string]bool { - return exportsMaster[dir] - } -} -` - -type pkg struct { - importpath string // full pkg import path, e.g. "net/http" - dir string // absolute file path to pkg directory e.g. "/usr/lib/go/src/fmt" -} - -var fset = token.NewFileSet() - -func loadPkg(root, importpath string) { - shortName := path.Base(importpath) - if shortName == "testdata" { - return - } - - dir := filepath.Join(root, importpath) - pkgIndex[shortName] = append(pkgIndex[shortName], pkg{ - importpath: importpath, - dir: dir, - }) - - pkgDir, err := os.Open(dir) - if err != nil { - return - } - children, err := pkgDir.Readdir(-1) - pkgDir.Close() - if err != nil { - return - } - for _, child := range children { - name := child.Name() - if name == "" { - continue - } - if c := name[0]; c == '.' || ('0' <= c && c <= '9') { - continue - } - if child.IsDir() { - loadPkg(root, filepath.Join(importpath, name)) - } - } -} - -func loadExports(dir string) map[string]bool { - exports := make(map[string]bool) - buildPkg, err := build.ImportDir(dir, 0) - if err != nil { - if strings.Contains(err.Error(), "no buildable Go source files in") { - return nil - } - log.Printf("could not import %q: %v", dir, err) - return nil - } - for _, file := range buildPkg.GoFiles { - f, err := parser.ParseFile(fset, filepath.Join(dir, file), nil, 0) - if err != nil { - log.Printf("could not parse %q: %v", file, err) - continue - } - for name := range f.Scope.Objects { - if ast.IsExported(name) { - exports[name] = true - } - } - } - return exports -} diff --git a/vendor/golang.org/x/tools/imports/mkstdlib.go b/vendor/golang.org/x/tools/imports/mkstdlib.go deleted file mode 100644 index c43d325..0000000 --- a/vendor/golang.org/x/tools/imports/mkstdlib.go +++ /dev/null @@ -1,90 +0,0 @@ -// +build ignore - -// mkstdlib generates the zstdlib.go file, containing the Go standard -// library API symbols. It's baked into the binary to avoid scanning -// GOPATH in the common case. -package main - -import ( - "bufio" - "bytes" - "fmt" - "go/format" - "io" - "log" - "os" - "path" - "path/filepath" - "regexp" - "sort" - "strings" -) - -func mustOpen(name string) io.Reader { - f, err := os.Open(name) - if err != nil { - log.Fatal(err) - } - return f -} - -func api(base string) string { - return filepath.Join(os.Getenv("GOROOT"), "api", base) -} - -var sym = regexp.MustCompile(`^pkg (\S+).*?, (?:var|func|type|const) ([A-Z]\w*)`) - -func main() { - var buf bytes.Buffer - outf := func(format string, args ...interface{}) { - fmt.Fprintf(&buf, format, args...) - } - outf("// AUTO-GENERATED BY mkstdlib.go\n\n") - outf("package imports\n") - outf("var stdlib = map[string]string{\n") - f := io.MultiReader( - mustOpen(api("go1.txt")), - mustOpen(api("go1.1.txt")), - mustOpen(api("go1.2.txt")), - ) - sc := bufio.NewScanner(f) - fullImport := map[string]string{} // "zip.NewReader" => "archive/zip" - ambiguous := map[string]bool{} - var keys []string - for sc.Scan() { - l := sc.Text() - has := func(v string) bool { return strings.Contains(l, v) } - if has("struct, ") || has("interface, ") || has(", method (") { - continue - } - if m := sym.FindStringSubmatch(l); m != nil { - full := m[1] - key := path.Base(full) + "." + m[2] - if exist, ok := fullImport[key]; ok { - if exist != full { - ambiguous[key] = true - } - } else { - fullImport[key] = full - keys = append(keys, key) - } - } - } - if err := sc.Err(); err != nil { - log.Fatal(err) - } - sort.Strings(keys) - for _, key := range keys { - if ambiguous[key] { - outf("\t// %q is ambiguous\n", key) - } else { - outf("\t%q: %q,\n", key, fullImport[key]) - } - } - outf("}\n") - fmtbuf, err := format.Source(buf.Bytes()) - if err != nil { - log.Fatal(err) - } - os.Stdout.Write(fmtbuf) -} diff --git a/vendor/golang.org/x/tools/imports/sortimports.go b/vendor/golang.org/x/tools/imports/sortimports.go deleted file mode 100644 index 68b3dc4..0000000 --- a/vendor/golang.org/x/tools/imports/sortimports.go +++ /dev/null @@ -1,214 +0,0 @@ -// +build go1.2 - -// Copyright 2013 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. - -// Hacked up copy of go/ast/import.go - -package imports - -import ( - "go/ast" - "go/token" - "sort" - "strconv" -) - -// sortImports sorts runs of consecutive import lines in import blocks in f. -// It also removes duplicate imports when it is possible to do so without data loss. -func sortImports(fset *token.FileSet, f *ast.File) { - for i, d := range f.Decls { - d, ok := d.(*ast.GenDecl) - if !ok || d.Tok != token.IMPORT { - // Not an import declaration, so we're done. - // Imports are always first. - break - } - - if len(d.Specs) == 0 { - // Empty import block, remove it. - f.Decls = append(f.Decls[:i], f.Decls[i+1:]...) - } - - if !d.Lparen.IsValid() { - // Not a block: sorted by default. - continue - } - - // Identify and sort runs of specs on successive lines. - i := 0 - specs := d.Specs[:0] - for j, s := range d.Specs { - if j > i && fset.Position(s.Pos()).Line > 1+fset.Position(d.Specs[j-1].End()).Line { - // j begins a new run. End this one. - specs = append(specs, sortSpecs(fset, f, d.Specs[i:j])...) - i = j - } - } - specs = append(specs, sortSpecs(fset, f, d.Specs[i:])...) - d.Specs = specs - - // Deduping can leave a blank line before the rparen; clean that up. - if len(d.Specs) > 0 { - lastSpec := d.Specs[len(d.Specs)-1] - lastLine := fset.Position(lastSpec.Pos()).Line - if rParenLine := fset.Position(d.Rparen).Line; rParenLine > lastLine+1 { - fset.File(d.Rparen).MergeLine(rParenLine - 1) - } - } - } -} - -func importPath(s ast.Spec) string { - t, err := strconv.Unquote(s.(*ast.ImportSpec).Path.Value) - if err == nil { - return t - } - return "" -} - -func importName(s ast.Spec) string { - n := s.(*ast.ImportSpec).Name - if n == nil { - return "" - } - return n.Name -} - -func importComment(s ast.Spec) string { - c := s.(*ast.ImportSpec).Comment - if c == nil { - return "" - } - return c.Text() -} - -// collapse indicates whether prev may be removed, leaving only next. -func collapse(prev, next ast.Spec) bool { - if importPath(next) != importPath(prev) || importName(next) != importName(prev) { - return false - } - return prev.(*ast.ImportSpec).Comment == nil -} - -type posSpan struct { - Start token.Pos - End token.Pos -} - -func sortSpecs(fset *token.FileSet, f *ast.File, specs []ast.Spec) []ast.Spec { - // Can't short-circuit here even if specs are already sorted, - // since they might yet need deduplication. - // A lone import, however, may be safely ignored. - if len(specs) <= 1 { - return specs - } - - // Record positions for specs. - pos := make([]posSpan, len(specs)) - for i, s := range specs { - pos[i] = posSpan{s.Pos(), s.End()} - } - - // Identify comments in this range. - // Any comment from pos[0].Start to the final line counts. - lastLine := fset.Position(pos[len(pos)-1].End).Line - cstart := len(f.Comments) - cend := len(f.Comments) - for i, g := range f.Comments { - if g.Pos() < pos[0].Start { - continue - } - if i < cstart { - cstart = i - } - if fset.Position(g.End()).Line > lastLine { - cend = i - break - } - } - comments := f.Comments[cstart:cend] - - // Assign each comment to the import spec preceding it. - importComment := map[*ast.ImportSpec][]*ast.CommentGroup{} - specIndex := 0 - for _, g := range comments { - for specIndex+1 < len(specs) && pos[specIndex+1].Start <= g.Pos() { - specIndex++ - } - s := specs[specIndex].(*ast.ImportSpec) - importComment[s] = append(importComment[s], g) - } - - // Sort the import specs by import path. - // Remove duplicates, when possible without data loss. - // Reassign the import paths to have the same position sequence. - // Reassign each comment to abut the end of its spec. - // Sort the comments by new position. - sort.Sort(byImportSpec(specs)) - - // Dedup. Thanks to our sorting, we can just consider - // adjacent pairs of imports. - deduped := specs[:0] - for i, s := range specs { - if i == len(specs)-1 || !collapse(s, specs[i+1]) { - deduped = append(deduped, s) - } else { - p := s.Pos() - fset.File(p).MergeLine(fset.Position(p).Line) - } - } - specs = deduped - - // Fix up comment positions - for i, s := range specs { - s := s.(*ast.ImportSpec) - if s.Name != nil { - s.Name.NamePos = pos[i].Start - } - s.Path.ValuePos = pos[i].Start - s.EndPos = pos[i].End - for _, g := range importComment[s] { - for _, c := range g.List { - c.Slash = pos[i].End - } - } - } - - sort.Sort(byCommentPos(comments)) - - return specs -} - -type byImportSpec []ast.Spec // slice of *ast.ImportSpec - -func (x byImportSpec) Len() int { return len(x) } -func (x byImportSpec) Swap(i, j int) { x[i], x[j] = x[j], x[i] } -func (x byImportSpec) Less(i, j int) bool { - ipath := importPath(x[i]) - jpath := importPath(x[j]) - - igroup := importGroup(ipath) - jgroup := importGroup(jpath) - if igroup != jgroup { - return igroup < jgroup - } - - if ipath != jpath { - return ipath < jpath - } - iname := importName(x[i]) - jname := importName(x[j]) - - if iname != jname { - return iname < jname - } - return importComment(x[i]) < importComment(x[j]) -} - -type byCommentPos []*ast.CommentGroup - -func (x byCommentPos) Len() int { return len(x) } -func (x byCommentPos) Swap(i, j int) { x[i], x[j] = x[j], x[i] } -func (x byCommentPos) Less(i, j int) bool { return x[i].Pos() < x[j].Pos() } diff --git a/vendor/golang.org/x/tools/imports/sortimports_compat.go b/vendor/golang.org/x/tools/imports/sortimports_compat.go deleted file mode 100644 index 295f237..0000000 --- a/vendor/golang.org/x/tools/imports/sortimports_compat.go +++ /dev/null @@ -1,14 +0,0 @@ -// +build !go1.2 - -// Copyright 2013 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. - -package imports - -import "go/ast" - -// Go 1.1 users don't get fancy package grouping. -// But this is still gofmt-compliant: - -var sortImports = ast.SortImports diff --git a/vendor/golang.org/x/tools/imports/zstdlib.go b/vendor/golang.org/x/tools/imports/zstdlib.go deleted file mode 100644 index 6cdc033..0000000 --- a/vendor/golang.org/x/tools/imports/zstdlib.go +++ /dev/null @@ -1,8374 +0,0 @@ -// AUTO-GENERATED BY mkstdlib.go - -package imports - -var stdlib = map[string]string{ - "adler32.Checksum": "hash/adler32", - "adler32.New": "hash/adler32", - "adler32.Size": "hash/adler32", - "aes.BlockSize": "crypto/aes", - "aes.KeySizeError": "crypto/aes", - "aes.NewCipher": "crypto/aes", - "ascii85.CorruptInputError": "encoding/ascii85", - "ascii85.Decode": "encoding/ascii85", - "ascii85.Encode": "encoding/ascii85", - "ascii85.MaxEncodedLen": "encoding/ascii85", - "ascii85.NewDecoder": "encoding/ascii85", - "ascii85.NewEncoder": "encoding/ascii85", - "asn1.BitString": "encoding/asn1", - "asn1.Enumerated": "encoding/asn1", - "asn1.Flag": "encoding/asn1", - "asn1.Marshal": "encoding/asn1", - "asn1.ObjectIdentifier": "encoding/asn1", - "asn1.RawContent": "encoding/asn1", - "asn1.RawValue": "encoding/asn1", - "asn1.StructuralError": "encoding/asn1", - "asn1.SyntaxError": "encoding/asn1", - "asn1.Unmarshal": "encoding/asn1", - "asn1.UnmarshalWithParams": "encoding/asn1", - "ast.ArrayType": "go/ast", - "ast.AssignStmt": "go/ast", - "ast.Bad": "go/ast", - "ast.BadDecl": "go/ast", - "ast.BadExpr": "go/ast", - "ast.BadStmt": "go/ast", - "ast.BasicLit": "go/ast", - "ast.BinaryExpr": "go/ast", - "ast.BlockStmt": "go/ast", - "ast.BranchStmt": "go/ast", - "ast.CallExpr": "go/ast", - "ast.CaseClause": "go/ast", - "ast.ChanDir": "go/ast", - "ast.ChanType": "go/ast", - "ast.CommClause": "go/ast", - "ast.Comment": "go/ast", - "ast.CommentGroup": "go/ast", - "ast.CommentMap": "go/ast", - "ast.CompositeLit": "go/ast", - "ast.Con": "go/ast", - "ast.DeclStmt": "go/ast", - "ast.DeferStmt": "go/ast", - "ast.Ellipsis": "go/ast", - "ast.EmptyStmt": "go/ast", - "ast.ExprStmt": "go/ast", - "ast.Field": "go/ast", - "ast.FieldFilter": "go/ast", - "ast.FieldList": "go/ast", - "ast.File": "go/ast", - "ast.FileExports": "go/ast", - "ast.Filter": "go/ast", - "ast.FilterDecl": "go/ast", - "ast.FilterFile": "go/ast", - "ast.FilterFuncDuplicates": "go/ast", - "ast.FilterImportDuplicates": "go/ast", - "ast.FilterPackage": "go/ast", - "ast.FilterUnassociatedComments": "go/ast", - "ast.ForStmt": "go/ast", - "ast.Fprint": "go/ast", - "ast.Fun": "go/ast", - "ast.FuncDecl": "go/ast", - "ast.FuncLit": "go/ast", - "ast.FuncType": "go/ast", - "ast.GenDecl": "go/ast", - "ast.GoStmt": "go/ast", - "ast.Ident": "go/ast", - "ast.IfStmt": "go/ast", - "ast.ImportSpec": "go/ast", - "ast.Importer": "go/ast", - "ast.IncDecStmt": "go/ast", - "ast.IndexExpr": "go/ast", - "ast.Inspect": "go/ast", - "ast.InterfaceType": "go/ast", - "ast.IsExported": "go/ast", - "ast.KeyValueExpr": "go/ast", - "ast.LabeledStmt": "go/ast", - "ast.Lbl": "go/ast", - "ast.MapType": "go/ast", - "ast.MergeMode": "go/ast", - "ast.MergePackageFiles": "go/ast", - "ast.NewCommentMap": "go/ast", - "ast.NewIdent": "go/ast", - "ast.NewObj": "go/ast", - "ast.NewPackage": "go/ast", - "ast.NewScope": "go/ast", - "ast.Node": "go/ast", - "ast.NotNilFilter": "go/ast", - "ast.ObjKind": "go/ast", - "ast.Object": "go/ast", - "ast.Package": "go/ast", - "ast.PackageExports": "go/ast", - "ast.ParenExpr": "go/ast", - "ast.Pkg": "go/ast", - "ast.Print": "go/ast", - "ast.RECV": "go/ast", - "ast.RangeStmt": "go/ast", - "ast.ReturnStmt": "go/ast", - "ast.SEND": "go/ast", - "ast.Scope": "go/ast", - "ast.SelectStmt": "go/ast", - "ast.SelectorExpr": "go/ast", - "ast.SendStmt": "go/ast", - "ast.SliceExpr": "go/ast", - "ast.SortImports": "go/ast", - "ast.StarExpr": "go/ast", - "ast.StructType": "go/ast", - "ast.SwitchStmt": "go/ast", - "ast.Typ": "go/ast", - "ast.TypeAssertExpr": "go/ast", - "ast.TypeSpec": "go/ast", - "ast.TypeSwitchStmt": "go/ast", - "ast.UnaryExpr": "go/ast", - "ast.ValueSpec": "go/ast", - "ast.Var": "go/ast", - "ast.Visitor": "go/ast", - "ast.Walk": "go/ast", - "atomic.AddInt32": "sync/atomic", - "atomic.AddInt64": "sync/atomic", - "atomic.AddUint32": "sync/atomic", - "atomic.AddUint64": "sync/atomic", - "atomic.AddUintptr": "sync/atomic", - "atomic.CompareAndSwapInt32": "sync/atomic", - "atomic.CompareAndSwapInt64": "sync/atomic", - "atomic.CompareAndSwapPointer": "sync/atomic", - "atomic.CompareAndSwapUint32": "sync/atomic", - "atomic.CompareAndSwapUint64": "sync/atomic", - "atomic.CompareAndSwapUintptr": "sync/atomic", - "atomic.LoadInt32": "sync/atomic", - "atomic.LoadInt64": "sync/atomic", - "atomic.LoadPointer": "sync/atomic", - "atomic.LoadUint32": "sync/atomic", - "atomic.LoadUint64": "sync/atomic", - "atomic.LoadUintptr": "sync/atomic", - "atomic.StoreInt32": "sync/atomic", - "atomic.StoreInt64": "sync/atomic", - "atomic.StorePointer": "sync/atomic", - "atomic.StoreUint32": "sync/atomic", - "atomic.StoreUint64": "sync/atomic", - "atomic.StoreUintptr": "sync/atomic", - "atomic.SwapInt32": "sync/atomic", - "atomic.SwapInt64": "sync/atomic", - "atomic.SwapPointer": "sync/atomic", - "atomic.SwapUint32": "sync/atomic", - "atomic.SwapUint64": "sync/atomic", - "atomic.SwapUintptr": "sync/atomic", - "base32.CorruptInputError": "encoding/base32", - "base32.Encoding": "encoding/base32", - "base32.HexEncoding": "encoding/base32", - "base32.NewDecoder": "encoding/base32", - "base32.NewEncoder": "encoding/base32", - "base32.NewEncoding": "encoding/base32", - "base32.StdEncoding": "encoding/base32", - "base64.CorruptInputError": "encoding/base64", - "base64.Encoding": "encoding/base64", - "base64.NewDecoder": "encoding/base64", - "base64.NewEncoder": "encoding/base64", - "base64.NewEncoding": "encoding/base64", - "base64.StdEncoding": "encoding/base64", - "base64.URLEncoding": "encoding/base64", - "big.Int": "math/big", - "big.MaxBase": "math/big", - "big.NewInt": "math/big", - "big.NewRat": "math/big", - "big.Rat": "math/big", - "big.Word": "math/big", - "binary.BigEndian": "encoding/binary", - "binary.ByteOrder": "encoding/binary", - "binary.LittleEndian": "encoding/binary", - "binary.MaxVarintLen16": "encoding/binary", - "binary.MaxVarintLen32": "encoding/binary", - "binary.MaxVarintLen64": "encoding/binary", - "binary.PutUvarint": "encoding/binary", - "binary.PutVarint": "encoding/binary", - "binary.Read": "encoding/binary", - "binary.ReadUvarint": "encoding/binary", - "binary.ReadVarint": "encoding/binary", - "binary.Size": "encoding/binary", - "binary.Uvarint": "encoding/binary", - "binary.Varint": "encoding/binary", - "binary.Write": "encoding/binary", - "bufio.ErrAdvanceTooFar": "bufio", - "bufio.ErrBufferFull": "bufio", - "bufio.ErrInvalidUnreadByte": "bufio", - "bufio.ErrInvalidUnreadRune": "bufio", - "bufio.ErrNegativeAdvance": "bufio", - "bufio.ErrNegativeCount": "bufio", - "bufio.ErrTooLong": "bufio", - "bufio.MaxScanTokenSize": "bufio", - "bufio.NewReadWriter": "bufio", - "bufio.NewReader": "bufio", - "bufio.NewReaderSize": "bufio", - "bufio.NewScanner": "bufio", - "bufio.NewWriter": "bufio", - "bufio.NewWriterSize": "bufio", - "bufio.ReadWriter": "bufio", - "bufio.Reader": "bufio", - "bufio.ScanBytes": "bufio", - "bufio.ScanLines": "bufio", - "bufio.ScanRunes": "bufio", - "bufio.ScanWords": "bufio", - "bufio.Scanner": "bufio", - "bufio.SplitFunc": "bufio", - "bufio.Writer": "bufio", - "build.AllowBinary": "go/build", - "build.ArchChar": "go/build", - "build.Context": "go/build", - "build.Default": "go/build", - "build.FindOnly": "go/build", - "build.Import": "go/build", - "build.ImportDir": "go/build", - "build.ImportMode": "go/build", - "build.IsLocalImport": "go/build", - "build.NoGoError": "go/build", - "build.Package": "go/build", - "build.ToolDir": "go/build", - "bytes.Buffer": "bytes", - "bytes.Compare": "bytes", - "bytes.Contains": "bytes", - "bytes.Count": "bytes", - "bytes.Equal": "bytes", - "bytes.EqualFold": "bytes", - "bytes.ErrTooLarge": "bytes", - "bytes.Fields": "bytes", - "bytes.FieldsFunc": "bytes", - "bytes.HasPrefix": "bytes", - "bytes.HasSuffix": "bytes", - "bytes.Index": "bytes", - "bytes.IndexAny": "bytes", - "bytes.IndexByte": "bytes", - "bytes.IndexFunc": "bytes", - "bytes.IndexRune": "bytes", - "bytes.Join": "bytes", - "bytes.LastIndex": "bytes", - "bytes.LastIndexAny": "bytes", - "bytes.LastIndexFunc": "bytes", - "bytes.Map": "bytes", - "bytes.MinRead": "bytes", - "bytes.NewBuffer": "bytes", - "bytes.NewBufferString": "bytes", - "bytes.NewReader": "bytes", - "bytes.Reader": "bytes", - "bytes.Repeat": "bytes", - "bytes.Replace": "bytes", - "bytes.Runes": "bytes", - "bytes.Split": "bytes", - "bytes.SplitAfter": "bytes", - "bytes.SplitAfterN": "bytes", - "bytes.SplitN": "bytes", - "bytes.Title": "bytes", - "bytes.ToLower": "bytes", - "bytes.ToLowerSpecial": "bytes", - "bytes.ToTitle": "bytes", - "bytes.ToTitleSpecial": "bytes", - "bytes.ToUpper": "bytes", - "bytes.ToUpperSpecial": "bytes", - "bytes.Trim": "bytes", - "bytes.TrimFunc": "bytes", - "bytes.TrimLeft": "bytes", - "bytes.TrimLeftFunc": "bytes", - "bytes.TrimPrefix": "bytes", - "bytes.TrimRight": "bytes", - "bytes.TrimRightFunc": "bytes", - "bytes.TrimSpace": "bytes", - "bytes.TrimSuffix": "bytes", - "bzip2.NewReader": "compress/bzip2", - "bzip2.StructuralError": "compress/bzip2", - "cgi.Handler": "net/http/cgi", - "cgi.Request": "net/http/cgi", - "cgi.RequestFromMap": "net/http/cgi", - "cgi.Serve": "net/http/cgi", - "cipher.AEAD": "crypto/cipher", - "cipher.Block": "crypto/cipher", - "cipher.BlockMode": "crypto/cipher", - "cipher.NewCBCDecrypter": "crypto/cipher", - "cipher.NewCBCEncrypter": "crypto/cipher", - "cipher.NewCFBDecrypter": "crypto/cipher", - "cipher.NewCFBEncrypter": "crypto/cipher", - "cipher.NewCTR": "crypto/cipher", - "cipher.NewGCM": "crypto/cipher", - "cipher.NewOFB": "crypto/cipher", - "cipher.Stream": "crypto/cipher", - "cipher.StreamReader": "crypto/cipher", - "cipher.StreamWriter": "crypto/cipher", - "cmplx.Abs": "math/cmplx", - "cmplx.Acos": "math/cmplx", - "cmplx.Acosh": "math/cmplx", - "cmplx.Asin": "math/cmplx", - "cmplx.Asinh": "math/cmplx", - "cmplx.Atan": "math/cmplx", - "cmplx.Atanh": "math/cmplx", - "cmplx.Conj": "math/cmplx", - "cmplx.Cos": "math/cmplx", - "cmplx.Cosh": "math/cmplx", - "cmplx.Cot": "math/cmplx", - "cmplx.Exp": "math/cmplx", - "cmplx.Inf": "math/cmplx", - "cmplx.IsInf": "math/cmplx", - "cmplx.IsNaN": "math/cmplx", - "cmplx.Log": "math/cmplx", - "cmplx.Log10": "math/cmplx", - "cmplx.NaN": "math/cmplx", - "cmplx.Phase": "math/cmplx", - "cmplx.Polar": "math/cmplx", - "cmplx.Pow": "math/cmplx", - "cmplx.Rect": "math/cmplx", - "cmplx.Sin": "math/cmplx", - "cmplx.Sinh": "math/cmplx", - "cmplx.Sqrt": "math/cmplx", - "cmplx.Tan": "math/cmplx", - "cmplx.Tanh": "math/cmplx", - "color.Alpha": "image/color", - "color.Alpha16": "image/color", - "color.Alpha16Model": "image/color", - "color.AlphaModel": "image/color", - "color.Black": "image/color", - "color.Color": "image/color", - "color.Gray": "image/color", - "color.Gray16": "image/color", - "color.Gray16Model": "image/color", - "color.GrayModel": "image/color", - "color.Model": "image/color", - "color.ModelFunc": "image/color", - "color.NRGBA": "image/color", - "color.NRGBA64": "image/color", - "color.NRGBA64Model": "image/color", - "color.NRGBAModel": "image/color", - "color.Opaque": "image/color", - "color.Palette": "image/color", - "color.RGBA": "image/color", - "color.RGBA64": "image/color", - "color.RGBA64Model": "image/color", - "color.RGBAModel": "image/color", - "color.RGBToYCbCr": "image/color", - "color.Transparent": "image/color", - "color.White": "image/color", - "color.YCbCr": "image/color", - "color.YCbCrModel": "image/color", - "color.YCbCrToRGB": "image/color", - "cookiejar.Jar": "net/http/cookiejar", - "cookiejar.New": "net/http/cookiejar", - "cookiejar.Options": "net/http/cookiejar", - "cookiejar.PublicSuffixList": "net/http/cookiejar", - "crc32.Castagnoli": "hash/crc32", - "crc32.Checksum": "hash/crc32", - "crc32.ChecksumIEEE": "hash/crc32", - "crc32.IEEE": "hash/crc32", - "crc32.IEEETable": "hash/crc32", - "crc32.Koopman": "hash/crc32", - "crc32.MakeTable": "hash/crc32", - "crc32.New": "hash/crc32", - "crc32.NewIEEE": "hash/crc32", - "crc32.Size": "hash/crc32", - "crc32.Table": "hash/crc32", - "crc32.Update": "hash/crc32", - "crc64.Checksum": "hash/crc64", - "crc64.ECMA": "hash/crc64", - "crc64.ISO": "hash/crc64", - "crc64.MakeTable": "hash/crc64", - "crc64.New": "hash/crc64", - "crc64.Size": "hash/crc64", - "crc64.Table": "hash/crc64", - "crc64.Update": "hash/crc64", - "crypto.Hash": "crypto", - "crypto.MD4": "crypto", - "crypto.MD5": "crypto", - "crypto.MD5SHA1": "crypto", - "crypto.PrivateKey": "crypto", - "crypto.PublicKey": "crypto", - "crypto.RIPEMD160": "crypto", - "crypto.RegisterHash": "crypto", - "crypto.SHA1": "crypto", - "crypto.SHA224": "crypto", - "crypto.SHA256": "crypto", - "crypto.SHA384": "crypto", - "crypto.SHA512": "crypto", - "csv.ErrBareQuote": "encoding/csv", - "csv.ErrFieldCount": "encoding/csv", - "csv.ErrQuote": "encoding/csv", - "csv.ErrTrailingComma": "encoding/csv", - "csv.NewReader": "encoding/csv", - "csv.NewWriter": "encoding/csv", - "csv.ParseError": "encoding/csv", - "csv.Reader": "encoding/csv", - "csv.Writer": "encoding/csv", - "debug.FreeOSMemory": "runtime/debug", - "debug.GCStats": "runtime/debug", - "debug.PrintStack": "runtime/debug", - "debug.ReadGCStats": "runtime/debug", - "debug.SetGCPercent": "runtime/debug", - "debug.SetMaxStack": "runtime/debug", - "debug.SetMaxThreads": "runtime/debug", - "debug.Stack": "runtime/debug", - "des.BlockSize": "crypto/des", - "des.KeySizeError": "crypto/des", - "des.NewCipher": "crypto/des", - "des.NewTripleDESCipher": "crypto/des", - "doc.AllDecls": "go/doc", - "doc.AllMethods": "go/doc", - "doc.Example": "go/doc", - "doc.Examples": "go/doc", - "doc.Filter": "go/doc", - "doc.Func": "go/doc", - "doc.IllegalPrefixes": "go/doc", - "doc.Mode": "go/doc", - "doc.New": "go/doc", - "doc.Note": "go/doc", - "doc.Package": "go/doc", - "doc.Synopsis": "go/doc", - "doc.ToHTML": "go/doc", - "doc.ToText": "go/doc", - "doc.Type": "go/doc", - "doc.Value": "go/doc", - "draw.Draw": "image/draw", - "draw.DrawMask": "image/draw", - "draw.Drawer": "image/draw", - "draw.FloydSteinberg": "image/draw", - "draw.Image": "image/draw", - "draw.Op": "image/draw", - "draw.Over": "image/draw", - "draw.Quantizer": "image/draw", - "draw.Src": "image/draw", - "driver.Bool": "database/sql/driver", - "driver.ColumnConverter": "database/sql/driver", - "driver.Conn": "database/sql/driver", - "driver.DefaultParameterConverter": "database/sql/driver", - "driver.Driver": "database/sql/driver", - "driver.ErrBadConn": "database/sql/driver", - "driver.ErrSkip": "database/sql/driver", - "driver.Execer": "database/sql/driver", - "driver.Int32": "database/sql/driver", - "driver.IsScanValue": "database/sql/driver", - "driver.IsValue": "database/sql/driver", - "driver.NotNull": "database/sql/driver", - "driver.Null": "database/sql/driver", - "driver.Queryer": "database/sql/driver", - "driver.Result": "database/sql/driver", - "driver.ResultNoRows": "database/sql/driver", - "driver.Rows": "database/sql/driver", - "driver.RowsAffected": "database/sql/driver", - "driver.Stmt": "database/sql/driver", - "driver.String": "database/sql/driver", - "driver.Tx": "database/sql/driver", - "driver.Value": "database/sql/driver", - "driver.ValueConverter": "database/sql/driver", - "driver.Valuer": "database/sql/driver", - "dsa.ErrInvalidPublicKey": "crypto/dsa", - "dsa.GenerateKey": "crypto/dsa", - "dsa.GenerateParameters": "crypto/dsa", - "dsa.L1024N160": "crypto/dsa", - "dsa.L2048N224": "crypto/dsa", - "dsa.L2048N256": "crypto/dsa", - "dsa.L3072N256": "crypto/dsa", - "dsa.ParameterSizes": "crypto/dsa", - "dsa.Parameters": "crypto/dsa", - "dsa.PrivateKey": "crypto/dsa", - "dsa.PublicKey": "crypto/dsa", - "dsa.Sign": "crypto/dsa", - "dsa.Verify": "crypto/dsa", - "dwarf.AddrType": "debug/dwarf", - "dwarf.ArrayType": "debug/dwarf", - "dwarf.Attr": "debug/dwarf", - "dwarf.AttrAbstractOrigin": "debug/dwarf", - "dwarf.AttrAccessibility": "debug/dwarf", - "dwarf.AttrAddrClass": "debug/dwarf", - "dwarf.AttrAllocated": "debug/dwarf", - "dwarf.AttrArtificial": "debug/dwarf", - "dwarf.AttrAssociated": "debug/dwarf", - "dwarf.AttrBaseTypes": "debug/dwarf", - "dwarf.AttrBitOffset": "debug/dwarf", - "dwarf.AttrBitSize": "debug/dwarf", - "dwarf.AttrByteSize": "debug/dwarf", - "dwarf.AttrCallColumn": "debug/dwarf", - "dwarf.AttrCallFile": "debug/dwarf", - "dwarf.AttrCallLine": "debug/dwarf", - "dwarf.AttrCalling": "debug/dwarf", - "dwarf.AttrCommonRef": "debug/dwarf", - "dwarf.AttrCompDir": "debug/dwarf", - "dwarf.AttrConstValue": "debug/dwarf", - "dwarf.AttrContainingType": "debug/dwarf", - "dwarf.AttrCount": "debug/dwarf", - "dwarf.AttrDataLocation": "debug/dwarf", - "dwarf.AttrDataMemberLoc": "debug/dwarf", - "dwarf.AttrDeclColumn": "debug/dwarf", - "dwarf.AttrDeclFile": "debug/dwarf", - "dwarf.AttrDeclLine": "debug/dwarf", - "dwarf.AttrDeclaration": "debug/dwarf", - "dwarf.AttrDefaultValue": "debug/dwarf", - "dwarf.AttrDescription": "debug/dwarf", - "dwarf.AttrDiscr": "debug/dwarf", - "dwarf.AttrDiscrList": "debug/dwarf", - "dwarf.AttrDiscrValue": "debug/dwarf", - "dwarf.AttrEncoding": "debug/dwarf", - "dwarf.AttrEntrypc": "debug/dwarf", - "dwarf.AttrExtension": "debug/dwarf", - "dwarf.AttrExternal": "debug/dwarf", - "dwarf.AttrFrameBase": "debug/dwarf", - "dwarf.AttrFriend": "debug/dwarf", - "dwarf.AttrHighpc": "debug/dwarf", - "dwarf.AttrIdentifierCase": "debug/dwarf", - "dwarf.AttrImport": "debug/dwarf", - "dwarf.AttrInline": "debug/dwarf", - "dwarf.AttrIsOptional": "debug/dwarf", - "dwarf.AttrLanguage": "debug/dwarf", - "dwarf.AttrLocation": "debug/dwarf", - "dwarf.AttrLowerBound": "debug/dwarf", - "dwarf.AttrLowpc": "debug/dwarf", - "dwarf.AttrMacroInfo": "debug/dwarf", - "dwarf.AttrName": "debug/dwarf", - "dwarf.AttrNamelistItem": "debug/dwarf", - "dwarf.AttrOrdering": "debug/dwarf", - "dwarf.AttrPriority": "debug/dwarf", - "dwarf.AttrProducer": "debug/dwarf", - "dwarf.AttrPrototyped": "debug/dwarf", - "dwarf.AttrRanges": "debug/dwarf", - "dwarf.AttrReturnAddr": "debug/dwarf", - "dwarf.AttrSegment": "debug/dwarf", - "dwarf.AttrSibling": "debug/dwarf", - "dwarf.AttrSpecification": "debug/dwarf", - "dwarf.AttrStartScope": "debug/dwarf", - "dwarf.AttrStaticLink": "debug/dwarf", - "dwarf.AttrStmtList": "debug/dwarf", - "dwarf.AttrStride": "debug/dwarf", - "dwarf.AttrStrideSize": "debug/dwarf", - "dwarf.AttrStringLength": "debug/dwarf", - "dwarf.AttrTrampoline": "debug/dwarf", - "dwarf.AttrType": "debug/dwarf", - "dwarf.AttrUpperBound": "debug/dwarf", - "dwarf.AttrUseLocation": "debug/dwarf", - "dwarf.AttrUseUTF8": "debug/dwarf", - "dwarf.AttrVarParam": "debug/dwarf", - "dwarf.AttrVirtuality": "debug/dwarf", - "dwarf.AttrVisibility": "debug/dwarf", - "dwarf.AttrVtableElemLoc": "debug/dwarf", - "dwarf.BasicType": "debug/dwarf", - "dwarf.BoolType": "debug/dwarf", - "dwarf.CharType": "debug/dwarf", - "dwarf.CommonType": "debug/dwarf", - "dwarf.ComplexType": "debug/dwarf", - "dwarf.Data": "debug/dwarf", - "dwarf.DecodeError": "debug/dwarf", - "dwarf.DotDotDotType": "debug/dwarf", - "dwarf.Entry": "debug/dwarf", - "dwarf.EnumType": "debug/dwarf", - "dwarf.EnumValue": "debug/dwarf", - "dwarf.Field": "debug/dwarf", - "dwarf.FloatType": "debug/dwarf", - "dwarf.FuncType": "debug/dwarf", - "dwarf.IntType": "debug/dwarf", - "dwarf.New": "debug/dwarf", - "dwarf.Offset": "debug/dwarf", - "dwarf.PtrType": "debug/dwarf", - "dwarf.QualType": "debug/dwarf", - "dwarf.Reader": "debug/dwarf", - "dwarf.StructField": "debug/dwarf", - "dwarf.StructType": "debug/dwarf", - "dwarf.Tag": "debug/dwarf", - "dwarf.TagAccessDeclaration": "debug/dwarf", - "dwarf.TagArrayType": "debug/dwarf", - "dwarf.TagBaseType": "debug/dwarf", - "dwarf.TagCatchDwarfBlock": "debug/dwarf", - "dwarf.TagClassType": "debug/dwarf", - "dwarf.TagCommonDwarfBlock": "debug/dwarf", - "dwarf.TagCommonInclusion": "debug/dwarf", - "dwarf.TagCompileUnit": "debug/dwarf", - "dwarf.TagConstType": "debug/dwarf", - "dwarf.TagConstant": "debug/dwarf", - "dwarf.TagDwarfProcedure": "debug/dwarf", - "dwarf.TagEntryPoint": "debug/dwarf", - "dwarf.TagEnumerationType": "debug/dwarf", - "dwarf.TagEnumerator": "debug/dwarf", - "dwarf.TagFileType": "debug/dwarf", - "dwarf.TagFormalParameter": "debug/dwarf", - "dwarf.TagFriend": "debug/dwarf", - "dwarf.TagImportedDeclaration": "debug/dwarf", - "dwarf.TagImportedModule": "debug/dwarf", - "dwarf.TagImportedUnit": "debug/dwarf", - "dwarf.TagInheritance": "debug/dwarf", - "dwarf.TagInlinedSubroutine": "debug/dwarf", - "dwarf.TagInterfaceType": "debug/dwarf", - "dwarf.TagLabel": "debug/dwarf", - "dwarf.TagLexDwarfBlock": "debug/dwarf", - "dwarf.TagMember": "debug/dwarf", - "dwarf.TagModule": "debug/dwarf", - "dwarf.TagMutableType": "debug/dwarf", - "dwarf.TagNamelist": "debug/dwarf", - "dwarf.TagNamelistItem": "debug/dwarf", - "dwarf.TagNamespace": "debug/dwarf", - "dwarf.TagPackedType": "debug/dwarf", - "dwarf.TagPartialUnit": "debug/dwarf", - "dwarf.TagPointerType": "debug/dwarf", - "dwarf.TagPtrToMemberType": "debug/dwarf", - "dwarf.TagReferenceType": "debug/dwarf", - "dwarf.TagRestrictType": "debug/dwarf", - "dwarf.TagSetType": "debug/dwarf", - "dwarf.TagStringType": "debug/dwarf", - "dwarf.TagStructType": "debug/dwarf", - "dwarf.TagSubprogram": "debug/dwarf", - "dwarf.TagSubrangeType": "debug/dwarf", - "dwarf.TagSubroutineType": "debug/dwarf", - "dwarf.TagTemplateTypeParameter": "debug/dwarf", - "dwarf.TagTemplateValueParameter": "debug/dwarf", - "dwarf.TagThrownType": "debug/dwarf", - "dwarf.TagTryDwarfBlock": "debug/dwarf", - "dwarf.TagTypedef": "debug/dwarf", - "dwarf.TagUnionType": "debug/dwarf", - "dwarf.TagUnspecifiedParameters": "debug/dwarf", - "dwarf.TagUnspecifiedType": "debug/dwarf", - "dwarf.TagVariable": "debug/dwarf", - "dwarf.TagVariant": "debug/dwarf", - "dwarf.TagVariantPart": "debug/dwarf", - "dwarf.TagVolatileType": "debug/dwarf", - "dwarf.TagWithStmt": "debug/dwarf", - "dwarf.Type": "debug/dwarf", - "dwarf.TypedefType": "debug/dwarf", - "dwarf.UcharType": "debug/dwarf", - "dwarf.UintType": "debug/dwarf", - "dwarf.VoidType": "debug/dwarf", - "ecdsa.GenerateKey": "crypto/ecdsa", - "ecdsa.PrivateKey": "crypto/ecdsa", - "ecdsa.PublicKey": "crypto/ecdsa", - "ecdsa.Sign": "crypto/ecdsa", - "ecdsa.Verify": "crypto/ecdsa", - "elf.ARM_MAGIC_TRAMP_NUMBER": "debug/elf", - "elf.Class": "debug/elf", - "elf.DF_BIND_NOW": "debug/elf", - "elf.DF_ORIGIN": "debug/elf", - "elf.DF_STATIC_TLS": "debug/elf", - "elf.DF_SYMBOLIC": "debug/elf", - "elf.DF_TEXTREL": "debug/elf", - "elf.DT_BIND_NOW": "debug/elf", - "elf.DT_DEBUG": "debug/elf", - "elf.DT_ENCODING": "debug/elf", - "elf.DT_FINI": "debug/elf", - "elf.DT_FINI_ARRAY": "debug/elf", - "elf.DT_FINI_ARRAYSZ": "debug/elf", - "elf.DT_FLAGS": "debug/elf", - "elf.DT_HASH": "debug/elf", - "elf.DT_HIOS": "debug/elf", - "elf.DT_HIPROC": "debug/elf", - "elf.DT_INIT": "debug/elf", - "elf.DT_INIT_ARRAY": "debug/elf", - "elf.DT_INIT_ARRAYSZ": "debug/elf", - "elf.DT_JMPREL": "debug/elf", - "elf.DT_LOOS": "debug/elf", - "elf.DT_LOPROC": "debug/elf", - "elf.DT_NEEDED": "debug/elf", - "elf.DT_NULL": "debug/elf", - "elf.DT_PLTGOT": "debug/elf", - "elf.DT_PLTREL": "debug/elf", - "elf.DT_PLTRELSZ": "debug/elf", - "elf.DT_PREINIT_ARRAY": "debug/elf", - "elf.DT_PREINIT_ARRAYSZ": "debug/elf", - "elf.DT_REL": "debug/elf", - "elf.DT_RELA": "debug/elf", - "elf.DT_RELAENT": "debug/elf", - "elf.DT_RELASZ": "debug/elf", - "elf.DT_RELENT": "debug/elf", - "elf.DT_RELSZ": "debug/elf", - "elf.DT_RPATH": "debug/elf", - "elf.DT_RUNPATH": "debug/elf", - "elf.DT_SONAME": "debug/elf", - "elf.DT_STRSZ": "debug/elf", - "elf.DT_STRTAB": "debug/elf", - "elf.DT_SYMBOLIC": "debug/elf", - "elf.DT_SYMENT": "debug/elf", - "elf.DT_SYMTAB": "debug/elf", - "elf.DT_TEXTREL": "debug/elf", - "elf.DT_VERNEED": "debug/elf", - "elf.DT_VERNEEDNUM": "debug/elf", - "elf.DT_VERSYM": "debug/elf", - "elf.Data": "debug/elf", - "elf.Dyn32": "debug/elf", - "elf.Dyn64": "debug/elf", - "elf.DynFlag": "debug/elf", - "elf.DynTag": "debug/elf", - "elf.EI_ABIVERSION": "debug/elf", - "elf.EI_CLASS": "debug/elf", - "elf.EI_DATA": "debug/elf", - "elf.EI_NIDENT": "debug/elf", - "elf.EI_OSABI": "debug/elf", - "elf.EI_PAD": "debug/elf", - "elf.EI_VERSION": "debug/elf", - "elf.ELFCLASS32": "debug/elf", - "elf.ELFCLASS64": "debug/elf", - "elf.ELFCLASSNONE": "debug/elf", - "elf.ELFDATA2LSB": "debug/elf", - "elf.ELFDATA2MSB": "debug/elf", - "elf.ELFDATANONE": "debug/elf", - "elf.ELFMAG": "debug/elf", - "elf.ELFOSABI_86OPEN": "debug/elf", - "elf.ELFOSABI_AIX": "debug/elf", - "elf.ELFOSABI_ARM": "debug/elf", - "elf.ELFOSABI_FREEBSD": "debug/elf", - "elf.ELFOSABI_HPUX": "debug/elf", - "elf.ELFOSABI_HURD": "debug/elf", - "elf.ELFOSABI_IRIX": "debug/elf", - "elf.ELFOSABI_LINUX": "debug/elf", - "elf.ELFOSABI_MODESTO": "debug/elf", - "elf.ELFOSABI_NETBSD": "debug/elf", - "elf.ELFOSABI_NONE": "debug/elf", - "elf.ELFOSABI_NSK": "debug/elf", - "elf.ELFOSABI_OPENBSD": "debug/elf", - "elf.ELFOSABI_OPENVMS": "debug/elf", - "elf.ELFOSABI_SOLARIS": "debug/elf", - "elf.ELFOSABI_STANDALONE": "debug/elf", - "elf.ELFOSABI_TRU64": "debug/elf", - "elf.EM_386": "debug/elf", - "elf.EM_486": "debug/elf", - "elf.EM_68HC12": "debug/elf", - "elf.EM_68K": "debug/elf", - "elf.EM_860": "debug/elf", - "elf.EM_88K": "debug/elf", - "elf.EM_960": "debug/elf", - "elf.EM_ALPHA": "debug/elf", - "elf.EM_ALPHA_STD": "debug/elf", - "elf.EM_ARC": "debug/elf", - "elf.EM_ARM": "debug/elf", - "elf.EM_COLDFIRE": "debug/elf", - "elf.EM_FR20": "debug/elf", - "elf.EM_H8S": "debug/elf", - "elf.EM_H8_300": "debug/elf", - "elf.EM_H8_300H": "debug/elf", - "elf.EM_H8_500": "debug/elf", - "elf.EM_IA_64": "debug/elf", - "elf.EM_M32": "debug/elf", - "elf.EM_ME16": "debug/elf", - "elf.EM_MIPS": "debug/elf", - "elf.EM_MIPS_RS3_LE": "debug/elf", - "elf.EM_MIPS_RS4_BE": "debug/elf", - "elf.EM_MIPS_X": "debug/elf", - "elf.EM_MMA": "debug/elf", - "elf.EM_NCPU": "debug/elf", - "elf.EM_NDR1": "debug/elf", - "elf.EM_NONE": "debug/elf", - "elf.EM_PARISC": "debug/elf", - "elf.EM_PCP": "debug/elf", - "elf.EM_PPC": "debug/elf", - "elf.EM_PPC64": "debug/elf", - "elf.EM_RCE": "debug/elf", - "elf.EM_RH32": "debug/elf", - "elf.EM_S370": "debug/elf", - "elf.EM_S390": "debug/elf", - "elf.EM_SH": "debug/elf", - "elf.EM_SPARC": "debug/elf", - "elf.EM_SPARC32PLUS": "debug/elf", - "elf.EM_SPARCV9": "debug/elf", - "elf.EM_ST100": "debug/elf", - "elf.EM_STARCORE": "debug/elf", - "elf.EM_TINYJ": "debug/elf", - "elf.EM_TRICORE": "debug/elf", - "elf.EM_V800": "debug/elf", - "elf.EM_VPP500": "debug/elf", - "elf.EM_X86_64": "debug/elf", - "elf.ET_CORE": "debug/elf", - "elf.ET_DYN": "debug/elf", - "elf.ET_EXEC": "debug/elf", - "elf.ET_HIOS": "debug/elf", - "elf.ET_HIPROC": "debug/elf", - "elf.ET_LOOS": "debug/elf", - "elf.ET_LOPROC": "debug/elf", - "elf.ET_NONE": "debug/elf", - "elf.ET_REL": "debug/elf", - "elf.EV_CURRENT": "debug/elf", - "elf.EV_NONE": "debug/elf", - "elf.File": "debug/elf", - "elf.FileHeader": "debug/elf", - "elf.FormatError": "debug/elf", - "elf.Header32": "debug/elf", - "elf.Header64": "debug/elf", - "elf.ImportedSymbol": "debug/elf", - "elf.Machine": "debug/elf", - "elf.NT_FPREGSET": "debug/elf", - "elf.NT_PRPSINFO": "debug/elf", - "elf.NT_PRSTATUS": "debug/elf", - "elf.NType": "debug/elf", - "elf.NewFile": "debug/elf", - "elf.OSABI": "debug/elf", - "elf.Open": "debug/elf", - "elf.PF_MASKOS": "debug/elf", - "elf.PF_MASKPROC": "debug/elf", - "elf.PF_R": "debug/elf", - "elf.PF_W": "debug/elf", - "elf.PF_X": "debug/elf", - "elf.PT_DYNAMIC": "debug/elf", - "elf.PT_HIOS": "debug/elf", - "elf.PT_HIPROC": "debug/elf", - "elf.PT_INTERP": "debug/elf", - "elf.PT_LOAD": "debug/elf", - "elf.PT_LOOS": "debug/elf", - "elf.PT_LOPROC": "debug/elf", - "elf.PT_NOTE": "debug/elf", - "elf.PT_NULL": "debug/elf", - "elf.PT_PHDR": "debug/elf", - "elf.PT_SHLIB": "debug/elf", - "elf.PT_TLS": "debug/elf", - "elf.Prog": "debug/elf", - "elf.Prog32": "debug/elf", - "elf.Prog64": "debug/elf", - "elf.ProgFlag": "debug/elf", - "elf.ProgHeader": "debug/elf", - "elf.ProgType": "debug/elf", - "elf.R_386": "debug/elf", - "elf.R_386_32": "debug/elf", - "elf.R_386_COPY": "debug/elf", - "elf.R_386_GLOB_DAT": "debug/elf", - "elf.R_386_GOT32": "debug/elf", - "elf.R_386_GOTOFF": "debug/elf", - "elf.R_386_GOTPC": "debug/elf", - "elf.R_386_JMP_SLOT": "debug/elf", - "elf.R_386_NONE": "debug/elf", - "elf.R_386_PC32": "debug/elf", - "elf.R_386_PLT32": "debug/elf", - "elf.R_386_RELATIVE": "debug/elf", - "elf.R_386_TLS_DTPMOD32": "debug/elf", - "elf.R_386_TLS_DTPOFF32": "debug/elf", - "elf.R_386_TLS_GD": "debug/elf", - "elf.R_386_TLS_GD_32": "debug/elf", - "elf.R_386_TLS_GD_CALL": "debug/elf", - "elf.R_386_TLS_GD_POP": "debug/elf", - "elf.R_386_TLS_GD_PUSH": "debug/elf", - "elf.R_386_TLS_GOTIE": "debug/elf", - "elf.R_386_TLS_IE": "debug/elf", - "elf.R_386_TLS_IE_32": "debug/elf", - "elf.R_386_TLS_LDM": "debug/elf", - "elf.R_386_TLS_LDM_32": "debug/elf", - "elf.R_386_TLS_LDM_CALL": "debug/elf", - "elf.R_386_TLS_LDM_POP": "debug/elf", - "elf.R_386_TLS_LDM_PUSH": "debug/elf", - "elf.R_386_TLS_LDO_32": "debug/elf", - "elf.R_386_TLS_LE": "debug/elf", - "elf.R_386_TLS_LE_32": "debug/elf", - "elf.R_386_TLS_TPOFF": "debug/elf", - "elf.R_386_TLS_TPOFF32": "debug/elf", - "elf.R_ALPHA": "debug/elf", - "elf.R_ALPHA_BRADDR": "debug/elf", - "elf.R_ALPHA_COPY": "debug/elf", - "elf.R_ALPHA_GLOB_DAT": "debug/elf", - "elf.R_ALPHA_GPDISP": "debug/elf", - "elf.R_ALPHA_GPREL32": "debug/elf", - "elf.R_ALPHA_GPRELHIGH": "debug/elf", - "elf.R_ALPHA_GPRELLOW": "debug/elf", - "elf.R_ALPHA_GPVALUE": "debug/elf", - "elf.R_ALPHA_HINT": "debug/elf", - "elf.R_ALPHA_IMMED_BR_HI32": "debug/elf", - "elf.R_ALPHA_IMMED_GP_16": "debug/elf", - "elf.R_ALPHA_IMMED_GP_HI32": "debug/elf", - "elf.R_ALPHA_IMMED_LO32": "debug/elf", - "elf.R_ALPHA_IMMED_SCN_HI32": "debug/elf", - "elf.R_ALPHA_JMP_SLOT": "debug/elf", - "elf.R_ALPHA_LITERAL": "debug/elf", - "elf.R_ALPHA_LITUSE": "debug/elf", - "elf.R_ALPHA_NONE": "debug/elf", - "elf.R_ALPHA_OP_PRSHIFT": "debug/elf", - "elf.R_ALPHA_OP_PSUB": "debug/elf", - "elf.R_ALPHA_OP_PUSH": "debug/elf", - "elf.R_ALPHA_OP_STORE": "debug/elf", - "elf.R_ALPHA_REFLONG": "debug/elf", - "elf.R_ALPHA_REFQUAD": "debug/elf", - "elf.R_ALPHA_RELATIVE": "debug/elf", - "elf.R_ALPHA_SREL16": "debug/elf", - "elf.R_ALPHA_SREL32": "debug/elf", - "elf.R_ALPHA_SREL64": "debug/elf", - "elf.R_ARM": "debug/elf", - "elf.R_ARM_ABS12": "debug/elf", - "elf.R_ARM_ABS16": "debug/elf", - "elf.R_ARM_ABS32": "debug/elf", - "elf.R_ARM_ABS8": "debug/elf", - "elf.R_ARM_AMP_VCALL9": "debug/elf", - "elf.R_ARM_COPY": "debug/elf", - "elf.R_ARM_GLOB_DAT": "debug/elf", - "elf.R_ARM_GNU_VTENTRY": "debug/elf", - "elf.R_ARM_GNU_VTINHERIT": "debug/elf", - "elf.R_ARM_GOT32": "debug/elf", - "elf.R_ARM_GOTOFF": "debug/elf", - "elf.R_ARM_GOTPC": "debug/elf", - "elf.R_ARM_JUMP_SLOT": "debug/elf", - "elf.R_ARM_NONE": "debug/elf", - "elf.R_ARM_PC13": "debug/elf", - "elf.R_ARM_PC24": "debug/elf", - "elf.R_ARM_PLT32": "debug/elf", - "elf.R_ARM_RABS32": "debug/elf", - "elf.R_ARM_RBASE": "debug/elf", - "elf.R_ARM_REL32": "debug/elf", - "elf.R_ARM_RELATIVE": "debug/elf", - "elf.R_ARM_RPC24": "debug/elf", - "elf.R_ARM_RREL32": "debug/elf", - "elf.R_ARM_RSBREL32": "debug/elf", - "elf.R_ARM_SBREL32": "debug/elf", - "elf.R_ARM_SWI24": "debug/elf", - "elf.R_ARM_THM_ABS5": "debug/elf", - "elf.R_ARM_THM_PC22": "debug/elf", - "elf.R_ARM_THM_PC8": "debug/elf", - "elf.R_ARM_THM_RPC22": "debug/elf", - "elf.R_ARM_THM_SWI8": "debug/elf", - "elf.R_ARM_THM_XPC22": "debug/elf", - "elf.R_ARM_XPC25": "debug/elf", - "elf.R_INFO": "debug/elf", - "elf.R_INFO32": "debug/elf", - "elf.R_PPC": "debug/elf", - "elf.R_PPC_ADDR14": "debug/elf", - "elf.R_PPC_ADDR14_BRNTAKEN": "debug/elf", - "elf.R_PPC_ADDR14_BRTAKEN": "debug/elf", - "elf.R_PPC_ADDR16": "debug/elf", - "elf.R_PPC_ADDR16_HA": "debug/elf", - "elf.R_PPC_ADDR16_HI": "debug/elf", - "elf.R_PPC_ADDR16_LO": "debug/elf", - "elf.R_PPC_ADDR24": "debug/elf", - "elf.R_PPC_ADDR32": "debug/elf", - "elf.R_PPC_COPY": "debug/elf", - "elf.R_PPC_DTPMOD32": "debug/elf", - "elf.R_PPC_DTPREL16": "debug/elf", - "elf.R_PPC_DTPREL16_HA": "debug/elf", - "elf.R_PPC_DTPREL16_HI": "debug/elf", - "elf.R_PPC_DTPREL16_LO": "debug/elf", - "elf.R_PPC_DTPREL32": "debug/elf", - "elf.R_PPC_EMB_BIT_FLD": "debug/elf", - "elf.R_PPC_EMB_MRKREF": "debug/elf", - "elf.R_PPC_EMB_NADDR16": "debug/elf", - "elf.R_PPC_EMB_NADDR16_HA": "debug/elf", - "elf.R_PPC_EMB_NADDR16_HI": "debug/elf", - "elf.R_PPC_EMB_NADDR16_LO": "debug/elf", - "elf.R_PPC_EMB_NADDR32": "debug/elf", - "elf.R_PPC_EMB_RELSDA": "debug/elf", - "elf.R_PPC_EMB_RELSEC16": "debug/elf", - "elf.R_PPC_EMB_RELST_HA": "debug/elf", - "elf.R_PPC_EMB_RELST_HI": "debug/elf", - "elf.R_PPC_EMB_RELST_LO": "debug/elf", - "elf.R_PPC_EMB_SDA21": "debug/elf", - "elf.R_PPC_EMB_SDA2I16": "debug/elf", - "elf.R_PPC_EMB_SDA2REL": "debug/elf", - "elf.R_PPC_EMB_SDAI16": "debug/elf", - "elf.R_PPC_GLOB_DAT": "debug/elf", - "elf.R_PPC_GOT16": "debug/elf", - "elf.R_PPC_GOT16_HA": "debug/elf", - "elf.R_PPC_GOT16_HI": "debug/elf", - "elf.R_PPC_GOT16_LO": "debug/elf", - "elf.R_PPC_GOT_TLSGD16": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_HA": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_HI": "debug/elf", - "elf.R_PPC_GOT_TLSGD16_LO": "debug/elf", - "elf.R_PPC_GOT_TLSLD16": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_HA": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_HI": "debug/elf", - "elf.R_PPC_GOT_TLSLD16_LO": "debug/elf", - "elf.R_PPC_GOT_TPREL16": "debug/elf", - "elf.R_PPC_GOT_TPREL16_HA": "debug/elf", - "elf.R_PPC_GOT_TPREL16_HI": "debug/elf", - "elf.R_PPC_GOT_TPREL16_LO": "debug/elf", - "elf.R_PPC_JMP_SLOT": "debug/elf", - "elf.R_PPC_LOCAL24PC": "debug/elf", - "elf.R_PPC_NONE": "debug/elf", - "elf.R_PPC_PLT16_HA": "debug/elf", - "elf.R_PPC_PLT16_HI": "debug/elf", - "elf.R_PPC_PLT16_LO": "debug/elf", - "elf.R_PPC_PLT32": "debug/elf", - "elf.R_PPC_PLTREL24": "debug/elf", - "elf.R_PPC_PLTREL32": "debug/elf", - "elf.R_PPC_REL14": "debug/elf", - "elf.R_PPC_REL14_BRNTAKEN": "debug/elf", - "elf.R_PPC_REL14_BRTAKEN": "debug/elf", - "elf.R_PPC_REL24": "debug/elf", - "elf.R_PPC_REL32": "debug/elf", - "elf.R_PPC_RELATIVE": "debug/elf", - "elf.R_PPC_SDAREL16": "debug/elf", - "elf.R_PPC_SECTOFF": "debug/elf", - "elf.R_PPC_SECTOFF_HA": "debug/elf", - "elf.R_PPC_SECTOFF_HI": "debug/elf", - "elf.R_PPC_SECTOFF_LO": "debug/elf", - "elf.R_PPC_TLS": "debug/elf", - "elf.R_PPC_TPREL16": "debug/elf", - "elf.R_PPC_TPREL16_HA": "debug/elf", - "elf.R_PPC_TPREL16_HI": "debug/elf", - "elf.R_PPC_TPREL16_LO": "debug/elf", - "elf.R_PPC_TPREL32": "debug/elf", - "elf.R_PPC_UADDR16": "debug/elf", - "elf.R_PPC_UADDR32": "debug/elf", - "elf.R_SPARC": "debug/elf", - "elf.R_SPARC_10": "debug/elf", - "elf.R_SPARC_11": "debug/elf", - "elf.R_SPARC_13": "debug/elf", - "elf.R_SPARC_16": "debug/elf", - "elf.R_SPARC_22": "debug/elf", - "elf.R_SPARC_32": "debug/elf", - "elf.R_SPARC_5": "debug/elf", - "elf.R_SPARC_6": "debug/elf", - "elf.R_SPARC_64": "debug/elf", - "elf.R_SPARC_7": "debug/elf", - "elf.R_SPARC_8": "debug/elf", - "elf.R_SPARC_COPY": "debug/elf", - "elf.R_SPARC_DISP16": "debug/elf", - "elf.R_SPARC_DISP32": "debug/elf", - "elf.R_SPARC_DISP64": "debug/elf", - "elf.R_SPARC_DISP8": "debug/elf", - "elf.R_SPARC_GLOB_DAT": "debug/elf", - "elf.R_SPARC_GLOB_JMP": "debug/elf", - "elf.R_SPARC_GOT10": "debug/elf", - "elf.R_SPARC_GOT13": "debug/elf", - "elf.R_SPARC_GOT22": "debug/elf", - "elf.R_SPARC_H44": "debug/elf", - "elf.R_SPARC_HH22": "debug/elf", - "elf.R_SPARC_HI22": "debug/elf", - "elf.R_SPARC_HIPLT22": "debug/elf", - "elf.R_SPARC_HIX22": "debug/elf", - "elf.R_SPARC_HM10": "debug/elf", - "elf.R_SPARC_JMP_SLOT": "debug/elf", - "elf.R_SPARC_L44": "debug/elf", - "elf.R_SPARC_LM22": "debug/elf", - "elf.R_SPARC_LO10": "debug/elf", - "elf.R_SPARC_LOPLT10": "debug/elf", - "elf.R_SPARC_LOX10": "debug/elf", - "elf.R_SPARC_M44": "debug/elf", - "elf.R_SPARC_NONE": "debug/elf", - "elf.R_SPARC_OLO10": "debug/elf", - "elf.R_SPARC_PC10": "debug/elf", - "elf.R_SPARC_PC22": "debug/elf", - "elf.R_SPARC_PCPLT10": "debug/elf", - "elf.R_SPARC_PCPLT22": "debug/elf", - "elf.R_SPARC_PCPLT32": "debug/elf", - "elf.R_SPARC_PC_HH22": "debug/elf", - "elf.R_SPARC_PC_HM10": "debug/elf", - "elf.R_SPARC_PC_LM22": "debug/elf", - "elf.R_SPARC_PLT32": "debug/elf", - "elf.R_SPARC_PLT64": "debug/elf", - "elf.R_SPARC_REGISTER": "debug/elf", - "elf.R_SPARC_RELATIVE": "debug/elf", - "elf.R_SPARC_UA16": "debug/elf", - "elf.R_SPARC_UA32": "debug/elf", - "elf.R_SPARC_UA64": "debug/elf", - "elf.R_SPARC_WDISP16": "debug/elf", - "elf.R_SPARC_WDISP19": "debug/elf", - "elf.R_SPARC_WDISP22": "debug/elf", - "elf.R_SPARC_WDISP30": "debug/elf", - "elf.R_SPARC_WPLT30": "debug/elf", - "elf.R_SYM32": "debug/elf", - "elf.R_SYM64": "debug/elf", - "elf.R_TYPE32": "debug/elf", - "elf.R_TYPE64": "debug/elf", - "elf.R_X86_64": "debug/elf", - "elf.R_X86_64_16": "debug/elf", - "elf.R_X86_64_32": "debug/elf", - "elf.R_X86_64_32S": "debug/elf", - "elf.R_X86_64_64": "debug/elf", - "elf.R_X86_64_8": "debug/elf", - "elf.R_X86_64_COPY": "debug/elf", - "elf.R_X86_64_DTPMOD64": "debug/elf", - "elf.R_X86_64_DTPOFF32": "debug/elf", - "elf.R_X86_64_DTPOFF64": "debug/elf", - "elf.R_X86_64_GLOB_DAT": "debug/elf", - "elf.R_X86_64_GOT32": "debug/elf", - "elf.R_X86_64_GOTPCREL": "debug/elf", - "elf.R_X86_64_GOTTPOFF": "debug/elf", - "elf.R_X86_64_JMP_SLOT": "debug/elf", - "elf.R_X86_64_NONE": "debug/elf", - "elf.R_X86_64_PC16": "debug/elf", - "elf.R_X86_64_PC32": "debug/elf", - "elf.R_X86_64_PC8": "debug/elf", - "elf.R_X86_64_PLT32": "debug/elf", - "elf.R_X86_64_RELATIVE": "debug/elf", - "elf.R_X86_64_TLSGD": "debug/elf", - "elf.R_X86_64_TLSLD": "debug/elf", - "elf.R_X86_64_TPOFF32": "debug/elf", - "elf.R_X86_64_TPOFF64": "debug/elf", - "elf.Rel32": "debug/elf", - "elf.Rel64": "debug/elf", - "elf.Rela32": "debug/elf", - "elf.Rela64": "debug/elf", - "elf.SHF_ALLOC": "debug/elf", - "elf.SHF_EXECINSTR": "debug/elf", - "elf.SHF_GROUP": "debug/elf", - "elf.SHF_INFO_LINK": "debug/elf", - "elf.SHF_LINK_ORDER": "debug/elf", - "elf.SHF_MASKOS": "debug/elf", - "elf.SHF_MASKPROC": "debug/elf", - "elf.SHF_MERGE": "debug/elf", - "elf.SHF_OS_NONCONFORMING": "debug/elf", - "elf.SHF_STRINGS": "debug/elf", - "elf.SHF_TLS": "debug/elf", - "elf.SHF_WRITE": "debug/elf", - "elf.SHN_ABS": "debug/elf", - "elf.SHN_COMMON": "debug/elf", - "elf.SHN_HIOS": "debug/elf", - "elf.SHN_HIPROC": "debug/elf", - "elf.SHN_HIRESERVE": "debug/elf", - "elf.SHN_LOOS": "debug/elf", - "elf.SHN_LOPROC": "debug/elf", - "elf.SHN_LORESERVE": "debug/elf", - "elf.SHN_UNDEF": "debug/elf", - "elf.SHN_XINDEX": "debug/elf", - "elf.SHT_DYNAMIC": "debug/elf", - "elf.SHT_DYNSYM": "debug/elf", - "elf.SHT_FINI_ARRAY": "debug/elf", - "elf.SHT_GNU_ATTRIBUTES": "debug/elf", - "elf.SHT_GNU_HASH": "debug/elf", - "elf.SHT_GNU_LIBLIST": "debug/elf", - "elf.SHT_GNU_VERDEF": "debug/elf", - "elf.SHT_GNU_VERNEED": "debug/elf", - "elf.SHT_GNU_VERSYM": "debug/elf", - "elf.SHT_GROUP": "debug/elf", - "elf.SHT_HASH": "debug/elf", - "elf.SHT_HIOS": "debug/elf", - "elf.SHT_HIPROC": "debug/elf", - "elf.SHT_HIUSER": "debug/elf", - "elf.SHT_INIT_ARRAY": "debug/elf", - "elf.SHT_LOOS": "debug/elf", - "elf.SHT_LOPROC": "debug/elf", - "elf.SHT_LOUSER": "debug/elf", - "elf.SHT_NOBITS": "debug/elf", - "elf.SHT_NOTE": "debug/elf", - "elf.SHT_NULL": "debug/elf", - "elf.SHT_PREINIT_ARRAY": "debug/elf", - "elf.SHT_PROGBITS": "debug/elf", - "elf.SHT_REL": "debug/elf", - "elf.SHT_RELA": "debug/elf", - "elf.SHT_SHLIB": "debug/elf", - "elf.SHT_STRTAB": "debug/elf", - "elf.SHT_SYMTAB": "debug/elf", - "elf.SHT_SYMTAB_SHNDX": "debug/elf", - "elf.STB_GLOBAL": "debug/elf", - "elf.STB_HIOS": "debug/elf", - "elf.STB_HIPROC": "debug/elf", - "elf.STB_LOCAL": "debug/elf", - "elf.STB_LOOS": "debug/elf", - "elf.STB_LOPROC": "debug/elf", - "elf.STB_WEAK": "debug/elf", - "elf.STT_COMMON": "debug/elf", - "elf.STT_FILE": "debug/elf", - "elf.STT_FUNC": "debug/elf", - "elf.STT_HIOS": "debug/elf", - "elf.STT_HIPROC": "debug/elf", - "elf.STT_LOOS": "debug/elf", - "elf.STT_LOPROC": "debug/elf", - "elf.STT_NOTYPE": "debug/elf", - "elf.STT_OBJECT": "debug/elf", - "elf.STT_SECTION": "debug/elf", - "elf.STT_TLS": "debug/elf", - "elf.STV_DEFAULT": "debug/elf", - "elf.STV_HIDDEN": "debug/elf", - "elf.STV_INTERNAL": "debug/elf", - "elf.STV_PROTECTED": "debug/elf", - "elf.ST_BIND": "debug/elf", - "elf.ST_INFO": "debug/elf", - "elf.ST_TYPE": "debug/elf", - "elf.ST_VISIBILITY": "debug/elf", - "elf.Section": "debug/elf", - "elf.Section32": "debug/elf", - "elf.Section64": "debug/elf", - "elf.SectionFlag": "debug/elf", - "elf.SectionHeader": "debug/elf", - "elf.SectionIndex": "debug/elf", - "elf.SectionType": "debug/elf", - "elf.Sym32": "debug/elf", - "elf.Sym32Size": "debug/elf", - "elf.Sym64": "debug/elf", - "elf.Sym64Size": "debug/elf", - "elf.SymBind": "debug/elf", - "elf.SymType": "debug/elf", - "elf.SymVis": "debug/elf", - "elf.Symbol": "debug/elf", - "elf.Type": "debug/elf", - "elf.Version": "debug/elf", - "elliptic.Curve": "crypto/elliptic", - "elliptic.CurveParams": "crypto/elliptic", - "elliptic.GenerateKey": "crypto/elliptic", - "elliptic.Marshal": "crypto/elliptic", - "elliptic.P224": "crypto/elliptic", - "elliptic.P256": "crypto/elliptic", - "elliptic.P384": "crypto/elliptic", - "elliptic.P521": "crypto/elliptic", - "elliptic.Unmarshal": "crypto/elliptic", - "encoding.BinaryMarshaler": "encoding", - "encoding.BinaryUnmarshaler": "encoding", - "encoding.TextMarshaler": "encoding", - "encoding.TextUnmarshaler": "encoding", - "errors.New": "errors", - "exec.Cmd": "os/exec", - "exec.Command": "os/exec", - "exec.ErrNotFound": "os/exec", - "exec.Error": "os/exec", - "exec.ExitError": "os/exec", - "exec.LookPath": "os/exec", - "expvar.Do": "expvar", - "expvar.Float": "expvar", - "expvar.Func": "expvar", - "expvar.Get": "expvar", - "expvar.Int": "expvar", - "expvar.KeyValue": "expvar", - "expvar.Map": "expvar", - "expvar.NewFloat": "expvar", - "expvar.NewInt": "expvar", - "expvar.NewMap": "expvar", - "expvar.NewString": "expvar", - "expvar.Publish": "expvar", - "expvar.String": "expvar", - "expvar.Var": "expvar", - "fcgi.Serve": "net/http/fcgi", - "filepath.Abs": "path/filepath", - "filepath.Base": "path/filepath", - "filepath.Clean": "path/filepath", - "filepath.Dir": "path/filepath", - "filepath.ErrBadPattern": "path/filepath", - "filepath.EvalSymlinks": "path/filepath", - "filepath.Ext": "path/filepath", - "filepath.FromSlash": "path/filepath", - "filepath.Glob": "path/filepath", - "filepath.HasPrefix": "path/filepath", - "filepath.IsAbs": "path/filepath", - "filepath.Join": "path/filepath", - "filepath.ListSeparator": "path/filepath", - "filepath.Match": "path/filepath", - "filepath.Rel": "path/filepath", - "filepath.Separator": "path/filepath", - "filepath.SkipDir": "path/filepath", - "filepath.Split": "path/filepath", - "filepath.SplitList": "path/filepath", - "filepath.ToSlash": "path/filepath", - "filepath.VolumeName": "path/filepath", - "filepath.Walk": "path/filepath", - "filepath.WalkFunc": "path/filepath", - "flag.Arg": "flag", - "flag.Args": "flag", - "flag.Bool": "flag", - "flag.BoolVar": "flag", - "flag.CommandLine": "flag", - "flag.ContinueOnError": "flag", - "flag.Duration": "flag", - "flag.DurationVar": "flag", - "flag.ErrHelp": "flag", - "flag.ErrorHandling": "flag", - "flag.ExitOnError": "flag", - "flag.Flag": "flag", - "flag.FlagSet": "flag", - "flag.Float64": "flag", - "flag.Float64Var": "flag", - "flag.Getter": "flag", - "flag.Int": "flag", - "flag.Int64": "flag", - "flag.Int64Var": "flag", - "flag.IntVar": "flag", - "flag.Lookup": "flag", - "flag.NArg": "flag", - "flag.NFlag": "flag", - "flag.NewFlagSet": "flag", - "flag.PanicOnError": "flag", - "flag.Parse": "flag", - "flag.Parsed": "flag", - "flag.PrintDefaults": "flag", - "flag.Set": "flag", - "flag.String": "flag", - "flag.StringVar": "flag", - "flag.Uint": "flag", - "flag.Uint64": "flag", - "flag.Uint64Var": "flag", - "flag.UintVar": "flag", - "flag.Usage": "flag", - "flag.Value": "flag", - "flag.Var": "flag", - "flag.Visit": "flag", - "flag.VisitAll": "flag", - "flate.BestCompression": "compress/flate", - "flate.BestSpeed": "compress/flate", - "flate.CorruptInputError": "compress/flate", - "flate.DefaultCompression": "compress/flate", - "flate.InternalError": "compress/flate", - "flate.NewReader": "compress/flate", - "flate.NewReaderDict": "compress/flate", - "flate.NewWriter": "compress/flate", - "flate.NewWriterDict": "compress/flate", - "flate.NoCompression": "compress/flate", - "flate.ReadError": "compress/flate", - "flate.Reader": "compress/flate", - "flate.WriteError": "compress/flate", - "flate.Writer": "compress/flate", - "fmt.Errorf": "fmt", - "fmt.Formatter": "fmt", - "fmt.Fprint": "fmt", - "fmt.Fprintf": "fmt", - "fmt.Fprintln": "fmt", - "fmt.Fscan": "fmt", - "fmt.Fscanf": "fmt", - "fmt.Fscanln": "fmt", - "fmt.GoStringer": "fmt", - "fmt.Print": "fmt", - "fmt.Printf": "fmt", - "fmt.Println": "fmt", - "fmt.Scan": "fmt", - "fmt.ScanState": "fmt", - "fmt.Scanf": "fmt", - "fmt.Scanln": "fmt", - "fmt.Scanner": "fmt", - "fmt.Sprint": "fmt", - "fmt.Sprintf": "fmt", - "fmt.Sprintln": "fmt", - "fmt.Sscan": "fmt", - "fmt.Sscanf": "fmt", - "fmt.Sscanln": "fmt", - "fmt.State": "fmt", - "fmt.Stringer": "fmt", - "fnv.New32": "hash/fnv", - "fnv.New32a": "hash/fnv", - "fnv.New64": "hash/fnv", - "fnv.New64a": "hash/fnv", - "format.Node": "go/format", - "format.Source": "go/format", - "gif.Decode": "image/gif", - "gif.DecodeAll": "image/gif", - "gif.DecodeConfig": "image/gif", - "gif.Encode": "image/gif", - "gif.EncodeAll": "image/gif", - "gif.GIF": "image/gif", - "gif.Options": "image/gif", - "gob.CommonType": "encoding/gob", - "gob.Decoder": "encoding/gob", - "gob.Encoder": "encoding/gob", - "gob.GobDecoder": "encoding/gob", - "gob.GobEncoder": "encoding/gob", - "gob.NewDecoder": "encoding/gob", - "gob.NewEncoder": "encoding/gob", - "gob.Register": "encoding/gob", - "gob.RegisterName": "encoding/gob", - "gosym.DecodingError": "debug/gosym", - "gosym.Func": "debug/gosym", - "gosym.LineTable": "debug/gosym", - "gosym.NewLineTable": "debug/gosym", - "gosym.NewTable": "debug/gosym", - "gosym.Obj": "debug/gosym", - "gosym.Sym": "debug/gosym", - "gosym.Table": "debug/gosym", - "gosym.UnknownFileError": "debug/gosym", - "gosym.UnknownLineError": "debug/gosym", - "gzip.BestCompression": "compress/gzip", - "gzip.BestSpeed": "compress/gzip", - "gzip.DefaultCompression": "compress/gzip", - "gzip.ErrChecksum": "compress/gzip", - "gzip.ErrHeader": "compress/gzip", - "gzip.Header": "compress/gzip", - "gzip.NewReader": "compress/gzip", - "gzip.NewWriter": "compress/gzip", - "gzip.NewWriterLevel": "compress/gzip", - "gzip.NoCompression": "compress/gzip", - "gzip.Reader": "compress/gzip", - "gzip.Writer": "compress/gzip", - "hash.Hash": "hash", - "hash.Hash32": "hash", - "hash.Hash64": "hash", - "heap.Fix": "container/heap", - "heap.Init": "container/heap", - "heap.Interface": "container/heap", - "heap.Pop": "container/heap", - "heap.Push": "container/heap", - "heap.Remove": "container/heap", - "hex.Decode": "encoding/hex", - "hex.DecodeString": "encoding/hex", - "hex.DecodedLen": "encoding/hex", - "hex.Dump": "encoding/hex", - "hex.Dumper": "encoding/hex", - "hex.Encode": "encoding/hex", - "hex.EncodeToString": "encoding/hex", - "hex.EncodedLen": "encoding/hex", - "hex.ErrLength": "encoding/hex", - "hex.InvalidByteError": "encoding/hex", - "hmac.Equal": "crypto/hmac", - "hmac.New": "crypto/hmac", - "html.EscapeString": "html", - "html.UnescapeString": "html", - "http.CanonicalHeaderKey": "net/http", - "http.Client": "net/http", - "http.CloseNotifier": "net/http", - "http.Cookie": "net/http", - "http.CookieJar": "net/http", - "http.DefaultClient": "net/http", - "http.DefaultMaxHeaderBytes": "net/http", - "http.DefaultMaxIdleConnsPerHost": "net/http", - "http.DefaultServeMux": "net/http", - "http.DefaultTransport": "net/http", - "http.DetectContentType": "net/http", - "http.Dir": "net/http", - "http.ErrBodyNotAllowed": "net/http", - "http.ErrBodyReadAfterClose": "net/http", - "http.ErrContentLength": "net/http", - "http.ErrHandlerTimeout": "net/http", - "http.ErrHeaderTooLong": "net/http", - "http.ErrHijacked": "net/http", - "http.ErrLineTooLong": "net/http", - "http.ErrMissingBoundary": "net/http", - "http.ErrMissingContentLength": "net/http", - "http.ErrMissingFile": "net/http", - "http.ErrNoCookie": "net/http", - "http.ErrNoLocation": "net/http", - "http.ErrNotMultipart": "net/http", - "http.ErrNotSupported": "net/http", - "http.ErrShortBody": "net/http", - "http.ErrUnexpectedTrailer": "net/http", - "http.ErrWriteAfterFlush": "net/http", - "http.Error": "net/http", - "http.File": "net/http", - "http.FileServer": "net/http", - "http.FileSystem": "net/http", - "http.Flusher": "net/http", - "http.Get": "net/http", - "http.Handle": "net/http", - "http.HandleFunc": "net/http", - "http.Handler": "net/http", - "http.HandlerFunc": "net/http", - "http.Head": "net/http", - "http.Header": "net/http", - "http.Hijacker": "net/http", - "http.ListenAndServe": "net/http", - "http.ListenAndServeTLS": "net/http", - "http.MaxBytesReader": "net/http", - "http.NewFileTransport": "net/http", - "http.NewRequest": "net/http", - "http.NewServeMux": "net/http", - "http.NotFound": "net/http", - "http.NotFoundHandler": "net/http", - "http.ParseHTTPVersion": "net/http", - "http.ParseTime": "net/http", - "http.Post": "net/http", - "http.PostForm": "net/http", - "http.ProtocolError": "net/http", - "http.ProxyFromEnvironment": "net/http", - "http.ProxyURL": "net/http", - "http.ReadRequest": "net/http", - "http.ReadResponse": "net/http", - "http.Redirect": "net/http", - "http.RedirectHandler": "net/http", - "http.Request": "net/http", - "http.Response": "net/http", - "http.ResponseWriter": "net/http", - "http.RoundTripper": "net/http", - "http.Serve": "net/http", - "http.ServeContent": "net/http", - "http.ServeFile": "net/http", - "http.ServeMux": "net/http", - "http.Server": "net/http", - "http.SetCookie": "net/http", - "http.StatusAccepted": "net/http", - "http.StatusBadGateway": "net/http", - "http.StatusBadRequest": "net/http", - "http.StatusConflict": "net/http", - "http.StatusContinue": "net/http", - "http.StatusCreated": "net/http", - "http.StatusExpectationFailed": "net/http", - "http.StatusForbidden": "net/http", - "http.StatusFound": "net/http", - "http.StatusGatewayTimeout": "net/http", - "http.StatusGone": "net/http", - "http.StatusHTTPVersionNotSupported": "net/http", - "http.StatusInternalServerError": "net/http", - "http.StatusLengthRequired": "net/http", - "http.StatusMethodNotAllowed": "net/http", - "http.StatusMovedPermanently": "net/http", - "http.StatusMultipleChoices": "net/http", - "http.StatusNoContent": "net/http", - "http.StatusNonAuthoritativeInfo": "net/http", - "http.StatusNotAcceptable": "net/http", - "http.StatusNotFound": "net/http", - "http.StatusNotImplemented": "net/http", - "http.StatusNotModified": "net/http", - "http.StatusOK": "net/http", - "http.StatusPartialContent": "net/http", - "http.StatusPaymentRequired": "net/http", - "http.StatusPreconditionFailed": "net/http", - "http.StatusProxyAuthRequired": "net/http", - "http.StatusRequestEntityTooLarge": "net/http", - "http.StatusRequestTimeout": "net/http", - "http.StatusRequestURITooLong": "net/http", - "http.StatusRequestedRangeNotSatisfiable": "net/http", - "http.StatusResetContent": "net/http", - "http.StatusSeeOther": "net/http", - "http.StatusServiceUnavailable": "net/http", - "http.StatusSwitchingProtocols": "net/http", - "http.StatusTeapot": "net/http", - "http.StatusTemporaryRedirect": "net/http", - "http.StatusText": "net/http", - "http.StatusUnauthorized": "net/http", - "http.StatusUnsupportedMediaType": "net/http", - "http.StatusUseProxy": "net/http", - "http.StripPrefix": "net/http", - "http.TimeFormat": "net/http", - "http.TimeoutHandler": "net/http", - "http.Transport": "net/http", - "httptest.DefaultRemoteAddr": "net/http/httptest", - "httptest.NewRecorder": "net/http/httptest", - "httptest.NewServer": "net/http/httptest", - "httptest.NewTLSServer": "net/http/httptest", - "httptest.NewUnstartedServer": "net/http/httptest", - "httptest.ResponseRecorder": "net/http/httptest", - "httptest.Server": "net/http/httptest", - "httputil.ClientConn": "net/http/httputil", - "httputil.DumpRequest": "net/http/httputil", - "httputil.DumpRequestOut": "net/http/httputil", - "httputil.DumpResponse": "net/http/httputil", - "httputil.ErrClosed": "net/http/httputil", - "httputil.ErrLineTooLong": "net/http/httputil", - "httputil.ErrPersistEOF": "net/http/httputil", - "httputil.ErrPipeline": "net/http/httputil", - "httputil.NewChunkedReader": "net/http/httputil", - "httputil.NewChunkedWriter": "net/http/httputil", - "httputil.NewClientConn": "net/http/httputil", - "httputil.NewProxyClientConn": "net/http/httputil", - "httputil.NewServerConn": "net/http/httputil", - "httputil.NewSingleHostReverseProxy": "net/http/httputil", - "httputil.ReverseProxy": "net/http/httputil", - "httputil.ServerConn": "net/http/httputil", - "image.Alpha": "image", - "image.Alpha16": "image", - "image.Black": "image", - "image.Config": "image", - "image.Decode": "image", - "image.DecodeConfig": "image", - "image.ErrFormat": "image", - "image.Gray": "image", - "image.Gray16": "image", - "image.Image": "image", - "image.NRGBA": "image", - "image.NRGBA64": "image", - "image.NewAlpha": "image", - "image.NewAlpha16": "image", - "image.NewGray": "image", - "image.NewGray16": "image", - "image.NewNRGBA": "image", - "image.NewNRGBA64": "image", - "image.NewPaletted": "image", - "image.NewRGBA": "image", - "image.NewRGBA64": "image", - "image.NewUniform": "image", - "image.NewYCbCr": "image", - "image.Opaque": "image", - "image.Paletted": "image", - "image.PalettedImage": "image", - "image.Point": "image", - "image.Pt": "image", - "image.RGBA": "image", - "image.RGBA64": "image", - "image.Rect": "image", - "image.Rectangle": "image", - "image.RegisterFormat": "image", - "image.Transparent": "image", - "image.Uniform": "image", - "image.White": "image", - "image.YCbCr": "image", - "image.YCbCrSubsampleRatio": "image", - "image.YCbCrSubsampleRatio420": "image", - "image.YCbCrSubsampleRatio422": "image", - "image.YCbCrSubsampleRatio440": "image", - "image.YCbCrSubsampleRatio444": "image", - "image.ZP": "image", - "image.ZR": "image", - "io.ByteReader": "io", - "io.ByteScanner": "io", - "io.ByteWriter": "io", - "io.Closer": "io", - "io.Copy": "io", - "io.CopyN": "io", - "io.EOF": "io", - "io.ErrClosedPipe": "io", - "io.ErrNoProgress": "io", - "io.ErrShortBuffer": "io", - "io.ErrShortWrite": "io", - "io.ErrUnexpectedEOF": "io", - "io.LimitReader": "io", - "io.LimitedReader": "io", - "io.MultiReader": "io", - "io.MultiWriter": "io", - "io.NewSectionReader": "io", - "io.Pipe": "io", - "io.PipeReader": "io", - "io.PipeWriter": "io", - "io.ReadAtLeast": "io", - "io.ReadCloser": "io", - "io.ReadFull": "io", - "io.ReadSeeker": "io", - "io.ReadWriteCloser": "io", - "io.ReadWriteSeeker": "io", - "io.ReadWriter": "io", - "io.Reader": "io", - "io.ReaderAt": "io", - "io.ReaderFrom": "io", - "io.RuneReader": "io", - "io.RuneScanner": "io", - "io.SectionReader": "io", - "io.Seeker": "io", - "io.TeeReader": "io", - "io.WriteCloser": "io", - "io.WriteSeeker": "io", - "io.WriteString": "io", - "io.Writer": "io", - "io.WriterAt": "io", - "io.WriterTo": "io", - "iotest.DataErrReader": "testing/iotest", - "iotest.ErrTimeout": "testing/iotest", - "iotest.HalfReader": "testing/iotest", - "iotest.NewReadLogger": "testing/iotest", - "iotest.NewWriteLogger": "testing/iotest", - "iotest.OneByteReader": "testing/iotest", - "iotest.TimeoutReader": "testing/iotest", - "iotest.TruncateWriter": "testing/iotest", - "ioutil.Discard": "io/ioutil", - "ioutil.NopCloser": "io/ioutil", - "ioutil.ReadAll": "io/ioutil", - "ioutil.ReadDir": "io/ioutil", - "ioutil.ReadFile": "io/ioutil", - "ioutil.TempDir": "io/ioutil", - "ioutil.TempFile": "io/ioutil", - "ioutil.WriteFile": "io/ioutil", - "jpeg.Decode": "image/jpeg", - "jpeg.DecodeConfig": "image/jpeg", - "jpeg.DefaultQuality": "image/jpeg", - "jpeg.Encode": "image/jpeg", - "jpeg.FormatError": "image/jpeg", - "jpeg.Options": "image/jpeg", - "jpeg.Reader": "image/jpeg", - "jpeg.UnsupportedError": "image/jpeg", - "json.Compact": "encoding/json", - "json.Decoder": "encoding/json", - "json.Encoder": "encoding/json", - "json.HTMLEscape": "encoding/json", - "json.Indent": "encoding/json", - "json.InvalidUTF8Error": "encoding/json", - "json.InvalidUnmarshalError": "encoding/json", - "json.Marshal": "encoding/json", - "json.MarshalIndent": "encoding/json", - "json.Marshaler": "encoding/json", - "json.MarshalerError": "encoding/json", - "json.NewDecoder": "encoding/json", - "json.NewEncoder": "encoding/json", - "json.Number": "encoding/json", - "json.RawMessage": "encoding/json", - "json.SyntaxError": "encoding/json", - "json.Unmarshal": "encoding/json", - "json.UnmarshalFieldError": "encoding/json", - "json.UnmarshalTypeError": "encoding/json", - "json.Unmarshaler": "encoding/json", - "json.UnsupportedTypeError": "encoding/json", - "json.UnsupportedValueError": "encoding/json", - "jsonrpc.Dial": "net/rpc/jsonrpc", - "jsonrpc.NewClient": "net/rpc/jsonrpc", - "jsonrpc.NewClientCodec": "net/rpc/jsonrpc", - "jsonrpc.NewServerCodec": "net/rpc/jsonrpc", - "jsonrpc.ServeConn": "net/rpc/jsonrpc", - "list.Element": "container/list", - "list.List": "container/list", - "list.New": "container/list", - "log.Fatal": "log", - "log.Fatalf": "log", - "log.Fatalln": "log", - "log.Flags": "log", - "log.Ldate": "log", - "log.Llongfile": "log", - "log.Lmicroseconds": "log", - "log.Logger": "log", - "log.Lshortfile": "log", - "log.LstdFlags": "log", - "log.Ltime": "log", - "log.New": "log", - "log.Panic": "log", - "log.Panicf": "log", - "log.Panicln": "log", - "log.Prefix": "log", - "log.Print": "log", - "log.Printf": "log", - "log.Println": "log", - "log.SetFlags": "log", - "log.SetOutput": "log", - "log.SetPrefix": "log", - "lzw.LSB": "compress/lzw", - "lzw.MSB": "compress/lzw", - "lzw.NewReader": "compress/lzw", - "lzw.NewWriter": "compress/lzw", - "lzw.Order": "compress/lzw", - "macho.Cpu": "debug/macho", - "macho.Cpu386": "debug/macho", - "macho.CpuAmd64": "debug/macho", - "macho.Dylib": "debug/macho", - "macho.DylibCmd": "debug/macho", - "macho.Dysymtab": "debug/macho", - "macho.DysymtabCmd": "debug/macho", - "macho.File": "debug/macho", - "macho.FileHeader": "debug/macho", - "macho.FormatError": "debug/macho", - "macho.Load": "debug/macho", - "macho.LoadBytes": "debug/macho", - "macho.LoadCmd": "debug/macho", - "macho.LoadCmdDylib": "debug/macho", - "macho.LoadCmdDylinker": "debug/macho", - "macho.LoadCmdDysymtab": "debug/macho", - "macho.LoadCmdSegment": "debug/macho", - "macho.LoadCmdSegment64": "debug/macho", - "macho.LoadCmdSymtab": "debug/macho", - "macho.LoadCmdThread": "debug/macho", - "macho.LoadCmdUnixThread": "debug/macho", - "macho.Magic32": "debug/macho", - "macho.Magic64": "debug/macho", - "macho.NewFile": "debug/macho", - "macho.Nlist32": "debug/macho", - "macho.Nlist64": "debug/macho", - "macho.Open": "debug/macho", - "macho.Regs386": "debug/macho", - "macho.RegsAMD64": "debug/macho", - "macho.Section": "debug/macho", - "macho.Section32": "debug/macho", - "macho.Section64": "debug/macho", - "macho.SectionHeader": "debug/macho", - "macho.Segment": "debug/macho", - "macho.Segment32": "debug/macho", - "macho.Segment64": "debug/macho", - "macho.SegmentHeader": "debug/macho", - "macho.Symbol": "debug/macho", - "macho.Symtab": "debug/macho", - "macho.SymtabCmd": "debug/macho", - "macho.Thread": "debug/macho", - "macho.Type": "debug/macho", - "macho.TypeExec": "debug/macho", - "macho.TypeObj": "debug/macho", - "mail.Address": "net/mail", - "mail.ErrHeaderNotPresent": "net/mail", - "mail.Header": "net/mail", - "mail.Message": "net/mail", - "mail.ParseAddress": "net/mail", - "mail.ParseAddressList": "net/mail", - "mail.ReadMessage": "net/mail", - "math.Abs": "math", - "math.Acos": "math", - "math.Acosh": "math", - "math.Asin": "math", - "math.Asinh": "math", - "math.Atan": "math", - "math.Atan2": "math", - "math.Atanh": "math", - "math.Cbrt": "math", - "math.Ceil": "math", - "math.Copysign": "math", - "math.Cos": "math", - "math.Cosh": "math", - "math.Dim": "math", - "math.E": "math", - "math.Erf": "math", - "math.Erfc": "math", - "math.Exp": "math", - "math.Exp2": "math", - "math.Expm1": "math", - "math.Float32bits": "math", - "math.Float32frombits": "math", - "math.Float64bits": "math", - "math.Float64frombits": "math", - "math.Floor": "math", - "math.Frexp": "math", - "math.Gamma": "math", - "math.Hypot": "math", - "math.Ilogb": "math", - "math.Inf": "math", - "math.IsInf": "math", - "math.IsNaN": "math", - "math.J0": "math", - "math.J1": "math", - "math.Jn": "math", - "math.Ldexp": "math", - "math.Lgamma": "math", - "math.Ln10": "math", - "math.Ln2": "math", - "math.Log": "math", - "math.Log10": "math", - "math.Log10E": "math", - "math.Log1p": "math", - "math.Log2": "math", - "math.Log2E": "math", - "math.Logb": "math", - "math.Max": "math", - "math.MaxFloat32": "math", - "math.MaxFloat64": "math", - "math.MaxInt16": "math", - "math.MaxInt32": "math", - "math.MaxInt64": "math", - "math.MaxInt8": "math", - "math.MaxUint16": "math", - "math.MaxUint32": "math", - "math.MaxUint64": "math", - "math.MaxUint8": "math", - "math.Min": "math", - "math.MinInt16": "math", - "math.MinInt32": "math", - "math.MinInt64": "math", - "math.MinInt8": "math", - "math.Mod": "math", - "math.Modf": "math", - "math.NaN": "math", - "math.Nextafter": "math", - "math.Phi": "math", - "math.Pi": "math", - "math.Pow": "math", - "math.Pow10": "math", - "math.Remainder": "math", - "math.Signbit": "math", - "math.Sin": "math", - "math.Sincos": "math", - "math.Sinh": "math", - "math.SmallestNonzeroFloat32": "math", - "math.SmallestNonzeroFloat64": "math", - "math.Sqrt": "math", - "math.Sqrt2": "math", - "math.SqrtE": "math", - "math.SqrtPhi": "math", - "math.SqrtPi": "math", - "math.Tan": "math", - "math.Tanh": "math", - "math.Trunc": "math", - "math.Y0": "math", - "math.Y1": "math", - "math.Yn": "math", - "md5.BlockSize": "crypto/md5", - "md5.New": "crypto/md5", - "md5.Size": "crypto/md5", - "md5.Sum": "crypto/md5", - "mime.AddExtensionType": "mime", - "mime.FormatMediaType": "mime", - "mime.ParseMediaType": "mime", - "mime.TypeByExtension": "mime", - "multipart.File": "mime/multipart", - "multipart.FileHeader": "mime/multipart", - "multipart.Form": "mime/multipart", - "multipart.NewReader": "mime/multipart", - "multipart.NewWriter": "mime/multipart", - "multipart.Part": "mime/multipart", - "multipart.Reader": "mime/multipart", - "multipart.Writer": "mime/multipart", - "net.Addr": "net", - "net.AddrError": "net", - "net.CIDRMask": "net", - "net.Conn": "net", - "net.DNSConfigError": "net", - "net.DNSError": "net", - "net.Dial": "net", - "net.DialIP": "net", - "net.DialTCP": "net", - "net.DialTimeout": "net", - "net.DialUDP": "net", - "net.DialUnix": "net", - "net.Dialer": "net", - "net.ErrWriteToConnected": "net", - "net.Error": "net", - "net.FileConn": "net", - "net.FileListener": "net", - "net.FilePacketConn": "net", - "net.FlagBroadcast": "net", - "net.FlagLoopback": "net", - "net.FlagMulticast": "net", - "net.FlagPointToPoint": "net", - "net.FlagUp": "net", - "net.Flags": "net", - "net.HardwareAddr": "net", - "net.IP": "net", - "net.IPAddr": "net", - "net.IPConn": "net", - "net.IPMask": "net", - "net.IPNet": "net", - "net.IPv4": "net", - "net.IPv4Mask": "net", - "net.IPv4allrouter": "net", - "net.IPv4allsys": "net", - "net.IPv4bcast": "net", - "net.IPv4len": "net", - "net.IPv4zero": "net", - "net.IPv6interfacelocalallnodes": "net", - "net.IPv6len": "net", - "net.IPv6linklocalallnodes": "net", - "net.IPv6linklocalallrouters": "net", - "net.IPv6loopback": "net", - "net.IPv6unspecified": "net", - "net.IPv6zero": "net", - "net.Interface": "net", - "net.InterfaceAddrs": "net", - "net.InterfaceByIndex": "net", - "net.InterfaceByName": "net", - "net.Interfaces": "net", - "net.InvalidAddrError": "net", - "net.JoinHostPort": "net", - "net.Listen": "net", - "net.ListenIP": "net", - "net.ListenMulticastUDP": "net", - "net.ListenPacket": "net", - "net.ListenTCP": "net", - "net.ListenUDP": "net", - "net.ListenUnix": "net", - "net.ListenUnixgram": "net", - "net.Listener": "net", - "net.LookupAddr": "net", - "net.LookupCNAME": "net", - "net.LookupHost": "net", - "net.LookupIP": "net", - "net.LookupMX": "net", - "net.LookupNS": "net", - "net.LookupPort": "net", - "net.LookupSRV": "net", - "net.LookupTXT": "net", - "net.MX": "net", - "net.NS": "net", - "net.OpError": "net", - "net.PacketConn": "net", - "net.ParseCIDR": "net", - "net.ParseError": "net", - "net.ParseIP": "net", - "net.ParseMAC": "net", - "net.Pipe": "net", - "net.ResolveIPAddr": "net", - "net.ResolveTCPAddr": "net", - "net.ResolveUDPAddr": "net", - "net.ResolveUnixAddr": "net", - "net.SRV": "net", - "net.SplitHostPort": "net", - "net.TCPAddr": "net", - "net.TCPConn": "net", - "net.TCPListener": "net", - "net.UDPAddr": "net", - "net.UDPConn": "net", - "net.UnixAddr": "net", - "net.UnixConn": "net", - "net.UnixListener": "net", - "net.UnknownNetworkError": "net", - "os.Args": "os", - "os.Chdir": "os", - "os.Chmod": "os", - "os.Chown": "os", - "os.Chtimes": "os", - "os.Clearenv": "os", - "os.Create": "os", - "os.DevNull": "os", - "os.Environ": "os", - "os.ErrExist": "os", - "os.ErrInvalid": "os", - "os.ErrNotExist": "os", - "os.ErrPermission": "os", - "os.Exit": "os", - "os.Expand": "os", - "os.ExpandEnv": "os", - "os.File": "os", - "os.FileInfo": "os", - "os.FileMode": "os", - "os.FindProcess": "os", - "os.Getegid": "os", - "os.Getenv": "os", - "os.Geteuid": "os", - "os.Getgid": "os", - "os.Getgroups": "os", - "os.Getpagesize": "os", - "os.Getpid": "os", - "os.Getppid": "os", - "os.Getuid": "os", - "os.Getwd": "os", - "os.Hostname": "os", - "os.Interrupt": "os", - "os.IsExist": "os", - "os.IsNotExist": "os", - "os.IsPathSeparator": "os", - "os.IsPermission": "os", - "os.Kill": "os", - "os.Lchown": "os", - "os.Link": "os", - "os.LinkError": "os", - "os.Lstat": "os", - "os.Mkdir": "os", - "os.MkdirAll": "os", - "os.ModeAppend": "os", - "os.ModeCharDevice": "os", - "os.ModeDevice": "os", - "os.ModeDir": "os", - "os.ModeExclusive": "os", - "os.ModeNamedPipe": "os", - "os.ModePerm": "os", - "os.ModeSetgid": "os", - "os.ModeSetuid": "os", - "os.ModeSocket": "os", - "os.ModeSticky": "os", - "os.ModeSymlink": "os", - "os.ModeTemporary": "os", - "os.ModeType": "os", - "os.NewFile": "os", - "os.NewSyscallError": "os", - "os.O_APPEND": "os", - "os.O_CREATE": "os", - "os.O_EXCL": "os", - "os.O_RDONLY": "os", - "os.O_RDWR": "os", - "os.O_SYNC": "os", - "os.O_TRUNC": "os", - "os.O_WRONLY": "os", - "os.Open": "os", - "os.OpenFile": "os", - "os.PathError": "os", - "os.PathListSeparator": "os", - "os.PathSeparator": "os", - "os.Pipe": "os", - "os.ProcAttr": "os", - "os.Process": "os", - "os.ProcessState": "os", - "os.Readlink": "os", - "os.Remove": "os", - "os.RemoveAll": "os", - "os.Rename": "os", - "os.SEEK_CUR": "os", - "os.SEEK_END": "os", - "os.SEEK_SET": "os", - "os.SameFile": "os", - "os.Setenv": "os", - "os.Signal": "os", - "os.StartProcess": "os", - "os.Stat": "os", - "os.Stderr": "os", - "os.Stdin": "os", - "os.Stdout": "os", - "os.Symlink": "os", - "os.SyscallError": "os", - "os.TempDir": "os", - "os.Truncate": "os", - "palette.Plan9": "image/color/palette", - "palette.WebSafe": "image/color/palette", - "parse.ActionNode": "text/template/parse", - "parse.BoolNode": "text/template/parse", - "parse.BranchNode": "text/template/parse", - "parse.ChainNode": "text/template/parse", - "parse.CommandNode": "text/template/parse", - "parse.DotNode": "text/template/parse", - "parse.FieldNode": "text/template/parse", - "parse.IdentifierNode": "text/template/parse", - "parse.IfNode": "text/template/parse", - "parse.IsEmptyTree": "text/template/parse", - "parse.ListNode": "text/template/parse", - "parse.New": "text/template/parse", - "parse.NewIdentifier": "text/template/parse", - "parse.NilNode": "text/template/parse", - "parse.Node": "text/template/parse", - "parse.NodeAction": "text/template/parse", - "parse.NodeBool": "text/template/parse", - "parse.NodeChain": "text/template/parse", - "parse.NodeCommand": "text/template/parse", - "parse.NodeDot": "text/template/parse", - "parse.NodeField": "text/template/parse", - "parse.NodeIdentifier": "text/template/parse", - "parse.NodeIf": "text/template/parse", - "parse.NodeList": "text/template/parse", - "parse.NodeNil": "text/template/parse", - "parse.NodeNumber": "text/template/parse", - "parse.NodePipe": "text/template/parse", - "parse.NodeRange": "text/template/parse", - "parse.NodeString": "text/template/parse", - "parse.NodeTemplate": "text/template/parse", - "parse.NodeText": "text/template/parse", - "parse.NodeType": "text/template/parse", - "parse.NodeVariable": "text/template/parse", - "parse.NodeWith": "text/template/parse", - "parse.NumberNode": "text/template/parse", - "parse.Parse": "text/template/parse", - "parse.PipeNode": "text/template/parse", - "parse.Pos": "text/template/parse", - "parse.RangeNode": "text/template/parse", - "parse.StringNode": "text/template/parse", - "parse.TemplateNode": "text/template/parse", - "parse.TextNode": "text/template/parse", - "parse.Tree": "text/template/parse", - "parse.VariableNode": "text/template/parse", - "parse.WithNode": "text/template/parse", - "parser.AllErrors": "go/parser", - "parser.DeclarationErrors": "go/parser", - "parser.ImportsOnly": "go/parser", - "parser.Mode": "go/parser", - "parser.PackageClauseOnly": "go/parser", - "parser.ParseComments": "go/parser", - "parser.ParseDir": "go/parser", - "parser.ParseExpr": "go/parser", - "parser.ParseFile": "go/parser", - "parser.SpuriousErrors": "go/parser", - "parser.Trace": "go/parser", - "path.Base": "path", - "path.Clean": "path", - "path.Dir": "path", - "path.ErrBadPattern": "path", - "path.Ext": "path", - "path.IsAbs": "path", - "path.Join": "path", - "path.Match": "path", - "path.Split": "path", - "pe.COFFSymbol": "debug/pe", - "pe.COFFSymbolSize": "debug/pe", - "pe.File": "debug/pe", - "pe.FileHeader": "debug/pe", - "pe.FormatError": "debug/pe", - "pe.IMAGE_FILE_MACHINE_AM33": "debug/pe", - "pe.IMAGE_FILE_MACHINE_AMD64": "debug/pe", - "pe.IMAGE_FILE_MACHINE_ARM": "debug/pe", - "pe.IMAGE_FILE_MACHINE_EBC": "debug/pe", - "pe.IMAGE_FILE_MACHINE_I386": "debug/pe", - "pe.IMAGE_FILE_MACHINE_IA64": "debug/pe", - "pe.IMAGE_FILE_MACHINE_M32R": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPS16": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPSFPU": "debug/pe", - "pe.IMAGE_FILE_MACHINE_MIPSFPU16": "debug/pe", - "pe.IMAGE_FILE_MACHINE_POWERPC": "debug/pe", - "pe.IMAGE_FILE_MACHINE_POWERPCFP": "debug/pe", - "pe.IMAGE_FILE_MACHINE_R4000": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH3": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH3DSP": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH4": "debug/pe", - "pe.IMAGE_FILE_MACHINE_SH5": "debug/pe", - "pe.IMAGE_FILE_MACHINE_THUMB": "debug/pe", - "pe.IMAGE_FILE_MACHINE_UNKNOWN": "debug/pe", - "pe.IMAGE_FILE_MACHINE_WCEMIPSV2": "debug/pe", - "pe.ImportDirectory": "debug/pe", - "pe.NewFile": "debug/pe", - "pe.Open": "debug/pe", - "pe.Section": "debug/pe", - "pe.SectionHeader": "debug/pe", - "pe.SectionHeader32": "debug/pe", - "pe.Symbol": "debug/pe", - "pem.Block": "encoding/pem", - "pem.Decode": "encoding/pem", - "pem.Encode": "encoding/pem", - "pem.EncodeToMemory": "encoding/pem", - "pkix.AlgorithmIdentifier": "crypto/x509/pkix", - "pkix.AttributeTypeAndValue": "crypto/x509/pkix", - "pkix.CertificateList": "crypto/x509/pkix", - "pkix.Extension": "crypto/x509/pkix", - "pkix.Name": "crypto/x509/pkix", - "pkix.RDNSequence": "crypto/x509/pkix", - "pkix.RelativeDistinguishedNameSET": "crypto/x509/pkix", - "pkix.RevokedCertificate": "crypto/x509/pkix", - "pkix.TBSCertificateList": "crypto/x509/pkix", - "png.Decode": "image/png", - "png.DecodeConfig": "image/png", - "png.Encode": "image/png", - "png.FormatError": "image/png", - "png.UnsupportedError": "image/png", - "pprof.Cmdline": "net/http/pprof", - "pprof.Handler": "net/http/pprof", - "pprof.Index": "net/http/pprof", - "pprof.Lookup": "runtime/pprof", - "pprof.NewProfile": "runtime/pprof", - // "pprof.Profile" is ambiguous - "pprof.Profiles": "runtime/pprof", - "pprof.StartCPUProfile": "runtime/pprof", - "pprof.StopCPUProfile": "runtime/pprof", - "pprof.Symbol": "net/http/pprof", - "pprof.WriteHeapProfile": "runtime/pprof", - "printer.CommentedNode": "go/printer", - "printer.Config": "go/printer", - "printer.Fprint": "go/printer", - "printer.Mode": "go/printer", - "printer.RawFormat": "go/printer", - "printer.SourcePos": "go/printer", - "printer.TabIndent": "go/printer", - "printer.UseSpaces": "go/printer", - "quick.Check": "testing/quick", - "quick.CheckEqual": "testing/quick", - "quick.CheckEqualError": "testing/quick", - "quick.CheckError": "testing/quick", - "quick.Config": "testing/quick", - "quick.Generator": "testing/quick", - "quick.SetupError": "testing/quick", - "quick.Value": "testing/quick", - "rand.ExpFloat64": "math/rand", - "rand.Float32": "math/rand", - "rand.Float64": "math/rand", - // "rand.Int" is ambiguous - "rand.Int31": "math/rand", - "rand.Int31n": "math/rand", - "rand.Int63": "math/rand", - "rand.Int63n": "math/rand", - "rand.Intn": "math/rand", - "rand.New": "math/rand", - "rand.NewSource": "math/rand", - "rand.NewZipf": "math/rand", - "rand.NormFloat64": "math/rand", - "rand.Perm": "math/rand", - "rand.Prime": "crypto/rand", - "rand.Rand": "math/rand", - "rand.Read": "crypto/rand", - "rand.Reader": "crypto/rand", - "rand.Seed": "math/rand", - "rand.Source": "math/rand", - "rand.Uint32": "math/rand", - "rand.Zipf": "math/rand", - "rc4.Cipher": "crypto/rc4", - "rc4.KeySizeError": "crypto/rc4", - "rc4.NewCipher": "crypto/rc4", - "reflect.Append": "reflect", - "reflect.AppendSlice": "reflect", - "reflect.Array": "reflect", - "reflect.Bool": "reflect", - "reflect.BothDir": "reflect", - "reflect.Chan": "reflect", - "reflect.ChanDir": "reflect", - "reflect.ChanOf": "reflect", - "reflect.Complex128": "reflect", - "reflect.Complex64": "reflect", - "reflect.Copy": "reflect", - "reflect.DeepEqual": "reflect", - "reflect.Float32": "reflect", - "reflect.Float64": "reflect", - "reflect.Func": "reflect", - "reflect.Indirect": "reflect", - "reflect.Int": "reflect", - "reflect.Int16": "reflect", - "reflect.Int32": "reflect", - "reflect.Int64": "reflect", - "reflect.Int8": "reflect", - "reflect.Interface": "reflect", - "reflect.Invalid": "reflect", - "reflect.Kind": "reflect", - "reflect.MakeChan": "reflect", - "reflect.MakeFunc": "reflect", - "reflect.MakeMap": "reflect", - "reflect.MakeSlice": "reflect", - "reflect.Map": "reflect", - "reflect.MapOf": "reflect", - "reflect.Method": "reflect", - "reflect.New": "reflect", - "reflect.NewAt": "reflect", - "reflect.Ptr": "reflect", - "reflect.PtrTo": "reflect", - "reflect.RecvDir": "reflect", - "reflect.Select": "reflect", - "reflect.SelectCase": "reflect", - "reflect.SelectDefault": "reflect", - "reflect.SelectDir": "reflect", - "reflect.SelectRecv": "reflect", - "reflect.SelectSend": "reflect", - "reflect.SendDir": "reflect", - "reflect.Slice": "reflect", - "reflect.SliceHeader": "reflect", - "reflect.SliceOf": "reflect", - "reflect.String": "reflect", - "reflect.StringHeader": "reflect", - "reflect.Struct": "reflect", - "reflect.StructField": "reflect", - "reflect.StructTag": "reflect", - "reflect.TypeOf": "reflect", - "reflect.Uint": "reflect", - "reflect.Uint16": "reflect", - "reflect.Uint32": "reflect", - "reflect.Uint64": "reflect", - "reflect.Uint8": "reflect", - "reflect.Uintptr": "reflect", - "reflect.UnsafePointer": "reflect", - "reflect.Value": "reflect", - "reflect.ValueError": "reflect", - "reflect.ValueOf": "reflect", - "reflect.Zero": "reflect", - "regexp.Compile": "regexp", - "regexp.CompilePOSIX": "regexp", - "regexp.Match": "regexp", - "regexp.MatchReader": "regexp", - "regexp.MatchString": "regexp", - "regexp.MustCompile": "regexp", - "regexp.MustCompilePOSIX": "regexp", - "regexp.QuoteMeta": "regexp", - "regexp.Regexp": "regexp", - "ring.New": "container/ring", - "ring.Ring": "container/ring", - "rpc.Accept": "net/rpc", - "rpc.Call": "net/rpc", - "rpc.Client": "net/rpc", - "rpc.ClientCodec": "net/rpc", - "rpc.DefaultDebugPath": "net/rpc", - "rpc.DefaultRPCPath": "net/rpc", - "rpc.DefaultServer": "net/rpc", - "rpc.Dial": "net/rpc", - "rpc.DialHTTP": "net/rpc", - "rpc.DialHTTPPath": "net/rpc", - "rpc.ErrShutdown": "net/rpc", - "rpc.HandleHTTP": "net/rpc", - "rpc.NewClient": "net/rpc", - "rpc.NewClientWithCodec": "net/rpc", - "rpc.NewServer": "net/rpc", - "rpc.Register": "net/rpc", - "rpc.RegisterName": "net/rpc", - "rpc.Request": "net/rpc", - "rpc.Response": "net/rpc", - "rpc.ServeCodec": "net/rpc", - "rpc.ServeConn": "net/rpc", - "rpc.ServeRequest": "net/rpc", - "rpc.Server": "net/rpc", - "rpc.ServerCodec": "net/rpc", - "rpc.ServerError": "net/rpc", - "rsa.CRTValue": "crypto/rsa", - "rsa.DecryptOAEP": "crypto/rsa", - "rsa.DecryptPKCS1v15": "crypto/rsa", - "rsa.DecryptPKCS1v15SessionKey": "crypto/rsa", - "rsa.EncryptOAEP": "crypto/rsa", - "rsa.EncryptPKCS1v15": "crypto/rsa", - "rsa.ErrDecryption": "crypto/rsa", - "rsa.ErrMessageTooLong": "crypto/rsa", - "rsa.ErrVerification": "crypto/rsa", - "rsa.GenerateKey": "crypto/rsa", - "rsa.GenerateMultiPrimeKey": "crypto/rsa", - "rsa.PSSOptions": "crypto/rsa", - "rsa.PSSSaltLengthAuto": "crypto/rsa", - "rsa.PSSSaltLengthEqualsHash": "crypto/rsa", - "rsa.PrecomputedValues": "crypto/rsa", - "rsa.PrivateKey": "crypto/rsa", - "rsa.PublicKey": "crypto/rsa", - "rsa.SignPKCS1v15": "crypto/rsa", - "rsa.SignPSS": "crypto/rsa", - "rsa.VerifyPKCS1v15": "crypto/rsa", - "rsa.VerifyPSS": "crypto/rsa", - "runtime.BlockProfile": "runtime", - "runtime.BlockProfileRecord": "runtime", - "runtime.Breakpoint": "runtime", - "runtime.CPUProfile": "runtime", - "runtime.Caller": "runtime", - "runtime.Callers": "runtime", - "runtime.Compiler": "runtime", - "runtime.Error": "runtime", - "runtime.Func": "runtime", - "runtime.FuncForPC": "runtime", - "runtime.GC": "runtime", - "runtime.GOARCH": "runtime", - "runtime.GOMAXPROCS": "runtime", - "runtime.GOOS": "runtime", - "runtime.GOROOT": "runtime", - "runtime.Goexit": "runtime", - "runtime.GoroutineProfile": "runtime", - "runtime.Gosched": "runtime", - "runtime.LockOSThread": "runtime", - "runtime.MemProfile": "runtime", - "runtime.MemProfileRate": "runtime", - "runtime.MemProfileRecord": "runtime", - "runtime.MemStats": "runtime", - "runtime.NumCPU": "runtime", - "runtime.NumCgoCall": "runtime", - "runtime.NumGoroutine": "runtime", - "runtime.ReadMemStats": "runtime", - "runtime.SetBlockProfileRate": "runtime", - "runtime.SetCPUProfileRate": "runtime", - "runtime.SetFinalizer": "runtime", - "runtime.Stack": "runtime", - "runtime.StackRecord": "runtime", - "runtime.ThreadCreateProfile": "runtime", - "runtime.TypeAssertionError": "runtime", - "runtime.UnlockOSThread": "runtime", - "runtime.Version": "runtime", - "scanner.Char": "text/scanner", - "scanner.Comment": "text/scanner", - "scanner.EOF": "text/scanner", - "scanner.Error": "go/scanner", - "scanner.ErrorHandler": "go/scanner", - "scanner.ErrorList": "go/scanner", - "scanner.Float": "text/scanner", - "scanner.GoTokens": "text/scanner", - "scanner.GoWhitespace": "text/scanner", - "scanner.Ident": "text/scanner", - "scanner.Int": "text/scanner", - "scanner.Mode": "go/scanner", - "scanner.Position": "text/scanner", - "scanner.PrintError": "go/scanner", - "scanner.RawString": "text/scanner", - "scanner.ScanChars": "text/scanner", - // "scanner.ScanComments" is ambiguous - "scanner.ScanFloats": "text/scanner", - "scanner.ScanIdents": "text/scanner", - "scanner.ScanInts": "text/scanner", - "scanner.ScanRawStrings": "text/scanner", - "scanner.ScanStrings": "text/scanner", - // "scanner.Scanner" is ambiguous - "scanner.SkipComments": "text/scanner", - "scanner.String": "text/scanner", - "scanner.TokenString": "text/scanner", - "sha1.BlockSize": "crypto/sha1", - "sha1.New": "crypto/sha1", - "sha1.Size": "crypto/sha1", - "sha1.Sum": "crypto/sha1", - "sha256.BlockSize": "crypto/sha256", - "sha256.New": "crypto/sha256", - "sha256.New224": "crypto/sha256", - "sha256.Size": "crypto/sha256", - "sha256.Size224": "crypto/sha256", - "sha256.Sum224": "crypto/sha256", - "sha256.Sum256": "crypto/sha256", - "sha512.BlockSize": "crypto/sha512", - "sha512.New": "crypto/sha512", - "sha512.New384": "crypto/sha512", - "sha512.Size": "crypto/sha512", - "sha512.Size384": "crypto/sha512", - "sha512.Sum384": "crypto/sha512", - "sha512.Sum512": "crypto/sha512", - "signal.Notify": "os/signal", - "signal.Stop": "os/signal", - "smtp.Auth": "net/smtp", - "smtp.CRAMMD5Auth": "net/smtp", - "smtp.Client": "net/smtp", - "smtp.Dial": "net/smtp", - "smtp.NewClient": "net/smtp", - "smtp.PlainAuth": "net/smtp", - "smtp.SendMail": "net/smtp", - "smtp.ServerInfo": "net/smtp", - "sort.Float64Slice": "sort", - "sort.Float64s": "sort", - "sort.Float64sAreSorted": "sort", - "sort.IntSlice": "sort", - "sort.Interface": "sort", - "sort.Ints": "sort", - "sort.IntsAreSorted": "sort", - "sort.IsSorted": "sort", - "sort.Reverse": "sort", - "sort.Search": "sort", - "sort.SearchFloat64s": "sort", - "sort.SearchInts": "sort", - "sort.SearchStrings": "sort", - "sort.Sort": "sort", - "sort.Stable": "sort", - "sort.StringSlice": "sort", - "sort.Strings": "sort", - "sort.StringsAreSorted": "sort", - "sql.DB": "database/sql", - "sql.ErrNoRows": "database/sql", - "sql.ErrTxDone": "database/sql", - "sql.NullBool": "database/sql", - "sql.NullFloat64": "database/sql", - "sql.NullInt64": "database/sql", - "sql.NullString": "database/sql", - "sql.Open": "database/sql", - "sql.RawBytes": "database/sql", - "sql.Register": "database/sql", - "sql.Result": "database/sql", - "sql.Row": "database/sql", - "sql.Rows": "database/sql", - "sql.Scanner": "database/sql", - "sql.Stmt": "database/sql", - "sql.Tx": "database/sql", - "strconv.AppendBool": "strconv", - "strconv.AppendFloat": "strconv", - "strconv.AppendInt": "strconv", - "strconv.AppendQuote": "strconv", - "strconv.AppendQuoteRune": "strconv", - "strconv.AppendQuoteRuneToASCII": "strconv", - "strconv.AppendQuoteToASCII": "strconv", - "strconv.AppendUint": "strconv", - "strconv.Atoi": "strconv", - "strconv.CanBackquote": "strconv", - "strconv.ErrRange": "strconv", - "strconv.ErrSyntax": "strconv", - "strconv.FormatBool": "strconv", - "strconv.FormatFloat": "strconv", - "strconv.FormatInt": "strconv", - "strconv.FormatUint": "strconv", - "strconv.IntSize": "strconv", - "strconv.IsPrint": "strconv", - "strconv.Itoa": "strconv", - "strconv.NumError": "strconv", - "strconv.ParseBool": "strconv", - "strconv.ParseFloat": "strconv", - "strconv.ParseInt": "strconv", - "strconv.ParseUint": "strconv", - "strconv.Quote": "strconv", - "strconv.QuoteRune": "strconv", - "strconv.QuoteRuneToASCII": "strconv", - "strconv.QuoteToASCII": "strconv", - "strconv.Unquote": "strconv", - "strconv.UnquoteChar": "strconv", - "strings.Contains": "strings", - "strings.ContainsAny": "strings", - "strings.ContainsRune": "strings", - "strings.Count": "strings", - "strings.EqualFold": "strings", - "strings.Fields": "strings", - "strings.FieldsFunc": "strings", - "strings.HasPrefix": "strings", - "strings.HasSuffix": "strings", - "strings.Index": "strings", - "strings.IndexAny": "strings", - "strings.IndexByte": "strings", - "strings.IndexFunc": "strings", - "strings.IndexRune": "strings", - "strings.Join": "strings", - "strings.LastIndex": "strings", - "strings.LastIndexAny": "strings", - "strings.LastIndexFunc": "strings", - "strings.Map": "strings", - "strings.NewReader": "strings", - "strings.NewReplacer": "strings", - "strings.Reader": "strings", - "strings.Repeat": "strings", - "strings.Replace": "strings", - "strings.Replacer": "strings", - "strings.Split": "strings", - "strings.SplitAfter": "strings", - "strings.SplitAfterN": "strings", - "strings.SplitN": "strings", - "strings.Title": "strings", - "strings.ToLower": "strings", - "strings.ToLowerSpecial": "strings", - "strings.ToTitle": "strings", - "strings.ToTitleSpecial": "strings", - "strings.ToUpper": "strings", - "strings.ToUpperSpecial": "strings", - "strings.Trim": "strings", - "strings.TrimFunc": "strings", - "strings.TrimLeft": "strings", - "strings.TrimLeftFunc": "strings", - "strings.TrimPrefix": "strings", - "strings.TrimRight": "strings", - "strings.TrimRightFunc": "strings", - "strings.TrimSpace": "strings", - "strings.TrimSuffix": "strings", - "subtle.ConstantTimeByteEq": "crypto/subtle", - "subtle.ConstantTimeCompare": "crypto/subtle", - "subtle.ConstantTimeCopy": "crypto/subtle", - "subtle.ConstantTimeEq": "crypto/subtle", - "subtle.ConstantTimeLessOrEq": "crypto/subtle", - "subtle.ConstantTimeSelect": "crypto/subtle", - "suffixarray.Index": "index/suffixarray", - "suffixarray.New": "index/suffixarray", - "sync.Cond": "sync", - "sync.Locker": "sync", - "sync.Mutex": "sync", - "sync.NewCond": "sync", - "sync.Once": "sync", - "sync.RWMutex": "sync", - "sync.WaitGroup": "sync", - "syntax.ClassNL": "regexp/syntax", - "syntax.Compile": "regexp/syntax", - "syntax.DotNL": "regexp/syntax", - "syntax.EmptyBeginLine": "regexp/syntax", - "syntax.EmptyBeginText": "regexp/syntax", - "syntax.EmptyEndLine": "regexp/syntax", - "syntax.EmptyEndText": "regexp/syntax", - "syntax.EmptyNoWordBoundary": "regexp/syntax", - "syntax.EmptyOp": "regexp/syntax", - "syntax.EmptyOpContext": "regexp/syntax", - "syntax.EmptyWordBoundary": "regexp/syntax", - "syntax.ErrInternalError": "regexp/syntax", - "syntax.ErrInvalidCharClass": "regexp/syntax", - "syntax.ErrInvalidCharRange": "regexp/syntax", - "syntax.ErrInvalidEscape": "regexp/syntax", - "syntax.ErrInvalidNamedCapture": "regexp/syntax", - "syntax.ErrInvalidPerlOp": "regexp/syntax", - "syntax.ErrInvalidRepeatOp": "regexp/syntax", - "syntax.ErrInvalidRepeatSize": "regexp/syntax", - "syntax.ErrInvalidUTF8": "regexp/syntax", - "syntax.ErrMissingBracket": "regexp/syntax", - "syntax.ErrMissingParen": "regexp/syntax", - "syntax.ErrMissingRepeatArgument": "regexp/syntax", - "syntax.ErrTrailingBackslash": "regexp/syntax", - "syntax.ErrUnexpectedParen": "regexp/syntax", - "syntax.Error": "regexp/syntax", - "syntax.ErrorCode": "regexp/syntax", - "syntax.Flags": "regexp/syntax", - "syntax.FoldCase": "regexp/syntax", - "syntax.Inst": "regexp/syntax", - "syntax.InstAlt": "regexp/syntax", - "syntax.InstAltMatch": "regexp/syntax", - "syntax.InstCapture": "regexp/syntax", - "syntax.InstEmptyWidth": "regexp/syntax", - "syntax.InstFail": "regexp/syntax", - "syntax.InstMatch": "regexp/syntax", - "syntax.InstNop": "regexp/syntax", - "syntax.InstOp": "regexp/syntax", - "syntax.InstRune": "regexp/syntax", - "syntax.InstRune1": "regexp/syntax", - "syntax.InstRuneAny": "regexp/syntax", - "syntax.InstRuneAnyNotNL": "regexp/syntax", - "syntax.IsWordChar": "regexp/syntax", - "syntax.Literal": "regexp/syntax", - "syntax.MatchNL": "regexp/syntax", - "syntax.NonGreedy": "regexp/syntax", - "syntax.OneLine": "regexp/syntax", - "syntax.Op": "regexp/syntax", - "syntax.OpAlternate": "regexp/syntax", - "syntax.OpAnyChar": "regexp/syntax", - "syntax.OpAnyCharNotNL": "regexp/syntax", - "syntax.OpBeginLine": "regexp/syntax", - "syntax.OpBeginText": "regexp/syntax", - "syntax.OpCapture": "regexp/syntax", - "syntax.OpCharClass": "regexp/syntax", - "syntax.OpConcat": "regexp/syntax", - "syntax.OpEmptyMatch": "regexp/syntax", - "syntax.OpEndLine": "regexp/syntax", - "syntax.OpEndText": "regexp/syntax", - "syntax.OpLiteral": "regexp/syntax", - "syntax.OpNoMatch": "regexp/syntax", - "syntax.OpNoWordBoundary": "regexp/syntax", - "syntax.OpPlus": "regexp/syntax", - "syntax.OpQuest": "regexp/syntax", - "syntax.OpRepeat": "regexp/syntax", - "syntax.OpStar": "regexp/syntax", - "syntax.OpWordBoundary": "regexp/syntax", - "syntax.POSIX": "regexp/syntax", - "syntax.Parse": "regexp/syntax", - "syntax.Perl": "regexp/syntax", - "syntax.PerlX": "regexp/syntax", - "syntax.Prog": "regexp/syntax", - "syntax.Regexp": "regexp/syntax", - "syntax.Simple": "regexp/syntax", - "syntax.UnicodeGroups": "regexp/syntax", - "syntax.WasDollar": "regexp/syntax", - "syscall.AF_ALG": "syscall", - "syscall.AF_APPLETALK": "syscall", - "syscall.AF_ARP": "syscall", - "syscall.AF_ASH": "syscall", - "syscall.AF_ATM": "syscall", - "syscall.AF_ATMPVC": "syscall", - "syscall.AF_ATMSVC": "syscall", - "syscall.AF_AX25": "syscall", - "syscall.AF_BLUETOOTH": "syscall", - "syscall.AF_BRIDGE": "syscall", - "syscall.AF_CAIF": "syscall", - "syscall.AF_CAN": "syscall", - "syscall.AF_CCITT": "syscall", - "syscall.AF_CHAOS": "syscall", - "syscall.AF_CNT": "syscall", - "syscall.AF_COIP": "syscall", - "syscall.AF_DATAKIT": "syscall", - "syscall.AF_DECnet": "syscall", - "syscall.AF_DLI": "syscall", - "syscall.AF_E164": "syscall", - "syscall.AF_ECMA": "syscall", - "syscall.AF_ECONET": "syscall", - "syscall.AF_ENCAP": "syscall", - "syscall.AF_FILE": "syscall", - "syscall.AF_HYLINK": "syscall", - "syscall.AF_IEEE80211": "syscall", - "syscall.AF_IEEE802154": "syscall", - "syscall.AF_IMPLINK": "syscall", - "syscall.AF_INET": "syscall", - "syscall.AF_INET6": "syscall", - "syscall.AF_IPX": "syscall", - "syscall.AF_IRDA": "syscall", - "syscall.AF_ISDN": "syscall", - "syscall.AF_ISO": "syscall", - "syscall.AF_IUCV": "syscall", - "syscall.AF_KEY": "syscall", - "syscall.AF_LAT": "syscall", - "syscall.AF_LINK": "syscall", - "syscall.AF_LLC": "syscall", - "syscall.AF_LOCAL": "syscall", - "syscall.AF_MAX": "syscall", - "syscall.AF_MPLS": "syscall", - "syscall.AF_NATM": "syscall", - "syscall.AF_NDRV": "syscall", - "syscall.AF_NETBEUI": "syscall", - "syscall.AF_NETBIOS": "syscall", - "syscall.AF_NETGRAPH": "syscall", - "syscall.AF_NETLINK": "syscall", - "syscall.AF_NETROM": "syscall", - "syscall.AF_NS": "syscall", - "syscall.AF_OROUTE": "syscall", - "syscall.AF_OSI": "syscall", - "syscall.AF_PACKET": "syscall", - "syscall.AF_PHONET": "syscall", - "syscall.AF_PPP": "syscall", - "syscall.AF_PPPOX": "syscall", - "syscall.AF_PUP": "syscall", - "syscall.AF_RDS": "syscall", - "syscall.AF_RESERVED_36": "syscall", - "syscall.AF_ROSE": "syscall", - "syscall.AF_ROUTE": "syscall", - "syscall.AF_RXRPC": "syscall", - "syscall.AF_SCLUSTER": "syscall", - "syscall.AF_SECURITY": "syscall", - "syscall.AF_SIP": "syscall", - "syscall.AF_SLOW": "syscall", - "syscall.AF_SNA": "syscall", - "syscall.AF_SYSTEM": "syscall", - "syscall.AF_TIPC": "syscall", - "syscall.AF_UNIX": "syscall", - "syscall.AF_UNSPEC": "syscall", - "syscall.AF_VENDOR00": "syscall", - "syscall.AF_VENDOR01": "syscall", - "syscall.AF_VENDOR02": "syscall", - "syscall.AF_VENDOR03": "syscall", - "syscall.AF_VENDOR04": "syscall", - "syscall.AF_VENDOR05": "syscall", - "syscall.AF_VENDOR06": "syscall", - "syscall.AF_VENDOR07": "syscall", - "syscall.AF_VENDOR08": "syscall", - "syscall.AF_VENDOR09": "syscall", - "syscall.AF_VENDOR10": "syscall", - "syscall.AF_VENDOR11": "syscall", - "syscall.AF_VENDOR12": "syscall", - "syscall.AF_VENDOR13": "syscall", - "syscall.AF_VENDOR14": "syscall", - "syscall.AF_VENDOR15": "syscall", - "syscall.AF_VENDOR16": "syscall", - "syscall.AF_VENDOR17": "syscall", - "syscall.AF_VENDOR18": "syscall", - "syscall.AF_VENDOR19": "syscall", - "syscall.AF_VENDOR20": "syscall", - "syscall.AF_VENDOR21": "syscall", - "syscall.AF_VENDOR22": "syscall", - "syscall.AF_VENDOR23": "syscall", - "syscall.AF_VENDOR24": "syscall", - "syscall.AF_VENDOR25": "syscall", - "syscall.AF_VENDOR26": "syscall", - "syscall.AF_VENDOR27": "syscall", - "syscall.AF_VENDOR28": "syscall", - "syscall.AF_VENDOR29": "syscall", - "syscall.AF_VENDOR30": "syscall", - "syscall.AF_VENDOR31": "syscall", - "syscall.AF_VENDOR32": "syscall", - "syscall.AF_VENDOR33": "syscall", - "syscall.AF_VENDOR34": "syscall", - "syscall.AF_VENDOR35": "syscall", - "syscall.AF_VENDOR36": "syscall", - "syscall.AF_VENDOR37": "syscall", - "syscall.AF_VENDOR38": "syscall", - "syscall.AF_VENDOR39": "syscall", - "syscall.AF_VENDOR40": "syscall", - "syscall.AF_VENDOR41": "syscall", - "syscall.AF_VENDOR42": "syscall", - "syscall.AF_VENDOR43": "syscall", - "syscall.AF_VENDOR44": "syscall", - "syscall.AF_VENDOR45": "syscall", - "syscall.AF_VENDOR46": "syscall", - "syscall.AF_VENDOR47": "syscall", - "syscall.AF_WANPIPE": "syscall", - "syscall.AF_X25": "syscall", - "syscall.AI_CANONNAME": "syscall", - "syscall.AI_NUMERICHOST": "syscall", - "syscall.AI_PASSIVE": "syscall", - "syscall.APPLICATION_ERROR": "syscall", - "syscall.ARPHRD_ADAPT": "syscall", - "syscall.ARPHRD_APPLETLK": "syscall", - "syscall.ARPHRD_ARCNET": "syscall", - "syscall.ARPHRD_ASH": "syscall", - "syscall.ARPHRD_ATM": "syscall", - "syscall.ARPHRD_AX25": "syscall", - "syscall.ARPHRD_BIF": "syscall", - "syscall.ARPHRD_CHAOS": "syscall", - "syscall.ARPHRD_CISCO": "syscall", - "syscall.ARPHRD_CSLIP": "syscall", - "syscall.ARPHRD_CSLIP6": "syscall", - "syscall.ARPHRD_DDCMP": "syscall", - "syscall.ARPHRD_DLCI": "syscall", - "syscall.ARPHRD_ECONET": "syscall", - "syscall.ARPHRD_EETHER": "syscall", - "syscall.ARPHRD_ETHER": "syscall", - "syscall.ARPHRD_EUI64": "syscall", - "syscall.ARPHRD_FCAL": "syscall", - "syscall.ARPHRD_FCFABRIC": "syscall", - "syscall.ARPHRD_FCPL": "syscall", - "syscall.ARPHRD_FCPP": "syscall", - "syscall.ARPHRD_FDDI": "syscall", - "syscall.ARPHRD_FRAD": "syscall", - "syscall.ARPHRD_FRELAY": "syscall", - "syscall.ARPHRD_HDLC": "syscall", - "syscall.ARPHRD_HIPPI": "syscall", - "syscall.ARPHRD_HWX25": "syscall", - "syscall.ARPHRD_IEEE1394": "syscall", - "syscall.ARPHRD_IEEE802": "syscall", - "syscall.ARPHRD_IEEE80211": "syscall", - "syscall.ARPHRD_IEEE80211_PRISM": "syscall", - "syscall.ARPHRD_IEEE80211_RADIOTAP": "syscall", - "syscall.ARPHRD_IEEE802154": "syscall", - "syscall.ARPHRD_IEEE802154_PHY": "syscall", - "syscall.ARPHRD_IEEE802_TR": "syscall", - "syscall.ARPHRD_INFINIBAND": "syscall", - "syscall.ARPHRD_IPDDP": "syscall", - "syscall.ARPHRD_IPGRE": "syscall", - "syscall.ARPHRD_IRDA": "syscall", - "syscall.ARPHRD_LAPB": "syscall", - "syscall.ARPHRD_LOCALTLK": "syscall", - "syscall.ARPHRD_LOOPBACK": "syscall", - "syscall.ARPHRD_METRICOM": "syscall", - "syscall.ARPHRD_NETROM": "syscall", - "syscall.ARPHRD_NONE": "syscall", - "syscall.ARPHRD_PIMREG": "syscall", - "syscall.ARPHRD_PPP": "syscall", - "syscall.ARPHRD_PRONET": "syscall", - "syscall.ARPHRD_RAWHDLC": "syscall", - "syscall.ARPHRD_ROSE": "syscall", - "syscall.ARPHRD_RSRVD": "syscall", - "syscall.ARPHRD_SIT": "syscall", - "syscall.ARPHRD_SKIP": "syscall", - "syscall.ARPHRD_SLIP": "syscall", - "syscall.ARPHRD_SLIP6": "syscall", - "syscall.ARPHRD_STRIP": "syscall", - "syscall.ARPHRD_TUNNEL": "syscall", - "syscall.ARPHRD_TUNNEL6": "syscall", - "syscall.ARPHRD_VOID": "syscall", - "syscall.ARPHRD_X25": "syscall", - "syscall.AUTHTYPE_CLIENT": "syscall", - "syscall.AUTHTYPE_SERVER": "syscall", - "syscall.Accept": "syscall", - "syscall.Accept4": "syscall", - "syscall.AcceptEx": "syscall", - "syscall.Access": "syscall", - "syscall.Acct": "syscall", - "syscall.AddrinfoW": "syscall", - "syscall.Adjtime": "syscall", - "syscall.Adjtimex": "syscall", - "syscall.AttachLsf": "syscall", - "syscall.B0": "syscall", - "syscall.B1000000": "syscall", - "syscall.B110": "syscall", - "syscall.B115200": "syscall", - "syscall.B1152000": "syscall", - "syscall.B1200": "syscall", - "syscall.B134": "syscall", - "syscall.B14400": "syscall", - "syscall.B150": "syscall", - "syscall.B1500000": "syscall", - "syscall.B1800": "syscall", - "syscall.B19200": "syscall", - "syscall.B200": "syscall", - "syscall.B2000000": "syscall", - "syscall.B230400": "syscall", - "syscall.B2400": "syscall", - "syscall.B2500000": "syscall", - "syscall.B28800": "syscall", - "syscall.B300": "syscall", - "syscall.B3000000": "syscall", - "syscall.B3500000": "syscall", - "syscall.B38400": "syscall", - "syscall.B4000000": "syscall", - "syscall.B460800": "syscall", - "syscall.B4800": "syscall", - "syscall.B50": "syscall", - "syscall.B500000": "syscall", - "syscall.B57600": "syscall", - "syscall.B576000": "syscall", - "syscall.B600": "syscall", - "syscall.B7200": "syscall", - "syscall.B75": "syscall", - "syscall.B76800": "syscall", - "syscall.B921600": "syscall", - "syscall.B9600": "syscall", - "syscall.BASE_PROTOCOL": "syscall", - "syscall.BIOCFEEDBACK": "syscall", - "syscall.BIOCFLUSH": "syscall", - "syscall.BIOCGBLEN": "syscall", - "syscall.BIOCGDIRECTION": "syscall", - "syscall.BIOCGDIRFILT": "syscall", - "syscall.BIOCGDLT": "syscall", - "syscall.BIOCGDLTLIST": "syscall", - "syscall.BIOCGETBUFMODE": "syscall", - "syscall.BIOCGETIF": "syscall", - "syscall.BIOCGETZMAX": "syscall", - "syscall.BIOCGFEEDBACK": "syscall", - "syscall.BIOCGFILDROP": "syscall", - "syscall.BIOCGHDRCMPLT": "syscall", - "syscall.BIOCGRSIG": "syscall", - "syscall.BIOCGRTIMEOUT": "syscall", - "syscall.BIOCGSEESENT": "syscall", - "syscall.BIOCGSTATS": "syscall", - "syscall.BIOCGSTATSOLD": "syscall", - "syscall.BIOCGTSTAMP": "syscall", - "syscall.BIOCIMMEDIATE": "syscall", - "syscall.BIOCLOCK": "syscall", - "syscall.BIOCPROMISC": "syscall", - "syscall.BIOCROTZBUF": "syscall", - "syscall.BIOCSBLEN": "syscall", - "syscall.BIOCSDIRECTION": "syscall", - "syscall.BIOCSDIRFILT": "syscall", - "syscall.BIOCSDLT": "syscall", - "syscall.BIOCSETBUFMODE": "syscall", - "syscall.BIOCSETF": "syscall", - "syscall.BIOCSETFNR": "syscall", - "syscall.BIOCSETIF": "syscall", - "syscall.BIOCSETWF": "syscall", - "syscall.BIOCSETZBUF": "syscall", - "syscall.BIOCSFEEDBACK": "syscall", - "syscall.BIOCSFILDROP": "syscall", - "syscall.BIOCSHDRCMPLT": "syscall", - "syscall.BIOCSRSIG": "syscall", - "syscall.BIOCSRTIMEOUT": "syscall", - "syscall.BIOCSSEESENT": "syscall", - "syscall.BIOCSTCPF": "syscall", - "syscall.BIOCSTSTAMP": "syscall", - "syscall.BIOCSUDPF": "syscall", - "syscall.BIOCVERSION": "syscall", - "syscall.BPF_A": "syscall", - "syscall.BPF_ABS": "syscall", - "syscall.BPF_ADD": "syscall", - "syscall.BPF_ALIGNMENT": "syscall", - "syscall.BPF_ALIGNMENT32": "syscall", - "syscall.BPF_ALU": "syscall", - "syscall.BPF_AND": "syscall", - "syscall.BPF_B": "syscall", - "syscall.BPF_BUFMODE_BUFFER": "syscall", - "syscall.BPF_BUFMODE_ZBUF": "syscall", - "syscall.BPF_DFLTBUFSIZE": "syscall", - "syscall.BPF_DIRECTION_IN": "syscall", - "syscall.BPF_DIRECTION_OUT": "syscall", - "syscall.BPF_DIV": "syscall", - "syscall.BPF_H": "syscall", - "syscall.BPF_IMM": "syscall", - "syscall.BPF_IND": "syscall", - "syscall.BPF_JA": "syscall", - "syscall.BPF_JEQ": "syscall", - "syscall.BPF_JGE": "syscall", - "syscall.BPF_JGT": "syscall", - "syscall.BPF_JMP": "syscall", - "syscall.BPF_JSET": "syscall", - "syscall.BPF_K": "syscall", - "syscall.BPF_LD": "syscall", - "syscall.BPF_LDX": "syscall", - "syscall.BPF_LEN": "syscall", - "syscall.BPF_LSH": "syscall", - "syscall.BPF_MAJOR_VERSION": "syscall", - "syscall.BPF_MAXBUFSIZE": "syscall", - "syscall.BPF_MAXINSNS": "syscall", - "syscall.BPF_MEM": "syscall", - "syscall.BPF_MEMWORDS": "syscall", - "syscall.BPF_MINBUFSIZE": "syscall", - "syscall.BPF_MINOR_VERSION": "syscall", - "syscall.BPF_MISC": "syscall", - "syscall.BPF_MSH": "syscall", - "syscall.BPF_MUL": "syscall", - "syscall.BPF_NEG": "syscall", - "syscall.BPF_OR": "syscall", - "syscall.BPF_RELEASE": "syscall", - "syscall.BPF_RET": "syscall", - "syscall.BPF_RSH": "syscall", - "syscall.BPF_ST": "syscall", - "syscall.BPF_STX": "syscall", - "syscall.BPF_SUB": "syscall", - "syscall.BPF_TAX": "syscall", - "syscall.BPF_TXA": "syscall", - "syscall.BPF_T_BINTIME": "syscall", - "syscall.BPF_T_BINTIME_FAST": "syscall", - "syscall.BPF_T_BINTIME_MONOTONIC": "syscall", - "syscall.BPF_T_BINTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_FAST": "syscall", - "syscall.BPF_T_FLAG_MASK": "syscall", - "syscall.BPF_T_FORMAT_MASK": "syscall", - "syscall.BPF_T_MICROTIME": "syscall", - "syscall.BPF_T_MICROTIME_FAST": "syscall", - "syscall.BPF_T_MICROTIME_MONOTONIC": "syscall", - "syscall.BPF_T_MICROTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_MONOTONIC": "syscall", - "syscall.BPF_T_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_NANOTIME": "syscall", - "syscall.BPF_T_NANOTIME_FAST": "syscall", - "syscall.BPF_T_NANOTIME_MONOTONIC": "syscall", - "syscall.BPF_T_NANOTIME_MONOTONIC_FAST": "syscall", - "syscall.BPF_T_NONE": "syscall", - "syscall.BPF_T_NORMAL": "syscall", - "syscall.BPF_W": "syscall", - "syscall.BPF_X": "syscall", - "syscall.BRKINT": "syscall", - "syscall.Bind": "syscall", - "syscall.BindToDevice": "syscall", - "syscall.BpfBuflen": "syscall", - "syscall.BpfDatalink": "syscall", - "syscall.BpfHdr": "syscall", - "syscall.BpfHeadercmpl": "syscall", - "syscall.BpfInsn": "syscall", - "syscall.BpfInterface": "syscall", - "syscall.BpfJump": "syscall", - "syscall.BpfProgram": "syscall", - "syscall.BpfStat": "syscall", - "syscall.BpfStats": "syscall", - "syscall.BpfStmt": "syscall", - "syscall.BpfTimeout": "syscall", - "syscall.BpfTimeval": "syscall", - "syscall.BpfVersion": "syscall", - "syscall.BpfZbuf": "syscall", - "syscall.BpfZbufHeader": "syscall", - "syscall.ByHandleFileInformation": "syscall", - "syscall.BytePtrFromString": "syscall", - "syscall.ByteSliceFromString": "syscall", - "syscall.CCR0_FLUSH": "syscall", - "syscall.CERT_CHAIN_POLICY_AUTHENTICODE": "syscall", - "syscall.CERT_CHAIN_POLICY_AUTHENTICODE_TS": "syscall", - "syscall.CERT_CHAIN_POLICY_BASE": "syscall", - "syscall.CERT_CHAIN_POLICY_BASIC_CONSTRAINTS": "syscall", - "syscall.CERT_CHAIN_POLICY_EV": "syscall", - "syscall.CERT_CHAIN_POLICY_MICROSOFT_ROOT": "syscall", - "syscall.CERT_CHAIN_POLICY_NT_AUTH": "syscall", - "syscall.CERT_CHAIN_POLICY_SSL": "syscall", - "syscall.CERT_E_CN_NO_MATCH": "syscall", - "syscall.CERT_E_EXPIRED": "syscall", - "syscall.CERT_E_PURPOSE": "syscall", - "syscall.CERT_E_ROLE": "syscall", - "syscall.CERT_E_UNTRUSTEDROOT": "syscall", - "syscall.CERT_STORE_ADD_ALWAYS": "syscall", - "syscall.CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG": "syscall", - "syscall.CERT_STORE_PROV_MEMORY": "syscall", - "syscall.CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT": "syscall", - "syscall.CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT": "syscall", - "syscall.CERT_TRUST_INVALID_BASIC_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_INVALID_EXTENSION": "syscall", - "syscall.CERT_TRUST_INVALID_NAME_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_INVALID_POLICY_CONSTRAINTS": "syscall", - "syscall.CERT_TRUST_IS_CYCLIC": "syscall", - "syscall.CERT_TRUST_IS_EXPLICIT_DISTRUST": "syscall", - "syscall.CERT_TRUST_IS_NOT_SIGNATURE_VALID": "syscall", - "syscall.CERT_TRUST_IS_NOT_TIME_VALID": "syscall", - "syscall.CERT_TRUST_IS_NOT_VALID_FOR_USAGE": "syscall", - "syscall.CERT_TRUST_IS_OFFLINE_REVOCATION": "syscall", - "syscall.CERT_TRUST_IS_REVOKED": "syscall", - "syscall.CERT_TRUST_IS_UNTRUSTED_ROOT": "syscall", - "syscall.CERT_TRUST_NO_ERROR": "syscall", - "syscall.CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY": "syscall", - "syscall.CERT_TRUST_REVOCATION_STATUS_UNKNOWN": "syscall", - "syscall.CFLUSH": "syscall", - "syscall.CLOCAL": "syscall", - "syscall.CLONE_CHILD_CLEARTID": "syscall", - "syscall.CLONE_CHILD_SETTID": "syscall", - "syscall.CLONE_DETACHED": "syscall", - "syscall.CLONE_FILES": "syscall", - "syscall.CLONE_FS": "syscall", - "syscall.CLONE_IO": "syscall", - "syscall.CLONE_NEWIPC": "syscall", - "syscall.CLONE_NEWNET": "syscall", - "syscall.CLONE_NEWNS": "syscall", - "syscall.CLONE_NEWPID": "syscall", - "syscall.CLONE_NEWUSER": "syscall", - "syscall.CLONE_NEWUTS": "syscall", - "syscall.CLONE_PARENT": "syscall", - "syscall.CLONE_PARENT_SETTID": "syscall", - "syscall.CLONE_PTRACE": "syscall", - "syscall.CLONE_SETTLS": "syscall", - "syscall.CLONE_SIGHAND": "syscall", - "syscall.CLONE_SYSVSEM": "syscall", - "syscall.CLONE_THREAD": "syscall", - "syscall.CLONE_UNTRACED": "syscall", - "syscall.CLONE_VFORK": "syscall", - "syscall.CLONE_VM": "syscall", - "syscall.CPUID_CFLUSH": "syscall", - "syscall.CREAD": "syscall", - "syscall.CREATE_ALWAYS": "syscall", - "syscall.CREATE_NEW": "syscall", - "syscall.CREATE_NEW_PROCESS_GROUP": "syscall", - "syscall.CREATE_UNICODE_ENVIRONMENT": "syscall", - "syscall.CRYPT_DEFAULT_CONTAINER_OPTIONAL": "syscall", - "syscall.CRYPT_DELETEKEYSET": "syscall", - "syscall.CRYPT_MACHINE_KEYSET": "syscall", - "syscall.CRYPT_NEWKEYSET": "syscall", - "syscall.CRYPT_SILENT": "syscall", - "syscall.CRYPT_VERIFYCONTEXT": "syscall", - "syscall.CS5": "syscall", - "syscall.CS6": "syscall", - "syscall.CS7": "syscall", - "syscall.CS8": "syscall", - "syscall.CSIZE": "syscall", - "syscall.CSTART": "syscall", - "syscall.CSTATUS": "syscall", - "syscall.CSTOP": "syscall", - "syscall.CSTOPB": "syscall", - "syscall.CSUSP": "syscall", - "syscall.CTL_MAXNAME": "syscall", - "syscall.CTL_NET": "syscall", - "syscall.CTL_QUERY": "syscall", - "syscall.CTRL_BREAK_EVENT": "syscall", - "syscall.CTRL_C_EVENT": "syscall", - "syscall.CancelIo": "syscall", - "syscall.CancelIoEx": "syscall", - "syscall.CertAddCertificateContextToStore": "syscall", - "syscall.CertChainContext": "syscall", - "syscall.CertChainElement": "syscall", - "syscall.CertChainPara": "syscall", - "syscall.CertChainPolicyPara": "syscall", - "syscall.CertChainPolicyStatus": "syscall", - "syscall.CertCloseStore": "syscall", - "syscall.CertContext": "syscall", - "syscall.CertCreateCertificateContext": "syscall", - "syscall.CertEnhKeyUsage": "syscall", - "syscall.CertEnumCertificatesInStore": "syscall", - "syscall.CertFreeCertificateChain": "syscall", - "syscall.CertFreeCertificateContext": "syscall", - "syscall.CertGetCertificateChain": "syscall", - "syscall.CertOpenStore": "syscall", - "syscall.CertOpenSystemStore": "syscall", - "syscall.CertRevocationInfo": "syscall", - "syscall.CertSimpleChain": "syscall", - "syscall.CertTrustStatus": "syscall", - "syscall.CertUsageMatch": "syscall", - "syscall.CertVerifyCertificateChainPolicy": "syscall", - "syscall.Chdir": "syscall", - "syscall.CheckBpfVersion": "syscall", - "syscall.Chflags": "syscall", - "syscall.Chmod": "syscall", - "syscall.Chown": "syscall", - "syscall.Chroot": "syscall", - "syscall.Clearenv": "syscall", - "syscall.Close": "syscall", - "syscall.CloseHandle": "syscall", - "syscall.CloseOnExec": "syscall", - "syscall.Closesocket": "syscall", - "syscall.CmsgLen": "syscall", - "syscall.CmsgSpace": "syscall", - "syscall.Cmsghdr": "syscall", - "syscall.CommandLineToArgv": "syscall", - "syscall.ComputerName": "syscall", - "syscall.Connect": "syscall", - "syscall.ConnectEx": "syscall", - "syscall.ConvertSidToStringSid": "syscall", - "syscall.ConvertStringSidToSid": "syscall", - "syscall.CopySid": "syscall", - "syscall.Creat": "syscall", - "syscall.CreateDirectory": "syscall", - "syscall.CreateFile": "syscall", - "syscall.CreateFileMapping": "syscall", - "syscall.CreateIoCompletionPort": "syscall", - "syscall.CreatePipe": "syscall", - "syscall.CreateProcess": "syscall", - "syscall.Credential": "syscall", - "syscall.CryptAcquireContext": "syscall", - "syscall.CryptGenRandom": "syscall", - "syscall.CryptReleaseContext": "syscall", - "syscall.DIOCBSFLUSH": "syscall", - "syscall.DIOCOSFPFLUSH": "syscall", - "syscall.DLL": "syscall", - "syscall.DLLError": "syscall", - "syscall.DLT_A429": "syscall", - "syscall.DLT_A653_ICM": "syscall", - "syscall.DLT_AIRONET_HEADER": "syscall", - "syscall.DLT_AOS": "syscall", - "syscall.DLT_APPLE_IP_OVER_IEEE1394": "syscall", - "syscall.DLT_ARCNET": "syscall", - "syscall.DLT_ARCNET_LINUX": "syscall", - "syscall.DLT_ATM_CLIP": "syscall", - "syscall.DLT_ATM_RFC1483": "syscall", - "syscall.DLT_AURORA": "syscall", - "syscall.DLT_AX25": "syscall", - "syscall.DLT_AX25_KISS": "syscall", - "syscall.DLT_BACNET_MS_TP": "syscall", - "syscall.DLT_BLUETOOTH_HCI_H4": "syscall", - "syscall.DLT_BLUETOOTH_HCI_H4_WITH_PHDR": "syscall", - "syscall.DLT_CAN20B": "syscall", - "syscall.DLT_CAN_SOCKETCAN": "syscall", - "syscall.DLT_CHAOS": "syscall", - "syscall.DLT_CHDLC": "syscall", - "syscall.DLT_CISCO_IOS": "syscall", - "syscall.DLT_C_HDLC": "syscall", - "syscall.DLT_C_HDLC_WITH_DIR": "syscall", - "syscall.DLT_DBUS": "syscall", - "syscall.DLT_DECT": "syscall", - "syscall.DLT_DOCSIS": "syscall", - "syscall.DLT_DVB_CI": "syscall", - "syscall.DLT_ECONET": "syscall", - "syscall.DLT_EN10MB": "syscall", - "syscall.DLT_EN3MB": "syscall", - "syscall.DLT_ENC": "syscall", - "syscall.DLT_ERF": "syscall", - "syscall.DLT_ERF_ETH": "syscall", - "syscall.DLT_ERF_POS": "syscall", - "syscall.DLT_FC_2": "syscall", - "syscall.DLT_FC_2_WITH_FRAME_DELIMS": "syscall", - "syscall.DLT_FDDI": "syscall", - "syscall.DLT_FLEXRAY": "syscall", - "syscall.DLT_FRELAY": "syscall", - "syscall.DLT_FRELAY_WITH_DIR": "syscall", - "syscall.DLT_GCOM_SERIAL": "syscall", - "syscall.DLT_GCOM_T1E1": "syscall", - "syscall.DLT_GPF_F": "syscall", - "syscall.DLT_GPF_T": "syscall", - "syscall.DLT_GPRS_LLC": "syscall", - "syscall.DLT_GSMTAP_ABIS": "syscall", - "syscall.DLT_GSMTAP_UM": "syscall", - "syscall.DLT_HDLC": "syscall", - "syscall.DLT_HHDLC": "syscall", - "syscall.DLT_HIPPI": "syscall", - "syscall.DLT_IBM_SN": "syscall", - "syscall.DLT_IBM_SP": "syscall", - "syscall.DLT_IEEE802": "syscall", - "syscall.DLT_IEEE802_11": "syscall", - "syscall.DLT_IEEE802_11_RADIO": "syscall", - "syscall.DLT_IEEE802_11_RADIO_AVS": "syscall", - "syscall.DLT_IEEE802_15_4": "syscall", - "syscall.DLT_IEEE802_15_4_LINUX": "syscall", - "syscall.DLT_IEEE802_15_4_NOFCS": "syscall", - "syscall.DLT_IEEE802_15_4_NONASK_PHY": "syscall", - "syscall.DLT_IEEE802_16_MAC_CPS": "syscall", - "syscall.DLT_IEEE802_16_MAC_CPS_RADIO": "syscall", - "syscall.DLT_IPFILTER": "syscall", - "syscall.DLT_IPMB": "syscall", - "syscall.DLT_IPMB_LINUX": "syscall", - "syscall.DLT_IPNET": "syscall", - "syscall.DLT_IPOIB": "syscall", - "syscall.DLT_IPV4": "syscall", - "syscall.DLT_IPV6": "syscall", - "syscall.DLT_IP_OVER_FC": "syscall", - "syscall.DLT_JUNIPER_ATM1": "syscall", - "syscall.DLT_JUNIPER_ATM2": "syscall", - "syscall.DLT_JUNIPER_ATM_CEMIC": "syscall", - "syscall.DLT_JUNIPER_CHDLC": "syscall", - "syscall.DLT_JUNIPER_ES": "syscall", - "syscall.DLT_JUNIPER_ETHER": "syscall", - "syscall.DLT_JUNIPER_FIBRECHANNEL": "syscall", - "syscall.DLT_JUNIPER_FRELAY": "syscall", - "syscall.DLT_JUNIPER_GGSN": "syscall", - "syscall.DLT_JUNIPER_ISM": "syscall", - "syscall.DLT_JUNIPER_MFR": "syscall", - "syscall.DLT_JUNIPER_MLFR": "syscall", - "syscall.DLT_JUNIPER_MLPPP": "syscall", - "syscall.DLT_JUNIPER_MONITOR": "syscall", - "syscall.DLT_JUNIPER_PIC_PEER": "syscall", - "syscall.DLT_JUNIPER_PPP": "syscall", - "syscall.DLT_JUNIPER_PPPOE": "syscall", - "syscall.DLT_JUNIPER_PPPOE_ATM": "syscall", - "syscall.DLT_JUNIPER_SERVICES": "syscall", - "syscall.DLT_JUNIPER_SRX_E2E": "syscall", - "syscall.DLT_JUNIPER_ST": "syscall", - "syscall.DLT_JUNIPER_VP": "syscall", - "syscall.DLT_JUNIPER_VS": "syscall", - "syscall.DLT_LAPB_WITH_DIR": "syscall", - "syscall.DLT_LAPD": "syscall", - "syscall.DLT_LIN": "syscall", - "syscall.DLT_LINUX_EVDEV": "syscall", - "syscall.DLT_LINUX_IRDA": "syscall", - "syscall.DLT_LINUX_LAPD": "syscall", - "syscall.DLT_LINUX_PPP_WITHDIRECTION": "syscall", - "syscall.DLT_LINUX_SLL": "syscall", - "syscall.DLT_LOOP": "syscall", - "syscall.DLT_LTALK": "syscall", - "syscall.DLT_MATCHING_MAX": "syscall", - "syscall.DLT_MATCHING_MIN": "syscall", - "syscall.DLT_MFR": "syscall", - "syscall.DLT_MOST": "syscall", - "syscall.DLT_MPEG_2_TS": "syscall", - "syscall.DLT_MPLS": "syscall", - "syscall.DLT_MTP2": "syscall", - "syscall.DLT_MTP2_WITH_PHDR": "syscall", - "syscall.DLT_MTP3": "syscall", - "syscall.DLT_MUX27010": "syscall", - "syscall.DLT_NETANALYZER": "syscall", - "syscall.DLT_NETANALYZER_TRANSPARENT": "syscall", - "syscall.DLT_NFC_LLCP": "syscall", - "syscall.DLT_NFLOG": "syscall", - "syscall.DLT_NG40": "syscall", - "syscall.DLT_NULL": "syscall", - "syscall.DLT_PCI_EXP": "syscall", - "syscall.DLT_PFLOG": "syscall", - "syscall.DLT_PFSYNC": "syscall", - "syscall.DLT_PPI": "syscall", - "syscall.DLT_PPP": "syscall", - "syscall.DLT_PPP_BSDOS": "syscall", - "syscall.DLT_PPP_ETHER": "syscall", - "syscall.DLT_PPP_PPPD": "syscall", - "syscall.DLT_PPP_SERIAL": "syscall", - "syscall.DLT_PPP_WITH_DIR": "syscall", - "syscall.DLT_PPP_WITH_DIRECTION": "syscall", - "syscall.DLT_PRISM_HEADER": "syscall", - "syscall.DLT_PRONET": "syscall", - "syscall.DLT_RAIF1": "syscall", - "syscall.DLT_RAW": "syscall", - "syscall.DLT_RAWAF_MASK": "syscall", - "syscall.DLT_RIO": "syscall", - "syscall.DLT_SCCP": "syscall", - "syscall.DLT_SITA": "syscall", - "syscall.DLT_SLIP": "syscall", - "syscall.DLT_SLIP_BSDOS": "syscall", - "syscall.DLT_STANAG_5066_D_PDU": "syscall", - "syscall.DLT_SUNATM": "syscall", - "syscall.DLT_SYMANTEC_FIREWALL": "syscall", - "syscall.DLT_TZSP": "syscall", - "syscall.DLT_USB": "syscall", - "syscall.DLT_USB_LINUX": "syscall", - "syscall.DLT_USB_LINUX_MMAPPED": "syscall", - "syscall.DLT_USER0": "syscall", - "syscall.DLT_USER1": "syscall", - "syscall.DLT_USER10": "syscall", - "syscall.DLT_USER11": "syscall", - "syscall.DLT_USER12": "syscall", - "syscall.DLT_USER13": "syscall", - "syscall.DLT_USER14": "syscall", - "syscall.DLT_USER15": "syscall", - "syscall.DLT_USER2": "syscall", - "syscall.DLT_USER3": "syscall", - "syscall.DLT_USER4": "syscall", - "syscall.DLT_USER5": "syscall", - "syscall.DLT_USER6": "syscall", - "syscall.DLT_USER7": "syscall", - "syscall.DLT_USER8": "syscall", - "syscall.DLT_USER9": "syscall", - "syscall.DLT_WIHART": "syscall", - "syscall.DLT_X2E_SERIAL": "syscall", - "syscall.DLT_X2E_XORAYA": "syscall", - "syscall.DNSMXData": "syscall", - "syscall.DNSPTRData": "syscall", - "syscall.DNSRecord": "syscall", - "syscall.DNSSRVData": "syscall", - "syscall.DNSTXTData": "syscall", - "syscall.DNS_TYPE_A": "syscall", - "syscall.DNS_TYPE_A6": "syscall", - "syscall.DNS_TYPE_AAAA": "syscall", - "syscall.DNS_TYPE_ADDRS": "syscall", - "syscall.DNS_TYPE_AFSDB": "syscall", - "syscall.DNS_TYPE_ALL": "syscall", - "syscall.DNS_TYPE_ANY": "syscall", - "syscall.DNS_TYPE_ATMA": "syscall", - "syscall.DNS_TYPE_AXFR": "syscall", - "syscall.DNS_TYPE_CERT": "syscall", - "syscall.DNS_TYPE_CNAME": "syscall", - "syscall.DNS_TYPE_DHCID": "syscall", - "syscall.DNS_TYPE_DNAME": "syscall", - "syscall.DNS_TYPE_DNSKEY": "syscall", - "syscall.DNS_TYPE_DS": "syscall", - "syscall.DNS_TYPE_EID": "syscall", - "syscall.DNS_TYPE_GID": "syscall", - "syscall.DNS_TYPE_GPOS": "syscall", - "syscall.DNS_TYPE_HINFO": "syscall", - "syscall.DNS_TYPE_ISDN": "syscall", - "syscall.DNS_TYPE_IXFR": "syscall", - "syscall.DNS_TYPE_KEY": "syscall", - "syscall.DNS_TYPE_KX": "syscall", - "syscall.DNS_TYPE_LOC": "syscall", - "syscall.DNS_TYPE_MAILA": "syscall", - "syscall.DNS_TYPE_MAILB": "syscall", - "syscall.DNS_TYPE_MB": "syscall", - "syscall.DNS_TYPE_MD": "syscall", - "syscall.DNS_TYPE_MF": "syscall", - "syscall.DNS_TYPE_MG": "syscall", - "syscall.DNS_TYPE_MINFO": "syscall", - "syscall.DNS_TYPE_MR": "syscall", - "syscall.DNS_TYPE_MX": "syscall", - "syscall.DNS_TYPE_NAPTR": "syscall", - "syscall.DNS_TYPE_NBSTAT": "syscall", - "syscall.DNS_TYPE_NIMLOC": "syscall", - "syscall.DNS_TYPE_NS": "syscall", - "syscall.DNS_TYPE_NSAP": "syscall", - "syscall.DNS_TYPE_NSAPPTR": "syscall", - "syscall.DNS_TYPE_NSEC": "syscall", - "syscall.DNS_TYPE_NULL": "syscall", - "syscall.DNS_TYPE_NXT": "syscall", - "syscall.DNS_TYPE_OPT": "syscall", - "syscall.DNS_TYPE_PTR": "syscall", - "syscall.DNS_TYPE_PX": "syscall", - "syscall.DNS_TYPE_RP": "syscall", - "syscall.DNS_TYPE_RRSIG": "syscall", - "syscall.DNS_TYPE_RT": "syscall", - "syscall.DNS_TYPE_SIG": "syscall", - "syscall.DNS_TYPE_SINK": "syscall", - "syscall.DNS_TYPE_SOA": "syscall", - "syscall.DNS_TYPE_SRV": "syscall", - "syscall.DNS_TYPE_TEXT": "syscall", - "syscall.DNS_TYPE_TKEY": "syscall", - "syscall.DNS_TYPE_TSIG": "syscall", - "syscall.DNS_TYPE_UID": "syscall", - "syscall.DNS_TYPE_UINFO": "syscall", - "syscall.DNS_TYPE_UNSPEC": "syscall", - "syscall.DNS_TYPE_WINS": "syscall", - "syscall.DNS_TYPE_WINSR": "syscall", - "syscall.DNS_TYPE_WKS": "syscall", - "syscall.DNS_TYPE_X25": "syscall", - "syscall.DT_BLK": "syscall", - "syscall.DT_CHR": "syscall", - "syscall.DT_DIR": "syscall", - "syscall.DT_FIFO": "syscall", - "syscall.DT_LNK": "syscall", - "syscall.DT_REG": "syscall", - "syscall.DT_SOCK": "syscall", - "syscall.DT_UNKNOWN": "syscall", - "syscall.DT_WHT": "syscall", - "syscall.DUPLICATE_CLOSE_SOURCE": "syscall", - "syscall.DUPLICATE_SAME_ACCESS": "syscall", - "syscall.DeleteFile": "syscall", - "syscall.DetachLsf": "syscall", - "syscall.Dirent": "syscall", - "syscall.DnsQuery": "syscall", - "syscall.DnsRecordListFree": "syscall", - "syscall.Dup": "syscall", - "syscall.Dup2": "syscall", - "syscall.Dup3": "syscall", - "syscall.DuplicateHandle": "syscall", - "syscall.E2BIG": "syscall", - "syscall.EACCES": "syscall", - "syscall.EADDRINUSE": "syscall", - "syscall.EADDRNOTAVAIL": "syscall", - "syscall.EADV": "syscall", - "syscall.EAFNOSUPPORT": "syscall", - "syscall.EAGAIN": "syscall", - "syscall.EALREADY": "syscall", - "syscall.EAUTH": "syscall", - "syscall.EBADARCH": "syscall", - "syscall.EBADE": "syscall", - "syscall.EBADEXEC": "syscall", - "syscall.EBADF": "syscall", - "syscall.EBADFD": "syscall", - "syscall.EBADMACHO": "syscall", - "syscall.EBADMSG": "syscall", - "syscall.EBADR": "syscall", - "syscall.EBADRPC": "syscall", - "syscall.EBADRQC": "syscall", - "syscall.EBADSLT": "syscall", - "syscall.EBFONT": "syscall", - "syscall.EBUSY": "syscall", - "syscall.ECANCELED": "syscall", - "syscall.ECAPMODE": "syscall", - "syscall.ECHILD": "syscall", - "syscall.ECHO": "syscall", - "syscall.ECHOCTL": "syscall", - "syscall.ECHOE": "syscall", - "syscall.ECHOK": "syscall", - "syscall.ECHOKE": "syscall", - "syscall.ECHONL": "syscall", - "syscall.ECHOPRT": "syscall", - "syscall.ECHRNG": "syscall", - "syscall.ECOMM": "syscall", - "syscall.ECONNABORTED": "syscall", - "syscall.ECONNREFUSED": "syscall", - "syscall.ECONNRESET": "syscall", - "syscall.EDEADLK": "syscall", - "syscall.EDEADLOCK": "syscall", - "syscall.EDESTADDRREQ": "syscall", - "syscall.EDEVERR": "syscall", - "syscall.EDOM": "syscall", - "syscall.EDOOFUS": "syscall", - "syscall.EDOTDOT": "syscall", - "syscall.EDQUOT": "syscall", - "syscall.EEXIST": "syscall", - "syscall.EFAULT": "syscall", - "syscall.EFBIG": "syscall", - "syscall.EFER_LMA": "syscall", - "syscall.EFER_LME": "syscall", - "syscall.EFER_NXE": "syscall", - "syscall.EFER_SCE": "syscall", - "syscall.EFTYPE": "syscall", - "syscall.EHOSTDOWN": "syscall", - "syscall.EHOSTUNREACH": "syscall", - "syscall.EHWPOISON": "syscall", - "syscall.EIDRM": "syscall", - "syscall.EILSEQ": "syscall", - "syscall.EINPROGRESS": "syscall", - "syscall.EINTR": "syscall", - "syscall.EINVAL": "syscall", - "syscall.EIO": "syscall", - "syscall.EIPSEC": "syscall", - "syscall.EISCONN": "syscall", - "syscall.EISDIR": "syscall", - "syscall.EISNAM": "syscall", - "syscall.EKEYEXPIRED": "syscall", - "syscall.EKEYREJECTED": "syscall", - "syscall.EKEYREVOKED": "syscall", - "syscall.EL2HLT": "syscall", - "syscall.EL2NSYNC": "syscall", - "syscall.EL3HLT": "syscall", - "syscall.EL3RST": "syscall", - "syscall.ELAST": "syscall", - "syscall.ELF_NGREG": "syscall", - "syscall.ELF_PRARGSZ": "syscall", - "syscall.ELIBACC": "syscall", - "syscall.ELIBBAD": "syscall", - "syscall.ELIBEXEC": "syscall", - "syscall.ELIBMAX": "syscall", - "syscall.ELIBSCN": "syscall", - "syscall.ELNRNG": "syscall", - "syscall.ELOOP": "syscall", - "syscall.EMEDIUMTYPE": "syscall", - "syscall.EMFILE": "syscall", - "syscall.EMLINK": "syscall", - "syscall.EMSGSIZE": "syscall", - "syscall.EMT_TAGOVF": "syscall", - "syscall.EMULTIHOP": "syscall", - "syscall.EMUL_ENABLED": "syscall", - "syscall.EMUL_LINUX": "syscall", - "syscall.EMUL_LINUX32": "syscall", - "syscall.EMUL_MAXID": "syscall", - "syscall.EMUL_NATIVE": "syscall", - "syscall.ENAMETOOLONG": "syscall", - "syscall.ENAVAIL": "syscall", - "syscall.ENDRUNDISC": "syscall", - "syscall.ENEEDAUTH": "syscall", - "syscall.ENETDOWN": "syscall", - "syscall.ENETRESET": "syscall", - "syscall.ENETUNREACH": "syscall", - "syscall.ENFILE": "syscall", - "syscall.ENOANO": "syscall", - "syscall.ENOATTR": "syscall", - "syscall.ENOBUFS": "syscall", - "syscall.ENOCSI": "syscall", - "syscall.ENODATA": "syscall", - "syscall.ENODEV": "syscall", - "syscall.ENOENT": "syscall", - "syscall.ENOEXEC": "syscall", - "syscall.ENOKEY": "syscall", - "syscall.ENOLCK": "syscall", - "syscall.ENOLINK": "syscall", - "syscall.ENOMEDIUM": "syscall", - "syscall.ENOMEM": "syscall", - "syscall.ENOMSG": "syscall", - "syscall.ENONET": "syscall", - "syscall.ENOPKG": "syscall", - "syscall.ENOPOLICY": "syscall", - "syscall.ENOPROTOOPT": "syscall", - "syscall.ENOSPC": "syscall", - "syscall.ENOSR": "syscall", - "syscall.ENOSTR": "syscall", - "syscall.ENOSYS": "syscall", - "syscall.ENOTBLK": "syscall", - "syscall.ENOTCAPABLE": "syscall", - "syscall.ENOTCONN": "syscall", - "syscall.ENOTDIR": "syscall", - "syscall.ENOTEMPTY": "syscall", - "syscall.ENOTNAM": "syscall", - "syscall.ENOTRECOVERABLE": "syscall", - "syscall.ENOTSOCK": "syscall", - "syscall.ENOTSUP": "syscall", - "syscall.ENOTTY": "syscall", - "syscall.ENOTUNIQ": "syscall", - "syscall.ENXIO": "syscall", - "syscall.EN_SW_CTL_INF": "syscall", - "syscall.EN_SW_CTL_PREC": "syscall", - "syscall.EN_SW_CTL_ROUND": "syscall", - "syscall.EN_SW_DATACHAIN": "syscall", - "syscall.EN_SW_DENORM": "syscall", - "syscall.EN_SW_INVOP": "syscall", - "syscall.EN_SW_OVERFLOW": "syscall", - "syscall.EN_SW_PRECLOSS": "syscall", - "syscall.EN_SW_UNDERFLOW": "syscall", - "syscall.EN_SW_ZERODIV": "syscall", - "syscall.EOPNOTSUPP": "syscall", - "syscall.EOVERFLOW": "syscall", - "syscall.EOWNERDEAD": "syscall", - "syscall.EPERM": "syscall", - "syscall.EPFNOSUPPORT": "syscall", - "syscall.EPIPE": "syscall", - "syscall.EPOLLERR": "syscall", - "syscall.EPOLLET": "syscall", - "syscall.EPOLLHUP": "syscall", - "syscall.EPOLLIN": "syscall", - "syscall.EPOLLMSG": "syscall", - "syscall.EPOLLONESHOT": "syscall", - "syscall.EPOLLOUT": "syscall", - "syscall.EPOLLPRI": "syscall", - "syscall.EPOLLRDBAND": "syscall", - "syscall.EPOLLRDHUP": "syscall", - "syscall.EPOLLRDNORM": "syscall", - "syscall.EPOLLWRBAND": "syscall", - "syscall.EPOLLWRNORM": "syscall", - "syscall.EPOLL_CLOEXEC": "syscall", - "syscall.EPOLL_CTL_ADD": "syscall", - "syscall.EPOLL_CTL_DEL": "syscall", - "syscall.EPOLL_CTL_MOD": "syscall", - "syscall.EPOLL_NONBLOCK": "syscall", - "syscall.EPROCLIM": "syscall", - "syscall.EPROCUNAVAIL": "syscall", - "syscall.EPROGMISMATCH": "syscall", - "syscall.EPROGUNAVAIL": "syscall", - "syscall.EPROTO": "syscall", - "syscall.EPROTONOSUPPORT": "syscall", - "syscall.EPROTOTYPE": "syscall", - "syscall.EPWROFF": "syscall", - "syscall.ERANGE": "syscall", - "syscall.EREMCHG": "syscall", - "syscall.EREMOTE": "syscall", - "syscall.EREMOTEIO": "syscall", - "syscall.ERESTART": "syscall", - "syscall.ERFKILL": "syscall", - "syscall.EROFS": "syscall", - "syscall.ERPCMISMATCH": "syscall", - "syscall.ERROR_ACCESS_DENIED": "syscall", - "syscall.ERROR_ALREADY_EXISTS": "syscall", - "syscall.ERROR_BROKEN_PIPE": "syscall", - "syscall.ERROR_BUFFER_OVERFLOW": "syscall", - "syscall.ERROR_ENVVAR_NOT_FOUND": "syscall", - "syscall.ERROR_FILE_EXISTS": "syscall", - "syscall.ERROR_FILE_NOT_FOUND": "syscall", - "syscall.ERROR_HANDLE_EOF": "syscall", - "syscall.ERROR_INSUFFICIENT_BUFFER": "syscall", - "syscall.ERROR_IO_PENDING": "syscall", - "syscall.ERROR_MOD_NOT_FOUND": "syscall", - "syscall.ERROR_NOT_FOUND": "syscall", - "syscall.ERROR_NO_MORE_FILES": "syscall", - "syscall.ERROR_OPERATION_ABORTED": "syscall", - "syscall.ERROR_PATH_NOT_FOUND": "syscall", - "syscall.ERROR_PROC_NOT_FOUND": "syscall", - "syscall.ESHLIBVERS": "syscall", - "syscall.ESHUTDOWN": "syscall", - "syscall.ESOCKTNOSUPPORT": "syscall", - "syscall.ESPIPE": "syscall", - "syscall.ESRCH": "syscall", - "syscall.ESRMNT": "syscall", - "syscall.ESTALE": "syscall", - "syscall.ESTRPIPE": "syscall", - "syscall.ETHERCAP_JUMBO_MTU": "syscall", - "syscall.ETHERCAP_VLAN_HWTAGGING": "syscall", - "syscall.ETHERCAP_VLAN_MTU": "syscall", - "syscall.ETHERMIN": "syscall", - "syscall.ETHERMTU": "syscall", - "syscall.ETHERMTU_JUMBO": "syscall", - "syscall.ETHERTYPE_8023": "syscall", - "syscall.ETHERTYPE_AARP": "syscall", - "syscall.ETHERTYPE_ACCTON": "syscall", - "syscall.ETHERTYPE_AEONIC": "syscall", - "syscall.ETHERTYPE_ALPHA": "syscall", - "syscall.ETHERTYPE_AMBER": "syscall", - "syscall.ETHERTYPE_AMOEBA": "syscall", - "syscall.ETHERTYPE_AOE": "syscall", - "syscall.ETHERTYPE_APOLLO": "syscall", - "syscall.ETHERTYPE_APOLLODOMAIN": "syscall", - "syscall.ETHERTYPE_APPLETALK": "syscall", - "syscall.ETHERTYPE_APPLITEK": "syscall", - "syscall.ETHERTYPE_ARGONAUT": "syscall", - "syscall.ETHERTYPE_ARP": "syscall", - "syscall.ETHERTYPE_AT": "syscall", - "syscall.ETHERTYPE_ATALK": "syscall", - "syscall.ETHERTYPE_ATOMIC": "syscall", - "syscall.ETHERTYPE_ATT": "syscall", - "syscall.ETHERTYPE_ATTSTANFORD": "syscall", - "syscall.ETHERTYPE_AUTOPHON": "syscall", - "syscall.ETHERTYPE_AXIS": "syscall", - "syscall.ETHERTYPE_BCLOOP": "syscall", - "syscall.ETHERTYPE_BOFL": "syscall", - "syscall.ETHERTYPE_CABLETRON": "syscall", - "syscall.ETHERTYPE_CHAOS": "syscall", - "syscall.ETHERTYPE_COMDESIGN": "syscall", - "syscall.ETHERTYPE_COMPUGRAPHIC": "syscall", - "syscall.ETHERTYPE_COUNTERPOINT": "syscall", - "syscall.ETHERTYPE_CRONUS": "syscall", - "syscall.ETHERTYPE_CRONUSVLN": "syscall", - "syscall.ETHERTYPE_DCA": "syscall", - "syscall.ETHERTYPE_DDE": "syscall", - "syscall.ETHERTYPE_DEBNI": "syscall", - "syscall.ETHERTYPE_DECAM": "syscall", - "syscall.ETHERTYPE_DECCUST": "syscall", - "syscall.ETHERTYPE_DECDIAG": "syscall", - "syscall.ETHERTYPE_DECDNS": "syscall", - "syscall.ETHERTYPE_DECDTS": "syscall", - "syscall.ETHERTYPE_DECEXPER": "syscall", - "syscall.ETHERTYPE_DECLAST": "syscall", - "syscall.ETHERTYPE_DECLTM": "syscall", - "syscall.ETHERTYPE_DECMUMPS": "syscall", - "syscall.ETHERTYPE_DECNETBIOS": "syscall", - "syscall.ETHERTYPE_DELTACON": "syscall", - "syscall.ETHERTYPE_DIDDLE": "syscall", - "syscall.ETHERTYPE_DLOG1": "syscall", - "syscall.ETHERTYPE_DLOG2": "syscall", - "syscall.ETHERTYPE_DN": "syscall", - "syscall.ETHERTYPE_DOGFIGHT": "syscall", - "syscall.ETHERTYPE_DSMD": "syscall", - "syscall.ETHERTYPE_ECMA": "syscall", - "syscall.ETHERTYPE_ENCRYPT": "syscall", - "syscall.ETHERTYPE_ES": "syscall", - "syscall.ETHERTYPE_EXCELAN": "syscall", - "syscall.ETHERTYPE_EXPERDATA": "syscall", - "syscall.ETHERTYPE_FLIP": "syscall", - "syscall.ETHERTYPE_FLOWCONTROL": "syscall", - "syscall.ETHERTYPE_FRARP": "syscall", - "syscall.ETHERTYPE_GENDYN": "syscall", - "syscall.ETHERTYPE_HAYES": "syscall", - "syscall.ETHERTYPE_HIPPI_FP": "syscall", - "syscall.ETHERTYPE_HITACHI": "syscall", - "syscall.ETHERTYPE_HP": "syscall", - "syscall.ETHERTYPE_IEEEPUP": "syscall", - "syscall.ETHERTYPE_IEEEPUPAT": "syscall", - "syscall.ETHERTYPE_IMLBL": "syscall", - "syscall.ETHERTYPE_IMLBLDIAG": "syscall", - "syscall.ETHERTYPE_IP": "syscall", - "syscall.ETHERTYPE_IPAS": "syscall", - "syscall.ETHERTYPE_IPV6": "syscall", - "syscall.ETHERTYPE_IPX": "syscall", - "syscall.ETHERTYPE_IPXNEW": "syscall", - "syscall.ETHERTYPE_KALPANA": "syscall", - "syscall.ETHERTYPE_LANBRIDGE": "syscall", - "syscall.ETHERTYPE_LANPROBE": "syscall", - "syscall.ETHERTYPE_LAT": "syscall", - "syscall.ETHERTYPE_LBACK": "syscall", - "syscall.ETHERTYPE_LITTLE": "syscall", - "syscall.ETHERTYPE_LLDP": "syscall", - "syscall.ETHERTYPE_LOGICRAFT": "syscall", - "syscall.ETHERTYPE_LOOPBACK": "syscall", - "syscall.ETHERTYPE_MATRA": "syscall", - "syscall.ETHERTYPE_MAX": "syscall", - "syscall.ETHERTYPE_MERIT": "syscall", - "syscall.ETHERTYPE_MICP": "syscall", - "syscall.ETHERTYPE_MOPDL": "syscall", - "syscall.ETHERTYPE_MOPRC": "syscall", - "syscall.ETHERTYPE_MOTOROLA": "syscall", - "syscall.ETHERTYPE_MPLS": "syscall", - "syscall.ETHERTYPE_MPLS_MCAST": "syscall", - "syscall.ETHERTYPE_MUMPS": "syscall", - "syscall.ETHERTYPE_NBPCC": "syscall", - "syscall.ETHERTYPE_NBPCLAIM": "syscall", - "syscall.ETHERTYPE_NBPCLREQ": "syscall", - "syscall.ETHERTYPE_NBPCLRSP": "syscall", - "syscall.ETHERTYPE_NBPCREQ": "syscall", - "syscall.ETHERTYPE_NBPCRSP": "syscall", - "syscall.ETHERTYPE_NBPDG": "syscall", - "syscall.ETHERTYPE_NBPDGB": "syscall", - "syscall.ETHERTYPE_NBPDLTE": "syscall", - "syscall.ETHERTYPE_NBPRAR": "syscall", - "syscall.ETHERTYPE_NBPRAS": "syscall", - "syscall.ETHERTYPE_NBPRST": "syscall", - "syscall.ETHERTYPE_NBPSCD": "syscall", - "syscall.ETHERTYPE_NBPVCD": "syscall", - "syscall.ETHERTYPE_NBS": "syscall", - "syscall.ETHERTYPE_NCD": "syscall", - "syscall.ETHERTYPE_NESTAR": "syscall", - "syscall.ETHERTYPE_NETBEUI": "syscall", - "syscall.ETHERTYPE_NOVELL": "syscall", - "syscall.ETHERTYPE_NS": "syscall", - "syscall.ETHERTYPE_NSAT": "syscall", - "syscall.ETHERTYPE_NSCOMPAT": "syscall", - "syscall.ETHERTYPE_NTRAILER": "syscall", - "syscall.ETHERTYPE_OS9": "syscall", - "syscall.ETHERTYPE_OS9NET": "syscall", - "syscall.ETHERTYPE_PACER": "syscall", - "syscall.ETHERTYPE_PAE": "syscall", - "syscall.ETHERTYPE_PCS": "syscall", - "syscall.ETHERTYPE_PLANNING": "syscall", - "syscall.ETHERTYPE_PPP": "syscall", - "syscall.ETHERTYPE_PPPOE": "syscall", - "syscall.ETHERTYPE_PPPOEDISC": "syscall", - "syscall.ETHERTYPE_PRIMENTS": "syscall", - "syscall.ETHERTYPE_PUP": "syscall", - "syscall.ETHERTYPE_PUPAT": "syscall", - "syscall.ETHERTYPE_QINQ": "syscall", - "syscall.ETHERTYPE_RACAL": "syscall", - "syscall.ETHERTYPE_RATIONAL": "syscall", - "syscall.ETHERTYPE_RAWFR": "syscall", - "syscall.ETHERTYPE_RCL": "syscall", - "syscall.ETHERTYPE_RDP": "syscall", - "syscall.ETHERTYPE_RETIX": "syscall", - "syscall.ETHERTYPE_REVARP": "syscall", - "syscall.ETHERTYPE_SCA": "syscall", - "syscall.ETHERTYPE_SECTRA": "syscall", - "syscall.ETHERTYPE_SECUREDATA": "syscall", - "syscall.ETHERTYPE_SGITW": "syscall", - "syscall.ETHERTYPE_SG_BOUNCE": "syscall", - "syscall.ETHERTYPE_SG_DIAG": "syscall", - "syscall.ETHERTYPE_SG_NETGAMES": "syscall", - "syscall.ETHERTYPE_SG_RESV": "syscall", - "syscall.ETHERTYPE_SIMNET": "syscall", - "syscall.ETHERTYPE_SLOW": "syscall", - "syscall.ETHERTYPE_SLOWPROTOCOLS": "syscall", - "syscall.ETHERTYPE_SNA": "syscall", - "syscall.ETHERTYPE_SNMP": "syscall", - "syscall.ETHERTYPE_SONIX": "syscall", - "syscall.ETHERTYPE_SPIDER": "syscall", - "syscall.ETHERTYPE_SPRITE": "syscall", - "syscall.ETHERTYPE_STP": "syscall", - "syscall.ETHERTYPE_TALARIS": "syscall", - "syscall.ETHERTYPE_TALARISMC": "syscall", - "syscall.ETHERTYPE_TCPCOMP": "syscall", - "syscall.ETHERTYPE_TCPSM": "syscall", - "syscall.ETHERTYPE_TEC": "syscall", - "syscall.ETHERTYPE_TIGAN": "syscall", - "syscall.ETHERTYPE_TRAIL": "syscall", - "syscall.ETHERTYPE_TRANSETHER": "syscall", - "syscall.ETHERTYPE_TYMSHARE": "syscall", - "syscall.ETHERTYPE_UBBST": "syscall", - "syscall.ETHERTYPE_UBDEBUG": "syscall", - "syscall.ETHERTYPE_UBDIAGLOOP": "syscall", - "syscall.ETHERTYPE_UBDL": "syscall", - "syscall.ETHERTYPE_UBNIU": "syscall", - "syscall.ETHERTYPE_UBNMC": "syscall", - "syscall.ETHERTYPE_VALID": "syscall", - "syscall.ETHERTYPE_VARIAN": "syscall", - "syscall.ETHERTYPE_VAXELN": "syscall", - "syscall.ETHERTYPE_VEECO": "syscall", - "syscall.ETHERTYPE_VEXP": "syscall", - "syscall.ETHERTYPE_VGLAB": "syscall", - "syscall.ETHERTYPE_VINES": "syscall", - "syscall.ETHERTYPE_VINESECHO": "syscall", - "syscall.ETHERTYPE_VINESLOOP": "syscall", - "syscall.ETHERTYPE_VITAL": "syscall", - "syscall.ETHERTYPE_VLAN": "syscall", - "syscall.ETHERTYPE_VLTLMAN": "syscall", - "syscall.ETHERTYPE_VPROD": "syscall", - "syscall.ETHERTYPE_VURESERVED": "syscall", - "syscall.ETHERTYPE_WATERLOO": "syscall", - "syscall.ETHERTYPE_WELLFLEET": "syscall", - "syscall.ETHERTYPE_X25": "syscall", - "syscall.ETHERTYPE_X75": "syscall", - "syscall.ETHERTYPE_XNSSM": "syscall", - "syscall.ETHERTYPE_XTP": "syscall", - "syscall.ETHER_ADDR_LEN": "syscall", - "syscall.ETHER_ALIGN": "syscall", - "syscall.ETHER_CRC_LEN": "syscall", - "syscall.ETHER_CRC_POLY_BE": "syscall", - "syscall.ETHER_CRC_POLY_LE": "syscall", - "syscall.ETHER_HDR_LEN": "syscall", - "syscall.ETHER_MAX_DIX_LEN": "syscall", - "syscall.ETHER_MAX_LEN": "syscall", - "syscall.ETHER_MAX_LEN_JUMBO": "syscall", - "syscall.ETHER_MIN_LEN": "syscall", - "syscall.ETHER_PPPOE_ENCAP_LEN": "syscall", - "syscall.ETHER_TYPE_LEN": "syscall", - "syscall.ETHER_VLAN_ENCAP_LEN": "syscall", - "syscall.ETH_P_1588": "syscall", - "syscall.ETH_P_8021Q": "syscall", - "syscall.ETH_P_802_2": "syscall", - "syscall.ETH_P_802_3": "syscall", - "syscall.ETH_P_AARP": "syscall", - "syscall.ETH_P_ALL": "syscall", - "syscall.ETH_P_AOE": "syscall", - "syscall.ETH_P_ARCNET": "syscall", - "syscall.ETH_P_ARP": "syscall", - "syscall.ETH_P_ATALK": "syscall", - "syscall.ETH_P_ATMFATE": "syscall", - "syscall.ETH_P_ATMMPOA": "syscall", - "syscall.ETH_P_AX25": "syscall", - "syscall.ETH_P_BPQ": "syscall", - "syscall.ETH_P_CAIF": "syscall", - "syscall.ETH_P_CAN": "syscall", - "syscall.ETH_P_CONTROL": "syscall", - "syscall.ETH_P_CUST": "syscall", - "syscall.ETH_P_DDCMP": "syscall", - "syscall.ETH_P_DEC": "syscall", - "syscall.ETH_P_DIAG": "syscall", - "syscall.ETH_P_DNA_DL": "syscall", - "syscall.ETH_P_DNA_RC": "syscall", - "syscall.ETH_P_DNA_RT": "syscall", - "syscall.ETH_P_DSA": "syscall", - "syscall.ETH_P_ECONET": "syscall", - "syscall.ETH_P_EDSA": "syscall", - "syscall.ETH_P_FCOE": "syscall", - "syscall.ETH_P_FIP": "syscall", - "syscall.ETH_P_HDLC": "syscall", - "syscall.ETH_P_IEEE802154": "syscall", - "syscall.ETH_P_IEEEPUP": "syscall", - "syscall.ETH_P_IEEEPUPAT": "syscall", - "syscall.ETH_P_IP": "syscall", - "syscall.ETH_P_IPV6": "syscall", - "syscall.ETH_P_IPX": "syscall", - "syscall.ETH_P_IRDA": "syscall", - "syscall.ETH_P_LAT": "syscall", - "syscall.ETH_P_LINK_CTL": "syscall", - "syscall.ETH_P_LOCALTALK": "syscall", - "syscall.ETH_P_LOOP": "syscall", - "syscall.ETH_P_MOBITEX": "syscall", - "syscall.ETH_P_MPLS_MC": "syscall", - "syscall.ETH_P_MPLS_UC": "syscall", - "syscall.ETH_P_PAE": "syscall", - "syscall.ETH_P_PAUSE": "syscall", - "syscall.ETH_P_PHONET": "syscall", - "syscall.ETH_P_PPPTALK": "syscall", - "syscall.ETH_P_PPP_DISC": "syscall", - "syscall.ETH_P_PPP_MP": "syscall", - "syscall.ETH_P_PPP_SES": "syscall", - "syscall.ETH_P_PUP": "syscall", - "syscall.ETH_P_PUPAT": "syscall", - "syscall.ETH_P_RARP": "syscall", - "syscall.ETH_P_SCA": "syscall", - "syscall.ETH_P_SLOW": "syscall", - "syscall.ETH_P_SNAP": "syscall", - "syscall.ETH_P_TEB": "syscall", - "syscall.ETH_P_TIPC": "syscall", - "syscall.ETH_P_TRAILER": "syscall", - "syscall.ETH_P_TR_802_2": "syscall", - "syscall.ETH_P_WAN_PPP": "syscall", - "syscall.ETH_P_WCCP": "syscall", - "syscall.ETH_P_X25": "syscall", - "syscall.ETIME": "syscall", - "syscall.ETIMEDOUT": "syscall", - "syscall.ETOOMANYREFS": "syscall", - "syscall.ETXTBSY": "syscall", - "syscall.EUCLEAN": "syscall", - "syscall.EUNATCH": "syscall", - "syscall.EUSERS": "syscall", - "syscall.EVFILT_AIO": "syscall", - "syscall.EVFILT_FS": "syscall", - "syscall.EVFILT_LIO": "syscall", - "syscall.EVFILT_MACHPORT": "syscall", - "syscall.EVFILT_PROC": "syscall", - "syscall.EVFILT_READ": "syscall", - "syscall.EVFILT_SIGNAL": "syscall", - "syscall.EVFILT_SYSCOUNT": "syscall", - "syscall.EVFILT_THREADMARKER": "syscall", - "syscall.EVFILT_TIMER": "syscall", - "syscall.EVFILT_USER": "syscall", - "syscall.EVFILT_VM": "syscall", - "syscall.EVFILT_VNODE": "syscall", - "syscall.EVFILT_WRITE": "syscall", - "syscall.EV_ADD": "syscall", - "syscall.EV_CLEAR": "syscall", - "syscall.EV_DELETE": "syscall", - "syscall.EV_DISABLE": "syscall", - "syscall.EV_DISPATCH": "syscall", - "syscall.EV_ENABLE": "syscall", - "syscall.EV_EOF": "syscall", - "syscall.EV_ERROR": "syscall", - "syscall.EV_FLAG0": "syscall", - "syscall.EV_FLAG1": "syscall", - "syscall.EV_ONESHOT": "syscall", - "syscall.EV_OOBAND": "syscall", - "syscall.EV_POLL": "syscall", - "syscall.EV_RECEIPT": "syscall", - "syscall.EV_SYSFLAGS": "syscall", - "syscall.EWINDOWS": "syscall", - "syscall.EWOULDBLOCK": "syscall", - "syscall.EXDEV": "syscall", - "syscall.EXFULL": "syscall", - "syscall.EXTA": "syscall", - "syscall.EXTB": "syscall", - "syscall.EXTPROC": "syscall", - "syscall.Environ": "syscall", - "syscall.EpollCreate": "syscall", - "syscall.EpollCreate1": "syscall", - "syscall.EpollCtl": "syscall", - "syscall.EpollEvent": "syscall", - "syscall.EpollWait": "syscall", - "syscall.Errno": "syscall", - "syscall.EscapeArg": "syscall", - "syscall.Exchangedata": "syscall", - "syscall.Exec": "syscall", - "syscall.Exit": "syscall", - "syscall.ExitProcess": "syscall", - "syscall.FD_CLOEXEC": "syscall", - "syscall.FD_SETSIZE": "syscall", - "syscall.FILE_ACTION_ADDED": "syscall", - "syscall.FILE_ACTION_MODIFIED": "syscall", - "syscall.FILE_ACTION_REMOVED": "syscall", - "syscall.FILE_ACTION_RENAMED_NEW_NAME": "syscall", - "syscall.FILE_ACTION_RENAMED_OLD_NAME": "syscall", - "syscall.FILE_APPEND_DATA": "syscall", - "syscall.FILE_ATTRIBUTE_ARCHIVE": "syscall", - "syscall.FILE_ATTRIBUTE_DIRECTORY": "syscall", - "syscall.FILE_ATTRIBUTE_HIDDEN": "syscall", - "syscall.FILE_ATTRIBUTE_NORMAL": "syscall", - "syscall.FILE_ATTRIBUTE_READONLY": "syscall", - "syscall.FILE_ATTRIBUTE_SYSTEM": "syscall", - "syscall.FILE_BEGIN": "syscall", - "syscall.FILE_CURRENT": "syscall", - "syscall.FILE_END": "syscall", - "syscall.FILE_FLAG_BACKUP_SEMANTICS": "syscall", - "syscall.FILE_FLAG_OVERLAPPED": "syscall", - "syscall.FILE_LIST_DIRECTORY": "syscall", - "syscall.FILE_MAP_COPY": "syscall", - "syscall.FILE_MAP_EXECUTE": "syscall", - "syscall.FILE_MAP_READ": "syscall", - "syscall.FILE_MAP_WRITE": "syscall", - "syscall.FILE_NOTIFY_CHANGE_ATTRIBUTES": "syscall", - "syscall.FILE_NOTIFY_CHANGE_CREATION": "syscall", - "syscall.FILE_NOTIFY_CHANGE_DIR_NAME": "syscall", - "syscall.FILE_NOTIFY_CHANGE_FILE_NAME": "syscall", - "syscall.FILE_NOTIFY_CHANGE_LAST_ACCESS": "syscall", - "syscall.FILE_NOTIFY_CHANGE_LAST_WRITE": "syscall", - "syscall.FILE_NOTIFY_CHANGE_SIZE": "syscall", - "syscall.FILE_SHARE_DELETE": "syscall", - "syscall.FILE_SHARE_READ": "syscall", - "syscall.FILE_SHARE_WRITE": "syscall", - "syscall.FILE_SKIP_COMPLETION_PORT_ON_SUCCESS": "syscall", - "syscall.FILE_SKIP_SET_EVENT_ON_HANDLE": "syscall", - "syscall.FILE_TYPE_CHAR": "syscall", - "syscall.FILE_TYPE_DISK": "syscall", - "syscall.FILE_TYPE_PIPE": "syscall", - "syscall.FILE_TYPE_REMOTE": "syscall", - "syscall.FILE_TYPE_UNKNOWN": "syscall", - "syscall.FILE_WRITE_ATTRIBUTES": "syscall", - "syscall.FLUSHO": "syscall", - "syscall.FORMAT_MESSAGE_ALLOCATE_BUFFER": "syscall", - "syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY": "syscall", - "syscall.FORMAT_MESSAGE_FROM_HMODULE": "syscall", - "syscall.FORMAT_MESSAGE_FROM_STRING": "syscall", - "syscall.FORMAT_MESSAGE_FROM_SYSTEM": "syscall", - "syscall.FORMAT_MESSAGE_IGNORE_INSERTS": "syscall", - "syscall.FORMAT_MESSAGE_MAX_WIDTH_MASK": "syscall", - "syscall.F_ADDFILESIGS": "syscall", - "syscall.F_ADDSIGS": "syscall", - "syscall.F_ALLOCATEALL": "syscall", - "syscall.F_ALLOCATECONTIG": "syscall", - "syscall.F_CANCEL": "syscall", - "syscall.F_CHKCLEAN": "syscall", - "syscall.F_CLOSEM": "syscall", - "syscall.F_DUP2FD": "syscall", - "syscall.F_DUP2FD_CLOEXEC": "syscall", - "syscall.F_DUPFD": "syscall", - "syscall.F_DUPFD_CLOEXEC": "syscall", - "syscall.F_EXLCK": "syscall", - "syscall.F_FLUSH_DATA": "syscall", - "syscall.F_FREEZE_FS": "syscall", - "syscall.F_FSCTL": "syscall", - "syscall.F_FSDIRMASK": "syscall", - "syscall.F_FSIN": "syscall", - "syscall.F_FSINOUT": "syscall", - "syscall.F_FSOUT": "syscall", - "syscall.F_FSPRIV": "syscall", - "syscall.F_FSVOID": "syscall", - "syscall.F_FULLFSYNC": "syscall", - "syscall.F_GETFD": "syscall", - "syscall.F_GETFL": "syscall", - "syscall.F_GETLEASE": "syscall", - "syscall.F_GETLK": "syscall", - "syscall.F_GETLK64": "syscall", - "syscall.F_GETLKPID": "syscall", - "syscall.F_GETNOSIGPIPE": "syscall", - "syscall.F_GETOWN": "syscall", - "syscall.F_GETOWN_EX": "syscall", - "syscall.F_GETPATH": "syscall", - "syscall.F_GETPATH_MTMINFO": "syscall", - "syscall.F_GETPIPE_SZ": "syscall", - "syscall.F_GETPROTECTIONCLASS": "syscall", - "syscall.F_GETSIG": "syscall", - "syscall.F_GLOBAL_NOCACHE": "syscall", - "syscall.F_LOCK": "syscall", - "syscall.F_LOG2PHYS": "syscall", - "syscall.F_LOG2PHYS_EXT": "syscall", - "syscall.F_MARKDEPENDENCY": "syscall", - "syscall.F_MAXFD": "syscall", - "syscall.F_NOCACHE": "syscall", - "syscall.F_NODIRECT": "syscall", - "syscall.F_NOTIFY": "syscall", - "syscall.F_OGETLK": "syscall", - "syscall.F_OK": "syscall", - "syscall.F_OSETLK": "syscall", - "syscall.F_OSETLKW": "syscall", - "syscall.F_PARAM_MASK": "syscall", - "syscall.F_PARAM_MAX": "syscall", - "syscall.F_PATHPKG_CHECK": "syscall", - "syscall.F_PEOFPOSMODE": "syscall", - "syscall.F_PREALLOCATE": "syscall", - "syscall.F_RDADVISE": "syscall", - "syscall.F_RDAHEAD": "syscall", - "syscall.F_RDLCK": "syscall", - "syscall.F_READAHEAD": "syscall", - "syscall.F_READBOOTSTRAP": "syscall", - "syscall.F_SETBACKINGSTORE": "syscall", - "syscall.F_SETFD": "syscall", - "syscall.F_SETFL": "syscall", - "syscall.F_SETLEASE": "syscall", - "syscall.F_SETLK": "syscall", - "syscall.F_SETLK64": "syscall", - "syscall.F_SETLKW": "syscall", - "syscall.F_SETLKW64": "syscall", - "syscall.F_SETLK_REMOTE": "syscall", - "syscall.F_SETNOSIGPIPE": "syscall", - "syscall.F_SETOWN": "syscall", - "syscall.F_SETOWN_EX": "syscall", - "syscall.F_SETPIPE_SZ": "syscall", - "syscall.F_SETPROTECTIONCLASS": "syscall", - "syscall.F_SETSIG": "syscall", - "syscall.F_SETSIZE": "syscall", - "syscall.F_SHLCK": "syscall", - "syscall.F_TEST": "syscall", - "syscall.F_THAW_FS": "syscall", - "syscall.F_TLOCK": "syscall", - "syscall.F_ULOCK": "syscall", - "syscall.F_UNLCK": "syscall", - "syscall.F_UNLCKSYS": "syscall", - "syscall.F_VOLPOSMODE": "syscall", - "syscall.F_WRITEBOOTSTRAP": "syscall", - "syscall.F_WRLCK": "syscall", - "syscall.Faccessat": "syscall", - "syscall.Fallocate": "syscall", - "syscall.Fbootstraptransfer_t": "syscall", - "syscall.Fchdir": "syscall", - "syscall.Fchflags": "syscall", - "syscall.Fchmod": "syscall", - "syscall.Fchmodat": "syscall", - "syscall.Fchown": "syscall", - "syscall.Fchownat": "syscall", - "syscall.FdSet": "syscall", - "syscall.Fdatasync": "syscall", - "syscall.FileNotifyInformation": "syscall", - "syscall.Filetime": "syscall", - "syscall.FindClose": "syscall", - "syscall.FindFirstFile": "syscall", - "syscall.FindNextFile": "syscall", - "syscall.Flock": "syscall", - "syscall.Flock_t": "syscall", - "syscall.FlushBpf": "syscall", - "syscall.FlushFileBuffers": "syscall", - "syscall.FlushViewOfFile": "syscall", - "syscall.ForkExec": "syscall", - "syscall.ForkLock": "syscall", - "syscall.FormatMessage": "syscall", - "syscall.Fpathconf": "syscall", - "syscall.FreeAddrInfoW": "syscall", - "syscall.FreeEnvironmentStrings": "syscall", - "syscall.FreeLibrary": "syscall", - "syscall.Fsid": "syscall", - "syscall.Fstat": "syscall", - "syscall.Fstatfs": "syscall", - "syscall.Fstore_t": "syscall", - "syscall.Fsync": "syscall", - "syscall.Ftruncate": "syscall", - "syscall.Futimes": "syscall", - "syscall.Futimesat": "syscall", - "syscall.GENERIC_ALL": "syscall", - "syscall.GENERIC_EXECUTE": "syscall", - "syscall.GENERIC_READ": "syscall", - "syscall.GENERIC_WRITE": "syscall", - "syscall.GUID": "syscall", - "syscall.GetAcceptExSockaddrs": "syscall", - "syscall.GetAdaptersInfo": "syscall", - "syscall.GetAddrInfoW": "syscall", - "syscall.GetCommandLine": "syscall", - "syscall.GetComputerName": "syscall", - "syscall.GetConsoleMode": "syscall", - "syscall.GetCurrentDirectory": "syscall", - "syscall.GetCurrentProcess": "syscall", - "syscall.GetEnvironmentStrings": "syscall", - "syscall.GetEnvironmentVariable": "syscall", - "syscall.GetExitCodeProcess": "syscall", - "syscall.GetFileAttributes": "syscall", - "syscall.GetFileAttributesEx": "syscall", - "syscall.GetFileExInfoStandard": "syscall", - "syscall.GetFileExMaxInfoLevel": "syscall", - "syscall.GetFileInformationByHandle": "syscall", - "syscall.GetFileType": "syscall", - "syscall.GetFullPathName": "syscall", - "syscall.GetHostByName": "syscall", - "syscall.GetIfEntry": "syscall", - "syscall.GetLastError": "syscall", - "syscall.GetLengthSid": "syscall", - "syscall.GetLongPathName": "syscall", - "syscall.GetProcAddress": "syscall", - "syscall.GetProcessTimes": "syscall", - "syscall.GetProtoByName": "syscall", - "syscall.GetQueuedCompletionStatus": "syscall", - "syscall.GetServByName": "syscall", - "syscall.GetShortPathName": "syscall", - "syscall.GetStartupInfo": "syscall", - "syscall.GetStdHandle": "syscall", - "syscall.GetSystemTimeAsFileTime": "syscall", - "syscall.GetTempPath": "syscall", - "syscall.GetTimeZoneInformation": "syscall", - "syscall.GetTokenInformation": "syscall", - "syscall.GetUserNameEx": "syscall", - "syscall.GetUserProfileDirectory": "syscall", - "syscall.GetVersion": "syscall", - "syscall.Getcwd": "syscall", - "syscall.Getdents": "syscall", - "syscall.Getdirentries": "syscall", - "syscall.Getdtablesize": "syscall", - "syscall.Getegid": "syscall", - "syscall.Getenv": "syscall", - "syscall.Geteuid": "syscall", - "syscall.Getfsstat": "syscall", - "syscall.Getgid": "syscall", - "syscall.Getgroups": "syscall", - "syscall.Getpagesize": "syscall", - "syscall.Getpeername": "syscall", - "syscall.Getpgid": "syscall", - "syscall.Getpgrp": "syscall", - "syscall.Getpid": "syscall", - "syscall.Getppid": "syscall", - "syscall.Getpriority": "syscall", - "syscall.Getrlimit": "syscall", - "syscall.Getrusage": "syscall", - "syscall.Getsid": "syscall", - "syscall.Getsockname": "syscall", - "syscall.Getsockopt": "syscall", - "syscall.GetsockoptByte": "syscall", - "syscall.GetsockoptICMPv6Filter": "syscall", - "syscall.GetsockoptIPMreq": "syscall", - "syscall.GetsockoptIPMreqn": "syscall", - "syscall.GetsockoptIPv6MTUInfo": "syscall", - "syscall.GetsockoptIPv6Mreq": "syscall", - "syscall.GetsockoptInet4Addr": "syscall", - "syscall.GetsockoptInt": "syscall", - "syscall.GetsockoptUcred": "syscall", - "syscall.Gettid": "syscall", - "syscall.Gettimeofday": "syscall", - "syscall.Getuid": "syscall", - "syscall.Getwd": "syscall", - "syscall.Getxattr": "syscall", - "syscall.HANDLE_FLAG_INHERIT": "syscall", - "syscall.HKEY_CLASSES_ROOT": "syscall", - "syscall.HKEY_CURRENT_CONFIG": "syscall", - "syscall.HKEY_CURRENT_USER": "syscall", - "syscall.HKEY_DYN_DATA": "syscall", - "syscall.HKEY_LOCAL_MACHINE": "syscall", - "syscall.HKEY_PERFORMANCE_DATA": "syscall", - "syscall.HKEY_USERS": "syscall", - "syscall.HUPCL": "syscall", - "syscall.Handle": "syscall", - "syscall.Hostent": "syscall", - "syscall.ICANON": "syscall", - "syscall.ICMP6_FILTER": "syscall", - "syscall.ICMPV6_FILTER": "syscall", - "syscall.ICMPv6Filter": "syscall", - "syscall.ICRNL": "syscall", - "syscall.IEXTEN": "syscall", - "syscall.IFAN_ARRIVAL": "syscall", - "syscall.IFAN_DEPARTURE": "syscall", - "syscall.IFA_ADDRESS": "syscall", - "syscall.IFA_ANYCAST": "syscall", - "syscall.IFA_BROADCAST": "syscall", - "syscall.IFA_CACHEINFO": "syscall", - "syscall.IFA_F_DADFAILED": "syscall", - "syscall.IFA_F_DEPRECATED": "syscall", - "syscall.IFA_F_HOMEADDRESS": "syscall", - "syscall.IFA_F_NODAD": "syscall", - "syscall.IFA_F_OPTIMISTIC": "syscall", - "syscall.IFA_F_PERMANENT": "syscall", - "syscall.IFA_F_SECONDARY": "syscall", - "syscall.IFA_F_TEMPORARY": "syscall", - "syscall.IFA_F_TENTATIVE": "syscall", - "syscall.IFA_LABEL": "syscall", - "syscall.IFA_LOCAL": "syscall", - "syscall.IFA_MAX": "syscall", - "syscall.IFA_MULTICAST": "syscall", - "syscall.IFA_ROUTE": "syscall", - "syscall.IFA_UNSPEC": "syscall", - "syscall.IFF_ALLMULTI": "syscall", - "syscall.IFF_ALTPHYS": "syscall", - "syscall.IFF_AUTOMEDIA": "syscall", - "syscall.IFF_BROADCAST": "syscall", - "syscall.IFF_CANTCHANGE": "syscall", - "syscall.IFF_CANTCONFIG": "syscall", - "syscall.IFF_DEBUG": "syscall", - "syscall.IFF_DRV_OACTIVE": "syscall", - "syscall.IFF_DRV_RUNNING": "syscall", - "syscall.IFF_DYING": "syscall", - "syscall.IFF_DYNAMIC": "syscall", - "syscall.IFF_LINK0": "syscall", - "syscall.IFF_LINK1": "syscall", - "syscall.IFF_LINK2": "syscall", - "syscall.IFF_LOOPBACK": "syscall", - "syscall.IFF_MASTER": "syscall", - "syscall.IFF_MONITOR": "syscall", - "syscall.IFF_MULTICAST": "syscall", - "syscall.IFF_NOARP": "syscall", - "syscall.IFF_NOTRAILERS": "syscall", - "syscall.IFF_NO_PI": "syscall", - "syscall.IFF_OACTIVE": "syscall", - "syscall.IFF_ONE_QUEUE": "syscall", - "syscall.IFF_POINTOPOINT": "syscall", - "syscall.IFF_POINTTOPOINT": "syscall", - "syscall.IFF_PORTSEL": "syscall", - "syscall.IFF_PPROMISC": "syscall", - "syscall.IFF_PROMISC": "syscall", - "syscall.IFF_RENAMING": "syscall", - "syscall.IFF_RUNNING": "syscall", - "syscall.IFF_SIMPLEX": "syscall", - "syscall.IFF_SLAVE": "syscall", - "syscall.IFF_SMART": "syscall", - "syscall.IFF_STATICARP": "syscall", - "syscall.IFF_TAP": "syscall", - "syscall.IFF_TUN": "syscall", - "syscall.IFF_TUN_EXCL": "syscall", - "syscall.IFF_UP": "syscall", - "syscall.IFF_VNET_HDR": "syscall", - "syscall.IFLA_ADDRESS": "syscall", - "syscall.IFLA_BROADCAST": "syscall", - "syscall.IFLA_COST": "syscall", - "syscall.IFLA_IFALIAS": "syscall", - "syscall.IFLA_IFNAME": "syscall", - "syscall.IFLA_LINK": "syscall", - "syscall.IFLA_LINKINFO": "syscall", - "syscall.IFLA_LINKMODE": "syscall", - "syscall.IFLA_MAP": "syscall", - "syscall.IFLA_MASTER": "syscall", - "syscall.IFLA_MAX": "syscall", - "syscall.IFLA_MTU": "syscall", - "syscall.IFLA_NET_NS_PID": "syscall", - "syscall.IFLA_OPERSTATE": "syscall", - "syscall.IFLA_PRIORITY": "syscall", - "syscall.IFLA_PROTINFO": "syscall", - "syscall.IFLA_QDISC": "syscall", - "syscall.IFLA_STATS": "syscall", - "syscall.IFLA_TXQLEN": "syscall", - "syscall.IFLA_UNSPEC": "syscall", - "syscall.IFLA_WEIGHT": "syscall", - "syscall.IFLA_WIRELESS": "syscall", - "syscall.IFNAMSIZ": "syscall", - "syscall.IFT_1822": "syscall", - "syscall.IFT_A12MPPSWITCH": "syscall", - "syscall.IFT_AAL2": "syscall", - "syscall.IFT_AAL5": "syscall", - "syscall.IFT_ADSL": "syscall", - "syscall.IFT_AFLANE8023": "syscall", - "syscall.IFT_AFLANE8025": "syscall", - "syscall.IFT_ARAP": "syscall", - "syscall.IFT_ARCNET": "syscall", - "syscall.IFT_ARCNETPLUS": "syscall", - "syscall.IFT_ASYNC": "syscall", - "syscall.IFT_ATM": "syscall", - "syscall.IFT_ATMDXI": "syscall", - "syscall.IFT_ATMFUNI": "syscall", - "syscall.IFT_ATMIMA": "syscall", - "syscall.IFT_ATMLOGICAL": "syscall", - "syscall.IFT_ATMRADIO": "syscall", - "syscall.IFT_ATMSUBINTERFACE": "syscall", - "syscall.IFT_ATMVCIENDPT": "syscall", - "syscall.IFT_ATMVIRTUAL": "syscall", - "syscall.IFT_BGPPOLICYACCOUNTING": "syscall", - "syscall.IFT_BLUETOOTH": "syscall", - "syscall.IFT_BRIDGE": "syscall", - "syscall.IFT_BSC": "syscall", - "syscall.IFT_CARP": "syscall", - "syscall.IFT_CCTEMUL": "syscall", - "syscall.IFT_CELLULAR": "syscall", - "syscall.IFT_CEPT": "syscall", - "syscall.IFT_CES": "syscall", - "syscall.IFT_CHANNEL": "syscall", - "syscall.IFT_CNR": "syscall", - "syscall.IFT_COFFEE": "syscall", - "syscall.IFT_COMPOSITELINK": "syscall", - "syscall.IFT_DCN": "syscall", - "syscall.IFT_DIGITALPOWERLINE": "syscall", - "syscall.IFT_DIGITALWRAPPEROVERHEADCHANNEL": "syscall", - "syscall.IFT_DLSW": "syscall", - "syscall.IFT_DOCSCABLEDOWNSTREAM": "syscall", - "syscall.IFT_DOCSCABLEMACLAYER": "syscall", - "syscall.IFT_DOCSCABLEUPSTREAM": "syscall", - "syscall.IFT_DOCSCABLEUPSTREAMCHANNEL": "syscall", - "syscall.IFT_DS0": "syscall", - "syscall.IFT_DS0BUNDLE": "syscall", - "syscall.IFT_DS1FDL": "syscall", - "syscall.IFT_DS3": "syscall", - "syscall.IFT_DTM": "syscall", - "syscall.IFT_DUMMY": "syscall", - "syscall.IFT_DVBASILN": "syscall", - "syscall.IFT_DVBASIOUT": "syscall", - "syscall.IFT_DVBRCCDOWNSTREAM": "syscall", - "syscall.IFT_DVBRCCMACLAYER": "syscall", - "syscall.IFT_DVBRCCUPSTREAM": "syscall", - "syscall.IFT_ECONET": "syscall", - "syscall.IFT_ENC": "syscall", - "syscall.IFT_EON": "syscall", - "syscall.IFT_EPLRS": "syscall", - "syscall.IFT_ESCON": "syscall", - "syscall.IFT_ETHER": "syscall", - "syscall.IFT_FAITH": "syscall", - "syscall.IFT_FAST": "syscall", - "syscall.IFT_FASTETHER": "syscall", - "syscall.IFT_FASTETHERFX": "syscall", - "syscall.IFT_FDDI": "syscall", - "syscall.IFT_FIBRECHANNEL": "syscall", - "syscall.IFT_FRAMERELAYINTERCONNECT": "syscall", - "syscall.IFT_FRAMERELAYMPI": "syscall", - "syscall.IFT_FRDLCIENDPT": "syscall", - "syscall.IFT_FRELAY": "syscall", - "syscall.IFT_FRELAYDCE": "syscall", - "syscall.IFT_FRF16MFRBUNDLE": "syscall", - "syscall.IFT_FRFORWARD": "syscall", - "syscall.IFT_G703AT2MB": "syscall", - "syscall.IFT_G703AT64K": "syscall", - "syscall.IFT_GIF": "syscall", - "syscall.IFT_GIGABITETHERNET": "syscall", - "syscall.IFT_GR303IDT": "syscall", - "syscall.IFT_GR303RDT": "syscall", - "syscall.IFT_H323GATEKEEPER": "syscall", - "syscall.IFT_H323PROXY": "syscall", - "syscall.IFT_HDH1822": "syscall", - "syscall.IFT_HDLC": "syscall", - "syscall.IFT_HDSL2": "syscall", - "syscall.IFT_HIPERLAN2": "syscall", - "syscall.IFT_HIPPI": "syscall", - "syscall.IFT_HIPPIINTERFACE": "syscall", - "syscall.IFT_HOSTPAD": "syscall", - "syscall.IFT_HSSI": "syscall", - "syscall.IFT_HY": "syscall", - "syscall.IFT_IBM370PARCHAN": "syscall", - "syscall.IFT_IDSL": "syscall", - "syscall.IFT_IEEE1394": "syscall", - "syscall.IFT_IEEE80211": "syscall", - "syscall.IFT_IEEE80212": "syscall", - "syscall.IFT_IEEE8023ADLAG": "syscall", - "syscall.IFT_IFGSN": "syscall", - "syscall.IFT_IMT": "syscall", - "syscall.IFT_INFINIBAND": "syscall", - "syscall.IFT_INTERLEAVE": "syscall", - "syscall.IFT_IP": "syscall", - "syscall.IFT_IPFORWARD": "syscall", - "syscall.IFT_IPOVERATM": "syscall", - "syscall.IFT_IPOVERCDLC": "syscall", - "syscall.IFT_IPOVERCLAW": "syscall", - "syscall.IFT_IPSWITCH": "syscall", - "syscall.IFT_IPXIP": "syscall", - "syscall.IFT_ISDN": "syscall", - "syscall.IFT_ISDNBASIC": "syscall", - "syscall.IFT_ISDNPRIMARY": "syscall", - "syscall.IFT_ISDNS": "syscall", - "syscall.IFT_ISDNU": "syscall", - "syscall.IFT_ISO88022LLC": "syscall", - "syscall.IFT_ISO88023": "syscall", - "syscall.IFT_ISO88024": "syscall", - "syscall.IFT_ISO88025": "syscall", - "syscall.IFT_ISO88025CRFPINT": "syscall", - "syscall.IFT_ISO88025DTR": "syscall", - "syscall.IFT_ISO88025FIBER": "syscall", - "syscall.IFT_ISO88026": "syscall", - "syscall.IFT_ISUP": "syscall", - "syscall.IFT_L2VLAN": "syscall", - "syscall.IFT_L3IPVLAN": "syscall", - "syscall.IFT_L3IPXVLAN": "syscall", - "syscall.IFT_LAPB": "syscall", - "syscall.IFT_LAPD": "syscall", - "syscall.IFT_LAPF": "syscall", - "syscall.IFT_LINEGROUP": "syscall", - "syscall.IFT_LOCALTALK": "syscall", - "syscall.IFT_LOOP": "syscall", - "syscall.IFT_MEDIAMAILOVERIP": "syscall", - "syscall.IFT_MFSIGLINK": "syscall", - "syscall.IFT_MIOX25": "syscall", - "syscall.IFT_MODEM": "syscall", - "syscall.IFT_MPC": "syscall", - "syscall.IFT_MPLS": "syscall", - "syscall.IFT_MPLSTUNNEL": "syscall", - "syscall.IFT_MSDSL": "syscall", - "syscall.IFT_MVL": "syscall", - "syscall.IFT_MYRINET": "syscall", - "syscall.IFT_NFAS": "syscall", - "syscall.IFT_NSIP": "syscall", - "syscall.IFT_OPTICALCHANNEL": "syscall", - "syscall.IFT_OPTICALTRANSPORT": "syscall", - "syscall.IFT_OTHER": "syscall", - "syscall.IFT_P10": "syscall", - "syscall.IFT_P80": "syscall", - "syscall.IFT_PARA": "syscall", - "syscall.IFT_PDP": "syscall", - "syscall.IFT_PFLOG": "syscall", - "syscall.IFT_PFLOW": "syscall", - "syscall.IFT_PFSYNC": "syscall", - "syscall.IFT_PLC": "syscall", - "syscall.IFT_PON155": "syscall", - "syscall.IFT_PON622": "syscall", - "syscall.IFT_POS": "syscall", - "syscall.IFT_PPP": "syscall", - "syscall.IFT_PPPMULTILINKBUNDLE": "syscall", - "syscall.IFT_PROPATM": "syscall", - "syscall.IFT_PROPBWAP2MP": "syscall", - "syscall.IFT_PROPCNLS": "syscall", - "syscall.IFT_PROPDOCSWIRELESSDOWNSTREAM": "syscall", - "syscall.IFT_PROPDOCSWIRELESSMACLAYER": "syscall", - "syscall.IFT_PROPDOCSWIRELESSUPSTREAM": "syscall", - "syscall.IFT_PROPMUX": "syscall", - "syscall.IFT_PROPVIRTUAL": "syscall", - "syscall.IFT_PROPWIRELESSP2P": "syscall", - "syscall.IFT_PTPSERIAL": "syscall", - "syscall.IFT_PVC": "syscall", - "syscall.IFT_Q2931": "syscall", - "syscall.IFT_QLLC": "syscall", - "syscall.IFT_RADIOMAC": "syscall", - "syscall.IFT_RADSL": "syscall", - "syscall.IFT_REACHDSL": "syscall", - "syscall.IFT_RFC1483": "syscall", - "syscall.IFT_RS232": "syscall", - "syscall.IFT_RSRB": "syscall", - "syscall.IFT_SDLC": "syscall", - "syscall.IFT_SDSL": "syscall", - "syscall.IFT_SHDSL": "syscall", - "syscall.IFT_SIP": "syscall", - "syscall.IFT_SIPSIG": "syscall", - "syscall.IFT_SIPTG": "syscall", - "syscall.IFT_SLIP": "syscall", - "syscall.IFT_SMDSDXI": "syscall", - "syscall.IFT_SMDSICIP": "syscall", - "syscall.IFT_SONET": "syscall", - "syscall.IFT_SONETOVERHEADCHANNEL": "syscall", - "syscall.IFT_SONETPATH": "syscall", - "syscall.IFT_SONETVT": "syscall", - "syscall.IFT_SRP": "syscall", - "syscall.IFT_SS7SIGLINK": "syscall", - "syscall.IFT_STACKTOSTACK": "syscall", - "syscall.IFT_STARLAN": "syscall", - "syscall.IFT_STF": "syscall", - "syscall.IFT_T1": "syscall", - "syscall.IFT_TDLC": "syscall", - "syscall.IFT_TELINK": "syscall", - "syscall.IFT_TERMPAD": "syscall", - "syscall.IFT_TR008": "syscall", - "syscall.IFT_TRANSPHDLC": "syscall", - "syscall.IFT_TUNNEL": "syscall", - "syscall.IFT_ULTRA": "syscall", - "syscall.IFT_USB": "syscall", - "syscall.IFT_V11": "syscall", - "syscall.IFT_V35": "syscall", - "syscall.IFT_V36": "syscall", - "syscall.IFT_V37": "syscall", - "syscall.IFT_VDSL": "syscall", - "syscall.IFT_VIRTUALIPADDRESS": "syscall", - "syscall.IFT_VIRTUALTG": "syscall", - "syscall.IFT_VOICEDID": "syscall", - "syscall.IFT_VOICEEM": "syscall", - "syscall.IFT_VOICEEMFGD": "syscall", - "syscall.IFT_VOICEENCAP": "syscall", - "syscall.IFT_VOICEFGDEANA": "syscall", - "syscall.IFT_VOICEFXO": "syscall", - "syscall.IFT_VOICEFXS": "syscall", - "syscall.IFT_VOICEOVERATM": "syscall", - "syscall.IFT_VOICEOVERCABLE": "syscall", - "syscall.IFT_VOICEOVERFRAMERELAY": "syscall", - "syscall.IFT_VOICEOVERIP": "syscall", - "syscall.IFT_X213": "syscall", - "syscall.IFT_X25": "syscall", - "syscall.IFT_X25DDN": "syscall", - "syscall.IFT_X25HUNTGROUP": "syscall", - "syscall.IFT_X25MLP": "syscall", - "syscall.IFT_X25PLE": "syscall", - "syscall.IFT_XETHER": "syscall", - "syscall.IGNBRK": "syscall", - "syscall.IGNCR": "syscall", - "syscall.IGNORE": "syscall", - "syscall.IGNPAR": "syscall", - "syscall.IMAXBEL": "syscall", - "syscall.INFINITE": "syscall", - "syscall.INLCR": "syscall", - "syscall.INPCK": "syscall", - "syscall.INVALID_FILE_ATTRIBUTES": "syscall", - "syscall.IN_ACCESS": "syscall", - "syscall.IN_ALL_EVENTS": "syscall", - "syscall.IN_ATTRIB": "syscall", - "syscall.IN_CLASSA_HOST": "syscall", - "syscall.IN_CLASSA_MAX": "syscall", - "syscall.IN_CLASSA_NET": "syscall", - "syscall.IN_CLASSA_NSHIFT": "syscall", - "syscall.IN_CLASSB_HOST": "syscall", - "syscall.IN_CLASSB_MAX": "syscall", - "syscall.IN_CLASSB_NET": "syscall", - "syscall.IN_CLASSB_NSHIFT": "syscall", - "syscall.IN_CLASSC_HOST": "syscall", - "syscall.IN_CLASSC_NET": "syscall", - "syscall.IN_CLASSC_NSHIFT": "syscall", - "syscall.IN_CLASSD_HOST": "syscall", - "syscall.IN_CLASSD_NET": "syscall", - "syscall.IN_CLASSD_NSHIFT": "syscall", - "syscall.IN_CLOEXEC": "syscall", - "syscall.IN_CLOSE": "syscall", - "syscall.IN_CLOSE_NOWRITE": "syscall", - "syscall.IN_CLOSE_WRITE": "syscall", - "syscall.IN_CREATE": "syscall", - "syscall.IN_DELETE": "syscall", - "syscall.IN_DELETE_SELF": "syscall", - "syscall.IN_DONT_FOLLOW": "syscall", - "syscall.IN_EXCL_UNLINK": "syscall", - "syscall.IN_IGNORED": "syscall", - "syscall.IN_ISDIR": "syscall", - "syscall.IN_LINKLOCALNETNUM": "syscall", - "syscall.IN_LOOPBACKNET": "syscall", - "syscall.IN_MASK_ADD": "syscall", - "syscall.IN_MODIFY": "syscall", - "syscall.IN_MOVE": "syscall", - "syscall.IN_MOVED_FROM": "syscall", - "syscall.IN_MOVED_TO": "syscall", - "syscall.IN_MOVE_SELF": "syscall", - "syscall.IN_NONBLOCK": "syscall", - "syscall.IN_ONESHOT": "syscall", - "syscall.IN_ONLYDIR": "syscall", - "syscall.IN_OPEN": "syscall", - "syscall.IN_Q_OVERFLOW": "syscall", - "syscall.IN_RFC3021_HOST": "syscall", - "syscall.IN_RFC3021_MASK": "syscall", - "syscall.IN_RFC3021_NET": "syscall", - "syscall.IN_RFC3021_NSHIFT": "syscall", - "syscall.IN_UNMOUNT": "syscall", - "syscall.IOC_IN": "syscall", - "syscall.IOC_INOUT": "syscall", - "syscall.IOC_OUT": "syscall", - "syscall.IOC_WS2": "syscall", - "syscall.IPMreq": "syscall", - "syscall.IPMreqn": "syscall", - "syscall.IPPROTO_3PC": "syscall", - "syscall.IPPROTO_ADFS": "syscall", - "syscall.IPPROTO_AH": "syscall", - "syscall.IPPROTO_AHIP": "syscall", - "syscall.IPPROTO_APES": "syscall", - "syscall.IPPROTO_ARGUS": "syscall", - "syscall.IPPROTO_AX25": "syscall", - "syscall.IPPROTO_BHA": "syscall", - "syscall.IPPROTO_BLT": "syscall", - "syscall.IPPROTO_BRSATMON": "syscall", - "syscall.IPPROTO_CARP": "syscall", - "syscall.IPPROTO_CFTP": "syscall", - "syscall.IPPROTO_CHAOS": "syscall", - "syscall.IPPROTO_CMTP": "syscall", - "syscall.IPPROTO_COMP": "syscall", - "syscall.IPPROTO_CPHB": "syscall", - "syscall.IPPROTO_CPNX": "syscall", - "syscall.IPPROTO_DCCP": "syscall", - "syscall.IPPROTO_DDP": "syscall", - "syscall.IPPROTO_DGP": "syscall", - "syscall.IPPROTO_DIVERT": "syscall", - "syscall.IPPROTO_DONE": "syscall", - "syscall.IPPROTO_DSTOPTS": "syscall", - "syscall.IPPROTO_EGP": "syscall", - "syscall.IPPROTO_EMCON": "syscall", - "syscall.IPPROTO_ENCAP": "syscall", - "syscall.IPPROTO_EON": "syscall", - "syscall.IPPROTO_ESP": "syscall", - "syscall.IPPROTO_ETHERIP": "syscall", - "syscall.IPPROTO_FRAGMENT": "syscall", - "syscall.IPPROTO_GGP": "syscall", - "syscall.IPPROTO_GMTP": "syscall", - "syscall.IPPROTO_GRE": "syscall", - "syscall.IPPROTO_HELLO": "syscall", - "syscall.IPPROTO_HMP": "syscall", - "syscall.IPPROTO_HOPOPTS": "syscall", - "syscall.IPPROTO_ICMP": "syscall", - "syscall.IPPROTO_ICMPV6": "syscall", - "syscall.IPPROTO_IDP": "syscall", - "syscall.IPPROTO_IDPR": "syscall", - "syscall.IPPROTO_IDRP": "syscall", - "syscall.IPPROTO_IGMP": "syscall", - "syscall.IPPROTO_IGP": "syscall", - "syscall.IPPROTO_IGRP": "syscall", - "syscall.IPPROTO_IL": "syscall", - "syscall.IPPROTO_INLSP": "syscall", - "syscall.IPPROTO_INP": "syscall", - "syscall.IPPROTO_IP": "syscall", - "syscall.IPPROTO_IPCOMP": "syscall", - "syscall.IPPROTO_IPCV": "syscall", - "syscall.IPPROTO_IPEIP": "syscall", - "syscall.IPPROTO_IPIP": "syscall", - "syscall.IPPROTO_IPPC": "syscall", - "syscall.IPPROTO_IPV4": "syscall", - "syscall.IPPROTO_IPV6": "syscall", - "syscall.IPPROTO_IPV6_ICMP": "syscall", - "syscall.IPPROTO_IRTP": "syscall", - "syscall.IPPROTO_KRYPTOLAN": "syscall", - "syscall.IPPROTO_LARP": "syscall", - "syscall.IPPROTO_LEAF1": "syscall", - "syscall.IPPROTO_LEAF2": "syscall", - "syscall.IPPROTO_MAX": "syscall", - "syscall.IPPROTO_MAXID": "syscall", - "syscall.IPPROTO_MEAS": "syscall", - "syscall.IPPROTO_MH": "syscall", - "syscall.IPPROTO_MHRP": "syscall", - "syscall.IPPROTO_MICP": "syscall", - "syscall.IPPROTO_MOBILE": "syscall", - "syscall.IPPROTO_MPLS": "syscall", - "syscall.IPPROTO_MTP": "syscall", - "syscall.IPPROTO_MUX": "syscall", - "syscall.IPPROTO_ND": "syscall", - "syscall.IPPROTO_NHRP": "syscall", - "syscall.IPPROTO_NONE": "syscall", - "syscall.IPPROTO_NSP": "syscall", - "syscall.IPPROTO_NVPII": "syscall", - "syscall.IPPROTO_OLD_DIVERT": "syscall", - "syscall.IPPROTO_OSPFIGP": "syscall", - "syscall.IPPROTO_PFSYNC": "syscall", - "syscall.IPPROTO_PGM": "syscall", - "syscall.IPPROTO_PIGP": "syscall", - "syscall.IPPROTO_PIM": "syscall", - "syscall.IPPROTO_PRM": "syscall", - "syscall.IPPROTO_PUP": "syscall", - "syscall.IPPROTO_PVP": "syscall", - "syscall.IPPROTO_RAW": "syscall", - "syscall.IPPROTO_RCCMON": "syscall", - "syscall.IPPROTO_RDP": "syscall", - "syscall.IPPROTO_ROUTING": "syscall", - "syscall.IPPROTO_RSVP": "syscall", - "syscall.IPPROTO_RVD": "syscall", - "syscall.IPPROTO_SATEXPAK": "syscall", - "syscall.IPPROTO_SATMON": "syscall", - "syscall.IPPROTO_SCCSP": "syscall", - "syscall.IPPROTO_SCTP": "syscall", - "syscall.IPPROTO_SDRP": "syscall", - "syscall.IPPROTO_SEND": "syscall", - "syscall.IPPROTO_SEP": "syscall", - "syscall.IPPROTO_SKIP": "syscall", - "syscall.IPPROTO_SPACER": "syscall", - "syscall.IPPROTO_SRPC": "syscall", - "syscall.IPPROTO_ST": "syscall", - "syscall.IPPROTO_SVMTP": "syscall", - "syscall.IPPROTO_SWIPE": "syscall", - "syscall.IPPROTO_TCF": "syscall", - "syscall.IPPROTO_TCP": "syscall", - "syscall.IPPROTO_TLSP": "syscall", - "syscall.IPPROTO_TP": "syscall", - "syscall.IPPROTO_TPXX": "syscall", - "syscall.IPPROTO_TRUNK1": "syscall", - "syscall.IPPROTO_TRUNK2": "syscall", - "syscall.IPPROTO_TTP": "syscall", - "syscall.IPPROTO_UDP": "syscall", - "syscall.IPPROTO_UDPLITE": "syscall", - "syscall.IPPROTO_VINES": "syscall", - "syscall.IPPROTO_VISA": "syscall", - "syscall.IPPROTO_VMTP": "syscall", - "syscall.IPPROTO_VRRP": "syscall", - "syscall.IPPROTO_WBEXPAK": "syscall", - "syscall.IPPROTO_WBMON": "syscall", - "syscall.IPPROTO_WSN": "syscall", - "syscall.IPPROTO_XNET": "syscall", - "syscall.IPPROTO_XTP": "syscall", - "syscall.IPV6_2292DSTOPTS": "syscall", - "syscall.IPV6_2292HOPLIMIT": "syscall", - "syscall.IPV6_2292HOPOPTS": "syscall", - "syscall.IPV6_2292NEXTHOP": "syscall", - "syscall.IPV6_2292PKTINFO": "syscall", - "syscall.IPV6_2292PKTOPTIONS": "syscall", - "syscall.IPV6_2292RTHDR": "syscall", - "syscall.IPV6_ADDRFORM": "syscall", - "syscall.IPV6_ADD_MEMBERSHIP": "syscall", - "syscall.IPV6_AUTHHDR": "syscall", - "syscall.IPV6_AUTH_LEVEL": "syscall", - "syscall.IPV6_AUTOFLOWLABEL": "syscall", - "syscall.IPV6_BINDANY": "syscall", - "syscall.IPV6_BINDV6ONLY": "syscall", - "syscall.IPV6_BOUND_IF": "syscall", - "syscall.IPV6_CHECKSUM": "syscall", - "syscall.IPV6_DEFAULT_MULTICAST_HOPS": "syscall", - "syscall.IPV6_DEFAULT_MULTICAST_LOOP": "syscall", - "syscall.IPV6_DEFHLIM": "syscall", - "syscall.IPV6_DONTFRAG": "syscall", - "syscall.IPV6_DROP_MEMBERSHIP": "syscall", - "syscall.IPV6_DSTOPTS": "syscall", - "syscall.IPV6_ESP_NETWORK_LEVEL": "syscall", - "syscall.IPV6_ESP_TRANS_LEVEL": "syscall", - "syscall.IPV6_FAITH": "syscall", - "syscall.IPV6_FLOWINFO_MASK": "syscall", - "syscall.IPV6_FLOWLABEL_MASK": "syscall", - "syscall.IPV6_FRAGTTL": "syscall", - "syscall.IPV6_FW_ADD": "syscall", - "syscall.IPV6_FW_DEL": "syscall", - "syscall.IPV6_FW_FLUSH": "syscall", - "syscall.IPV6_FW_GET": "syscall", - "syscall.IPV6_FW_ZERO": "syscall", - "syscall.IPV6_HLIMDEC": "syscall", - "syscall.IPV6_HOPLIMIT": "syscall", - "syscall.IPV6_HOPOPTS": "syscall", - "syscall.IPV6_IPCOMP_LEVEL": "syscall", - "syscall.IPV6_IPSEC_POLICY": "syscall", - "syscall.IPV6_JOIN_ANYCAST": "syscall", - "syscall.IPV6_JOIN_GROUP": "syscall", - "syscall.IPV6_LEAVE_ANYCAST": "syscall", - "syscall.IPV6_LEAVE_GROUP": "syscall", - "syscall.IPV6_MAXHLIM": "syscall", - "syscall.IPV6_MAXOPTHDR": "syscall", - "syscall.IPV6_MAXPACKET": "syscall", - "syscall.IPV6_MAX_GROUP_SRC_FILTER": "syscall", - "syscall.IPV6_MAX_MEMBERSHIPS": "syscall", - "syscall.IPV6_MAX_SOCK_SRC_FILTER": "syscall", - "syscall.IPV6_MIN_MEMBERSHIPS": "syscall", - "syscall.IPV6_MMTU": "syscall", - "syscall.IPV6_MSFILTER": "syscall", - "syscall.IPV6_MTU": "syscall", - "syscall.IPV6_MTU_DISCOVER": "syscall", - "syscall.IPV6_MULTICAST_HOPS": "syscall", - "syscall.IPV6_MULTICAST_IF": "syscall", - "syscall.IPV6_MULTICAST_LOOP": "syscall", - "syscall.IPV6_NEXTHOP": "syscall", - "syscall.IPV6_OPTIONS": "syscall", - "syscall.IPV6_PATHMTU": "syscall", - "syscall.IPV6_PIPEX": "syscall", - "syscall.IPV6_PKTINFO": "syscall", - "syscall.IPV6_PMTUDISC_DO": "syscall", - "syscall.IPV6_PMTUDISC_DONT": "syscall", - "syscall.IPV6_PMTUDISC_PROBE": "syscall", - "syscall.IPV6_PMTUDISC_WANT": "syscall", - "syscall.IPV6_PORTRANGE": "syscall", - "syscall.IPV6_PORTRANGE_DEFAULT": "syscall", - "syscall.IPV6_PORTRANGE_HIGH": "syscall", - "syscall.IPV6_PORTRANGE_LOW": "syscall", - "syscall.IPV6_PREFER_TEMPADDR": "syscall", - "syscall.IPV6_RECVDSTOPTS": "syscall", - "syscall.IPV6_RECVERR": "syscall", - "syscall.IPV6_RECVHOPLIMIT": "syscall", - "syscall.IPV6_RECVHOPOPTS": "syscall", - "syscall.IPV6_RECVPATHMTU": "syscall", - "syscall.IPV6_RECVPKTINFO": "syscall", - "syscall.IPV6_RECVRTHDR": "syscall", - "syscall.IPV6_RECVTCLASS": "syscall", - "syscall.IPV6_ROUTER_ALERT": "syscall", - "syscall.IPV6_RTABLE": "syscall", - "syscall.IPV6_RTHDR": "syscall", - "syscall.IPV6_RTHDRDSTOPTS": "syscall", - "syscall.IPV6_RTHDR_LOOSE": "syscall", - "syscall.IPV6_RTHDR_STRICT": "syscall", - "syscall.IPV6_RTHDR_TYPE_0": "syscall", - "syscall.IPV6_RXDSTOPTS": "syscall", - "syscall.IPV6_RXHOPOPTS": "syscall", - "syscall.IPV6_SOCKOPT_RESERVED1": "syscall", - "syscall.IPV6_TCLASS": "syscall", - "syscall.IPV6_UNICAST_HOPS": "syscall", - "syscall.IPV6_USE_MIN_MTU": "syscall", - "syscall.IPV6_V6ONLY": "syscall", - "syscall.IPV6_VERSION": "syscall", - "syscall.IPV6_VERSION_MASK": "syscall", - "syscall.IPV6_XFRM_POLICY": "syscall", - "syscall.IP_ADD_MEMBERSHIP": "syscall", - "syscall.IP_ADD_SOURCE_MEMBERSHIP": "syscall", - "syscall.IP_AUTH_LEVEL": "syscall", - "syscall.IP_BINDANY": "syscall", - "syscall.IP_BLOCK_SOURCE": "syscall", - "syscall.IP_BOUND_IF": "syscall", - "syscall.IP_DEFAULT_MULTICAST_LOOP": "syscall", - "syscall.IP_DEFAULT_MULTICAST_TTL": "syscall", - "syscall.IP_DF": "syscall", - "syscall.IP_DONTFRAG": "syscall", - "syscall.IP_DROP_MEMBERSHIP": "syscall", - "syscall.IP_DROP_SOURCE_MEMBERSHIP": "syscall", - "syscall.IP_DUMMYNET3": "syscall", - "syscall.IP_DUMMYNET_CONFIGURE": "syscall", - "syscall.IP_DUMMYNET_DEL": "syscall", - "syscall.IP_DUMMYNET_FLUSH": "syscall", - "syscall.IP_DUMMYNET_GET": "syscall", - "syscall.IP_EF": "syscall", - "syscall.IP_ERRORMTU": "syscall", - "syscall.IP_ESP_NETWORK_LEVEL": "syscall", - "syscall.IP_ESP_TRANS_LEVEL": "syscall", - "syscall.IP_FAITH": "syscall", - "syscall.IP_FREEBIND": "syscall", - "syscall.IP_FW3": "syscall", - "syscall.IP_FW_ADD": "syscall", - "syscall.IP_FW_DEL": "syscall", - "syscall.IP_FW_FLUSH": "syscall", - "syscall.IP_FW_GET": "syscall", - "syscall.IP_FW_NAT_CFG": "syscall", - "syscall.IP_FW_NAT_DEL": "syscall", - "syscall.IP_FW_NAT_GET_CONFIG": "syscall", - "syscall.IP_FW_NAT_GET_LOG": "syscall", - "syscall.IP_FW_RESETLOG": "syscall", - "syscall.IP_FW_TABLE_ADD": "syscall", - "syscall.IP_FW_TABLE_DEL": "syscall", - "syscall.IP_FW_TABLE_FLUSH": "syscall", - "syscall.IP_FW_TABLE_GETSIZE": "syscall", - "syscall.IP_FW_TABLE_LIST": "syscall", - "syscall.IP_FW_ZERO": "syscall", - "syscall.IP_HDRINCL": "syscall", - "syscall.IP_IPCOMP_LEVEL": "syscall", - "syscall.IP_IPSECFLOWINFO": "syscall", - "syscall.IP_IPSEC_LOCAL_AUTH": "syscall", - "syscall.IP_IPSEC_LOCAL_CRED": "syscall", - "syscall.IP_IPSEC_LOCAL_ID": "syscall", - "syscall.IP_IPSEC_POLICY": "syscall", - "syscall.IP_IPSEC_REMOTE_AUTH": "syscall", - "syscall.IP_IPSEC_REMOTE_CRED": "syscall", - "syscall.IP_IPSEC_REMOTE_ID": "syscall", - "syscall.IP_MAXPACKET": "syscall", - "syscall.IP_MAX_GROUP_SRC_FILTER": "syscall", - "syscall.IP_MAX_MEMBERSHIPS": "syscall", - "syscall.IP_MAX_SOCK_MUTE_FILTER": "syscall", - "syscall.IP_MAX_SOCK_SRC_FILTER": "syscall", - "syscall.IP_MAX_SOURCE_FILTER": "syscall", - "syscall.IP_MF": "syscall", - "syscall.IP_MINFRAGSIZE": "syscall", - "syscall.IP_MINTTL": "syscall", - "syscall.IP_MIN_MEMBERSHIPS": "syscall", - "syscall.IP_MSFILTER": "syscall", - "syscall.IP_MSS": "syscall", - "syscall.IP_MTU": "syscall", - "syscall.IP_MTU_DISCOVER": "syscall", - "syscall.IP_MULTICAST_IF": "syscall", - "syscall.IP_MULTICAST_IFINDEX": "syscall", - "syscall.IP_MULTICAST_LOOP": "syscall", - "syscall.IP_MULTICAST_TTL": "syscall", - "syscall.IP_MULTICAST_VIF": "syscall", - "syscall.IP_NAT__XXX": "syscall", - "syscall.IP_OFFMASK": "syscall", - "syscall.IP_OLD_FW_ADD": "syscall", - "syscall.IP_OLD_FW_DEL": "syscall", - "syscall.IP_OLD_FW_FLUSH": "syscall", - "syscall.IP_OLD_FW_GET": "syscall", - "syscall.IP_OLD_FW_RESETLOG": "syscall", - "syscall.IP_OLD_FW_ZERO": "syscall", - "syscall.IP_ONESBCAST": "syscall", - "syscall.IP_OPTIONS": "syscall", - "syscall.IP_ORIGDSTADDR": "syscall", - "syscall.IP_PASSSEC": "syscall", - "syscall.IP_PIPEX": "syscall", - "syscall.IP_PKTINFO": "syscall", - "syscall.IP_PKTOPTIONS": "syscall", - "syscall.IP_PMTUDISC": "syscall", - "syscall.IP_PMTUDISC_DO": "syscall", - "syscall.IP_PMTUDISC_DONT": "syscall", - "syscall.IP_PMTUDISC_PROBE": "syscall", - "syscall.IP_PMTUDISC_WANT": "syscall", - "syscall.IP_PORTRANGE": "syscall", - "syscall.IP_PORTRANGE_DEFAULT": "syscall", - "syscall.IP_PORTRANGE_HIGH": "syscall", - "syscall.IP_PORTRANGE_LOW": "syscall", - "syscall.IP_RECVDSTADDR": "syscall", - "syscall.IP_RECVDSTPORT": "syscall", - "syscall.IP_RECVERR": "syscall", - "syscall.IP_RECVIF": "syscall", - "syscall.IP_RECVOPTS": "syscall", - "syscall.IP_RECVORIGDSTADDR": "syscall", - "syscall.IP_RECVPKTINFO": "syscall", - "syscall.IP_RECVRETOPTS": "syscall", - "syscall.IP_RECVRTABLE": "syscall", - "syscall.IP_RECVTOS": "syscall", - "syscall.IP_RECVTTL": "syscall", - "syscall.IP_RETOPTS": "syscall", - "syscall.IP_RF": "syscall", - "syscall.IP_ROUTER_ALERT": "syscall", - "syscall.IP_RSVP_OFF": "syscall", - "syscall.IP_RSVP_ON": "syscall", - "syscall.IP_RSVP_VIF_OFF": "syscall", - "syscall.IP_RSVP_VIF_ON": "syscall", - "syscall.IP_RTABLE": "syscall", - "syscall.IP_SENDSRCADDR": "syscall", - "syscall.IP_STRIPHDR": "syscall", - "syscall.IP_TOS": "syscall", - "syscall.IP_TRAFFIC_MGT_BACKGROUND": "syscall", - "syscall.IP_TRANSPARENT": "syscall", - "syscall.IP_TTL": "syscall", - "syscall.IP_UNBLOCK_SOURCE": "syscall", - "syscall.IP_XFRM_POLICY": "syscall", - "syscall.IPv6MTUInfo": "syscall", - "syscall.IPv6Mreq": "syscall", - "syscall.ISIG": "syscall", - "syscall.ISTRIP": "syscall", - "syscall.IUCLC": "syscall", - "syscall.IUTF8": "syscall", - "syscall.IXANY": "syscall", - "syscall.IXOFF": "syscall", - "syscall.IXON": "syscall", - "syscall.IfAddrmsg": "syscall", - "syscall.IfAnnounceMsghdr": "syscall", - "syscall.IfData": "syscall", - "syscall.IfInfomsg": "syscall", - "syscall.IfMsghdr": "syscall", - "syscall.IfaMsghdr": "syscall", - "syscall.IfmaMsghdr": "syscall", - "syscall.IfmaMsghdr2": "syscall", - "syscall.ImplementsGetwd": "syscall", - "syscall.Inet4Pktinfo": "syscall", - "syscall.Inet6Pktinfo": "syscall", - "syscall.InotifyAddWatch": "syscall", - "syscall.InotifyEvent": "syscall", - "syscall.InotifyInit": "syscall", - "syscall.InotifyInit1": "syscall", - "syscall.InotifyRmWatch": "syscall", - "syscall.InterfaceAddrMessage": "syscall", - "syscall.InterfaceAnnounceMessage": "syscall", - "syscall.InterfaceInfo": "syscall", - "syscall.InterfaceMessage": "syscall", - "syscall.InterfaceMulticastAddrMessage": "syscall", - "syscall.InvalidHandle": "syscall", - "syscall.Ioperm": "syscall", - "syscall.Iopl": "syscall", - "syscall.Iovec": "syscall", - "syscall.IpAdapterInfo": "syscall", - "syscall.IpAddrString": "syscall", - "syscall.IpAddressString": "syscall", - "syscall.IpMaskString": "syscall", - "syscall.Issetugid": "syscall", - "syscall.KEY_ALL_ACCESS": "syscall", - "syscall.KEY_CREATE_LINK": "syscall", - "syscall.KEY_CREATE_SUB_KEY": "syscall", - "syscall.KEY_ENUMERATE_SUB_KEYS": "syscall", - "syscall.KEY_EXECUTE": "syscall", - "syscall.KEY_NOTIFY": "syscall", - "syscall.KEY_QUERY_VALUE": "syscall", - "syscall.KEY_READ": "syscall", - "syscall.KEY_SET_VALUE": "syscall", - "syscall.KEY_WOW64_32KEY": "syscall", - "syscall.KEY_WOW64_64KEY": "syscall", - "syscall.KEY_WRITE": "syscall", - "syscall.Kevent": "syscall", - "syscall.Kevent_t": "syscall", - "syscall.Kill": "syscall", - "syscall.Klogctl": "syscall", - "syscall.Kqueue": "syscall", - "syscall.LANG_ENGLISH": "syscall", - "syscall.LAYERED_PROTOCOL": "syscall", - "syscall.LCNT_OVERLOAD_FLUSH": "syscall", - "syscall.LINUX_REBOOT_CMD_CAD_OFF": "syscall", - "syscall.LINUX_REBOOT_CMD_CAD_ON": "syscall", - "syscall.LINUX_REBOOT_CMD_HALT": "syscall", - "syscall.LINUX_REBOOT_CMD_KEXEC": "syscall", - "syscall.LINUX_REBOOT_CMD_POWER_OFF": "syscall", - "syscall.LINUX_REBOOT_CMD_RESTART": "syscall", - "syscall.LINUX_REBOOT_CMD_RESTART2": "syscall", - "syscall.LINUX_REBOOT_CMD_SW_SUSPEND": "syscall", - "syscall.LINUX_REBOOT_MAGIC1": "syscall", - "syscall.LINUX_REBOOT_MAGIC2": "syscall", - "syscall.LOCK_EX": "syscall", - "syscall.LOCK_NB": "syscall", - "syscall.LOCK_SH": "syscall", - "syscall.LOCK_UN": "syscall", - "syscall.LazyDLL": "syscall", - "syscall.LazyProc": "syscall", - "syscall.Lchown": "syscall", - "syscall.Linger": "syscall", - "syscall.Link": "syscall", - "syscall.Listen": "syscall", - "syscall.Listxattr": "syscall", - "syscall.LoadCancelIoEx": "syscall", - "syscall.LoadConnectEx": "syscall", - "syscall.LoadDLL": "syscall", - "syscall.LoadGetAddrInfo": "syscall", - "syscall.LoadLibrary": "syscall", - "syscall.LoadSetFileCompletionNotificationModes": "syscall", - "syscall.LocalFree": "syscall", - "syscall.Log2phys_t": "syscall", - "syscall.LookupAccountName": "syscall", - "syscall.LookupAccountSid": "syscall", - "syscall.LookupSID": "syscall", - "syscall.LsfJump": "syscall", - "syscall.LsfSocket": "syscall", - "syscall.LsfStmt": "syscall", - "syscall.Lstat": "syscall", - "syscall.MADV_AUTOSYNC": "syscall", - "syscall.MADV_CAN_REUSE": "syscall", - "syscall.MADV_CORE": "syscall", - "syscall.MADV_DOFORK": "syscall", - "syscall.MADV_DONTFORK": "syscall", - "syscall.MADV_DONTNEED": "syscall", - "syscall.MADV_FREE": "syscall", - "syscall.MADV_FREE_REUSABLE": "syscall", - "syscall.MADV_FREE_REUSE": "syscall", - "syscall.MADV_HUGEPAGE": "syscall", - "syscall.MADV_HWPOISON": "syscall", - "syscall.MADV_MERGEABLE": "syscall", - "syscall.MADV_NOCORE": "syscall", - "syscall.MADV_NOHUGEPAGE": "syscall", - "syscall.MADV_NORMAL": "syscall", - "syscall.MADV_NOSYNC": "syscall", - "syscall.MADV_PROTECT": "syscall", - "syscall.MADV_RANDOM": "syscall", - "syscall.MADV_REMOVE": "syscall", - "syscall.MADV_SEQUENTIAL": "syscall", - "syscall.MADV_UNMERGEABLE": "syscall", - "syscall.MADV_WILLNEED": "syscall", - "syscall.MADV_ZERO_WIRED_PAGES": "syscall", - "syscall.MAP_32BIT": "syscall", - "syscall.MAP_ANON": "syscall", - "syscall.MAP_ANONYMOUS": "syscall", - "syscall.MAP_COPY": "syscall", - "syscall.MAP_DENYWRITE": "syscall", - "syscall.MAP_EXECUTABLE": "syscall", - "syscall.MAP_FILE": "syscall", - "syscall.MAP_FIXED": "syscall", - "syscall.MAP_GROWSDOWN": "syscall", - "syscall.MAP_HASSEMAPHORE": "syscall", - "syscall.MAP_HUGETLB": "syscall", - "syscall.MAP_JIT": "syscall", - "syscall.MAP_LOCKED": "syscall", - "syscall.MAP_NOCACHE": "syscall", - "syscall.MAP_NOCORE": "syscall", - "syscall.MAP_NOEXTEND": "syscall", - "syscall.MAP_NONBLOCK": "syscall", - "syscall.MAP_NORESERVE": "syscall", - "syscall.MAP_NOSYNC": "syscall", - "syscall.MAP_POPULATE": "syscall", - "syscall.MAP_PREFAULT_READ": "syscall", - "syscall.MAP_PRIVATE": "syscall", - "syscall.MAP_RENAME": "syscall", - "syscall.MAP_RESERVED0080": "syscall", - "syscall.MAP_RESERVED0100": "syscall", - "syscall.MAP_SHARED": "syscall", - "syscall.MAP_STACK": "syscall", - "syscall.MAP_TYPE": "syscall", - "syscall.MAXLEN_IFDESCR": "syscall", - "syscall.MAXLEN_PHYSADDR": "syscall", - "syscall.MAX_ADAPTER_ADDRESS_LENGTH": "syscall", - "syscall.MAX_ADAPTER_DESCRIPTION_LENGTH": "syscall", - "syscall.MAX_ADAPTER_NAME_LENGTH": "syscall", - "syscall.MAX_COMPUTERNAME_LENGTH": "syscall", - "syscall.MAX_INTERFACE_NAME_LEN": "syscall", - "syscall.MAX_LONG_PATH": "syscall", - "syscall.MAX_PATH": "syscall", - "syscall.MAX_PROTOCOL_CHAIN": "syscall", - "syscall.MCL_CURRENT": "syscall", - "syscall.MCL_FUTURE": "syscall", - "syscall.MNT_DETACH": "syscall", - "syscall.MNT_EXPIRE": "syscall", - "syscall.MNT_FORCE": "syscall", - "syscall.MSG_BCAST": "syscall", - "syscall.MSG_CMSG_CLOEXEC": "syscall", - "syscall.MSG_COMPAT": "syscall", - "syscall.MSG_CONFIRM": "syscall", - "syscall.MSG_CONTROLMBUF": "syscall", - "syscall.MSG_CTRUNC": "syscall", - "syscall.MSG_DONTROUTE": "syscall", - "syscall.MSG_DONTWAIT": "syscall", - "syscall.MSG_EOF": "syscall", - "syscall.MSG_EOR": "syscall", - "syscall.MSG_ERRQUEUE": "syscall", - "syscall.MSG_FASTOPEN": "syscall", - "syscall.MSG_FIN": "syscall", - "syscall.MSG_FLUSH": "syscall", - "syscall.MSG_HAVEMORE": "syscall", - "syscall.MSG_HOLD": "syscall", - "syscall.MSG_IOVUSRSPACE": "syscall", - "syscall.MSG_LENUSRSPACE": "syscall", - "syscall.MSG_MCAST": "syscall", - "syscall.MSG_MORE": "syscall", - "syscall.MSG_NAMEMBUF": "syscall", - "syscall.MSG_NBIO": "syscall", - "syscall.MSG_NEEDSA": "syscall", - "syscall.MSG_NOSIGNAL": "syscall", - "syscall.MSG_NOTIFICATION": "syscall", - "syscall.MSG_OOB": "syscall", - "syscall.MSG_PEEK": "syscall", - "syscall.MSG_PROXY": "syscall", - "syscall.MSG_RCVMORE": "syscall", - "syscall.MSG_RST": "syscall", - "syscall.MSG_SEND": "syscall", - "syscall.MSG_SYN": "syscall", - "syscall.MSG_TRUNC": "syscall", - "syscall.MSG_TRYHARD": "syscall", - "syscall.MSG_USERFLAGS": "syscall", - "syscall.MSG_WAITALL": "syscall", - "syscall.MSG_WAITFORONE": "syscall", - "syscall.MSG_WAITSTREAM": "syscall", - "syscall.MS_ACTIVE": "syscall", - "syscall.MS_ASYNC": "syscall", - "syscall.MS_BIND": "syscall", - "syscall.MS_DEACTIVATE": "syscall", - "syscall.MS_DIRSYNC": "syscall", - "syscall.MS_INVALIDATE": "syscall", - "syscall.MS_I_VERSION": "syscall", - "syscall.MS_KERNMOUNT": "syscall", - "syscall.MS_KILLPAGES": "syscall", - "syscall.MS_MANDLOCK": "syscall", - "syscall.MS_MGC_MSK": "syscall", - "syscall.MS_MGC_VAL": "syscall", - "syscall.MS_MOVE": "syscall", - "syscall.MS_NOATIME": "syscall", - "syscall.MS_NODEV": "syscall", - "syscall.MS_NODIRATIME": "syscall", - "syscall.MS_NOEXEC": "syscall", - "syscall.MS_NOSUID": "syscall", - "syscall.MS_NOUSER": "syscall", - "syscall.MS_POSIXACL": "syscall", - "syscall.MS_PRIVATE": "syscall", - "syscall.MS_RDONLY": "syscall", - "syscall.MS_REC": "syscall", - "syscall.MS_RELATIME": "syscall", - "syscall.MS_REMOUNT": "syscall", - "syscall.MS_RMT_MASK": "syscall", - "syscall.MS_SHARED": "syscall", - "syscall.MS_SILENT": "syscall", - "syscall.MS_SLAVE": "syscall", - "syscall.MS_STRICTATIME": "syscall", - "syscall.MS_SYNC": "syscall", - "syscall.MS_SYNCHRONOUS": "syscall", - "syscall.MS_UNBINDABLE": "syscall", - "syscall.Madvise": "syscall", - "syscall.MapViewOfFile": "syscall", - "syscall.MaxTokenInfoClass": "syscall", - "syscall.Mclpool": "syscall", - "syscall.MibIfRow": "syscall", - "syscall.Mkdir": "syscall", - "syscall.Mkdirat": "syscall", - "syscall.Mkfifo": "syscall", - "syscall.Mknod": "syscall", - "syscall.Mknodat": "syscall", - "syscall.Mlock": "syscall", - "syscall.Mlockall": "syscall", - "syscall.Mmap": "syscall", - "syscall.Mount": "syscall", - "syscall.MoveFile": "syscall", - "syscall.Mprotect": "syscall", - "syscall.Msghdr": "syscall", - "syscall.Munlock": "syscall", - "syscall.Munlockall": "syscall", - "syscall.Munmap": "syscall", - "syscall.MustLoadDLL": "syscall", - "syscall.NAME_MAX": "syscall", - "syscall.NETLINK_ADD_MEMBERSHIP": "syscall", - "syscall.NETLINK_AUDIT": "syscall", - "syscall.NETLINK_BROADCAST_ERROR": "syscall", - "syscall.NETLINK_CONNECTOR": "syscall", - "syscall.NETLINK_DNRTMSG": "syscall", - "syscall.NETLINK_DROP_MEMBERSHIP": "syscall", - "syscall.NETLINK_ECRYPTFS": "syscall", - "syscall.NETLINK_FIB_LOOKUP": "syscall", - "syscall.NETLINK_FIREWALL": "syscall", - "syscall.NETLINK_GENERIC": "syscall", - "syscall.NETLINK_INET_DIAG": "syscall", - "syscall.NETLINK_IP6_FW": "syscall", - "syscall.NETLINK_ISCSI": "syscall", - "syscall.NETLINK_KOBJECT_UEVENT": "syscall", - "syscall.NETLINK_NETFILTER": "syscall", - "syscall.NETLINK_NFLOG": "syscall", - "syscall.NETLINK_NO_ENOBUFS": "syscall", - "syscall.NETLINK_PKTINFO": "syscall", - "syscall.NETLINK_RDMA": "syscall", - "syscall.NETLINK_ROUTE": "syscall", - "syscall.NETLINK_SCSITRANSPORT": "syscall", - "syscall.NETLINK_SELINUX": "syscall", - "syscall.NETLINK_UNUSED": "syscall", - "syscall.NETLINK_USERSOCK": "syscall", - "syscall.NETLINK_XFRM": "syscall", - "syscall.NET_RT_DUMP": "syscall", - "syscall.NET_RT_DUMP2": "syscall", - "syscall.NET_RT_FLAGS": "syscall", - "syscall.NET_RT_IFLIST": "syscall", - "syscall.NET_RT_IFLIST2": "syscall", - "syscall.NET_RT_IFLISTL": "syscall", - "syscall.NET_RT_IFMALIST": "syscall", - "syscall.NET_RT_MAXID": "syscall", - "syscall.NET_RT_OIFLIST": "syscall", - "syscall.NET_RT_OOIFLIST": "syscall", - "syscall.NET_RT_STAT": "syscall", - "syscall.NET_RT_STATS": "syscall", - "syscall.NET_RT_TABLE": "syscall", - "syscall.NET_RT_TRASH": "syscall", - "syscall.NLA_ALIGNTO": "syscall", - "syscall.NLA_F_NESTED": "syscall", - "syscall.NLA_F_NET_BYTEORDER": "syscall", - "syscall.NLA_HDRLEN": "syscall", - "syscall.NLMSG_ALIGNTO": "syscall", - "syscall.NLMSG_DONE": "syscall", - "syscall.NLMSG_ERROR": "syscall", - "syscall.NLMSG_HDRLEN": "syscall", - "syscall.NLMSG_MIN_TYPE": "syscall", - "syscall.NLMSG_NOOP": "syscall", - "syscall.NLMSG_OVERRUN": "syscall", - "syscall.NLM_F_ACK": "syscall", - "syscall.NLM_F_APPEND": "syscall", - "syscall.NLM_F_ATOMIC": "syscall", - "syscall.NLM_F_CREATE": "syscall", - "syscall.NLM_F_DUMP": "syscall", - "syscall.NLM_F_ECHO": "syscall", - "syscall.NLM_F_EXCL": "syscall", - "syscall.NLM_F_MATCH": "syscall", - "syscall.NLM_F_MULTI": "syscall", - "syscall.NLM_F_REPLACE": "syscall", - "syscall.NLM_F_REQUEST": "syscall", - "syscall.NLM_F_ROOT": "syscall", - "syscall.NOFLSH": "syscall", - "syscall.NOTE_ABSOLUTE": "syscall", - "syscall.NOTE_ATTRIB": "syscall", - "syscall.NOTE_CHILD": "syscall", - "syscall.NOTE_DELETE": "syscall", - "syscall.NOTE_EOF": "syscall", - "syscall.NOTE_EXEC": "syscall", - "syscall.NOTE_EXIT": "syscall", - "syscall.NOTE_EXITSTATUS": "syscall", - "syscall.NOTE_EXTEND": "syscall", - "syscall.NOTE_FFAND": "syscall", - "syscall.NOTE_FFCOPY": "syscall", - "syscall.NOTE_FFCTRLMASK": "syscall", - "syscall.NOTE_FFLAGSMASK": "syscall", - "syscall.NOTE_FFNOP": "syscall", - "syscall.NOTE_FFOR": "syscall", - "syscall.NOTE_FORK": "syscall", - "syscall.NOTE_LINK": "syscall", - "syscall.NOTE_LOWAT": "syscall", - "syscall.NOTE_NONE": "syscall", - "syscall.NOTE_NSECONDS": "syscall", - "syscall.NOTE_PCTRLMASK": "syscall", - "syscall.NOTE_PDATAMASK": "syscall", - "syscall.NOTE_REAP": "syscall", - "syscall.NOTE_RENAME": "syscall", - "syscall.NOTE_RESOURCEEND": "syscall", - "syscall.NOTE_REVOKE": "syscall", - "syscall.NOTE_SECONDS": "syscall", - "syscall.NOTE_SIGNAL": "syscall", - "syscall.NOTE_TRACK": "syscall", - "syscall.NOTE_TRACKERR": "syscall", - "syscall.NOTE_TRIGGER": "syscall", - "syscall.NOTE_TRUNCATE": "syscall", - "syscall.NOTE_USECONDS": "syscall", - "syscall.NOTE_VM_ERROR": "syscall", - "syscall.NOTE_VM_PRESSURE": "syscall", - "syscall.NOTE_VM_PRESSURE_SUDDEN_TERMINATE": "syscall", - "syscall.NOTE_VM_PRESSURE_TERMINATE": "syscall", - "syscall.NOTE_WRITE": "syscall", - "syscall.NameCanonical": "syscall", - "syscall.NameCanonicalEx": "syscall", - "syscall.NameDisplay": "syscall", - "syscall.NameDnsDomain": "syscall", - "syscall.NameFullyQualifiedDN": "syscall", - "syscall.NameSamCompatible": "syscall", - "syscall.NameServicePrincipal": "syscall", - "syscall.NameUniqueId": "syscall", - "syscall.NameUnknown": "syscall", - "syscall.NameUserPrincipal": "syscall", - "syscall.Nanosleep": "syscall", - "syscall.NetApiBufferFree": "syscall", - "syscall.NetGetJoinInformation": "syscall", - "syscall.NetSetupDomainName": "syscall", - "syscall.NetSetupUnjoined": "syscall", - "syscall.NetSetupUnknownStatus": "syscall", - "syscall.NetSetupWorkgroupName": "syscall", - "syscall.NetUserGetInfo": "syscall", - "syscall.NetlinkMessage": "syscall", - "syscall.NetlinkRIB": "syscall", - "syscall.NetlinkRouteAttr": "syscall", - "syscall.NetlinkRouteRequest": "syscall", - "syscall.NewCallback": "syscall", - "syscall.NewLazyDLL": "syscall", - "syscall.NlAttr": "syscall", - "syscall.NlMsgerr": "syscall", - "syscall.NlMsghdr": "syscall", - "syscall.NsecToFiletime": "syscall", - "syscall.NsecToTimespec": "syscall", - "syscall.NsecToTimeval": "syscall", - "syscall.Ntohs": "syscall", - "syscall.OCRNL": "syscall", - "syscall.OFDEL": "syscall", - "syscall.OFILL": "syscall", - "syscall.OFIOGETBMAP": "syscall", - "syscall.OID_PKIX_KP_SERVER_AUTH": "syscall", - "syscall.OID_SERVER_GATED_CRYPTO": "syscall", - "syscall.OID_SGC_NETSCAPE": "syscall", - "syscall.OLCUC": "syscall", - "syscall.ONLCR": "syscall", - "syscall.ONLRET": "syscall", - "syscall.ONOCR": "syscall", - "syscall.ONOEOT": "syscall", - "syscall.OPEN_ALWAYS": "syscall", - "syscall.OPEN_EXISTING": "syscall", - "syscall.OPOST": "syscall", - "syscall.O_ACCMODE": "syscall", - "syscall.O_ALERT": "syscall", - "syscall.O_ALT_IO": "syscall", - "syscall.O_APPEND": "syscall", - "syscall.O_ASYNC": "syscall", - "syscall.O_CLOEXEC": "syscall", - "syscall.O_CREAT": "syscall", - "syscall.O_DIRECT": "syscall", - "syscall.O_DIRECTORY": "syscall", - "syscall.O_DSYNC": "syscall", - "syscall.O_EVTONLY": "syscall", - "syscall.O_EXCL": "syscall", - "syscall.O_EXEC": "syscall", - "syscall.O_EXLOCK": "syscall", - "syscall.O_FSYNC": "syscall", - "syscall.O_LARGEFILE": "syscall", - "syscall.O_NDELAY": "syscall", - "syscall.O_NOATIME": "syscall", - "syscall.O_NOCTTY": "syscall", - "syscall.O_NOFOLLOW": "syscall", - "syscall.O_NONBLOCK": "syscall", - "syscall.O_NOSIGPIPE": "syscall", - "syscall.O_POPUP": "syscall", - "syscall.O_RDONLY": "syscall", - "syscall.O_RDWR": "syscall", - "syscall.O_RSYNC": "syscall", - "syscall.O_SHLOCK": "syscall", - "syscall.O_SYMLINK": "syscall", - "syscall.O_SYNC": "syscall", - "syscall.O_TRUNC": "syscall", - "syscall.O_TTY_INIT": "syscall", - "syscall.O_WRONLY": "syscall", - "syscall.Open": "syscall", - "syscall.OpenCurrentProcessToken": "syscall", - "syscall.OpenProcess": "syscall", - "syscall.OpenProcessToken": "syscall", - "syscall.Openat": "syscall", - "syscall.Overlapped": "syscall", - "syscall.PACKET_ADD_MEMBERSHIP": "syscall", - "syscall.PACKET_BROADCAST": "syscall", - "syscall.PACKET_DROP_MEMBERSHIP": "syscall", - "syscall.PACKET_FASTROUTE": "syscall", - "syscall.PACKET_HOST": "syscall", - "syscall.PACKET_LOOPBACK": "syscall", - "syscall.PACKET_MR_ALLMULTI": "syscall", - "syscall.PACKET_MR_MULTICAST": "syscall", - "syscall.PACKET_MR_PROMISC": "syscall", - "syscall.PACKET_MULTICAST": "syscall", - "syscall.PACKET_OTHERHOST": "syscall", - "syscall.PACKET_OUTGOING": "syscall", - "syscall.PACKET_RECV_OUTPUT": "syscall", - "syscall.PACKET_RX_RING": "syscall", - "syscall.PACKET_STATISTICS": "syscall", - "syscall.PAGE_EXECUTE_READ": "syscall", - "syscall.PAGE_EXECUTE_READWRITE": "syscall", - "syscall.PAGE_EXECUTE_WRITECOPY": "syscall", - "syscall.PAGE_READONLY": "syscall", - "syscall.PAGE_READWRITE": "syscall", - "syscall.PAGE_WRITECOPY": "syscall", - "syscall.PARENB": "syscall", - "syscall.PARMRK": "syscall", - "syscall.PARODD": "syscall", - "syscall.PENDIN": "syscall", - "syscall.PFL_HIDDEN": "syscall", - "syscall.PFL_MATCHES_PROTOCOL_ZERO": "syscall", - "syscall.PFL_MULTIPLE_PROTO_ENTRIES": "syscall", - "syscall.PFL_NETWORKDIRECT_PROVIDER": "syscall", - "syscall.PFL_RECOMMENDED_PROTO_ENTRY": "syscall", - "syscall.PF_FLUSH": "syscall", - "syscall.PKCS_7_ASN_ENCODING": "syscall", - "syscall.PMC5_PIPELINE_FLUSH": "syscall", - "syscall.PRIO_PGRP": "syscall", - "syscall.PRIO_PROCESS": "syscall", - "syscall.PRIO_USER": "syscall", - "syscall.PRI_IOFLUSH": "syscall", - "syscall.PROCESS_QUERY_INFORMATION": "syscall", - "syscall.PROCESS_TERMINATE": "syscall", - "syscall.PROT_EXEC": "syscall", - "syscall.PROT_GROWSDOWN": "syscall", - "syscall.PROT_GROWSUP": "syscall", - "syscall.PROT_NONE": "syscall", - "syscall.PROT_READ": "syscall", - "syscall.PROT_WRITE": "syscall", - "syscall.PROV_DH_SCHANNEL": "syscall", - "syscall.PROV_DSS": "syscall", - "syscall.PROV_DSS_DH": "syscall", - "syscall.PROV_EC_ECDSA_FULL": "syscall", - "syscall.PROV_EC_ECDSA_SIG": "syscall", - "syscall.PROV_EC_ECNRA_FULL": "syscall", - "syscall.PROV_EC_ECNRA_SIG": "syscall", - "syscall.PROV_FORTEZZA": "syscall", - "syscall.PROV_INTEL_SEC": "syscall", - "syscall.PROV_MS_EXCHANGE": "syscall", - "syscall.PROV_REPLACE_OWF": "syscall", - "syscall.PROV_RNG": "syscall", - "syscall.PROV_RSA_AES": "syscall", - "syscall.PROV_RSA_FULL": "syscall", - "syscall.PROV_RSA_SCHANNEL": "syscall", - "syscall.PROV_RSA_SIG": "syscall", - "syscall.PROV_SPYRUS_LYNKS": "syscall", - "syscall.PROV_SSL": "syscall", - "syscall.PR_CAPBSET_DROP": "syscall", - "syscall.PR_CAPBSET_READ": "syscall", - "syscall.PR_CLEAR_SECCOMP_FILTER": "syscall", - "syscall.PR_ENDIAN_BIG": "syscall", - "syscall.PR_ENDIAN_LITTLE": "syscall", - "syscall.PR_ENDIAN_PPC_LITTLE": "syscall", - "syscall.PR_FPEMU_NOPRINT": "syscall", - "syscall.PR_FPEMU_SIGFPE": "syscall", - "syscall.PR_FP_EXC_ASYNC": "syscall", - "syscall.PR_FP_EXC_DISABLED": "syscall", - "syscall.PR_FP_EXC_DIV": "syscall", - "syscall.PR_FP_EXC_INV": "syscall", - "syscall.PR_FP_EXC_NONRECOV": "syscall", - "syscall.PR_FP_EXC_OVF": "syscall", - "syscall.PR_FP_EXC_PRECISE": "syscall", - "syscall.PR_FP_EXC_RES": "syscall", - "syscall.PR_FP_EXC_SW_ENABLE": "syscall", - "syscall.PR_FP_EXC_UND": "syscall", - "syscall.PR_GET_DUMPABLE": "syscall", - "syscall.PR_GET_ENDIAN": "syscall", - "syscall.PR_GET_FPEMU": "syscall", - "syscall.PR_GET_FPEXC": "syscall", - "syscall.PR_GET_KEEPCAPS": "syscall", - "syscall.PR_GET_NAME": "syscall", - "syscall.PR_GET_PDEATHSIG": "syscall", - "syscall.PR_GET_SECCOMP": "syscall", - "syscall.PR_GET_SECCOMP_FILTER": "syscall", - "syscall.PR_GET_SECUREBITS": "syscall", - "syscall.PR_GET_TIMERSLACK": "syscall", - "syscall.PR_GET_TIMING": "syscall", - "syscall.PR_GET_TSC": "syscall", - "syscall.PR_GET_UNALIGN": "syscall", - "syscall.PR_MCE_KILL": "syscall", - "syscall.PR_MCE_KILL_CLEAR": "syscall", - "syscall.PR_MCE_KILL_DEFAULT": "syscall", - "syscall.PR_MCE_KILL_EARLY": "syscall", - "syscall.PR_MCE_KILL_GET": "syscall", - "syscall.PR_MCE_KILL_LATE": "syscall", - "syscall.PR_MCE_KILL_SET": "syscall", - "syscall.PR_SECCOMP_FILTER_EVENT": "syscall", - "syscall.PR_SECCOMP_FILTER_SYSCALL": "syscall", - "syscall.PR_SET_DUMPABLE": "syscall", - "syscall.PR_SET_ENDIAN": "syscall", - "syscall.PR_SET_FPEMU": "syscall", - "syscall.PR_SET_FPEXC": "syscall", - "syscall.PR_SET_KEEPCAPS": "syscall", - "syscall.PR_SET_NAME": "syscall", - "syscall.PR_SET_PDEATHSIG": "syscall", - "syscall.PR_SET_PTRACER": "syscall", - "syscall.PR_SET_SECCOMP": "syscall", - "syscall.PR_SET_SECCOMP_FILTER": "syscall", - "syscall.PR_SET_SECUREBITS": "syscall", - "syscall.PR_SET_TIMERSLACK": "syscall", - "syscall.PR_SET_TIMING": "syscall", - "syscall.PR_SET_TSC": "syscall", - "syscall.PR_SET_UNALIGN": "syscall", - "syscall.PR_TASK_PERF_EVENTS_DISABLE": "syscall", - "syscall.PR_TASK_PERF_EVENTS_ENABLE": "syscall", - "syscall.PR_TIMING_STATISTICAL": "syscall", - "syscall.PR_TIMING_TIMESTAMP": "syscall", - "syscall.PR_TSC_ENABLE": "syscall", - "syscall.PR_TSC_SIGSEGV": "syscall", - "syscall.PR_UNALIGN_NOPRINT": "syscall", - "syscall.PR_UNALIGN_SIGBUS": "syscall", - "syscall.PTRACE_ARCH_PRCTL": "syscall", - "syscall.PTRACE_ATTACH": "syscall", - "syscall.PTRACE_CONT": "syscall", - "syscall.PTRACE_DETACH": "syscall", - "syscall.PTRACE_EVENT_CLONE": "syscall", - "syscall.PTRACE_EVENT_EXEC": "syscall", - "syscall.PTRACE_EVENT_EXIT": "syscall", - "syscall.PTRACE_EVENT_FORK": "syscall", - "syscall.PTRACE_EVENT_VFORK": "syscall", - "syscall.PTRACE_EVENT_VFORK_DONE": "syscall", - "syscall.PTRACE_GETCRUNCHREGS": "syscall", - "syscall.PTRACE_GETEVENTMSG": "syscall", - "syscall.PTRACE_GETFPREGS": "syscall", - "syscall.PTRACE_GETFPXREGS": "syscall", - "syscall.PTRACE_GETHBPREGS": "syscall", - "syscall.PTRACE_GETREGS": "syscall", - "syscall.PTRACE_GETREGSET": "syscall", - "syscall.PTRACE_GETSIGINFO": "syscall", - "syscall.PTRACE_GETVFPREGS": "syscall", - "syscall.PTRACE_GETWMMXREGS": "syscall", - "syscall.PTRACE_GET_THREAD_AREA": "syscall", - "syscall.PTRACE_KILL": "syscall", - "syscall.PTRACE_OLDSETOPTIONS": "syscall", - "syscall.PTRACE_O_MASK": "syscall", - "syscall.PTRACE_O_TRACECLONE": "syscall", - "syscall.PTRACE_O_TRACEEXEC": "syscall", - "syscall.PTRACE_O_TRACEEXIT": "syscall", - "syscall.PTRACE_O_TRACEFORK": "syscall", - "syscall.PTRACE_O_TRACESYSGOOD": "syscall", - "syscall.PTRACE_O_TRACEVFORK": "syscall", - "syscall.PTRACE_O_TRACEVFORKDONE": "syscall", - "syscall.PTRACE_PEEKDATA": "syscall", - "syscall.PTRACE_PEEKTEXT": "syscall", - "syscall.PTRACE_PEEKUSR": "syscall", - "syscall.PTRACE_POKEDATA": "syscall", - "syscall.PTRACE_POKETEXT": "syscall", - "syscall.PTRACE_POKEUSR": "syscall", - "syscall.PTRACE_SETCRUNCHREGS": "syscall", - "syscall.PTRACE_SETFPREGS": "syscall", - "syscall.PTRACE_SETFPXREGS": "syscall", - "syscall.PTRACE_SETHBPREGS": "syscall", - "syscall.PTRACE_SETOPTIONS": "syscall", - "syscall.PTRACE_SETREGS": "syscall", - "syscall.PTRACE_SETREGSET": "syscall", - "syscall.PTRACE_SETSIGINFO": "syscall", - "syscall.PTRACE_SETVFPREGS": "syscall", - "syscall.PTRACE_SETWMMXREGS": "syscall", - "syscall.PTRACE_SET_SYSCALL": "syscall", - "syscall.PTRACE_SET_THREAD_AREA": "syscall", - "syscall.PTRACE_SINGLEBLOCK": "syscall", - "syscall.PTRACE_SINGLESTEP": "syscall", - "syscall.PTRACE_SYSCALL": "syscall", - "syscall.PTRACE_SYSEMU": "syscall", - "syscall.PTRACE_SYSEMU_SINGLESTEP": "syscall", - "syscall.PTRACE_TRACEME": "syscall", - "syscall.PT_ATTACH": "syscall", - "syscall.PT_ATTACHEXC": "syscall", - "syscall.PT_CONTINUE": "syscall", - "syscall.PT_DATA_ADDR": "syscall", - "syscall.PT_DENY_ATTACH": "syscall", - "syscall.PT_DETACH": "syscall", - "syscall.PT_FIRSTMACH": "syscall", - "syscall.PT_FORCEQUOTA": "syscall", - "syscall.PT_KILL": "syscall", - "syscall.PT_MASK": "syscall", - "syscall.PT_READ_D": "syscall", - "syscall.PT_READ_I": "syscall", - "syscall.PT_READ_U": "syscall", - "syscall.PT_SIGEXC": "syscall", - "syscall.PT_STEP": "syscall", - "syscall.PT_TEXT_ADDR": "syscall", - "syscall.PT_TEXT_END_ADDR": "syscall", - "syscall.PT_THUPDATE": "syscall", - "syscall.PT_TRACE_ME": "syscall", - "syscall.PT_WRITE_D": "syscall", - "syscall.PT_WRITE_I": "syscall", - "syscall.PT_WRITE_U": "syscall", - "syscall.ParseDirent": "syscall", - "syscall.ParseNetlinkMessage": "syscall", - "syscall.ParseNetlinkRouteAttr": "syscall", - "syscall.ParseRoutingMessage": "syscall", - "syscall.ParseRoutingSockaddr": "syscall", - "syscall.ParseSocketControlMessage": "syscall", - "syscall.ParseUnixCredentials": "syscall", - "syscall.ParseUnixRights": "syscall", - "syscall.PathMax": "syscall", - "syscall.Pathconf": "syscall", - "syscall.Pause": "syscall", - "syscall.Pipe": "syscall", - "syscall.Pipe2": "syscall", - "syscall.PivotRoot": "syscall", - "syscall.PostQueuedCompletionStatus": "syscall", - "syscall.Pread": "syscall", - "syscall.Proc": "syscall", - "syscall.ProcAttr": "syscall", - "syscall.ProcessInformation": "syscall", - "syscall.Protoent": "syscall", - "syscall.PtraceAttach": "syscall", - "syscall.PtraceCont": "syscall", - "syscall.PtraceDetach": "syscall", - "syscall.PtraceGetEventMsg": "syscall", - "syscall.PtraceGetRegs": "syscall", - "syscall.PtracePeekData": "syscall", - "syscall.PtracePeekText": "syscall", - "syscall.PtracePokeData": "syscall", - "syscall.PtracePokeText": "syscall", - "syscall.PtraceRegs": "syscall", - "syscall.PtraceSetOptions": "syscall", - "syscall.PtraceSetRegs": "syscall", - "syscall.PtraceSingleStep": "syscall", - "syscall.PtraceSyscall": "syscall", - "syscall.Pwrite": "syscall", - "syscall.REG_BINARY": "syscall", - "syscall.REG_DWORD": "syscall", - "syscall.REG_DWORD_BIG_ENDIAN": "syscall", - "syscall.REG_DWORD_LITTLE_ENDIAN": "syscall", - "syscall.REG_EXPAND_SZ": "syscall", - "syscall.REG_FULL_RESOURCE_DESCRIPTOR": "syscall", - "syscall.REG_LINK": "syscall", - "syscall.REG_MULTI_SZ": "syscall", - "syscall.REG_NONE": "syscall", - "syscall.REG_QWORD": "syscall", - "syscall.REG_QWORD_LITTLE_ENDIAN": "syscall", - "syscall.REG_RESOURCE_LIST": "syscall", - "syscall.REG_RESOURCE_REQUIREMENTS_LIST": "syscall", - "syscall.REG_SZ": "syscall", - "syscall.RLIMIT_AS": "syscall", - "syscall.RLIMIT_CORE": "syscall", - "syscall.RLIMIT_CPU": "syscall", - "syscall.RLIMIT_DATA": "syscall", - "syscall.RLIMIT_FSIZE": "syscall", - "syscall.RLIMIT_NOFILE": "syscall", - "syscall.RLIMIT_STACK": "syscall", - "syscall.RLIM_INFINITY": "syscall", - "syscall.RTAX_ADVMSS": "syscall", - "syscall.RTAX_AUTHOR": "syscall", - "syscall.RTAX_BRD": "syscall", - "syscall.RTAX_CWND": "syscall", - "syscall.RTAX_DST": "syscall", - "syscall.RTAX_FEATURES": "syscall", - "syscall.RTAX_FEATURE_ALLFRAG": "syscall", - "syscall.RTAX_FEATURE_ECN": "syscall", - "syscall.RTAX_FEATURE_SACK": "syscall", - "syscall.RTAX_FEATURE_TIMESTAMP": "syscall", - "syscall.RTAX_GATEWAY": "syscall", - "syscall.RTAX_GENMASK": "syscall", - "syscall.RTAX_HOPLIMIT": "syscall", - "syscall.RTAX_IFA": "syscall", - "syscall.RTAX_IFP": "syscall", - "syscall.RTAX_INITCWND": "syscall", - "syscall.RTAX_INITRWND": "syscall", - "syscall.RTAX_LABEL": "syscall", - "syscall.RTAX_LOCK": "syscall", - "syscall.RTAX_MAX": "syscall", - "syscall.RTAX_MTU": "syscall", - "syscall.RTAX_NETMASK": "syscall", - "syscall.RTAX_REORDERING": "syscall", - "syscall.RTAX_RTO_MIN": "syscall", - "syscall.RTAX_RTT": "syscall", - "syscall.RTAX_RTTVAR": "syscall", - "syscall.RTAX_SRC": "syscall", - "syscall.RTAX_SRCMASK": "syscall", - "syscall.RTAX_SSTHRESH": "syscall", - "syscall.RTAX_TAG": "syscall", - "syscall.RTAX_UNSPEC": "syscall", - "syscall.RTAX_WINDOW": "syscall", - "syscall.RTA_ALIGNTO": "syscall", - "syscall.RTA_AUTHOR": "syscall", - "syscall.RTA_BRD": "syscall", - "syscall.RTA_CACHEINFO": "syscall", - "syscall.RTA_DST": "syscall", - "syscall.RTA_FLOW": "syscall", - "syscall.RTA_GATEWAY": "syscall", - "syscall.RTA_GENMASK": "syscall", - "syscall.RTA_IFA": "syscall", - "syscall.RTA_IFP": "syscall", - "syscall.RTA_IIF": "syscall", - "syscall.RTA_LABEL": "syscall", - "syscall.RTA_MAX": "syscall", - "syscall.RTA_METRICS": "syscall", - "syscall.RTA_MULTIPATH": "syscall", - "syscall.RTA_NETMASK": "syscall", - "syscall.RTA_OIF": "syscall", - "syscall.RTA_PREFSRC": "syscall", - "syscall.RTA_PRIORITY": "syscall", - "syscall.RTA_SRC": "syscall", - "syscall.RTA_SRCMASK": "syscall", - "syscall.RTA_TABLE": "syscall", - "syscall.RTA_TAG": "syscall", - "syscall.RTA_UNSPEC": "syscall", - "syscall.RTCF_DIRECTSRC": "syscall", - "syscall.RTCF_DOREDIRECT": "syscall", - "syscall.RTCF_LOG": "syscall", - "syscall.RTCF_MASQ": "syscall", - "syscall.RTCF_NAT": "syscall", - "syscall.RTCF_VALVE": "syscall", - "syscall.RTF_ADDRCLASSMASK": "syscall", - "syscall.RTF_ADDRCONF": "syscall", - "syscall.RTF_ALLONLINK": "syscall", - "syscall.RTF_ANNOUNCE": "syscall", - "syscall.RTF_BLACKHOLE": "syscall", - "syscall.RTF_BROADCAST": "syscall", - "syscall.RTF_CACHE": "syscall", - "syscall.RTF_CLONED": "syscall", - "syscall.RTF_CLONING": "syscall", - "syscall.RTF_CONDEMNED": "syscall", - "syscall.RTF_DEFAULT": "syscall", - "syscall.RTF_DELCLONE": "syscall", - "syscall.RTF_DONE": "syscall", - "syscall.RTF_DYNAMIC": "syscall", - "syscall.RTF_FLOW": "syscall", - "syscall.RTF_FMASK": "syscall", - "syscall.RTF_GATEWAY": "syscall", - "syscall.RTF_HOST": "syscall", - "syscall.RTF_IFREF": "syscall", - "syscall.RTF_IFSCOPE": "syscall", - "syscall.RTF_INTERFACE": "syscall", - "syscall.RTF_IRTT": "syscall", - "syscall.RTF_LINKRT": "syscall", - "syscall.RTF_LLDATA": "syscall", - "syscall.RTF_LLINFO": "syscall", - "syscall.RTF_LOCAL": "syscall", - "syscall.RTF_MASK": "syscall", - "syscall.RTF_MODIFIED": "syscall", - "syscall.RTF_MPATH": "syscall", - "syscall.RTF_MPLS": "syscall", - "syscall.RTF_MSS": "syscall", - "syscall.RTF_MTU": "syscall", - "syscall.RTF_MULTICAST": "syscall", - "syscall.RTF_NAT": "syscall", - "syscall.RTF_NOFORWARD": "syscall", - "syscall.RTF_NONEXTHOP": "syscall", - "syscall.RTF_NOPMTUDISC": "syscall", - "syscall.RTF_PERMANENT_ARP": "syscall", - "syscall.RTF_PINNED": "syscall", - "syscall.RTF_POLICY": "syscall", - "syscall.RTF_PRCLONING": "syscall", - "syscall.RTF_PROTO1": "syscall", - "syscall.RTF_PROTO2": "syscall", - "syscall.RTF_PROTO3": "syscall", - "syscall.RTF_REINSTATE": "syscall", - "syscall.RTF_REJECT": "syscall", - "syscall.RTF_RNH_LOCKED": "syscall", - "syscall.RTF_SOURCE": "syscall", - "syscall.RTF_SRC": "syscall", - "syscall.RTF_STATIC": "syscall", - "syscall.RTF_STICKY": "syscall", - "syscall.RTF_THROW": "syscall", - "syscall.RTF_TUNNEL": "syscall", - "syscall.RTF_UP": "syscall", - "syscall.RTF_USETRAILERS": "syscall", - "syscall.RTF_WASCLONED": "syscall", - "syscall.RTF_WINDOW": "syscall", - "syscall.RTF_XRESOLVE": "syscall", - "syscall.RTM_ADD": "syscall", - "syscall.RTM_BASE": "syscall", - "syscall.RTM_CHANGE": "syscall", - "syscall.RTM_CHGADDR": "syscall", - "syscall.RTM_DELACTION": "syscall", - "syscall.RTM_DELADDR": "syscall", - "syscall.RTM_DELADDRLABEL": "syscall", - "syscall.RTM_DELETE": "syscall", - "syscall.RTM_DELLINK": "syscall", - "syscall.RTM_DELMADDR": "syscall", - "syscall.RTM_DELNEIGH": "syscall", - "syscall.RTM_DELQDISC": "syscall", - "syscall.RTM_DELROUTE": "syscall", - "syscall.RTM_DELRULE": "syscall", - "syscall.RTM_DELTCLASS": "syscall", - "syscall.RTM_DELTFILTER": "syscall", - "syscall.RTM_DESYNC": "syscall", - "syscall.RTM_F_CLONED": "syscall", - "syscall.RTM_F_EQUALIZE": "syscall", - "syscall.RTM_F_NOTIFY": "syscall", - "syscall.RTM_F_PREFIX": "syscall", - "syscall.RTM_GET": "syscall", - "syscall.RTM_GET2": "syscall", - "syscall.RTM_GETACTION": "syscall", - "syscall.RTM_GETADDR": "syscall", - "syscall.RTM_GETADDRLABEL": "syscall", - "syscall.RTM_GETANYCAST": "syscall", - "syscall.RTM_GETDCB": "syscall", - "syscall.RTM_GETLINK": "syscall", - "syscall.RTM_GETMULTICAST": "syscall", - "syscall.RTM_GETNEIGH": "syscall", - "syscall.RTM_GETNEIGHTBL": "syscall", - "syscall.RTM_GETQDISC": "syscall", - "syscall.RTM_GETROUTE": "syscall", - "syscall.RTM_GETRULE": "syscall", - "syscall.RTM_GETTCLASS": "syscall", - "syscall.RTM_GETTFILTER": "syscall", - "syscall.RTM_IEEE80211": "syscall", - "syscall.RTM_IFANNOUNCE": "syscall", - "syscall.RTM_IFINFO": "syscall", - "syscall.RTM_IFINFO2": "syscall", - "syscall.RTM_LLINFO_UPD": "syscall", - "syscall.RTM_LOCK": "syscall", - "syscall.RTM_LOSING": "syscall", - "syscall.RTM_MAX": "syscall", - "syscall.RTM_MAXSIZE": "syscall", - "syscall.RTM_MISS": "syscall", - "syscall.RTM_NEWACTION": "syscall", - "syscall.RTM_NEWADDR": "syscall", - "syscall.RTM_NEWADDRLABEL": "syscall", - "syscall.RTM_NEWLINK": "syscall", - "syscall.RTM_NEWMADDR": "syscall", - "syscall.RTM_NEWMADDR2": "syscall", - "syscall.RTM_NEWNDUSEROPT": "syscall", - "syscall.RTM_NEWNEIGH": "syscall", - "syscall.RTM_NEWNEIGHTBL": "syscall", - "syscall.RTM_NEWPREFIX": "syscall", - "syscall.RTM_NEWQDISC": "syscall", - "syscall.RTM_NEWROUTE": "syscall", - "syscall.RTM_NEWRULE": "syscall", - "syscall.RTM_NEWTCLASS": "syscall", - "syscall.RTM_NEWTFILTER": "syscall", - "syscall.RTM_NR_FAMILIES": "syscall", - "syscall.RTM_NR_MSGTYPES": "syscall", - "syscall.RTM_OIFINFO": "syscall", - "syscall.RTM_OLDADD": "syscall", - "syscall.RTM_OLDDEL": "syscall", - "syscall.RTM_OOIFINFO": "syscall", - "syscall.RTM_REDIRECT": "syscall", - "syscall.RTM_RESOLVE": "syscall", - "syscall.RTM_RTTUNIT": "syscall", - "syscall.RTM_SETDCB": "syscall", - "syscall.RTM_SETGATE": "syscall", - "syscall.RTM_SETLINK": "syscall", - "syscall.RTM_SETNEIGHTBL": "syscall", - "syscall.RTM_VERSION": "syscall", - "syscall.RTNH_ALIGNTO": "syscall", - "syscall.RTNH_F_DEAD": "syscall", - "syscall.RTNH_F_ONLINK": "syscall", - "syscall.RTNH_F_PERVASIVE": "syscall", - "syscall.RTNLGRP_IPV4_IFADDR": "syscall", - "syscall.RTNLGRP_IPV4_MROUTE": "syscall", - "syscall.RTNLGRP_IPV4_ROUTE": "syscall", - "syscall.RTNLGRP_IPV4_RULE": "syscall", - "syscall.RTNLGRP_IPV6_IFADDR": "syscall", - "syscall.RTNLGRP_IPV6_IFINFO": "syscall", - "syscall.RTNLGRP_IPV6_MROUTE": "syscall", - "syscall.RTNLGRP_IPV6_PREFIX": "syscall", - "syscall.RTNLGRP_IPV6_ROUTE": "syscall", - "syscall.RTNLGRP_IPV6_RULE": "syscall", - "syscall.RTNLGRP_LINK": "syscall", - "syscall.RTNLGRP_ND_USEROPT": "syscall", - "syscall.RTNLGRP_NEIGH": "syscall", - "syscall.RTNLGRP_NONE": "syscall", - "syscall.RTNLGRP_NOTIFY": "syscall", - "syscall.RTNLGRP_TC": "syscall", - "syscall.RTN_ANYCAST": "syscall", - "syscall.RTN_BLACKHOLE": "syscall", - "syscall.RTN_BROADCAST": "syscall", - "syscall.RTN_LOCAL": "syscall", - "syscall.RTN_MAX": "syscall", - "syscall.RTN_MULTICAST": "syscall", - "syscall.RTN_NAT": "syscall", - "syscall.RTN_PROHIBIT": "syscall", - "syscall.RTN_THROW": "syscall", - "syscall.RTN_UNICAST": "syscall", - "syscall.RTN_UNREACHABLE": "syscall", - "syscall.RTN_UNSPEC": "syscall", - "syscall.RTN_XRESOLVE": "syscall", - "syscall.RTPROT_BIRD": "syscall", - "syscall.RTPROT_BOOT": "syscall", - "syscall.RTPROT_DHCP": "syscall", - "syscall.RTPROT_DNROUTED": "syscall", - "syscall.RTPROT_GATED": "syscall", - "syscall.RTPROT_KERNEL": "syscall", - "syscall.RTPROT_MRT": "syscall", - "syscall.RTPROT_NTK": "syscall", - "syscall.RTPROT_RA": "syscall", - "syscall.RTPROT_REDIRECT": "syscall", - "syscall.RTPROT_STATIC": "syscall", - "syscall.RTPROT_UNSPEC": "syscall", - "syscall.RTPROT_XORP": "syscall", - "syscall.RTPROT_ZEBRA": "syscall", - "syscall.RTV_EXPIRE": "syscall", - "syscall.RTV_HOPCOUNT": "syscall", - "syscall.RTV_MTU": "syscall", - "syscall.RTV_RPIPE": "syscall", - "syscall.RTV_RTT": "syscall", - "syscall.RTV_RTTVAR": "syscall", - "syscall.RTV_SPIPE": "syscall", - "syscall.RTV_SSTHRESH": "syscall", - "syscall.RTV_WEIGHT": "syscall", - "syscall.RT_CACHING_CONTEXT": "syscall", - "syscall.RT_CLASS_DEFAULT": "syscall", - "syscall.RT_CLASS_LOCAL": "syscall", - "syscall.RT_CLASS_MAIN": "syscall", - "syscall.RT_CLASS_MAX": "syscall", - "syscall.RT_CLASS_UNSPEC": "syscall", - "syscall.RT_DEFAULT_FIB": "syscall", - "syscall.RT_NORTREF": "syscall", - "syscall.RT_SCOPE_HOST": "syscall", - "syscall.RT_SCOPE_LINK": "syscall", - "syscall.RT_SCOPE_NOWHERE": "syscall", - "syscall.RT_SCOPE_SITE": "syscall", - "syscall.RT_SCOPE_UNIVERSE": "syscall", - "syscall.RT_TABLEID_MAX": "syscall", - "syscall.RT_TABLE_COMPAT": "syscall", - "syscall.RT_TABLE_DEFAULT": "syscall", - "syscall.RT_TABLE_LOCAL": "syscall", - "syscall.RT_TABLE_MAIN": "syscall", - "syscall.RT_TABLE_MAX": "syscall", - "syscall.RT_TABLE_UNSPEC": "syscall", - "syscall.RUSAGE_CHILDREN": "syscall", - "syscall.RUSAGE_SELF": "syscall", - "syscall.RUSAGE_THREAD": "syscall", - "syscall.Radvisory_t": "syscall", - "syscall.RawSockaddr": "syscall", - "syscall.RawSockaddrAny": "syscall", - "syscall.RawSockaddrDatalink": "syscall", - "syscall.RawSockaddrInet4": "syscall", - "syscall.RawSockaddrInet6": "syscall", - "syscall.RawSockaddrLinklayer": "syscall", - "syscall.RawSockaddrNetlink": "syscall", - "syscall.RawSockaddrUnix": "syscall", - "syscall.RawSyscall": "syscall", - "syscall.RawSyscall6": "syscall", - "syscall.Read": "syscall", - "syscall.ReadConsole": "syscall", - "syscall.ReadDirectoryChanges": "syscall", - "syscall.ReadDirent": "syscall", - "syscall.ReadFile": "syscall", - "syscall.Readlink": "syscall", - "syscall.Reboot": "syscall", - "syscall.Recvfrom": "syscall", - "syscall.Recvmsg": "syscall", - "syscall.RegCloseKey": "syscall", - "syscall.RegEnumKeyEx": "syscall", - "syscall.RegOpenKeyEx": "syscall", - "syscall.RegQueryInfoKey": "syscall", - "syscall.RegQueryValueEx": "syscall", - "syscall.RemoveDirectory": "syscall", - "syscall.Removexattr": "syscall", - "syscall.Rename": "syscall", - "syscall.Renameat": "syscall", - "syscall.Revoke": "syscall", - "syscall.Rlimit": "syscall", - "syscall.Rmdir": "syscall", - "syscall.RouteMessage": "syscall", - "syscall.RouteRIB": "syscall", - "syscall.RtAttr": "syscall", - "syscall.RtGenmsg": "syscall", - "syscall.RtMetrics": "syscall", - "syscall.RtMsg": "syscall", - "syscall.RtMsghdr": "syscall", - "syscall.RtNexthop": "syscall", - "syscall.Rusage": "syscall", - "syscall.SCM_BINTIME": "syscall", - "syscall.SCM_CREDENTIALS": "syscall", - "syscall.SCM_CREDS": "syscall", - "syscall.SCM_RIGHTS": "syscall", - "syscall.SCM_TIMESTAMP": "syscall", - "syscall.SCM_TIMESTAMPING": "syscall", - "syscall.SCM_TIMESTAMPNS": "syscall", - "syscall.SCM_TIMESTAMP_MONOTONIC": "syscall", - "syscall.SHUT_RD": "syscall", - "syscall.SHUT_RDWR": "syscall", - "syscall.SHUT_WR": "syscall", - "syscall.SID": "syscall", - "syscall.SIDAndAttributes": "syscall", - "syscall.SIGABRT": "syscall", - "syscall.SIGALRM": "syscall", - "syscall.SIGBUS": "syscall", - "syscall.SIGCHLD": "syscall", - "syscall.SIGCLD": "syscall", - "syscall.SIGCONT": "syscall", - "syscall.SIGEMT": "syscall", - "syscall.SIGFPE": "syscall", - "syscall.SIGHUP": "syscall", - "syscall.SIGILL": "syscall", - "syscall.SIGINFO": "syscall", - "syscall.SIGINT": "syscall", - "syscall.SIGIO": "syscall", - "syscall.SIGIOT": "syscall", - "syscall.SIGKILL": "syscall", - "syscall.SIGLIBRT": "syscall", - "syscall.SIGLWP": "syscall", - "syscall.SIGPIPE": "syscall", - "syscall.SIGPOLL": "syscall", - "syscall.SIGPROF": "syscall", - "syscall.SIGPWR": "syscall", - "syscall.SIGQUIT": "syscall", - "syscall.SIGSEGV": "syscall", - "syscall.SIGSTKFLT": "syscall", - "syscall.SIGSTOP": "syscall", - "syscall.SIGSYS": "syscall", - "syscall.SIGTERM": "syscall", - "syscall.SIGTHR": "syscall", - "syscall.SIGTRAP": "syscall", - "syscall.SIGTSTP": "syscall", - "syscall.SIGTTIN": "syscall", - "syscall.SIGTTOU": "syscall", - "syscall.SIGUNUSED": "syscall", - "syscall.SIGURG": "syscall", - "syscall.SIGUSR1": "syscall", - "syscall.SIGUSR2": "syscall", - "syscall.SIGVTALRM": "syscall", - "syscall.SIGWINCH": "syscall", - "syscall.SIGXCPU": "syscall", - "syscall.SIGXFSZ": "syscall", - "syscall.SIOCADDDLCI": "syscall", - "syscall.SIOCADDMULTI": "syscall", - "syscall.SIOCADDRT": "syscall", - "syscall.SIOCAIFADDR": "syscall", - "syscall.SIOCAIFGROUP": "syscall", - "syscall.SIOCALIFADDR": "syscall", - "syscall.SIOCARPIPLL": "syscall", - "syscall.SIOCATMARK": "syscall", - "syscall.SIOCAUTOADDR": "syscall", - "syscall.SIOCAUTONETMASK": "syscall", - "syscall.SIOCBRDGADD": "syscall", - "syscall.SIOCBRDGADDS": "syscall", - "syscall.SIOCBRDGARL": "syscall", - "syscall.SIOCBRDGDADDR": "syscall", - "syscall.SIOCBRDGDEL": "syscall", - "syscall.SIOCBRDGDELS": "syscall", - "syscall.SIOCBRDGFLUSH": "syscall", - "syscall.SIOCBRDGFRL": "syscall", - "syscall.SIOCBRDGGCACHE": "syscall", - "syscall.SIOCBRDGGFD": "syscall", - "syscall.SIOCBRDGGHT": "syscall", - "syscall.SIOCBRDGGIFFLGS": "syscall", - "syscall.SIOCBRDGGMA": "syscall", - "syscall.SIOCBRDGGPARAM": "syscall", - "syscall.SIOCBRDGGPRI": "syscall", - "syscall.SIOCBRDGGRL": "syscall", - "syscall.SIOCBRDGGSIFS": "syscall", - "syscall.SIOCBRDGGTO": "syscall", - "syscall.SIOCBRDGIFS": "syscall", - "syscall.SIOCBRDGRTS": "syscall", - "syscall.SIOCBRDGSADDR": "syscall", - "syscall.SIOCBRDGSCACHE": "syscall", - "syscall.SIOCBRDGSFD": "syscall", - "syscall.SIOCBRDGSHT": "syscall", - "syscall.SIOCBRDGSIFCOST": "syscall", - "syscall.SIOCBRDGSIFFLGS": "syscall", - "syscall.SIOCBRDGSIFPRIO": "syscall", - "syscall.SIOCBRDGSMA": "syscall", - "syscall.SIOCBRDGSPRI": "syscall", - "syscall.SIOCBRDGSPROTO": "syscall", - "syscall.SIOCBRDGSTO": "syscall", - "syscall.SIOCBRDGSTXHC": "syscall", - "syscall.SIOCDARP": "syscall", - "syscall.SIOCDELDLCI": "syscall", - "syscall.SIOCDELMULTI": "syscall", - "syscall.SIOCDELRT": "syscall", - "syscall.SIOCDEVPRIVATE": "syscall", - "syscall.SIOCDIFADDR": "syscall", - "syscall.SIOCDIFGROUP": "syscall", - "syscall.SIOCDIFPHYADDR": "syscall", - "syscall.SIOCDLIFADDR": "syscall", - "syscall.SIOCDRARP": "syscall", - "syscall.SIOCGARP": "syscall", - "syscall.SIOCGDRVSPEC": "syscall", - "syscall.SIOCGETKALIVE": "syscall", - "syscall.SIOCGETLABEL": "syscall", - "syscall.SIOCGETPFLOW": "syscall", - "syscall.SIOCGETPFSYNC": "syscall", - "syscall.SIOCGETSGCNT": "syscall", - "syscall.SIOCGETVIFCNT": "syscall", - "syscall.SIOCGETVLAN": "syscall", - "syscall.SIOCGHIWAT": "syscall", - "syscall.SIOCGIFADDR": "syscall", - "syscall.SIOCGIFADDRPREF": "syscall", - "syscall.SIOCGIFALIAS": "syscall", - "syscall.SIOCGIFALTMTU": "syscall", - "syscall.SIOCGIFASYNCMAP": "syscall", - "syscall.SIOCGIFBOND": "syscall", - "syscall.SIOCGIFBR": "syscall", - "syscall.SIOCGIFBRDADDR": "syscall", - "syscall.SIOCGIFCAP": "syscall", - "syscall.SIOCGIFCONF": "syscall", - "syscall.SIOCGIFCOUNT": "syscall", - "syscall.SIOCGIFDATA": "syscall", - "syscall.SIOCGIFDESCR": "syscall", - "syscall.SIOCGIFDEVMTU": "syscall", - "syscall.SIOCGIFDLT": "syscall", - "syscall.SIOCGIFDSTADDR": "syscall", - "syscall.SIOCGIFENCAP": "syscall", - "syscall.SIOCGIFFIB": "syscall", - "syscall.SIOCGIFFLAGS": "syscall", - "syscall.SIOCGIFGATTR": "syscall", - "syscall.SIOCGIFGENERIC": "syscall", - "syscall.SIOCGIFGMEMB": "syscall", - "syscall.SIOCGIFGROUP": "syscall", - "syscall.SIOCGIFHWADDR": "syscall", - "syscall.SIOCGIFINDEX": "syscall", - "syscall.SIOCGIFKPI": "syscall", - "syscall.SIOCGIFMAC": "syscall", - "syscall.SIOCGIFMAP": "syscall", - "syscall.SIOCGIFMEDIA": "syscall", - "syscall.SIOCGIFMEM": "syscall", - "syscall.SIOCGIFMETRIC": "syscall", - "syscall.SIOCGIFMTU": "syscall", - "syscall.SIOCGIFNAME": "syscall", - "syscall.SIOCGIFNETMASK": "syscall", - "syscall.SIOCGIFPDSTADDR": "syscall", - "syscall.SIOCGIFPFLAGS": "syscall", - "syscall.SIOCGIFPHYS": "syscall", - "syscall.SIOCGIFPRIORITY": "syscall", - "syscall.SIOCGIFPSRCADDR": "syscall", - "syscall.SIOCGIFRDOMAIN": "syscall", - "syscall.SIOCGIFRTLABEL": "syscall", - "syscall.SIOCGIFSLAVE": "syscall", - "syscall.SIOCGIFSTATUS": "syscall", - "syscall.SIOCGIFTIMESLOT": "syscall", - "syscall.SIOCGIFTXQLEN": "syscall", - "syscall.SIOCGIFVLAN": "syscall", - "syscall.SIOCGIFWAKEFLAGS": "syscall", - "syscall.SIOCGIFXFLAGS": "syscall", - "syscall.SIOCGLIFADDR": "syscall", - "syscall.SIOCGLIFPHYADDR": "syscall", - "syscall.SIOCGLIFPHYRTABLE": "syscall", - "syscall.SIOCGLINKSTR": "syscall", - "syscall.SIOCGLOWAT": "syscall", - "syscall.SIOCGPGRP": "syscall", - "syscall.SIOCGPRIVATE_0": "syscall", - "syscall.SIOCGPRIVATE_1": "syscall", - "syscall.SIOCGRARP": "syscall", - "syscall.SIOCGSTAMP": "syscall", - "syscall.SIOCGSTAMPNS": "syscall", - "syscall.SIOCGVH": "syscall", - "syscall.SIOCIFCREATE": "syscall", - "syscall.SIOCIFCREATE2": "syscall", - "syscall.SIOCIFDESTROY": "syscall", - "syscall.SIOCIFGCLONERS": "syscall", - "syscall.SIOCINITIFADDR": "syscall", - "syscall.SIOCPROTOPRIVATE": "syscall", - "syscall.SIOCRSLVMULTI": "syscall", - "syscall.SIOCRTMSG": "syscall", - "syscall.SIOCSARP": "syscall", - "syscall.SIOCSDRVSPEC": "syscall", - "syscall.SIOCSETKALIVE": "syscall", - "syscall.SIOCSETLABEL": "syscall", - "syscall.SIOCSETPFLOW": "syscall", - "syscall.SIOCSETPFSYNC": "syscall", - "syscall.SIOCSETVLAN": "syscall", - "syscall.SIOCSHIWAT": "syscall", - "syscall.SIOCSIFADDR": "syscall", - "syscall.SIOCSIFADDRPREF": "syscall", - "syscall.SIOCSIFALTMTU": "syscall", - "syscall.SIOCSIFASYNCMAP": "syscall", - "syscall.SIOCSIFBOND": "syscall", - "syscall.SIOCSIFBR": "syscall", - "syscall.SIOCSIFBRDADDR": "syscall", - "syscall.SIOCSIFCAP": "syscall", - "syscall.SIOCSIFDESCR": "syscall", - "syscall.SIOCSIFDSTADDR": "syscall", - "syscall.SIOCSIFENCAP": "syscall", - "syscall.SIOCSIFFIB": "syscall", - "syscall.SIOCSIFFLAGS": "syscall", - "syscall.SIOCSIFGATTR": "syscall", - "syscall.SIOCSIFGENERIC": "syscall", - "syscall.SIOCSIFHWADDR": "syscall", - "syscall.SIOCSIFHWBROADCAST": "syscall", - "syscall.SIOCSIFKPI": "syscall", - "syscall.SIOCSIFLINK": "syscall", - "syscall.SIOCSIFLLADDR": "syscall", - "syscall.SIOCSIFMAC": "syscall", - "syscall.SIOCSIFMAP": "syscall", - "syscall.SIOCSIFMEDIA": "syscall", - "syscall.SIOCSIFMEM": "syscall", - "syscall.SIOCSIFMETRIC": "syscall", - "syscall.SIOCSIFMTU": "syscall", - "syscall.SIOCSIFNAME": "syscall", - "syscall.SIOCSIFNETMASK": "syscall", - "syscall.SIOCSIFPFLAGS": "syscall", - "syscall.SIOCSIFPHYADDR": "syscall", - "syscall.SIOCSIFPHYS": "syscall", - "syscall.SIOCSIFPRIORITY": "syscall", - "syscall.SIOCSIFRDOMAIN": "syscall", - "syscall.SIOCSIFRTLABEL": "syscall", - "syscall.SIOCSIFRVNET": "syscall", - "syscall.SIOCSIFSLAVE": "syscall", - "syscall.SIOCSIFTIMESLOT": "syscall", - "syscall.SIOCSIFTXQLEN": "syscall", - "syscall.SIOCSIFVLAN": "syscall", - "syscall.SIOCSIFVNET": "syscall", - "syscall.SIOCSIFXFLAGS": "syscall", - "syscall.SIOCSLIFPHYADDR": "syscall", - "syscall.SIOCSLIFPHYRTABLE": "syscall", - "syscall.SIOCSLINKSTR": "syscall", - "syscall.SIOCSLOWAT": "syscall", - "syscall.SIOCSPGRP": "syscall", - "syscall.SIOCSRARP": "syscall", - "syscall.SIOCSVH": "syscall", - "syscall.SIOCZIFDATA": "syscall", - "syscall.SIO_GET_EXTENSION_FUNCTION_POINTER": "syscall", - "syscall.SIO_GET_INTERFACE_LIST": "syscall", - "syscall.SOCK_CLOEXEC": "syscall", - "syscall.SOCK_DCCP": "syscall", - "syscall.SOCK_DGRAM": "syscall", - "syscall.SOCK_FLAGS_MASK": "syscall", - "syscall.SOCK_MAXADDRLEN": "syscall", - "syscall.SOCK_NONBLOCK": "syscall", - "syscall.SOCK_NOSIGPIPE": "syscall", - "syscall.SOCK_PACKET": "syscall", - "syscall.SOCK_RAW": "syscall", - "syscall.SOCK_RDM": "syscall", - "syscall.SOCK_SEQPACKET": "syscall", - "syscall.SOCK_STREAM": "syscall", - "syscall.SOL_AAL": "syscall", - "syscall.SOL_ATM": "syscall", - "syscall.SOL_DECNET": "syscall", - "syscall.SOL_ICMPV6": "syscall", - "syscall.SOL_IP": "syscall", - "syscall.SOL_IPV6": "syscall", - "syscall.SOL_IRDA": "syscall", - "syscall.SOL_PACKET": "syscall", - "syscall.SOL_RAW": "syscall", - "syscall.SOL_SOCKET": "syscall", - "syscall.SOL_TCP": "syscall", - "syscall.SOL_X25": "syscall", - "syscall.SOMAXCONN": "syscall", - "syscall.SO_ACCEPTCONN": "syscall", - "syscall.SO_ACCEPTFILTER": "syscall", - "syscall.SO_ATTACH_FILTER": "syscall", - "syscall.SO_BINDANY": "syscall", - "syscall.SO_BINDTODEVICE": "syscall", - "syscall.SO_BINTIME": "syscall", - "syscall.SO_BROADCAST": "syscall", - "syscall.SO_BSDCOMPAT": "syscall", - "syscall.SO_DEBUG": "syscall", - "syscall.SO_DETACH_FILTER": "syscall", - "syscall.SO_DOMAIN": "syscall", - "syscall.SO_DONTROUTE": "syscall", - "syscall.SO_DONTTRUNC": "syscall", - "syscall.SO_ERROR": "syscall", - "syscall.SO_KEEPALIVE": "syscall", - "syscall.SO_LABEL": "syscall", - "syscall.SO_LINGER": "syscall", - "syscall.SO_LINGER_SEC": "syscall", - "syscall.SO_LISTENINCQLEN": "syscall", - "syscall.SO_LISTENQLEN": "syscall", - "syscall.SO_LISTENQLIMIT": "syscall", - "syscall.SO_MARK": "syscall", - "syscall.SO_NETPROC": "syscall", - "syscall.SO_NKE": "syscall", - "syscall.SO_NOADDRERR": "syscall", - "syscall.SO_NOHEADER": "syscall", - "syscall.SO_NOSIGPIPE": "syscall", - "syscall.SO_NOTIFYCONFLICT": "syscall", - "syscall.SO_NO_CHECK": "syscall", - "syscall.SO_NO_DDP": "syscall", - "syscall.SO_NO_OFFLOAD": "syscall", - "syscall.SO_NP_EXTENSIONS": "syscall", - "syscall.SO_NREAD": "syscall", - "syscall.SO_NWRITE": "syscall", - "syscall.SO_OOBINLINE": "syscall", - "syscall.SO_OVERFLOWED": "syscall", - "syscall.SO_PASSCRED": "syscall", - "syscall.SO_PASSSEC": "syscall", - "syscall.SO_PEERCRED": "syscall", - "syscall.SO_PEERLABEL": "syscall", - "syscall.SO_PEERNAME": "syscall", - "syscall.SO_PEERSEC": "syscall", - "syscall.SO_PRIORITY": "syscall", - "syscall.SO_PROTOCOL": "syscall", - "syscall.SO_PROTOTYPE": "syscall", - "syscall.SO_RANDOMPORT": "syscall", - "syscall.SO_RCVBUF": "syscall", - "syscall.SO_RCVBUFFORCE": "syscall", - "syscall.SO_RCVLOWAT": "syscall", - "syscall.SO_RCVTIMEO": "syscall", - "syscall.SO_RESTRICTIONS": "syscall", - "syscall.SO_RESTRICT_DENYIN": "syscall", - "syscall.SO_RESTRICT_DENYOUT": "syscall", - "syscall.SO_RESTRICT_DENYSET": "syscall", - "syscall.SO_REUSEADDR": "syscall", - "syscall.SO_REUSEPORT": "syscall", - "syscall.SO_REUSESHAREUID": "syscall", - "syscall.SO_RTABLE": "syscall", - "syscall.SO_RXQ_OVFL": "syscall", - "syscall.SO_SECURITY_AUTHENTICATION": "syscall", - "syscall.SO_SECURITY_ENCRYPTION_NETWORK": "syscall", - "syscall.SO_SECURITY_ENCRYPTION_TRANSPORT": "syscall", - "syscall.SO_SETFIB": "syscall", - "syscall.SO_SNDBUF": "syscall", - "syscall.SO_SNDBUFFORCE": "syscall", - "syscall.SO_SNDLOWAT": "syscall", - "syscall.SO_SNDTIMEO": "syscall", - "syscall.SO_SPLICE": "syscall", - "syscall.SO_TIMESTAMP": "syscall", - "syscall.SO_TIMESTAMPING": "syscall", - "syscall.SO_TIMESTAMPNS": "syscall", - "syscall.SO_TIMESTAMP_MONOTONIC": "syscall", - "syscall.SO_TYPE": "syscall", - "syscall.SO_UPCALLCLOSEWAIT": "syscall", - "syscall.SO_UPDATE_ACCEPT_CONTEXT": "syscall", - "syscall.SO_UPDATE_CONNECT_CONTEXT": "syscall", - "syscall.SO_USELOOPBACK": "syscall", - "syscall.SO_USER_COOKIE": "syscall", - "syscall.SO_WANTMORE": "syscall", - "syscall.SO_WANTOOBFLAG": "syscall", - "syscall.SSLExtraCertChainPolicyPara": "syscall", - "syscall.STANDARD_RIGHTS_ALL": "syscall", - "syscall.STANDARD_RIGHTS_EXECUTE": "syscall", - "syscall.STANDARD_RIGHTS_READ": "syscall", - "syscall.STANDARD_RIGHTS_REQUIRED": "syscall", - "syscall.STANDARD_RIGHTS_WRITE": "syscall", - "syscall.STARTF_USESHOWWINDOW": "syscall", - "syscall.STARTF_USESTDHANDLES": "syscall", - "syscall.STD_ERROR_HANDLE": "syscall", - "syscall.STD_INPUT_HANDLE": "syscall", - "syscall.STD_OUTPUT_HANDLE": "syscall", - "syscall.SUBLANG_ENGLISH_US": "syscall", - "syscall.SW_FORCEMINIMIZE": "syscall", - "syscall.SW_HIDE": "syscall", - "syscall.SW_MAXIMIZE": "syscall", - "syscall.SW_MINIMIZE": "syscall", - "syscall.SW_NORMAL": "syscall", - "syscall.SW_RESTORE": "syscall", - "syscall.SW_SHOW": "syscall", - "syscall.SW_SHOWDEFAULT": "syscall", - "syscall.SW_SHOWMAXIMIZED": "syscall", - "syscall.SW_SHOWMINIMIZED": "syscall", - "syscall.SW_SHOWMINNOACTIVE": "syscall", - "syscall.SW_SHOWNA": "syscall", - "syscall.SW_SHOWNOACTIVATE": "syscall", - "syscall.SW_SHOWNORMAL": "syscall", - "syscall.SYNCHRONIZE": "syscall", - "syscall.SYSCTL_VERSION": "syscall", - "syscall.SYSCTL_VERS_0": "syscall", - "syscall.SYSCTL_VERS_1": "syscall", - "syscall.SYSCTL_VERS_MASK": "syscall", - "syscall.SYS_ABORT2": "syscall", - "syscall.SYS_ACCEPT": "syscall", - "syscall.SYS_ACCEPT4": "syscall", - "syscall.SYS_ACCEPT_NOCANCEL": "syscall", - "syscall.SYS_ACCESS": "syscall", - "syscall.SYS_ACCESS_EXTENDED": "syscall", - "syscall.SYS_ACCT": "syscall", - "syscall.SYS_ADD_KEY": "syscall", - "syscall.SYS_ADD_PROFIL": "syscall", - "syscall.SYS_ADJFREQ": "syscall", - "syscall.SYS_ADJTIME": "syscall", - "syscall.SYS_ADJTIMEX": "syscall", - "syscall.SYS_AFS_SYSCALL": "syscall", - "syscall.SYS_AIO_CANCEL": "syscall", - "syscall.SYS_AIO_ERROR": "syscall", - "syscall.SYS_AIO_FSYNC": "syscall", - "syscall.SYS_AIO_READ": "syscall", - "syscall.SYS_AIO_RETURN": "syscall", - "syscall.SYS_AIO_SUSPEND": "syscall", - "syscall.SYS_AIO_SUSPEND_NOCANCEL": "syscall", - "syscall.SYS_AIO_WRITE": "syscall", - "syscall.SYS_ALARM": "syscall", - "syscall.SYS_ARCH_PRCTL": "syscall", - "syscall.SYS_ARM_FADVISE64_64": "syscall", - "syscall.SYS_ARM_SYNC_FILE_RANGE": "syscall", - "syscall.SYS_ATGETMSG": "syscall", - "syscall.SYS_ATPGETREQ": "syscall", - "syscall.SYS_ATPGETRSP": "syscall", - "syscall.SYS_ATPSNDREQ": "syscall", - "syscall.SYS_ATPSNDRSP": "syscall", - "syscall.SYS_ATPUTMSG": "syscall", - "syscall.SYS_ATSOCKET": "syscall", - "syscall.SYS_AUDIT": "syscall", - "syscall.SYS_AUDITCTL": "syscall", - "syscall.SYS_AUDITON": "syscall", - "syscall.SYS_AUDIT_SESSION_JOIN": "syscall", - "syscall.SYS_AUDIT_SESSION_PORT": "syscall", - "syscall.SYS_AUDIT_SESSION_SELF": "syscall", - "syscall.SYS_BDFLUSH": "syscall", - "syscall.SYS_BIND": "syscall", - "syscall.SYS_BREAK": "syscall", - "syscall.SYS_BRK": "syscall", - "syscall.SYS_BSDTHREAD_CREATE": "syscall", - "syscall.SYS_BSDTHREAD_REGISTER": "syscall", - "syscall.SYS_BSDTHREAD_TERMINATE": "syscall", - "syscall.SYS_CAPGET": "syscall", - "syscall.SYS_CAPSET": "syscall", - "syscall.SYS_CAP_ENTER": "syscall", - "syscall.SYS_CAP_FCNTLS_GET": "syscall", - "syscall.SYS_CAP_FCNTLS_LIMIT": "syscall", - "syscall.SYS_CAP_GETMODE": "syscall", - "syscall.SYS_CAP_GETRIGHTS": "syscall", - "syscall.SYS_CAP_IOCTLS_GET": "syscall", - "syscall.SYS_CAP_IOCTLS_LIMIT": "syscall", - "syscall.SYS_CAP_NEW": "syscall", - "syscall.SYS_CAP_RIGHTS_GET": "syscall", - "syscall.SYS_CAP_RIGHTS_LIMIT": "syscall", - "syscall.SYS_CHDIR": "syscall", - "syscall.SYS_CHFLAGS": "syscall", - "syscall.SYS_CHMOD": "syscall", - "syscall.SYS_CHMOD_EXTENDED": "syscall", - "syscall.SYS_CHOWN": "syscall", - "syscall.SYS_CHOWN32": "syscall", - "syscall.SYS_CHROOT": "syscall", - "syscall.SYS_CHUD": "syscall", - "syscall.SYS_CLOCK_ADJTIME": "syscall", - "syscall.SYS_CLOCK_GETCPUCLOCKID2": "syscall", - "syscall.SYS_CLOCK_GETRES": "syscall", - "syscall.SYS_CLOCK_GETTIME": "syscall", - "syscall.SYS_CLOCK_NANOSLEEP": "syscall", - "syscall.SYS_CLOCK_SETTIME": "syscall", - "syscall.SYS_CLONE": "syscall", - "syscall.SYS_CLOSE": "syscall", - "syscall.SYS_CLOSEFROM": "syscall", - "syscall.SYS_CLOSE_NOCANCEL": "syscall", - "syscall.SYS_CONNECT": "syscall", - "syscall.SYS_CONNECT_NOCANCEL": "syscall", - "syscall.SYS_COPYFILE": "syscall", - "syscall.SYS_CPUSET": "syscall", - "syscall.SYS_CPUSET_GETAFFINITY": "syscall", - "syscall.SYS_CPUSET_GETID": "syscall", - "syscall.SYS_CPUSET_SETAFFINITY": "syscall", - "syscall.SYS_CPUSET_SETID": "syscall", - "syscall.SYS_CREAT": "syscall", - "syscall.SYS_CREATE_MODULE": "syscall", - "syscall.SYS_CSOPS": "syscall", - "syscall.SYS_DELETE": "syscall", - "syscall.SYS_DELETE_MODULE": "syscall", - "syscall.SYS_DUP": "syscall", - "syscall.SYS_DUP2": "syscall", - "syscall.SYS_DUP3": "syscall", - "syscall.SYS_EACCESS": "syscall", - "syscall.SYS_EPOLL_CREATE": "syscall", - "syscall.SYS_EPOLL_CREATE1": "syscall", - "syscall.SYS_EPOLL_CTL": "syscall", - "syscall.SYS_EPOLL_CTL_OLD": "syscall", - "syscall.SYS_EPOLL_PWAIT": "syscall", - "syscall.SYS_EPOLL_WAIT": "syscall", - "syscall.SYS_EPOLL_WAIT_OLD": "syscall", - "syscall.SYS_EVENTFD": "syscall", - "syscall.SYS_EVENTFD2": "syscall", - "syscall.SYS_EXCHANGEDATA": "syscall", - "syscall.SYS_EXECVE": "syscall", - "syscall.SYS_EXIT": "syscall", - "syscall.SYS_EXIT_GROUP": "syscall", - "syscall.SYS_EXTATTRCTL": "syscall", - "syscall.SYS_EXTATTR_DELETE_FD": "syscall", - "syscall.SYS_EXTATTR_DELETE_FILE": "syscall", - "syscall.SYS_EXTATTR_DELETE_LINK": "syscall", - "syscall.SYS_EXTATTR_GET_FD": "syscall", - "syscall.SYS_EXTATTR_GET_FILE": "syscall", - "syscall.SYS_EXTATTR_GET_LINK": "syscall", - "syscall.SYS_EXTATTR_LIST_FD": "syscall", - "syscall.SYS_EXTATTR_LIST_FILE": "syscall", - "syscall.SYS_EXTATTR_LIST_LINK": "syscall", - "syscall.SYS_EXTATTR_SET_FD": "syscall", - "syscall.SYS_EXTATTR_SET_FILE": "syscall", - "syscall.SYS_EXTATTR_SET_LINK": "syscall", - "syscall.SYS_FACCESSAT": "syscall", - "syscall.SYS_FADVISE64": "syscall", - "syscall.SYS_FADVISE64_64": "syscall", - "syscall.SYS_FALLOCATE": "syscall", - "syscall.SYS_FANOTIFY_INIT": "syscall", - "syscall.SYS_FANOTIFY_MARK": "syscall", - "syscall.SYS_FCHDIR": "syscall", - "syscall.SYS_FCHFLAGS": "syscall", - "syscall.SYS_FCHMOD": "syscall", - "syscall.SYS_FCHMODAT": "syscall", - "syscall.SYS_FCHMOD_EXTENDED": "syscall", - "syscall.SYS_FCHOWN": "syscall", - "syscall.SYS_FCHOWN32": "syscall", - "syscall.SYS_FCHOWNAT": "syscall", - "syscall.SYS_FCHROOT": "syscall", - "syscall.SYS_FCNTL": "syscall", - "syscall.SYS_FCNTL64": "syscall", - "syscall.SYS_FCNTL_NOCANCEL": "syscall", - "syscall.SYS_FDATASYNC": "syscall", - "syscall.SYS_FEXECVE": "syscall", - "syscall.SYS_FFCLOCK_GETCOUNTER": "syscall", - "syscall.SYS_FFCLOCK_GETESTIMATE": "syscall", - "syscall.SYS_FFCLOCK_SETESTIMATE": "syscall", - "syscall.SYS_FFSCTL": "syscall", - "syscall.SYS_FGETATTRLIST": "syscall", - "syscall.SYS_FGETXATTR": "syscall", - "syscall.SYS_FHOPEN": "syscall", - "syscall.SYS_FHSTAT": "syscall", - "syscall.SYS_FHSTATFS": "syscall", - "syscall.SYS_FILEPORT_MAKEFD": "syscall", - "syscall.SYS_FILEPORT_MAKEPORT": "syscall", - "syscall.SYS_FKTRACE": "syscall", - "syscall.SYS_FLISTXATTR": "syscall", - "syscall.SYS_FLOCK": "syscall", - "syscall.SYS_FORK": "syscall", - "syscall.SYS_FPATHCONF": "syscall", - "syscall.SYS_FREEBSD6_FTRUNCATE": "syscall", - "syscall.SYS_FREEBSD6_LSEEK": "syscall", - "syscall.SYS_FREEBSD6_MMAP": "syscall", - "syscall.SYS_FREEBSD6_PREAD": "syscall", - "syscall.SYS_FREEBSD6_PWRITE": "syscall", - "syscall.SYS_FREEBSD6_TRUNCATE": "syscall", - "syscall.SYS_FREMOVEXATTR": "syscall", - "syscall.SYS_FSCTL": "syscall", - "syscall.SYS_FSETATTRLIST": "syscall", - "syscall.SYS_FSETXATTR": "syscall", - "syscall.SYS_FSGETPATH": "syscall", - "syscall.SYS_FSTAT": "syscall", - "syscall.SYS_FSTAT64": "syscall", - "syscall.SYS_FSTAT64_EXTENDED": "syscall", - "syscall.SYS_FSTATAT": "syscall", - "syscall.SYS_FSTATAT64": "syscall", - "syscall.SYS_FSTATFS": "syscall", - "syscall.SYS_FSTATFS64": "syscall", - "syscall.SYS_FSTATV": "syscall", - "syscall.SYS_FSTATVFS1": "syscall", - "syscall.SYS_FSTAT_EXTENDED": "syscall", - "syscall.SYS_FSYNC": "syscall", - "syscall.SYS_FSYNC_NOCANCEL": "syscall", - "syscall.SYS_FSYNC_RANGE": "syscall", - "syscall.SYS_FTIME": "syscall", - "syscall.SYS_FTRUNCATE": "syscall", - "syscall.SYS_FTRUNCATE64": "syscall", - "syscall.SYS_FUTEX": "syscall", - "syscall.SYS_FUTIMENS": "syscall", - "syscall.SYS_FUTIMES": "syscall", - "syscall.SYS_FUTIMESAT": "syscall", - "syscall.SYS_GETATTRLIST": "syscall", - "syscall.SYS_GETAUDIT": "syscall", - "syscall.SYS_GETAUDIT_ADDR": "syscall", - "syscall.SYS_GETAUID": "syscall", - "syscall.SYS_GETCONTEXT": "syscall", - "syscall.SYS_GETCPU": "syscall", - "syscall.SYS_GETCWD": "syscall", - "syscall.SYS_GETDENTS": "syscall", - "syscall.SYS_GETDENTS64": "syscall", - "syscall.SYS_GETDIRENTRIES": "syscall", - "syscall.SYS_GETDIRENTRIES64": "syscall", - "syscall.SYS_GETDIRENTRIESATTR": "syscall", - "syscall.SYS_GETDTABLECOUNT": "syscall", - "syscall.SYS_GETDTABLESIZE": "syscall", - "syscall.SYS_GETEGID": "syscall", - "syscall.SYS_GETEGID32": "syscall", - "syscall.SYS_GETEUID": "syscall", - "syscall.SYS_GETEUID32": "syscall", - "syscall.SYS_GETFH": "syscall", - "syscall.SYS_GETFSSTAT": "syscall", - "syscall.SYS_GETFSSTAT64": "syscall", - "syscall.SYS_GETGID": "syscall", - "syscall.SYS_GETGID32": "syscall", - "syscall.SYS_GETGROUPS": "syscall", - "syscall.SYS_GETGROUPS32": "syscall", - "syscall.SYS_GETHOSTUUID": "syscall", - "syscall.SYS_GETITIMER": "syscall", - "syscall.SYS_GETLCID": "syscall", - "syscall.SYS_GETLOGIN": "syscall", - "syscall.SYS_GETLOGINCLASS": "syscall", - "syscall.SYS_GETPEERNAME": "syscall", - "syscall.SYS_GETPGID": "syscall", - "syscall.SYS_GETPGRP": "syscall", - "syscall.SYS_GETPID": "syscall", - "syscall.SYS_GETPMSG": "syscall", - "syscall.SYS_GETPPID": "syscall", - "syscall.SYS_GETPRIORITY": "syscall", - "syscall.SYS_GETRESGID": "syscall", - "syscall.SYS_GETRESGID32": "syscall", - "syscall.SYS_GETRESUID": "syscall", - "syscall.SYS_GETRESUID32": "syscall", - "syscall.SYS_GETRLIMIT": "syscall", - "syscall.SYS_GETRTABLE": "syscall", - "syscall.SYS_GETRUSAGE": "syscall", - "syscall.SYS_GETSGROUPS": "syscall", - "syscall.SYS_GETSID": "syscall", - "syscall.SYS_GETSOCKNAME": "syscall", - "syscall.SYS_GETSOCKOPT": "syscall", - "syscall.SYS_GETTHRID": "syscall", - "syscall.SYS_GETTID": "syscall", - "syscall.SYS_GETTIMEOFDAY": "syscall", - "syscall.SYS_GETUID": "syscall", - "syscall.SYS_GETUID32": "syscall", - "syscall.SYS_GETVFSSTAT": "syscall", - "syscall.SYS_GETWGROUPS": "syscall", - "syscall.SYS_GETXATTR": "syscall", - "syscall.SYS_GET_KERNEL_SYMS": "syscall", - "syscall.SYS_GET_MEMPOLICY": "syscall", - "syscall.SYS_GET_ROBUST_LIST": "syscall", - "syscall.SYS_GET_THREAD_AREA": "syscall", - "syscall.SYS_GTTY": "syscall", - "syscall.SYS_IDENTITYSVC": "syscall", - "syscall.SYS_IDLE": "syscall", - "syscall.SYS_INITGROUPS": "syscall", - "syscall.SYS_INIT_MODULE": "syscall", - "syscall.SYS_INOTIFY_ADD_WATCH": "syscall", - "syscall.SYS_INOTIFY_INIT": "syscall", - "syscall.SYS_INOTIFY_INIT1": "syscall", - "syscall.SYS_INOTIFY_RM_WATCH": "syscall", - "syscall.SYS_IOCTL": "syscall", - "syscall.SYS_IOPERM": "syscall", - "syscall.SYS_IOPL": "syscall", - "syscall.SYS_IOPOLICYSYS": "syscall", - "syscall.SYS_IOPRIO_GET": "syscall", - "syscall.SYS_IOPRIO_SET": "syscall", - "syscall.SYS_IO_CANCEL": "syscall", - "syscall.SYS_IO_DESTROY": "syscall", - "syscall.SYS_IO_GETEVENTS": "syscall", - "syscall.SYS_IO_SETUP": "syscall", - "syscall.SYS_IO_SUBMIT": "syscall", - "syscall.SYS_IPC": "syscall", - "syscall.SYS_ISSETUGID": "syscall", - "syscall.SYS_JAIL": "syscall", - "syscall.SYS_JAIL_ATTACH": "syscall", - "syscall.SYS_JAIL_GET": "syscall", - "syscall.SYS_JAIL_REMOVE": "syscall", - "syscall.SYS_JAIL_SET": "syscall", - "syscall.SYS_KDEBUG_TRACE": "syscall", - "syscall.SYS_KENV": "syscall", - "syscall.SYS_KEVENT": "syscall", - "syscall.SYS_KEVENT64": "syscall", - "syscall.SYS_KEXEC_LOAD": "syscall", - "syscall.SYS_KEYCTL": "syscall", - "syscall.SYS_KILL": "syscall", - "syscall.SYS_KLDFIND": "syscall", - "syscall.SYS_KLDFIRSTMOD": "syscall", - "syscall.SYS_KLDLOAD": "syscall", - "syscall.SYS_KLDNEXT": "syscall", - "syscall.SYS_KLDSTAT": "syscall", - "syscall.SYS_KLDSYM": "syscall", - "syscall.SYS_KLDUNLOAD": "syscall", - "syscall.SYS_KLDUNLOADF": "syscall", - "syscall.SYS_KQUEUE": "syscall", - "syscall.SYS_KQUEUE1": "syscall", - "syscall.SYS_KTIMER_CREATE": "syscall", - "syscall.SYS_KTIMER_DELETE": "syscall", - "syscall.SYS_KTIMER_GETOVERRUN": "syscall", - "syscall.SYS_KTIMER_GETTIME": "syscall", - "syscall.SYS_KTIMER_SETTIME": "syscall", - "syscall.SYS_KTRACE": "syscall", - "syscall.SYS_LCHFLAGS": "syscall", - "syscall.SYS_LCHMOD": "syscall", - "syscall.SYS_LCHOWN": "syscall", - "syscall.SYS_LCHOWN32": "syscall", - "syscall.SYS_LGETFH": "syscall", - "syscall.SYS_LGETXATTR": "syscall", - "syscall.SYS_LINK": "syscall", - "syscall.SYS_LINKAT": "syscall", - "syscall.SYS_LIO_LISTIO": "syscall", - "syscall.SYS_LISTEN": "syscall", - "syscall.SYS_LISTXATTR": "syscall", - "syscall.SYS_LLISTXATTR": "syscall", - "syscall.SYS_LOCK": "syscall", - "syscall.SYS_LOOKUP_DCOOKIE": "syscall", - "syscall.SYS_LPATHCONF": "syscall", - "syscall.SYS_LREMOVEXATTR": "syscall", - "syscall.SYS_LSEEK": "syscall", - "syscall.SYS_LSETXATTR": "syscall", - "syscall.SYS_LSTAT": "syscall", - "syscall.SYS_LSTAT64": "syscall", - "syscall.SYS_LSTAT64_EXTENDED": "syscall", - "syscall.SYS_LSTATV": "syscall", - "syscall.SYS_LSTAT_EXTENDED": "syscall", - "syscall.SYS_LUTIMES": "syscall", - "syscall.SYS_MAC_SYSCALL": "syscall", - "syscall.SYS_MADVISE": "syscall", - "syscall.SYS_MADVISE1": "syscall", - "syscall.SYS_MAXSYSCALL": "syscall", - "syscall.SYS_MBIND": "syscall", - "syscall.SYS_MIGRATE_PAGES": "syscall", - "syscall.SYS_MINCORE": "syscall", - "syscall.SYS_MINHERIT": "syscall", - "syscall.SYS_MKCOMPLEX": "syscall", - "syscall.SYS_MKDIR": "syscall", - "syscall.SYS_MKDIRAT": "syscall", - "syscall.SYS_MKDIR_EXTENDED": "syscall", - "syscall.SYS_MKFIFO": "syscall", - "syscall.SYS_MKFIFOAT": "syscall", - "syscall.SYS_MKFIFO_EXTENDED": "syscall", - "syscall.SYS_MKNOD": "syscall", - "syscall.SYS_MKNODAT": "syscall", - "syscall.SYS_MLOCK": "syscall", - "syscall.SYS_MLOCKALL": "syscall", - "syscall.SYS_MMAP": "syscall", - "syscall.SYS_MMAP2": "syscall", - "syscall.SYS_MODCTL": "syscall", - "syscall.SYS_MODFIND": "syscall", - "syscall.SYS_MODFNEXT": "syscall", - "syscall.SYS_MODIFY_LDT": "syscall", - "syscall.SYS_MODNEXT": "syscall", - "syscall.SYS_MODSTAT": "syscall", - "syscall.SYS_MODWATCH": "syscall", - "syscall.SYS_MOUNT": "syscall", - "syscall.SYS_MOVE_PAGES": "syscall", - "syscall.SYS_MPROTECT": "syscall", - "syscall.SYS_MPX": "syscall", - "syscall.SYS_MQUERY": "syscall", - "syscall.SYS_MQ_GETSETATTR": "syscall", - "syscall.SYS_MQ_NOTIFY": "syscall", - "syscall.SYS_MQ_OPEN": "syscall", - "syscall.SYS_MQ_TIMEDRECEIVE": "syscall", - "syscall.SYS_MQ_TIMEDSEND": "syscall", - "syscall.SYS_MQ_UNLINK": "syscall", - "syscall.SYS_MREMAP": "syscall", - "syscall.SYS_MSGCTL": "syscall", - "syscall.SYS_MSGGET": "syscall", - "syscall.SYS_MSGRCV": "syscall", - "syscall.SYS_MSGRCV_NOCANCEL": "syscall", - "syscall.SYS_MSGSND": "syscall", - "syscall.SYS_MSGSND_NOCANCEL": "syscall", - "syscall.SYS_MSGSYS": "syscall", - "syscall.SYS_MSYNC": "syscall", - "syscall.SYS_MSYNC_NOCANCEL": "syscall", - "syscall.SYS_MUNLOCK": "syscall", - "syscall.SYS_MUNLOCKALL": "syscall", - "syscall.SYS_MUNMAP": "syscall", - "syscall.SYS_NAME_TO_HANDLE_AT": "syscall", - "syscall.SYS_NANOSLEEP": "syscall", - "syscall.SYS_NEWFSTATAT": "syscall", - "syscall.SYS_NFSCLNT": "syscall", - "syscall.SYS_NFSSERVCTL": "syscall", - "syscall.SYS_NFSSVC": "syscall", - "syscall.SYS_NFSTAT": "syscall", - "syscall.SYS_NICE": "syscall", - "syscall.SYS_NLSTAT": "syscall", - "syscall.SYS_NMOUNT": "syscall", - "syscall.SYS_NSTAT": "syscall", - "syscall.SYS_NTP_ADJTIME": "syscall", - "syscall.SYS_NTP_GETTIME": "syscall", - "syscall.SYS_OABI_SYSCALL_BASE": "syscall", - "syscall.SYS_OBREAK": "syscall", - "syscall.SYS_OLDFSTAT": "syscall", - "syscall.SYS_OLDLSTAT": "syscall", - "syscall.SYS_OLDOLDUNAME": "syscall", - "syscall.SYS_OLDSTAT": "syscall", - "syscall.SYS_OLDUNAME": "syscall", - "syscall.SYS_OPEN": "syscall", - "syscall.SYS_OPENAT": "syscall", - "syscall.SYS_OPENBSD_POLL": "syscall", - "syscall.SYS_OPEN_BY_HANDLE_AT": "syscall", - "syscall.SYS_OPEN_EXTENDED": "syscall", - "syscall.SYS_OPEN_NOCANCEL": "syscall", - "syscall.SYS_OVADVISE": "syscall", - "syscall.SYS_PACCEPT": "syscall", - "syscall.SYS_PATHCONF": "syscall", - "syscall.SYS_PAUSE": "syscall", - "syscall.SYS_PCICONFIG_IOBASE": "syscall", - "syscall.SYS_PCICONFIG_READ": "syscall", - "syscall.SYS_PCICONFIG_WRITE": "syscall", - "syscall.SYS_PDFORK": "syscall", - "syscall.SYS_PDGETPID": "syscall", - "syscall.SYS_PDKILL": "syscall", - "syscall.SYS_PERF_EVENT_OPEN": "syscall", - "syscall.SYS_PERSONALITY": "syscall", - "syscall.SYS_PID_HIBERNATE": "syscall", - "syscall.SYS_PID_RESUME": "syscall", - "syscall.SYS_PID_SHUTDOWN_SOCKETS": "syscall", - "syscall.SYS_PID_SUSPEND": "syscall", - "syscall.SYS_PIPE": "syscall", - "syscall.SYS_PIPE2": "syscall", - "syscall.SYS_PIVOT_ROOT": "syscall", - "syscall.SYS_PMC_CONTROL": "syscall", - "syscall.SYS_PMC_GET_INFO": "syscall", - "syscall.SYS_POLL": "syscall", - "syscall.SYS_POLLTS": "syscall", - "syscall.SYS_POLL_NOCANCEL": "syscall", - "syscall.SYS_POSIX_FADVISE": "syscall", - "syscall.SYS_POSIX_FALLOCATE": "syscall", - "syscall.SYS_POSIX_OPENPT": "syscall", - "syscall.SYS_POSIX_SPAWN": "syscall", - "syscall.SYS_PPOLL": "syscall", - "syscall.SYS_PRCTL": "syscall", - "syscall.SYS_PREAD": "syscall", - "syscall.SYS_PREAD64": "syscall", - "syscall.SYS_PREADV": "syscall", - "syscall.SYS_PREAD_NOCANCEL": "syscall", - "syscall.SYS_PRLIMIT64": "syscall", - "syscall.SYS_PROCESS_POLICY": "syscall", - "syscall.SYS_PROCESS_VM_READV": "syscall", - "syscall.SYS_PROCESS_VM_WRITEV": "syscall", - "syscall.SYS_PROC_INFO": "syscall", - "syscall.SYS_PROF": "syscall", - "syscall.SYS_PROFIL": "syscall", - "syscall.SYS_PSELECT": "syscall", - "syscall.SYS_PSELECT6": "syscall", - "syscall.SYS_PSET_ASSIGN": "syscall", - "syscall.SYS_PSET_CREATE": "syscall", - "syscall.SYS_PSET_DESTROY": "syscall", - "syscall.SYS_PSYNCH_CVBROAD": "syscall", - "syscall.SYS_PSYNCH_CVCLRPREPOST": "syscall", - "syscall.SYS_PSYNCH_CVSIGNAL": "syscall", - "syscall.SYS_PSYNCH_CVWAIT": "syscall", - "syscall.SYS_PSYNCH_MUTEXDROP": "syscall", - "syscall.SYS_PSYNCH_MUTEXWAIT": "syscall", - "syscall.SYS_PSYNCH_RW_DOWNGRADE": "syscall", - "syscall.SYS_PSYNCH_RW_LONGRDLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_RDLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_UNLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_UNLOCK2": "syscall", - "syscall.SYS_PSYNCH_RW_UPGRADE": "syscall", - "syscall.SYS_PSYNCH_RW_WRLOCK": "syscall", - "syscall.SYS_PSYNCH_RW_YIELDWRLOCK": "syscall", - "syscall.SYS_PTRACE": "syscall", - "syscall.SYS_PUTPMSG": "syscall", - "syscall.SYS_PWRITE": "syscall", - "syscall.SYS_PWRITE64": "syscall", - "syscall.SYS_PWRITEV": "syscall", - "syscall.SYS_PWRITE_NOCANCEL": "syscall", - "syscall.SYS_QUERY_MODULE": "syscall", - "syscall.SYS_QUOTACTL": "syscall", - "syscall.SYS_RASCTL": "syscall", - "syscall.SYS_RCTL_ADD_RULE": "syscall", - "syscall.SYS_RCTL_GET_LIMITS": "syscall", - "syscall.SYS_RCTL_GET_RACCT": "syscall", - "syscall.SYS_RCTL_GET_RULES": "syscall", - "syscall.SYS_RCTL_REMOVE_RULE": "syscall", - "syscall.SYS_READ": "syscall", - "syscall.SYS_READAHEAD": "syscall", - "syscall.SYS_READDIR": "syscall", - "syscall.SYS_READLINK": "syscall", - "syscall.SYS_READLINKAT": "syscall", - "syscall.SYS_READV": "syscall", - "syscall.SYS_READV_NOCANCEL": "syscall", - "syscall.SYS_READ_NOCANCEL": "syscall", - "syscall.SYS_REBOOT": "syscall", - "syscall.SYS_RECV": "syscall", - "syscall.SYS_RECVFROM": "syscall", - "syscall.SYS_RECVFROM_NOCANCEL": "syscall", - "syscall.SYS_RECVMMSG": "syscall", - "syscall.SYS_RECVMSG": "syscall", - "syscall.SYS_RECVMSG_NOCANCEL": "syscall", - "syscall.SYS_REMAP_FILE_PAGES": "syscall", - "syscall.SYS_REMOVEXATTR": "syscall", - "syscall.SYS_RENAME": "syscall", - "syscall.SYS_RENAMEAT": "syscall", - "syscall.SYS_REQUEST_KEY": "syscall", - "syscall.SYS_RESTART_SYSCALL": "syscall", - "syscall.SYS_REVOKE": "syscall", - "syscall.SYS_RFORK": "syscall", - "syscall.SYS_RMDIR": "syscall", - "syscall.SYS_RTPRIO": "syscall", - "syscall.SYS_RTPRIO_THREAD": "syscall", - "syscall.SYS_RT_SIGACTION": "syscall", - "syscall.SYS_RT_SIGPENDING": "syscall", - "syscall.SYS_RT_SIGPROCMASK": "syscall", - "syscall.SYS_RT_SIGQUEUEINFO": "syscall", - "syscall.SYS_RT_SIGRETURN": "syscall", - "syscall.SYS_RT_SIGSUSPEND": "syscall", - "syscall.SYS_RT_SIGTIMEDWAIT": "syscall", - "syscall.SYS_RT_TGSIGQUEUEINFO": "syscall", - "syscall.SYS_SBRK": "syscall", - "syscall.SYS_SCHED_GETAFFINITY": "syscall", - "syscall.SYS_SCHED_GETPARAM": "syscall", - "syscall.SYS_SCHED_GETSCHEDULER": "syscall", - "syscall.SYS_SCHED_GET_PRIORITY_MAX": "syscall", - "syscall.SYS_SCHED_GET_PRIORITY_MIN": "syscall", - "syscall.SYS_SCHED_RR_GET_INTERVAL": "syscall", - "syscall.SYS_SCHED_SETAFFINITY": "syscall", - "syscall.SYS_SCHED_SETPARAM": "syscall", - "syscall.SYS_SCHED_SETSCHEDULER": "syscall", - "syscall.SYS_SCHED_YIELD": "syscall", - "syscall.SYS_SCTP_GENERIC_RECVMSG": "syscall", - "syscall.SYS_SCTP_GENERIC_SENDMSG": "syscall", - "syscall.SYS_SCTP_GENERIC_SENDMSG_IOV": "syscall", - "syscall.SYS_SCTP_PEELOFF": "syscall", - "syscall.SYS_SEARCHFS": "syscall", - "syscall.SYS_SECURITY": "syscall", - "syscall.SYS_SELECT": "syscall", - "syscall.SYS_SELECT_NOCANCEL": "syscall", - "syscall.SYS_SEMCONFIG": "syscall", - "syscall.SYS_SEMCTL": "syscall", - "syscall.SYS_SEMGET": "syscall", - "syscall.SYS_SEMOP": "syscall", - "syscall.SYS_SEMSYS": "syscall", - "syscall.SYS_SEMTIMEDOP": "syscall", - "syscall.SYS_SEM_CLOSE": "syscall", - "syscall.SYS_SEM_DESTROY": "syscall", - "syscall.SYS_SEM_GETVALUE": "syscall", - "syscall.SYS_SEM_INIT": "syscall", - "syscall.SYS_SEM_OPEN": "syscall", - "syscall.SYS_SEM_POST": "syscall", - "syscall.SYS_SEM_TRYWAIT": "syscall", - "syscall.SYS_SEM_UNLINK": "syscall", - "syscall.SYS_SEM_WAIT": "syscall", - "syscall.SYS_SEM_WAIT_NOCANCEL": "syscall", - "syscall.SYS_SEND": "syscall", - "syscall.SYS_SENDFILE": "syscall", - "syscall.SYS_SENDFILE64": "syscall", - "syscall.SYS_SENDMMSG": "syscall", - "syscall.SYS_SENDMSG": "syscall", - "syscall.SYS_SENDMSG_NOCANCEL": "syscall", - "syscall.SYS_SENDTO": "syscall", - "syscall.SYS_SENDTO_NOCANCEL": "syscall", - "syscall.SYS_SETATTRLIST": "syscall", - "syscall.SYS_SETAUDIT": "syscall", - "syscall.SYS_SETAUDIT_ADDR": "syscall", - "syscall.SYS_SETAUID": "syscall", - "syscall.SYS_SETCONTEXT": "syscall", - "syscall.SYS_SETDOMAINNAME": "syscall", - "syscall.SYS_SETEGID": "syscall", - "syscall.SYS_SETEUID": "syscall", - "syscall.SYS_SETFIB": "syscall", - "syscall.SYS_SETFSGID": "syscall", - "syscall.SYS_SETFSGID32": "syscall", - "syscall.SYS_SETFSUID": "syscall", - "syscall.SYS_SETFSUID32": "syscall", - "syscall.SYS_SETGID": "syscall", - "syscall.SYS_SETGID32": "syscall", - "syscall.SYS_SETGROUPS": "syscall", - "syscall.SYS_SETGROUPS32": "syscall", - "syscall.SYS_SETHOSTNAME": "syscall", - "syscall.SYS_SETITIMER": "syscall", - "syscall.SYS_SETLCID": "syscall", - "syscall.SYS_SETLOGIN": "syscall", - "syscall.SYS_SETLOGINCLASS": "syscall", - "syscall.SYS_SETNS": "syscall", - "syscall.SYS_SETPGID": "syscall", - "syscall.SYS_SETPRIORITY": "syscall", - "syscall.SYS_SETPRIVEXEC": "syscall", - "syscall.SYS_SETREGID": "syscall", - "syscall.SYS_SETREGID32": "syscall", - "syscall.SYS_SETRESGID": "syscall", - "syscall.SYS_SETRESGID32": "syscall", - "syscall.SYS_SETRESUID": "syscall", - "syscall.SYS_SETRESUID32": "syscall", - "syscall.SYS_SETREUID": "syscall", - "syscall.SYS_SETREUID32": "syscall", - "syscall.SYS_SETRLIMIT": "syscall", - "syscall.SYS_SETRTABLE": "syscall", - "syscall.SYS_SETSGROUPS": "syscall", - "syscall.SYS_SETSID": "syscall", - "syscall.SYS_SETSOCKOPT": "syscall", - "syscall.SYS_SETTID": "syscall", - "syscall.SYS_SETTID_WITH_PID": "syscall", - "syscall.SYS_SETTIMEOFDAY": "syscall", - "syscall.SYS_SETUID": "syscall", - "syscall.SYS_SETUID32": "syscall", - "syscall.SYS_SETWGROUPS": "syscall", - "syscall.SYS_SETXATTR": "syscall", - "syscall.SYS_SET_MEMPOLICY": "syscall", - "syscall.SYS_SET_ROBUST_LIST": "syscall", - "syscall.SYS_SET_THREAD_AREA": "syscall", - "syscall.SYS_SET_TID_ADDRESS": "syscall", - "syscall.SYS_SGETMASK": "syscall", - "syscall.SYS_SHARED_REGION_CHECK_NP": "syscall", - "syscall.SYS_SHARED_REGION_MAP_AND_SLIDE_NP": "syscall", - "syscall.SYS_SHMAT": "syscall", - "syscall.SYS_SHMCTL": "syscall", - "syscall.SYS_SHMDT": "syscall", - "syscall.SYS_SHMGET": "syscall", - "syscall.SYS_SHMSYS": "syscall", - "syscall.SYS_SHM_OPEN": "syscall", - "syscall.SYS_SHM_UNLINK": "syscall", - "syscall.SYS_SHUTDOWN": "syscall", - "syscall.SYS_SIGACTION": "syscall", - "syscall.SYS_SIGALTSTACK": "syscall", - "syscall.SYS_SIGNAL": "syscall", - "syscall.SYS_SIGNALFD": "syscall", - "syscall.SYS_SIGNALFD4": "syscall", - "syscall.SYS_SIGPENDING": "syscall", - "syscall.SYS_SIGPROCMASK": "syscall", - "syscall.SYS_SIGQUEUE": "syscall", - "syscall.SYS_SIGQUEUEINFO": "syscall", - "syscall.SYS_SIGRETURN": "syscall", - "syscall.SYS_SIGSUSPEND": "syscall", - "syscall.SYS_SIGSUSPEND_NOCANCEL": "syscall", - "syscall.SYS_SIGTIMEDWAIT": "syscall", - "syscall.SYS_SIGWAIT": "syscall", - "syscall.SYS_SIGWAITINFO": "syscall", - "syscall.SYS_SOCKET": "syscall", - "syscall.SYS_SOCKETCALL": "syscall", - "syscall.SYS_SOCKETPAIR": "syscall", - "syscall.SYS_SPLICE": "syscall", - "syscall.SYS_SSETMASK": "syscall", - "syscall.SYS_SSTK": "syscall", - "syscall.SYS_STACK_SNAPSHOT": "syscall", - "syscall.SYS_STAT": "syscall", - "syscall.SYS_STAT64": "syscall", - "syscall.SYS_STAT64_EXTENDED": "syscall", - "syscall.SYS_STATFS": "syscall", - "syscall.SYS_STATFS64": "syscall", - "syscall.SYS_STATV": "syscall", - "syscall.SYS_STATVFS1": "syscall", - "syscall.SYS_STAT_EXTENDED": "syscall", - "syscall.SYS_STIME": "syscall", - "syscall.SYS_STTY": "syscall", - "syscall.SYS_SWAPCONTEXT": "syscall", - "syscall.SYS_SWAPCTL": "syscall", - "syscall.SYS_SWAPOFF": "syscall", - "syscall.SYS_SWAPON": "syscall", - "syscall.SYS_SYMLINK": "syscall", - "syscall.SYS_SYMLINKAT": "syscall", - "syscall.SYS_SYNC": "syscall", - "syscall.SYS_SYNCFS": "syscall", - "syscall.SYS_SYNC_FILE_RANGE": "syscall", - "syscall.SYS_SYSARCH": "syscall", - "syscall.SYS_SYSCALL": "syscall", - "syscall.SYS_SYSCALL_BASE": "syscall", - "syscall.SYS_SYSFS": "syscall", - "syscall.SYS_SYSINFO": "syscall", - "syscall.SYS_SYSLOG": "syscall", - "syscall.SYS_TEE": "syscall", - "syscall.SYS_TGKILL": "syscall", - "syscall.SYS_THREAD_SELFID": "syscall", - "syscall.SYS_THR_CREATE": "syscall", - "syscall.SYS_THR_EXIT": "syscall", - "syscall.SYS_THR_KILL": "syscall", - "syscall.SYS_THR_KILL2": "syscall", - "syscall.SYS_THR_NEW": "syscall", - "syscall.SYS_THR_SELF": "syscall", - "syscall.SYS_THR_SET_NAME": "syscall", - "syscall.SYS_THR_SUSPEND": "syscall", - "syscall.SYS_THR_WAKE": "syscall", - "syscall.SYS_TIME": "syscall", - "syscall.SYS_TIMERFD_CREATE": "syscall", - "syscall.SYS_TIMERFD_GETTIME": "syscall", - "syscall.SYS_TIMERFD_SETTIME": "syscall", - "syscall.SYS_TIMER_CREATE": "syscall", - "syscall.SYS_TIMER_DELETE": "syscall", - "syscall.SYS_TIMER_GETOVERRUN": "syscall", - "syscall.SYS_TIMER_GETTIME": "syscall", - "syscall.SYS_TIMER_SETTIME": "syscall", - "syscall.SYS_TIMES": "syscall", - "syscall.SYS_TKILL": "syscall", - "syscall.SYS_TRUNCATE": "syscall", - "syscall.SYS_TRUNCATE64": "syscall", - "syscall.SYS_TUXCALL": "syscall", - "syscall.SYS_UGETRLIMIT": "syscall", - "syscall.SYS_ULIMIT": "syscall", - "syscall.SYS_UMASK": "syscall", - "syscall.SYS_UMASK_EXTENDED": "syscall", - "syscall.SYS_UMOUNT": "syscall", - "syscall.SYS_UMOUNT2": "syscall", - "syscall.SYS_UNAME": "syscall", - "syscall.SYS_UNDELETE": "syscall", - "syscall.SYS_UNLINK": "syscall", - "syscall.SYS_UNLINKAT": "syscall", - "syscall.SYS_UNMOUNT": "syscall", - "syscall.SYS_UNSHARE": "syscall", - "syscall.SYS_USELIB": "syscall", - "syscall.SYS_USTAT": "syscall", - "syscall.SYS_UTIME": "syscall", - "syscall.SYS_UTIMENSAT": "syscall", - "syscall.SYS_UTIMES": "syscall", - "syscall.SYS_UTRACE": "syscall", - "syscall.SYS_UUIDGEN": "syscall", - "syscall.SYS_VADVISE": "syscall", - "syscall.SYS_VFORK": "syscall", - "syscall.SYS_VHANGUP": "syscall", - "syscall.SYS_VM86": "syscall", - "syscall.SYS_VM86OLD": "syscall", - "syscall.SYS_VMSPLICE": "syscall", - "syscall.SYS_VM_PRESSURE_MONITOR": "syscall", - "syscall.SYS_VSERVER": "syscall", - "syscall.SYS_WAIT4": "syscall", - "syscall.SYS_WAIT4_NOCANCEL": "syscall", - "syscall.SYS_WAIT6": "syscall", - "syscall.SYS_WAITEVENT": "syscall", - "syscall.SYS_WAITID": "syscall", - "syscall.SYS_WAITID_NOCANCEL": "syscall", - "syscall.SYS_WAITPID": "syscall", - "syscall.SYS_WATCHEVENT": "syscall", - "syscall.SYS_WORKQ_KERNRETURN": "syscall", - "syscall.SYS_WORKQ_OPEN": "syscall", - "syscall.SYS_WRITE": "syscall", - "syscall.SYS_WRITEV": "syscall", - "syscall.SYS_WRITEV_NOCANCEL": "syscall", - "syscall.SYS_WRITE_NOCANCEL": "syscall", - "syscall.SYS_YIELD": "syscall", - "syscall.SYS__LLSEEK": "syscall", - "syscall.SYS__LWP_CONTINUE": "syscall", - "syscall.SYS__LWP_CREATE": "syscall", - "syscall.SYS__LWP_CTL": "syscall", - "syscall.SYS__LWP_DETACH": "syscall", - "syscall.SYS__LWP_EXIT": "syscall", - "syscall.SYS__LWP_GETNAME": "syscall", - "syscall.SYS__LWP_GETPRIVATE": "syscall", - "syscall.SYS__LWP_KILL": "syscall", - "syscall.SYS__LWP_PARK": "syscall", - "syscall.SYS__LWP_SELF": "syscall", - "syscall.SYS__LWP_SETNAME": "syscall", - "syscall.SYS__LWP_SETPRIVATE": "syscall", - "syscall.SYS__LWP_SUSPEND": "syscall", - "syscall.SYS__LWP_UNPARK": "syscall", - "syscall.SYS__LWP_UNPARK_ALL": "syscall", - "syscall.SYS__LWP_WAIT": "syscall", - "syscall.SYS__LWP_WAKEUP": "syscall", - "syscall.SYS__NEWSELECT": "syscall", - "syscall.SYS__PSET_BIND": "syscall", - "syscall.SYS__SCHED_GETAFFINITY": "syscall", - "syscall.SYS__SCHED_GETPARAM": "syscall", - "syscall.SYS__SCHED_SETAFFINITY": "syscall", - "syscall.SYS__SCHED_SETPARAM": "syscall", - "syscall.SYS__SYSCTL": "syscall", - "syscall.SYS__UMTX_LOCK": "syscall", - "syscall.SYS__UMTX_OP": "syscall", - "syscall.SYS__UMTX_UNLOCK": "syscall", - "syscall.SYS___ACL_ACLCHECK_FD": "syscall", - "syscall.SYS___ACL_ACLCHECK_FILE": "syscall", - "syscall.SYS___ACL_ACLCHECK_LINK": "syscall", - "syscall.SYS___ACL_DELETE_FD": "syscall", - "syscall.SYS___ACL_DELETE_FILE": "syscall", - "syscall.SYS___ACL_DELETE_LINK": "syscall", - "syscall.SYS___ACL_GET_FD": "syscall", - "syscall.SYS___ACL_GET_FILE": "syscall", - "syscall.SYS___ACL_GET_LINK": "syscall", - "syscall.SYS___ACL_SET_FD": "syscall", - "syscall.SYS___ACL_SET_FILE": "syscall", - "syscall.SYS___ACL_SET_LINK": "syscall", - "syscall.SYS___CLONE": "syscall", - "syscall.SYS___DISABLE_THREADSIGNAL": "syscall", - "syscall.SYS___GETCWD": "syscall", - "syscall.SYS___GETLOGIN": "syscall", - "syscall.SYS___GET_TCB": "syscall", - "syscall.SYS___MAC_EXECVE": "syscall", - "syscall.SYS___MAC_GETFSSTAT": "syscall", - "syscall.SYS___MAC_GET_FD": "syscall", - "syscall.SYS___MAC_GET_FILE": "syscall", - "syscall.SYS___MAC_GET_LCID": "syscall", - "syscall.SYS___MAC_GET_LCTX": "syscall", - "syscall.SYS___MAC_GET_LINK": "syscall", - "syscall.SYS___MAC_GET_MOUNT": "syscall", - "syscall.SYS___MAC_GET_PID": "syscall", - "syscall.SYS___MAC_GET_PROC": "syscall", - "syscall.SYS___MAC_MOUNT": "syscall", - "syscall.SYS___MAC_SET_FD": "syscall", - "syscall.SYS___MAC_SET_FILE": "syscall", - "syscall.SYS___MAC_SET_LCTX": "syscall", - "syscall.SYS___MAC_SET_LINK": "syscall", - "syscall.SYS___MAC_SET_PROC": "syscall", - "syscall.SYS___MAC_SYSCALL": "syscall", - "syscall.SYS___OLD_SEMWAIT_SIGNAL": "syscall", - "syscall.SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL": "syscall", - "syscall.SYS___POSIX_CHOWN": "syscall", - "syscall.SYS___POSIX_FCHOWN": "syscall", - "syscall.SYS___POSIX_LCHOWN": "syscall", - "syscall.SYS___POSIX_RENAME": "syscall", - "syscall.SYS___PTHREAD_CANCELED": "syscall", - "syscall.SYS___PTHREAD_CHDIR": "syscall", - "syscall.SYS___PTHREAD_FCHDIR": "syscall", - "syscall.SYS___PTHREAD_KILL": "syscall", - "syscall.SYS___PTHREAD_MARKCANCEL": "syscall", - "syscall.SYS___PTHREAD_SIGMASK": "syscall", - "syscall.SYS___QUOTACTL": "syscall", - "syscall.SYS___SEMCTL": "syscall", - "syscall.SYS___SEMWAIT_SIGNAL": "syscall", - "syscall.SYS___SEMWAIT_SIGNAL_NOCANCEL": "syscall", - "syscall.SYS___SETLOGIN": "syscall", - "syscall.SYS___SETUGID": "syscall", - "syscall.SYS___SET_TCB": "syscall", - "syscall.SYS___SIGACTION_SIGTRAMP": "syscall", - "syscall.SYS___SIGTIMEDWAIT": "syscall", - "syscall.SYS___SIGWAIT": "syscall", - "syscall.SYS___SIGWAIT_NOCANCEL": "syscall", - "syscall.SYS___SYSCTL": "syscall", - "syscall.SYS___TFORK": "syscall", - "syscall.SYS___THREXIT": "syscall", - "syscall.SYS___THRSIGDIVERT": "syscall", - "syscall.SYS___THRSLEEP": "syscall", - "syscall.SYS___THRWAKEUP": "syscall", - "syscall.S_ARCH1": "syscall", - "syscall.S_ARCH2": "syscall", - "syscall.S_BLKSIZE": "syscall", - "syscall.S_IEXEC": "syscall", - "syscall.S_IFBLK": "syscall", - "syscall.S_IFCHR": "syscall", - "syscall.S_IFDIR": "syscall", - "syscall.S_IFIFO": "syscall", - "syscall.S_IFLNK": "syscall", - "syscall.S_IFMT": "syscall", - "syscall.S_IFREG": "syscall", - "syscall.S_IFSOCK": "syscall", - "syscall.S_IFWHT": "syscall", - "syscall.S_IREAD": "syscall", - "syscall.S_IRGRP": "syscall", - "syscall.S_IROTH": "syscall", - "syscall.S_IRUSR": "syscall", - "syscall.S_IRWXG": "syscall", - "syscall.S_IRWXO": "syscall", - "syscall.S_IRWXU": "syscall", - "syscall.S_ISGID": "syscall", - "syscall.S_ISTXT": "syscall", - "syscall.S_ISUID": "syscall", - "syscall.S_ISVTX": "syscall", - "syscall.S_IWGRP": "syscall", - "syscall.S_IWOTH": "syscall", - "syscall.S_IWRITE": "syscall", - "syscall.S_IWUSR": "syscall", - "syscall.S_IXGRP": "syscall", - "syscall.S_IXOTH": "syscall", - "syscall.S_IXUSR": "syscall", - "syscall.S_LOGIN_SET": "syscall", - "syscall.SecurityAttributes": "syscall", - "syscall.Seek": "syscall", - "syscall.Select": "syscall", - "syscall.Sendfile": "syscall", - "syscall.Sendmsg": "syscall", - "syscall.Sendto": "syscall", - "syscall.Servent": "syscall", - "syscall.SetBpf": "syscall", - "syscall.SetBpfBuflen": "syscall", - "syscall.SetBpfDatalink": "syscall", - "syscall.SetBpfHeadercmpl": "syscall", - "syscall.SetBpfImmediate": "syscall", - "syscall.SetBpfInterface": "syscall", - "syscall.SetBpfPromisc": "syscall", - "syscall.SetBpfTimeout": "syscall", - "syscall.SetCurrentDirectory": "syscall", - "syscall.SetEndOfFile": "syscall", - "syscall.SetEnvironmentVariable": "syscall", - "syscall.SetFileAttributes": "syscall", - "syscall.SetFileCompletionNotificationModes": "syscall", - "syscall.SetFilePointer": "syscall", - "syscall.SetFileTime": "syscall", - "syscall.SetHandleInformation": "syscall", - "syscall.SetKevent": "syscall", - "syscall.SetLsfPromisc": "syscall", - "syscall.SetNonblock": "syscall", - "syscall.Setdomainname": "syscall", - "syscall.Setegid": "syscall", - "syscall.Setenv": "syscall", - "syscall.Seteuid": "syscall", - "syscall.Setfsgid": "syscall", - "syscall.Setfsuid": "syscall", - "syscall.Setgid": "syscall", - "syscall.Setgroups": "syscall", - "syscall.Sethostname": "syscall", - "syscall.Setlogin": "syscall", - "syscall.Setpgid": "syscall", - "syscall.Setpriority": "syscall", - "syscall.Setprivexec": "syscall", - "syscall.Setregid": "syscall", - "syscall.Setresgid": "syscall", - "syscall.Setresuid": "syscall", - "syscall.Setreuid": "syscall", - "syscall.Setrlimit": "syscall", - "syscall.Setsid": "syscall", - "syscall.Setsockopt": "syscall", - "syscall.SetsockoptByte": "syscall", - "syscall.SetsockoptICMPv6Filter": "syscall", - "syscall.SetsockoptIPMreq": "syscall", - "syscall.SetsockoptIPMreqn": "syscall", - "syscall.SetsockoptIPv6Mreq": "syscall", - "syscall.SetsockoptInet4Addr": "syscall", - "syscall.SetsockoptInt": "syscall", - "syscall.SetsockoptLinger": "syscall", - "syscall.SetsockoptString": "syscall", - "syscall.SetsockoptTimeval": "syscall", - "syscall.Settimeofday": "syscall", - "syscall.Setuid": "syscall", - "syscall.Setxattr": "syscall", - "syscall.Shutdown": "syscall", - "syscall.SidTypeAlias": "syscall", - "syscall.SidTypeComputer": "syscall", - "syscall.SidTypeDeletedAccount": "syscall", - "syscall.SidTypeDomain": "syscall", - "syscall.SidTypeGroup": "syscall", - "syscall.SidTypeInvalid": "syscall", - "syscall.SidTypeLabel": "syscall", - "syscall.SidTypeUnknown": "syscall", - "syscall.SidTypeUser": "syscall", - "syscall.SidTypeWellKnownGroup": "syscall", - "syscall.Signal": "syscall", - "syscall.SizeofBpfHdr": "syscall", - "syscall.SizeofBpfInsn": "syscall", - "syscall.SizeofBpfProgram": "syscall", - "syscall.SizeofBpfStat": "syscall", - "syscall.SizeofBpfVersion": "syscall", - "syscall.SizeofBpfZbuf": "syscall", - "syscall.SizeofBpfZbufHeader": "syscall", - "syscall.SizeofCmsghdr": "syscall", - "syscall.SizeofICMPv6Filter": "syscall", - "syscall.SizeofIPMreq": "syscall", - "syscall.SizeofIPMreqn": "syscall", - "syscall.SizeofIPv6MTUInfo": "syscall", - "syscall.SizeofIPv6Mreq": "syscall", - "syscall.SizeofIfAddrmsg": "syscall", - "syscall.SizeofIfAnnounceMsghdr": "syscall", - "syscall.SizeofIfData": "syscall", - "syscall.SizeofIfInfomsg": "syscall", - "syscall.SizeofIfMsghdr": "syscall", - "syscall.SizeofIfaMsghdr": "syscall", - "syscall.SizeofIfmaMsghdr": "syscall", - "syscall.SizeofIfmaMsghdr2": "syscall", - "syscall.SizeofInet4Pktinfo": "syscall", - "syscall.SizeofInet6Pktinfo": "syscall", - "syscall.SizeofInotifyEvent": "syscall", - "syscall.SizeofLinger": "syscall", - "syscall.SizeofMsghdr": "syscall", - "syscall.SizeofNlAttr": "syscall", - "syscall.SizeofNlMsgerr": "syscall", - "syscall.SizeofNlMsghdr": "syscall", - "syscall.SizeofRtAttr": "syscall", - "syscall.SizeofRtGenmsg": "syscall", - "syscall.SizeofRtMetrics": "syscall", - "syscall.SizeofRtMsg": "syscall", - "syscall.SizeofRtMsghdr": "syscall", - "syscall.SizeofRtNexthop": "syscall", - "syscall.SizeofSockFilter": "syscall", - "syscall.SizeofSockFprog": "syscall", - "syscall.SizeofSockaddrAny": "syscall", - "syscall.SizeofSockaddrDatalink": "syscall", - "syscall.SizeofSockaddrInet4": "syscall", - "syscall.SizeofSockaddrInet6": "syscall", - "syscall.SizeofSockaddrLinklayer": "syscall", - "syscall.SizeofSockaddrNetlink": "syscall", - "syscall.SizeofSockaddrUnix": "syscall", - "syscall.SizeofTCPInfo": "syscall", - "syscall.SizeofUcred": "syscall", - "syscall.SlicePtrFromStrings": "syscall", - "syscall.SockFilter": "syscall", - "syscall.SockFprog": "syscall", - "syscall.SockaddrDatalink": "syscall", - "syscall.SockaddrGen": "syscall", - "syscall.SockaddrInet4": "syscall", - "syscall.SockaddrInet6": "syscall", - "syscall.SockaddrLinklayer": "syscall", - "syscall.SockaddrNetlink": "syscall", - "syscall.SockaddrUnix": "syscall", - "syscall.Socket": "syscall", - "syscall.SocketControlMessage": "syscall", - "syscall.SocketDisableIPv6": "syscall", - "syscall.Socketpair": "syscall", - "syscall.Splice": "syscall", - "syscall.StartProcess": "syscall", - "syscall.StartupInfo": "syscall", - "syscall.Stat": "syscall", - "syscall.Stat_t": "syscall", - "syscall.Statfs": "syscall", - "syscall.Statfs_t": "syscall", - "syscall.Stderr": "syscall", - "syscall.Stdin": "syscall", - "syscall.Stdout": "syscall", - "syscall.StringBytePtr": "syscall", - "syscall.StringByteSlice": "syscall", - "syscall.StringSlicePtr": "syscall", - "syscall.StringToSid": "syscall", - "syscall.StringToUTF16": "syscall", - "syscall.StringToUTF16Ptr": "syscall", - "syscall.Symlink": "syscall", - "syscall.Sync": "syscall", - "syscall.SyncFileRange": "syscall", - "syscall.SysProcAttr": "syscall", - "syscall.Syscall": "syscall", - "syscall.Syscall12": "syscall", - "syscall.Syscall15": "syscall", - "syscall.Syscall6": "syscall", - "syscall.Syscall9": "syscall", - "syscall.Sysctl": "syscall", - "syscall.SysctlUint32": "syscall", - "syscall.Sysctlnode": "syscall", - "syscall.Sysinfo": "syscall", - "syscall.Sysinfo_t": "syscall", - "syscall.Systemtime": "syscall", - "syscall.TCGETS": "syscall", - "syscall.TCIFLUSH": "syscall", - "syscall.TCIOFLUSH": "syscall", - "syscall.TCOFLUSH": "syscall", - "syscall.TCPInfo": "syscall", - "syscall.TCP_CA_NAME_MAX": "syscall", - "syscall.TCP_CONGCTL": "syscall", - "syscall.TCP_CONGESTION": "syscall", - "syscall.TCP_CONNECTIONTIMEOUT": "syscall", - "syscall.TCP_CORK": "syscall", - "syscall.TCP_DEFER_ACCEPT": "syscall", - "syscall.TCP_INFO": "syscall", - "syscall.TCP_KEEPALIVE": "syscall", - "syscall.TCP_KEEPCNT": "syscall", - "syscall.TCP_KEEPIDLE": "syscall", - "syscall.TCP_KEEPINIT": "syscall", - "syscall.TCP_KEEPINTVL": "syscall", - "syscall.TCP_LINGER2": "syscall", - "syscall.TCP_MAXBURST": "syscall", - "syscall.TCP_MAXHLEN": "syscall", - "syscall.TCP_MAXOLEN": "syscall", - "syscall.TCP_MAXSEG": "syscall", - "syscall.TCP_MAXWIN": "syscall", - "syscall.TCP_MAX_SACK": "syscall", - "syscall.TCP_MAX_WINSHIFT": "syscall", - "syscall.TCP_MD5SIG": "syscall", - "syscall.TCP_MD5SIG_MAXKEYLEN": "syscall", - "syscall.TCP_MINMSS": "syscall", - "syscall.TCP_MINMSSOVERLOAD": "syscall", - "syscall.TCP_MSS": "syscall", - "syscall.TCP_NODELAY": "syscall", - "syscall.TCP_NOOPT": "syscall", - "syscall.TCP_NOPUSH": "syscall", - "syscall.TCP_NSTATES": "syscall", - "syscall.TCP_QUICKACK": "syscall", - "syscall.TCP_RXT_CONNDROPTIME": "syscall", - "syscall.TCP_RXT_FINDROP": "syscall", - "syscall.TCP_SACK_ENABLE": "syscall", - "syscall.TCP_SYNCNT": "syscall", - "syscall.TCP_WINDOW_CLAMP": "syscall", - "syscall.TCSAFLUSH": "syscall", - "syscall.TCSETS": "syscall", - "syscall.TF_DISCONNECT": "syscall", - "syscall.TF_REUSE_SOCKET": "syscall", - "syscall.TF_USE_DEFAULT_WORKER": "syscall", - "syscall.TF_USE_KERNEL_APC": "syscall", - "syscall.TF_USE_SYSTEM_THREAD": "syscall", - "syscall.TF_WRITE_BEHIND": "syscall", - "syscall.TIME_ZONE_ID_DAYLIGHT": "syscall", - "syscall.TIME_ZONE_ID_STANDARD": "syscall", - "syscall.TIME_ZONE_ID_UNKNOWN": "syscall", - "syscall.TIOCCBRK": "syscall", - "syscall.TIOCCDTR": "syscall", - "syscall.TIOCCONS": "syscall", - "syscall.TIOCDCDTIMESTAMP": "syscall", - "syscall.TIOCDRAIN": "syscall", - "syscall.TIOCDSIMICROCODE": "syscall", - "syscall.TIOCEXCL": "syscall", - "syscall.TIOCEXT": "syscall", - "syscall.TIOCFLAG_CDTRCTS": "syscall", - "syscall.TIOCFLAG_CLOCAL": "syscall", - "syscall.TIOCFLAG_CRTSCTS": "syscall", - "syscall.TIOCFLAG_MDMBUF": "syscall", - "syscall.TIOCFLAG_PPS": "syscall", - "syscall.TIOCFLAG_SOFTCAR": "syscall", - "syscall.TIOCFLUSH": "syscall", - "syscall.TIOCGDEV": "syscall", - "syscall.TIOCGDRAINWAIT": "syscall", - "syscall.TIOCGETA": "syscall", - "syscall.TIOCGETD": "syscall", - "syscall.TIOCGFLAGS": "syscall", - "syscall.TIOCGICOUNT": "syscall", - "syscall.TIOCGLCKTRMIOS": "syscall", - "syscall.TIOCGLINED": "syscall", - "syscall.TIOCGPGRP": "syscall", - "syscall.TIOCGPTN": "syscall", - "syscall.TIOCGQSIZE": "syscall", - "syscall.TIOCGRANTPT": "syscall", - "syscall.TIOCGRS485": "syscall", - "syscall.TIOCGSERIAL": "syscall", - "syscall.TIOCGSID": "syscall", - "syscall.TIOCGSIZE": "syscall", - "syscall.TIOCGSOFTCAR": "syscall", - "syscall.TIOCGTSTAMP": "syscall", - "syscall.TIOCGWINSZ": "syscall", - "syscall.TIOCINQ": "syscall", - "syscall.TIOCIXOFF": "syscall", - "syscall.TIOCIXON": "syscall", - "syscall.TIOCLINUX": "syscall", - "syscall.TIOCMBIC": "syscall", - "syscall.TIOCMBIS": "syscall", - "syscall.TIOCMGDTRWAIT": "syscall", - "syscall.TIOCMGET": "syscall", - "syscall.TIOCMIWAIT": "syscall", - "syscall.TIOCMODG": "syscall", - "syscall.TIOCMODS": "syscall", - "syscall.TIOCMSDTRWAIT": "syscall", - "syscall.TIOCMSET": "syscall", - "syscall.TIOCM_CAR": "syscall", - "syscall.TIOCM_CD": "syscall", - "syscall.TIOCM_CTS": "syscall", - "syscall.TIOCM_DCD": "syscall", - "syscall.TIOCM_DSR": "syscall", - "syscall.TIOCM_DTR": "syscall", - "syscall.TIOCM_LE": "syscall", - "syscall.TIOCM_RI": "syscall", - "syscall.TIOCM_RNG": "syscall", - "syscall.TIOCM_RTS": "syscall", - "syscall.TIOCM_SR": "syscall", - "syscall.TIOCM_ST": "syscall", - "syscall.TIOCNOTTY": "syscall", - "syscall.TIOCNXCL": "syscall", - "syscall.TIOCOUTQ": "syscall", - "syscall.TIOCPKT": "syscall", - "syscall.TIOCPKT_DATA": "syscall", - "syscall.TIOCPKT_DOSTOP": "syscall", - "syscall.TIOCPKT_FLUSHREAD": "syscall", - "syscall.TIOCPKT_FLUSHWRITE": "syscall", - "syscall.TIOCPKT_IOCTL": "syscall", - "syscall.TIOCPKT_NOSTOP": "syscall", - "syscall.TIOCPKT_START": "syscall", - "syscall.TIOCPKT_STOP": "syscall", - "syscall.TIOCPTMASTER": "syscall", - "syscall.TIOCPTMGET": "syscall", - "syscall.TIOCPTSNAME": "syscall", - "syscall.TIOCPTYGNAME": "syscall", - "syscall.TIOCPTYGRANT": "syscall", - "syscall.TIOCPTYUNLK": "syscall", - "syscall.TIOCRCVFRAME": "syscall", - "syscall.TIOCREMOTE": "syscall", - "syscall.TIOCSBRK": "syscall", - "syscall.TIOCSCONS": "syscall", - "syscall.TIOCSCTTY": "syscall", - "syscall.TIOCSDRAINWAIT": "syscall", - "syscall.TIOCSDTR": "syscall", - "syscall.TIOCSERCONFIG": "syscall", - "syscall.TIOCSERGETLSR": "syscall", - "syscall.TIOCSERGETMULTI": "syscall", - "syscall.TIOCSERGSTRUCT": "syscall", - "syscall.TIOCSERGWILD": "syscall", - "syscall.TIOCSERSETMULTI": "syscall", - "syscall.TIOCSERSWILD": "syscall", - "syscall.TIOCSER_TEMT": "syscall", - "syscall.TIOCSETA": "syscall", - "syscall.TIOCSETAF": "syscall", - "syscall.TIOCSETAW": "syscall", - "syscall.TIOCSETD": "syscall", - "syscall.TIOCSFLAGS": "syscall", - "syscall.TIOCSIG": "syscall", - "syscall.TIOCSLCKTRMIOS": "syscall", - "syscall.TIOCSLINED": "syscall", - "syscall.TIOCSPGRP": "syscall", - "syscall.TIOCSPTLCK": "syscall", - "syscall.TIOCSQSIZE": "syscall", - "syscall.TIOCSRS485": "syscall", - "syscall.TIOCSSERIAL": "syscall", - "syscall.TIOCSSIZE": "syscall", - "syscall.TIOCSSOFTCAR": "syscall", - "syscall.TIOCSTART": "syscall", - "syscall.TIOCSTAT": "syscall", - "syscall.TIOCSTI": "syscall", - "syscall.TIOCSTOP": "syscall", - "syscall.TIOCSTSTAMP": "syscall", - "syscall.TIOCSWINSZ": "syscall", - "syscall.TIOCTIMESTAMP": "syscall", - "syscall.TIOCUCNTL": "syscall", - "syscall.TIOCVHANGUP": "syscall", - "syscall.TIOCXMTFRAME": "syscall", - "syscall.TOKEN_ADJUST_DEFAULT": "syscall", - "syscall.TOKEN_ADJUST_GROUPS": "syscall", - "syscall.TOKEN_ADJUST_PRIVILEGES": "syscall", - "syscall.TOKEN_ALL_ACCESS": "syscall", - "syscall.TOKEN_ASSIGN_PRIMARY": "syscall", - "syscall.TOKEN_DUPLICATE": "syscall", - "syscall.TOKEN_EXECUTE": "syscall", - "syscall.TOKEN_IMPERSONATE": "syscall", - "syscall.TOKEN_QUERY": "syscall", - "syscall.TOKEN_QUERY_SOURCE": "syscall", - "syscall.TOKEN_READ": "syscall", - "syscall.TOKEN_WRITE": "syscall", - "syscall.TOSTOP": "syscall", - "syscall.TRUNCATE_EXISTING": "syscall", - "syscall.TUNATTACHFILTER": "syscall", - "syscall.TUNDETACHFILTER": "syscall", - "syscall.TUNGETFEATURES": "syscall", - "syscall.TUNGETIFF": "syscall", - "syscall.TUNGETSNDBUF": "syscall", - "syscall.TUNGETVNETHDRSZ": "syscall", - "syscall.TUNSETDEBUG": "syscall", - "syscall.TUNSETGROUP": "syscall", - "syscall.TUNSETIFF": "syscall", - "syscall.TUNSETLINK": "syscall", - "syscall.TUNSETNOCSUM": "syscall", - "syscall.TUNSETOFFLOAD": "syscall", - "syscall.TUNSETOWNER": "syscall", - "syscall.TUNSETPERSIST": "syscall", - "syscall.TUNSETSNDBUF": "syscall", - "syscall.TUNSETTXFILTER": "syscall", - "syscall.TUNSETVNETHDRSZ": "syscall", - "syscall.Tee": "syscall", - "syscall.TerminateProcess": "syscall", - "syscall.Termios": "syscall", - "syscall.Tgkill": "syscall", - "syscall.Time": "syscall", - "syscall.Time_t": "syscall", - "syscall.Times": "syscall", - "syscall.Timespec": "syscall", - "syscall.TimespecToNsec": "syscall", - "syscall.Timeval": "syscall", - "syscall.Timeval32": "syscall", - "syscall.TimevalToNsec": "syscall", - "syscall.Timex": "syscall", - "syscall.Timezoneinformation": "syscall", - "syscall.Tms": "syscall", - "syscall.Token": "syscall", - "syscall.TokenAccessInformation": "syscall", - "syscall.TokenAuditPolicy": "syscall", - "syscall.TokenDefaultDacl": "syscall", - "syscall.TokenElevation": "syscall", - "syscall.TokenElevationType": "syscall", - "syscall.TokenGroups": "syscall", - "syscall.TokenGroupsAndPrivileges": "syscall", - "syscall.TokenHasRestrictions": "syscall", - "syscall.TokenImpersonationLevel": "syscall", - "syscall.TokenIntegrityLevel": "syscall", - "syscall.TokenLinkedToken": "syscall", - "syscall.TokenLogonSid": "syscall", - "syscall.TokenMandatoryPolicy": "syscall", - "syscall.TokenOrigin": "syscall", - "syscall.TokenOwner": "syscall", - "syscall.TokenPrimaryGroup": "syscall", - "syscall.TokenPrivileges": "syscall", - "syscall.TokenRestrictedSids": "syscall", - "syscall.TokenSandBoxInert": "syscall", - "syscall.TokenSessionId": "syscall", - "syscall.TokenSessionReference": "syscall", - "syscall.TokenSource": "syscall", - "syscall.TokenStatistics": "syscall", - "syscall.TokenType": "syscall", - "syscall.TokenUIAccess": "syscall", - "syscall.TokenUser": "syscall", - "syscall.TokenVirtualizationAllowed": "syscall", - "syscall.TokenVirtualizationEnabled": "syscall", - "syscall.Tokenprimarygroup": "syscall", - "syscall.Tokenuser": "syscall", - "syscall.TranslateAccountName": "syscall", - "syscall.TranslateName": "syscall", - "syscall.TransmitFile": "syscall", - "syscall.TransmitFileBuffers": "syscall", - "syscall.Truncate": "syscall", - "syscall.USAGE_MATCH_TYPE_AND": "syscall", - "syscall.USAGE_MATCH_TYPE_OR": "syscall", - "syscall.UTF16FromString": "syscall", - "syscall.UTF16PtrFromString": "syscall", - "syscall.UTF16ToString": "syscall", - "syscall.Ucred": "syscall", - "syscall.Umask": "syscall", - "syscall.Uname": "syscall", - "syscall.Undelete": "syscall", - "syscall.UnixCredentials": "syscall", - "syscall.UnixRights": "syscall", - "syscall.Unlink": "syscall", - "syscall.Unlinkat": "syscall", - "syscall.UnmapViewOfFile": "syscall", - "syscall.Unmount": "syscall", - "syscall.Unshare": "syscall", - "syscall.UserInfo10": "syscall", - "syscall.Ustat": "syscall", - "syscall.Ustat_t": "syscall", - "syscall.Utimbuf": "syscall", - "syscall.Utime": "syscall", - "syscall.Utimes": "syscall", - "syscall.UtimesNano": "syscall", - "syscall.Utsname": "syscall", - "syscall.VDISCARD": "syscall", - "syscall.VDSUSP": "syscall", - "syscall.VEOF": "syscall", - "syscall.VEOL": "syscall", - "syscall.VEOL2": "syscall", - "syscall.VERASE": "syscall", - "syscall.VERASE2": "syscall", - "syscall.VINTR": "syscall", - "syscall.VKILL": "syscall", - "syscall.VLNEXT": "syscall", - "syscall.VMIN": "syscall", - "syscall.VQUIT": "syscall", - "syscall.VREPRINT": "syscall", - "syscall.VSTART": "syscall", - "syscall.VSTATUS": "syscall", - "syscall.VSTOP": "syscall", - "syscall.VSUSP": "syscall", - "syscall.VSWTC": "syscall", - "syscall.VT0": "syscall", - "syscall.VT1": "syscall", - "syscall.VTDLY": "syscall", - "syscall.VTIME": "syscall", - "syscall.VWERASE": "syscall", - "syscall.VirtualLock": "syscall", - "syscall.VirtualUnlock": "syscall", - "syscall.WAIT_ABANDONED": "syscall", - "syscall.WAIT_FAILED": "syscall", - "syscall.WAIT_OBJECT_0": "syscall", - "syscall.WAIT_TIMEOUT": "syscall", - "syscall.WALL": "syscall", - "syscall.WALLSIG": "syscall", - "syscall.WALTSIG": "syscall", - "syscall.WCLONE": "syscall", - "syscall.WCONTINUED": "syscall", - "syscall.WCOREFLAG": "syscall", - "syscall.WEXITED": "syscall", - "syscall.WLINUXCLONE": "syscall", - "syscall.WNOHANG": "syscall", - "syscall.WNOTHREAD": "syscall", - "syscall.WNOWAIT": "syscall", - "syscall.WNOZOMBIE": "syscall", - "syscall.WOPTSCHECKED": "syscall", - "syscall.WORDSIZE": "syscall", - "syscall.WSABuf": "syscall", - "syscall.WSACleanup": "syscall", - "syscall.WSADESCRIPTION_LEN": "syscall", - "syscall.WSAData": "syscall", - "syscall.WSAEACCES": "syscall", - "syscall.WSAEnumProtocols": "syscall", - "syscall.WSAID_CONNECTEX": "syscall", - "syscall.WSAIoctl": "syscall", - "syscall.WSAPROTOCOL_LEN": "syscall", - "syscall.WSAProtocolChain": "syscall", - "syscall.WSAProtocolInfo": "syscall", - "syscall.WSARecv": "syscall", - "syscall.WSARecvFrom": "syscall", - "syscall.WSASYS_STATUS_LEN": "syscall", - "syscall.WSASend": "syscall", - "syscall.WSASendTo": "syscall", - "syscall.WSASendto": "syscall", - "syscall.WSAStartup": "syscall", - "syscall.WSTOPPED": "syscall", - "syscall.WTRAPPED": "syscall", - "syscall.WUNTRACED": "syscall", - "syscall.Wait4": "syscall", - "syscall.WaitForSingleObject": "syscall", - "syscall.WaitStatus": "syscall", - "syscall.Win32FileAttributeData": "syscall", - "syscall.Win32finddata": "syscall", - "syscall.Write": "syscall", - "syscall.WriteConsole": "syscall", - "syscall.WriteFile": "syscall", - "syscall.X509_ASN_ENCODING": "syscall", - "syscall.XCASE": "syscall", - "syscall.XP1_CONNECTIONLESS": "syscall", - "syscall.XP1_CONNECT_DATA": "syscall", - "syscall.XP1_DISCONNECT_DATA": "syscall", - "syscall.XP1_EXPEDITED_DATA": "syscall", - "syscall.XP1_GRACEFUL_CLOSE": "syscall", - "syscall.XP1_GUARANTEED_DELIVERY": "syscall", - "syscall.XP1_GUARANTEED_ORDER": "syscall", - "syscall.XP1_IFS_HANDLES": "syscall", - "syscall.XP1_MESSAGE_ORIENTED": "syscall", - "syscall.XP1_MULTIPOINT_CONTROL_PLANE": "syscall", - "syscall.XP1_MULTIPOINT_DATA_PLANE": "syscall", - "syscall.XP1_PARTIAL_MESSAGE": "syscall", - "syscall.XP1_PSEUDO_STREAM": "syscall", - "syscall.XP1_QOS_SUPPORTED": "syscall", - "syscall.XP1_SAN_SUPPORT_SDP": "syscall", - "syscall.XP1_SUPPORT_BROADCAST": "syscall", - "syscall.XP1_SUPPORT_MULTIPOINT": "syscall", - "syscall.XP1_UNI_RECV": "syscall", - "syscall.XP1_UNI_SEND": "syscall", - "syslog.Dial": "log/syslog", - "syslog.LOG_ALERT": "log/syslog", - "syslog.LOG_AUTH": "log/syslog", - "syslog.LOG_AUTHPRIV": "log/syslog", - "syslog.LOG_CRIT": "log/syslog", - "syslog.LOG_CRON": "log/syslog", - "syslog.LOG_DAEMON": "log/syslog", - "syslog.LOG_DEBUG": "log/syslog", - "syslog.LOG_EMERG": "log/syslog", - "syslog.LOG_ERR": "log/syslog", - "syslog.LOG_FTP": "log/syslog", - "syslog.LOG_INFO": "log/syslog", - "syslog.LOG_KERN": "log/syslog", - "syslog.LOG_LOCAL0": "log/syslog", - "syslog.LOG_LOCAL1": "log/syslog", - "syslog.LOG_LOCAL2": "log/syslog", - "syslog.LOG_LOCAL3": "log/syslog", - "syslog.LOG_LOCAL4": "log/syslog", - "syslog.LOG_LOCAL5": "log/syslog", - "syslog.LOG_LOCAL6": "log/syslog", - "syslog.LOG_LOCAL7": "log/syslog", - "syslog.LOG_LPR": "log/syslog", - "syslog.LOG_MAIL": "log/syslog", - "syslog.LOG_NEWS": "log/syslog", - "syslog.LOG_NOTICE": "log/syslog", - "syslog.LOG_SYSLOG": "log/syslog", - "syslog.LOG_USER": "log/syslog", - "syslog.LOG_UUCP": "log/syslog", - "syslog.LOG_WARNING": "log/syslog", - "syslog.New": "log/syslog", - "syslog.NewLogger": "log/syslog", - "syslog.Priority": "log/syslog", - "syslog.Writer": "log/syslog", - "tabwriter.AlignRight": "text/tabwriter", - "tabwriter.Debug": "text/tabwriter", - "tabwriter.DiscardEmptyColumns": "text/tabwriter", - "tabwriter.Escape": "text/tabwriter", - "tabwriter.FilterHTML": "text/tabwriter", - "tabwriter.NewWriter": "text/tabwriter", - "tabwriter.StripEscape": "text/tabwriter", - "tabwriter.TabIndent": "text/tabwriter", - "tabwriter.Writer": "text/tabwriter", - "tar.ErrFieldTooLong": "archive/tar", - "tar.ErrHeader": "archive/tar", - "tar.ErrWriteAfterClose": "archive/tar", - "tar.ErrWriteTooLong": "archive/tar", - "tar.FileInfoHeader": "archive/tar", - "tar.Header": "archive/tar", - "tar.NewReader": "archive/tar", - "tar.NewWriter": "archive/tar", - "tar.Reader": "archive/tar", - "tar.TypeBlock": "archive/tar", - "tar.TypeChar": "archive/tar", - "tar.TypeCont": "archive/tar", - "tar.TypeDir": "archive/tar", - "tar.TypeFifo": "archive/tar", - "tar.TypeGNULongLink": "archive/tar", - "tar.TypeGNULongName": "archive/tar", - "tar.TypeLink": "archive/tar", - "tar.TypeReg": "archive/tar", - "tar.TypeRegA": "archive/tar", - "tar.TypeSymlink": "archive/tar", - "tar.TypeXGlobalHeader": "archive/tar", - "tar.TypeXHeader": "archive/tar", - "tar.Writer": "archive/tar", - "template.CSS": "html/template", - "template.ErrAmbigContext": "html/template", - "template.ErrBadHTML": "html/template", - "template.ErrBranchEnd": "html/template", - "template.ErrEndContext": "html/template", - "template.ErrNoSuchTemplate": "html/template", - "template.ErrOutputContext": "html/template", - "template.ErrPartialCharset": "html/template", - "template.ErrPartialEscape": "html/template", - "template.ErrRangeLoopReentry": "html/template", - "template.ErrSlashAmbig": "html/template", - "template.Error": "html/template", - "template.ErrorCode": "html/template", - // "template.FuncMap" is ambiguous - "template.HTML": "html/template", - "template.HTMLAttr": "html/template", - // "template.HTMLEscape" is ambiguous - // "template.HTMLEscapeString" is ambiguous - // "template.HTMLEscaper" is ambiguous - "template.JS": "html/template", - // "template.JSEscape" is ambiguous - // "template.JSEscapeString" is ambiguous - // "template.JSEscaper" is ambiguous - "template.JSStr": "html/template", - // "template.Must" is ambiguous - // "template.New" is ambiguous - "template.OK": "html/template", - // "template.ParseFiles" is ambiguous - // "template.ParseGlob" is ambiguous - // "template.Template" is ambiguous - "template.URL": "html/template", - // "template.URLQueryEscaper" is ambiguous - "testing.AllocsPerRun": "testing", - "testing.B": "testing", - "testing.Benchmark": "testing", - "testing.BenchmarkResult": "testing", - "testing.Cover": "testing", - "testing.CoverBlock": "testing", - "testing.InternalBenchmark": "testing", - "testing.InternalExample": "testing", - "testing.InternalTest": "testing", - "testing.Main": "testing", - "testing.RegisterCover": "testing", - "testing.RunBenchmarks": "testing", - "testing.RunExamples": "testing", - "testing.RunTests": "testing", - "testing.Short": "testing", - "testing.T": "testing", - "testing.Verbose": "testing", - "textproto.CanonicalMIMEHeaderKey": "net/textproto", - "textproto.Conn": "net/textproto", - "textproto.Dial": "net/textproto", - "textproto.Error": "net/textproto", - "textproto.MIMEHeader": "net/textproto", - "textproto.NewConn": "net/textproto", - "textproto.NewReader": "net/textproto", - "textproto.NewWriter": "net/textproto", - "textproto.Pipeline": "net/textproto", - "textproto.ProtocolError": "net/textproto", - "textproto.Reader": "net/textproto", - "textproto.TrimBytes": "net/textproto", - "textproto.TrimString": "net/textproto", - "textproto.Writer": "net/textproto", - "time.ANSIC": "time", - "time.After": "time", - "time.AfterFunc": "time", - "time.April": "time", - "time.August": "time", - "time.Date": "time", - "time.December": "time", - "time.Duration": "time", - "time.February": "time", - "time.FixedZone": "time", - "time.Friday": "time", - "time.Hour": "time", - "time.January": "time", - "time.July": "time", - "time.June": "time", - "time.Kitchen": "time", - "time.LoadLocation": "time", - "time.Local": "time", - "time.Location": "time", - "time.March": "time", - "time.May": "time", - "time.Microsecond": "time", - "time.Millisecond": "time", - "time.Minute": "time", - "time.Monday": "time", - "time.Month": "time", - "time.Nanosecond": "time", - "time.NewTicker": "time", - "time.NewTimer": "time", - "time.November": "time", - "time.Now": "time", - "time.October": "time", - "time.Parse": "time", - "time.ParseDuration": "time", - "time.ParseError": "time", - "time.ParseInLocation": "time", - "time.RFC1123": "time", - "time.RFC1123Z": "time", - "time.RFC3339": "time", - "time.RFC3339Nano": "time", - "time.RFC822": "time", - "time.RFC822Z": "time", - "time.RFC850": "time", - "time.RubyDate": "time", - "time.Saturday": "time", - "time.Second": "time", - "time.September": "time", - "time.Since": "time", - "time.Sleep": "time", - "time.Stamp": "time", - "time.StampMicro": "time", - "time.StampMilli": "time", - "time.StampNano": "time", - "time.Sunday": "time", - "time.Thursday": "time", - "time.Tick": "time", - "time.Ticker": "time", - "time.Time": "time", - "time.Timer": "time", - "time.Tuesday": "time", - "time.UTC": "time", - "time.Unix": "time", - "time.UnixDate": "time", - "time.Wednesday": "time", - "time.Weekday": "time", - "tls.Certificate": "crypto/tls", - "tls.Client": "crypto/tls", - "tls.ClientAuthType": "crypto/tls", - "tls.Config": "crypto/tls", - "tls.Conn": "crypto/tls", - "tls.ConnectionState": "crypto/tls", - "tls.Dial": "crypto/tls", - "tls.Listen": "crypto/tls", - "tls.LoadX509KeyPair": "crypto/tls", - "tls.NewListener": "crypto/tls", - "tls.NoClientCert": "crypto/tls", - "tls.RequestClientCert": "crypto/tls", - "tls.RequireAndVerifyClientCert": "crypto/tls", - "tls.RequireAnyClientCert": "crypto/tls", - "tls.Server": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_AES_128_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_AES_256_CBC_SHA": "crypto/tls", - "tls.TLS_RSA_WITH_RC4_128_SHA": "crypto/tls", - "tls.VerifyClientCertIfGiven": "crypto/tls", - "tls.VersionSSL30": "crypto/tls", - "tls.VersionTLS10": "crypto/tls", - "tls.VersionTLS11": "crypto/tls", - "tls.VersionTLS12": "crypto/tls", - "tls.X509KeyPair": "crypto/tls", - "token.ADD": "go/token", - "token.ADD_ASSIGN": "go/token", - "token.AND": "go/token", - "token.AND_ASSIGN": "go/token", - "token.AND_NOT": "go/token", - "token.AND_NOT_ASSIGN": "go/token", - "token.ARROW": "go/token", - "token.ASSIGN": "go/token", - "token.BREAK": "go/token", - "token.CASE": "go/token", - "token.CHAN": "go/token", - "token.CHAR": "go/token", - "token.COLON": "go/token", - "token.COMMA": "go/token", - "token.COMMENT": "go/token", - "token.CONST": "go/token", - "token.CONTINUE": "go/token", - "token.DEC": "go/token", - "token.DEFAULT": "go/token", - "token.DEFER": "go/token", - "token.DEFINE": "go/token", - "token.ELLIPSIS": "go/token", - "token.ELSE": "go/token", - "token.EOF": "go/token", - "token.EQL": "go/token", - "token.FALLTHROUGH": "go/token", - "token.FLOAT": "go/token", - "token.FOR": "go/token", - "token.FUNC": "go/token", - "token.File": "go/token", - "token.FileSet": "go/token", - "token.GEQ": "go/token", - "token.GO": "go/token", - "token.GOTO": "go/token", - "token.GTR": "go/token", - "token.HighestPrec": "go/token", - "token.IDENT": "go/token", - "token.IF": "go/token", - "token.ILLEGAL": "go/token", - "token.IMAG": "go/token", - "token.IMPORT": "go/token", - "token.INC": "go/token", - "token.INT": "go/token", - "token.INTERFACE": "go/token", - "token.LAND": "go/token", - "token.LBRACE": "go/token", - "token.LBRACK": "go/token", - "token.LEQ": "go/token", - "token.LOR": "go/token", - "token.LPAREN": "go/token", - "token.LSS": "go/token", - "token.Lookup": "go/token", - "token.LowestPrec": "go/token", - "token.MAP": "go/token", - "token.MUL": "go/token", - "token.MUL_ASSIGN": "go/token", - "token.NEQ": "go/token", - "token.NOT": "go/token", - "token.NewFileSet": "go/token", - "token.NoPos": "go/token", - "token.OR": "go/token", - "token.OR_ASSIGN": "go/token", - "token.PACKAGE": "go/token", - "token.PERIOD": "go/token", - "token.Pos": "go/token", - "token.Position": "go/token", - "token.QUO": "go/token", - "token.QUO_ASSIGN": "go/token", - "token.RANGE": "go/token", - "token.RBRACE": "go/token", - "token.RBRACK": "go/token", - "token.REM": "go/token", - "token.REM_ASSIGN": "go/token", - "token.RETURN": "go/token", - "token.RPAREN": "go/token", - "token.SELECT": "go/token", - "token.SEMICOLON": "go/token", - "token.SHL": "go/token", - "token.SHL_ASSIGN": "go/token", - "token.SHR": "go/token", - "token.SHR_ASSIGN": "go/token", - "token.STRING": "go/token", - "token.STRUCT": "go/token", - "token.SUB": "go/token", - "token.SUB_ASSIGN": "go/token", - "token.SWITCH": "go/token", - "token.TYPE": "go/token", - "token.Token": "go/token", - "token.UnaryPrec": "go/token", - "token.VAR": "go/token", - "token.XOR": "go/token", - "token.XOR_ASSIGN": "go/token", - "unicode.ASCII_Hex_Digit": "unicode", - "unicode.Arabic": "unicode", - "unicode.Armenian": "unicode", - "unicode.Avestan": "unicode", - "unicode.AzeriCase": "unicode", - "unicode.Balinese": "unicode", - "unicode.Bamum": "unicode", - "unicode.Batak": "unicode", - "unicode.Bengali": "unicode", - "unicode.Bidi_Control": "unicode", - "unicode.Bopomofo": "unicode", - "unicode.Brahmi": "unicode", - "unicode.Braille": "unicode", - "unicode.Buginese": "unicode", - "unicode.Buhid": "unicode", - "unicode.C": "unicode", - "unicode.Canadian_Aboriginal": "unicode", - "unicode.Carian": "unicode", - "unicode.CaseRange": "unicode", - "unicode.CaseRanges": "unicode", - "unicode.Categories": "unicode", - "unicode.Cc": "unicode", - "unicode.Cf": "unicode", - "unicode.Chakma": "unicode", - "unicode.Cham": "unicode", - "unicode.Cherokee": "unicode", - "unicode.Co": "unicode", - "unicode.Common": "unicode", - "unicode.Coptic": "unicode", - "unicode.Cs": "unicode", - "unicode.Cuneiform": "unicode", - "unicode.Cypriot": "unicode", - "unicode.Cyrillic": "unicode", - "unicode.Dash": "unicode", - "unicode.Deprecated": "unicode", - "unicode.Deseret": "unicode", - "unicode.Devanagari": "unicode", - "unicode.Diacritic": "unicode", - "unicode.Digit": "unicode", - "unicode.Egyptian_Hieroglyphs": "unicode", - "unicode.Ethiopic": "unicode", - "unicode.Extender": "unicode", - "unicode.FoldCategory": "unicode", - "unicode.FoldScript": "unicode", - "unicode.Georgian": "unicode", - "unicode.Glagolitic": "unicode", - "unicode.Gothic": "unicode", - "unicode.GraphicRanges": "unicode", - "unicode.Greek": "unicode", - "unicode.Gujarati": "unicode", - "unicode.Gurmukhi": "unicode", - "unicode.Han": "unicode", - "unicode.Hangul": "unicode", - "unicode.Hanunoo": "unicode", - "unicode.Hebrew": "unicode", - "unicode.Hex_Digit": "unicode", - "unicode.Hiragana": "unicode", - "unicode.Hyphen": "unicode", - "unicode.IDS_Binary_Operator": "unicode", - "unicode.IDS_Trinary_Operator": "unicode", - "unicode.Ideographic": "unicode", - "unicode.Imperial_Aramaic": "unicode", - "unicode.In": "unicode", - "unicode.Inherited": "unicode", - "unicode.Inscriptional_Pahlavi": "unicode", - "unicode.Inscriptional_Parthian": "unicode", - "unicode.Is": "unicode", - "unicode.IsControl": "unicode", - "unicode.IsDigit": "unicode", - "unicode.IsGraphic": "unicode", - "unicode.IsLetter": "unicode", - "unicode.IsLower": "unicode", - "unicode.IsMark": "unicode", - "unicode.IsNumber": "unicode", - "unicode.IsOneOf": "unicode", - "unicode.IsPrint": "unicode", - "unicode.IsPunct": "unicode", - "unicode.IsSpace": "unicode", - "unicode.IsSymbol": "unicode", - "unicode.IsTitle": "unicode", - "unicode.IsUpper": "unicode", - "unicode.Javanese": "unicode", - "unicode.Join_Control": "unicode", - "unicode.Kaithi": "unicode", - "unicode.Kannada": "unicode", - "unicode.Katakana": "unicode", - "unicode.Kayah_Li": "unicode", - "unicode.Kharoshthi": "unicode", - "unicode.Khmer": "unicode", - "unicode.L": "unicode", - "unicode.Lao": "unicode", - "unicode.Latin": "unicode", - "unicode.Lepcha": "unicode", - "unicode.Letter": "unicode", - "unicode.Limbu": "unicode", - "unicode.Linear_B": "unicode", - "unicode.Lisu": "unicode", - "unicode.Ll": "unicode", - "unicode.Lm": "unicode", - "unicode.Lo": "unicode", - "unicode.Logical_Order_Exception": "unicode", - "unicode.Lower": "unicode", - "unicode.LowerCase": "unicode", - "unicode.Lt": "unicode", - "unicode.Lu": "unicode", - "unicode.Lycian": "unicode", - "unicode.Lydian": "unicode", - "unicode.M": "unicode", - "unicode.Malayalam": "unicode", - "unicode.Mandaic": "unicode", - "unicode.Mark": "unicode", - "unicode.MaxASCII": "unicode", - "unicode.MaxCase": "unicode", - "unicode.MaxLatin1": "unicode", - "unicode.MaxRune": "unicode", - "unicode.Mc": "unicode", - "unicode.Me": "unicode", - "unicode.Meetei_Mayek": "unicode", - "unicode.Meroitic_Cursive": "unicode", - "unicode.Meroitic_Hieroglyphs": "unicode", - "unicode.Miao": "unicode", - "unicode.Mn": "unicode", - "unicode.Mongolian": "unicode", - "unicode.Myanmar": "unicode", - "unicode.N": "unicode", - "unicode.Nd": "unicode", - "unicode.New_Tai_Lue": "unicode", - "unicode.Nko": "unicode", - "unicode.Nl": "unicode", - "unicode.No": "unicode", - "unicode.Noncharacter_Code_Point": "unicode", - "unicode.Number": "unicode", - "unicode.Ogham": "unicode", - "unicode.Ol_Chiki": "unicode", - "unicode.Old_Italic": "unicode", - "unicode.Old_Persian": "unicode", - "unicode.Old_South_Arabian": "unicode", - "unicode.Old_Turkic": "unicode", - "unicode.Oriya": "unicode", - "unicode.Osmanya": "unicode", - "unicode.Other": "unicode", - "unicode.Other_Alphabetic": "unicode", - "unicode.Other_Default_Ignorable_Code_Point": "unicode", - "unicode.Other_Grapheme_Extend": "unicode", - "unicode.Other_ID_Continue": "unicode", - "unicode.Other_ID_Start": "unicode", - "unicode.Other_Lowercase": "unicode", - "unicode.Other_Math": "unicode", - "unicode.Other_Uppercase": "unicode", - "unicode.P": "unicode", - "unicode.Pattern_Syntax": "unicode", - "unicode.Pattern_White_Space": "unicode", - "unicode.Pc": "unicode", - "unicode.Pd": "unicode", - "unicode.Pe": "unicode", - "unicode.Pf": "unicode", - "unicode.Phags_Pa": "unicode", - "unicode.Phoenician": "unicode", - "unicode.Pi": "unicode", - "unicode.Po": "unicode", - "unicode.PrintRanges": "unicode", - "unicode.Properties": "unicode", - "unicode.Ps": "unicode", - "unicode.Punct": "unicode", - "unicode.Quotation_Mark": "unicode", - "unicode.Radical": "unicode", - "unicode.Range16": "unicode", - "unicode.Range32": "unicode", - "unicode.RangeTable": "unicode", - "unicode.Rejang": "unicode", - "unicode.ReplacementChar": "unicode", - "unicode.Runic": "unicode", - "unicode.S": "unicode", - "unicode.STerm": "unicode", - "unicode.Samaritan": "unicode", - "unicode.Saurashtra": "unicode", - "unicode.Sc": "unicode", - "unicode.Scripts": "unicode", - "unicode.Sharada": "unicode", - "unicode.Shavian": "unicode", - "unicode.SimpleFold": "unicode", - "unicode.Sinhala": "unicode", - "unicode.Sk": "unicode", - "unicode.Sm": "unicode", - "unicode.So": "unicode", - "unicode.Soft_Dotted": "unicode", - "unicode.Sora_Sompeng": "unicode", - "unicode.Space": "unicode", - "unicode.SpecialCase": "unicode", - "unicode.Sundanese": "unicode", - "unicode.Syloti_Nagri": "unicode", - "unicode.Symbol": "unicode", - "unicode.Syriac": "unicode", - "unicode.Tagalog": "unicode", - "unicode.Tagbanwa": "unicode", - "unicode.Tai_Le": "unicode", - "unicode.Tai_Tham": "unicode", - "unicode.Tai_Viet": "unicode", - "unicode.Takri": "unicode", - "unicode.Tamil": "unicode", - "unicode.Telugu": "unicode", - "unicode.Terminal_Punctuation": "unicode", - "unicode.Thaana": "unicode", - "unicode.Thai": "unicode", - "unicode.Tibetan": "unicode", - "unicode.Tifinagh": "unicode", - "unicode.Title": "unicode", - "unicode.TitleCase": "unicode", - "unicode.To": "unicode", - "unicode.ToLower": "unicode", - "unicode.ToTitle": "unicode", - "unicode.ToUpper": "unicode", - "unicode.TurkishCase": "unicode", - "unicode.Ugaritic": "unicode", - "unicode.Unified_Ideograph": "unicode", - "unicode.Upper": "unicode", - "unicode.UpperCase": "unicode", - "unicode.UpperLower": "unicode", - "unicode.Vai": "unicode", - "unicode.Variation_Selector": "unicode", - "unicode.Version": "unicode", - "unicode.White_Space": "unicode", - "unicode.Yi": "unicode", - "unicode.Z": "unicode", - "unicode.Zl": "unicode", - "unicode.Zp": "unicode", - "unicode.Zs": "unicode", - "url.Error": "net/url", - "url.EscapeError": "net/url", - "url.Parse": "net/url", - "url.ParseQuery": "net/url", - "url.ParseRequestURI": "net/url", - "url.QueryEscape": "net/url", - "url.QueryUnescape": "net/url", - "url.URL": "net/url", - "url.User": "net/url", - "url.UserPassword": "net/url", - "url.Userinfo": "net/url", - "url.Values": "net/url", - "user.Current": "os/user", - "user.Lookup": "os/user", - "user.LookupId": "os/user", - "user.UnknownUserError": "os/user", - "user.UnknownUserIdError": "os/user", - "user.User": "os/user", - "utf16.Decode": "unicode/utf16", - "utf16.DecodeRune": "unicode/utf16", - "utf16.Encode": "unicode/utf16", - "utf16.EncodeRune": "unicode/utf16", - "utf16.IsSurrogate": "unicode/utf16", - "utf8.DecodeLastRune": "unicode/utf8", - "utf8.DecodeLastRuneInString": "unicode/utf8", - "utf8.DecodeRune": "unicode/utf8", - "utf8.DecodeRuneInString": "unicode/utf8", - "utf8.EncodeRune": "unicode/utf8", - "utf8.FullRune": "unicode/utf8", - "utf8.FullRuneInString": "unicode/utf8", - "utf8.MaxRune": "unicode/utf8", - "utf8.RuneCount": "unicode/utf8", - "utf8.RuneCountInString": "unicode/utf8", - "utf8.RuneError": "unicode/utf8", - "utf8.RuneLen": "unicode/utf8", - "utf8.RuneSelf": "unicode/utf8", - "utf8.RuneStart": "unicode/utf8", - "utf8.UTFMax": "unicode/utf8", - "utf8.Valid": "unicode/utf8", - "utf8.ValidRune": "unicode/utf8", - "utf8.ValidString": "unicode/utf8", - "x509.CANotAuthorizedForThisName": "crypto/x509", - "x509.CertPool": "crypto/x509", - "x509.Certificate": "crypto/x509", - "x509.CertificateInvalidError": "crypto/x509", - "x509.ConstraintViolationError": "crypto/x509", - "x509.CreateCertificate": "crypto/x509", - "x509.DSA": "crypto/x509", - "x509.DSAWithSHA1": "crypto/x509", - "x509.DSAWithSHA256": "crypto/x509", - "x509.DecryptPEMBlock": "crypto/x509", - "x509.ECDSA": "crypto/x509", - "x509.ECDSAWithSHA1": "crypto/x509", - "x509.ECDSAWithSHA256": "crypto/x509", - "x509.ECDSAWithSHA384": "crypto/x509", - "x509.ECDSAWithSHA512": "crypto/x509", - "x509.EncryptPEMBlock": "crypto/x509", - "x509.ErrUnsupportedAlgorithm": "crypto/x509", - "x509.Expired": "crypto/x509", - "x509.ExtKeyUsage": "crypto/x509", - "x509.ExtKeyUsageAny": "crypto/x509", - "x509.ExtKeyUsageClientAuth": "crypto/x509", - "x509.ExtKeyUsageCodeSigning": "crypto/x509", - "x509.ExtKeyUsageEmailProtection": "crypto/x509", - "x509.ExtKeyUsageIPSECEndSystem": "crypto/x509", - "x509.ExtKeyUsageIPSECTunnel": "crypto/x509", - "x509.ExtKeyUsageIPSECUser": "crypto/x509", - "x509.ExtKeyUsageMicrosoftServerGatedCrypto": "crypto/x509", - "x509.ExtKeyUsageNetscapeServerGatedCrypto": "crypto/x509", - "x509.ExtKeyUsageOCSPSigning": "crypto/x509", - "x509.ExtKeyUsageServerAuth": "crypto/x509", - "x509.ExtKeyUsageTimeStamping": "crypto/x509", - "x509.HostnameError": "crypto/x509", - "x509.IncompatibleUsage": "crypto/x509", - "x509.IncorrectPasswordError": "crypto/x509", - "x509.InvalidReason": "crypto/x509", - "x509.IsEncryptedPEMBlock": "crypto/x509", - "x509.KeyUsage": "crypto/x509", - "x509.KeyUsageCRLSign": "crypto/x509", - "x509.KeyUsageCertSign": "crypto/x509", - "x509.KeyUsageContentCommitment": "crypto/x509", - "x509.KeyUsageDataEncipherment": "crypto/x509", - "x509.KeyUsageDecipherOnly": "crypto/x509", - "x509.KeyUsageDigitalSignature": "crypto/x509", - "x509.KeyUsageEncipherOnly": "crypto/x509", - "x509.KeyUsageKeyAgreement": "crypto/x509", - "x509.KeyUsageKeyEncipherment": "crypto/x509", - "x509.MD2WithRSA": "crypto/x509", - "x509.MD5WithRSA": "crypto/x509", - "x509.MarshalECPrivateKey": "crypto/x509", - "x509.MarshalPKCS1PrivateKey": "crypto/x509", - "x509.MarshalPKIXPublicKey": "crypto/x509", - "x509.NewCertPool": "crypto/x509", - "x509.NotAuthorizedToSign": "crypto/x509", - "x509.PEMCipher": "crypto/x509", - "x509.PEMCipher3DES": "crypto/x509", - "x509.PEMCipherAES128": "crypto/x509", - "x509.PEMCipherAES192": "crypto/x509", - "x509.PEMCipherAES256": "crypto/x509", - "x509.PEMCipherDES": "crypto/x509", - "x509.ParseCRL": "crypto/x509", - "x509.ParseCertificate": "crypto/x509", - "x509.ParseCertificates": "crypto/x509", - "x509.ParseDERCRL": "crypto/x509", - "x509.ParseECPrivateKey": "crypto/x509", - "x509.ParsePKCS1PrivateKey": "crypto/x509", - "x509.ParsePKCS8PrivateKey": "crypto/x509", - "x509.ParsePKIXPublicKey": "crypto/x509", - "x509.PublicKeyAlgorithm": "crypto/x509", - "x509.RSA": "crypto/x509", - "x509.SHA1WithRSA": "crypto/x509", - "x509.SHA256WithRSA": "crypto/x509", - "x509.SHA384WithRSA": "crypto/x509", - "x509.SHA512WithRSA": "crypto/x509", - "x509.SignatureAlgorithm": "crypto/x509", - "x509.SystemRootsError": "crypto/x509", - "x509.TooManyIntermediates": "crypto/x509", - "x509.UnhandledCriticalExtension": "crypto/x509", - "x509.UnknownAuthorityError": "crypto/x509", - "x509.UnknownPublicKeyAlgorithm": "crypto/x509", - "x509.UnknownSignatureAlgorithm": "crypto/x509", - "x509.VerifyOptions": "crypto/x509", - "xml.Attr": "encoding/xml", - "xml.CharData": "encoding/xml", - "xml.Comment": "encoding/xml", - "xml.CopyToken": "encoding/xml", - "xml.Decoder": "encoding/xml", - "xml.Directive": "encoding/xml", - "xml.Encoder": "encoding/xml", - "xml.EndElement": "encoding/xml", - "xml.Escape": "encoding/xml", - "xml.EscapeText": "encoding/xml", - "xml.HTMLAutoClose": "encoding/xml", - "xml.HTMLEntity": "encoding/xml", - "xml.Header": "encoding/xml", - "xml.Marshal": "encoding/xml", - "xml.MarshalIndent": "encoding/xml", - "xml.Marshaler": "encoding/xml", - "xml.MarshalerAttr": "encoding/xml", - "xml.Name": "encoding/xml", - "xml.NewDecoder": "encoding/xml", - "xml.NewEncoder": "encoding/xml", - "xml.ProcInst": "encoding/xml", - "xml.StartElement": "encoding/xml", - "xml.SyntaxError": "encoding/xml", - "xml.TagPathError": "encoding/xml", - "xml.Token": "encoding/xml", - "xml.Unmarshal": "encoding/xml", - "xml.UnmarshalError": "encoding/xml", - "xml.Unmarshaler": "encoding/xml", - "xml.UnmarshalerAttr": "encoding/xml", - "xml.UnsupportedTypeError": "encoding/xml", - "zip.Compressor": "archive/zip", - "zip.Decompressor": "archive/zip", - "zip.Deflate": "archive/zip", - "zip.ErrAlgorithm": "archive/zip", - "zip.ErrChecksum": "archive/zip", - "zip.ErrFormat": "archive/zip", - "zip.File": "archive/zip", - "zip.FileHeader": "archive/zip", - "zip.FileInfoHeader": "archive/zip", - "zip.NewReader": "archive/zip", - "zip.NewWriter": "archive/zip", - "zip.OpenReader": "archive/zip", - "zip.ReadCloser": "archive/zip", - "zip.Reader": "archive/zip", - "zip.RegisterCompressor": "archive/zip", - "zip.RegisterDecompressor": "archive/zip", - "zip.Store": "archive/zip", - "zip.Writer": "archive/zip", - "zlib.BestCompression": "compress/zlib", - "zlib.BestSpeed": "compress/zlib", - "zlib.DefaultCompression": "compress/zlib", - "zlib.ErrChecksum": "compress/zlib", - "zlib.ErrDictionary": "compress/zlib", - "zlib.ErrHeader": "compress/zlib", - "zlib.NewReader": "compress/zlib", - "zlib.NewReaderDict": "compress/zlib", - "zlib.NewWriter": "compress/zlib", - "zlib.NewWriterLevel": "compress/zlib", - "zlib.NewWriterLevelDict": "compress/zlib", - "zlib.NoCompression": "compress/zlib", - "zlib.Writer": "compress/zlib", -} diff --git a/vendor/golang.org/x/tools/oracle/TODO b/vendor/golang.org/x/tools/oracle/TODO deleted file mode 100644 index 8fbf5e8..0000000 --- a/vendor/golang.org/x/tools/oracle/TODO +++ /dev/null @@ -1,83 +0,0 @@ - - -ORACLE TODO -=========== - -General -======= - -Save unsaved editor buffers into an archive and provide that to the -tools, which should act as if they were saved. - -Include complete pos/end information Serial output. - But beware that sometimes a single token (e.g. +) is more helpful - than the pos/end of the containing expression (e.g. x \n + \n y). - -Specific queries -================ - -callers, callees - - Use a type-based (e.g. RTA) callgraph when a callers/callees query is - outside the analysis scope. - -implements - - Make it require that the selection is a type, and show only the - implements relation as it applies to that type. - -definition, referrers - - definition: Make it work with qualified identifiers (SelectorExpr) too. - - references: Make it work on things that are implicit idents, like - import specs, perhaps? - -what - - Report def/ref info if available. - Editors could use it to highlight all idents of the same local var. - - More tests. - -pointsto - - When invoked on a function Ident, we get an error. - - When invoked on a named return parameter, we get an error. - -describe - - When invoked on a var, we want to see the type and its methods. - - Split "show type" and "describe syntax" into separate commands? - -peers - - Permit querying from a makechan, for...range, or reflective op. - - Report aliasing reflect.{Send,Recv,Close} and close() operations. - -New queries - -"updaters": show all statements that may update the selected lvalue - (local, global, field, etc). - -"creators": show all places where an object of type T is created - (&T{}, var t T, new(T), new(struct{array [3]T}), etc. - (Useful for datatypes whose zero value is not safe) - - -Editor-specific -=============== - -Add support for "what" to .el; clean up. - -Emacs: use JSON to get the raw information from the oracle. Don't - open an editor buffer for simpler queries, just jump to the result - and/or display it in the modeline. - -Emacs: go-root-and-paths depends on the current buffer, so be sure to - call it from within the source file, not the *go-oracle* buffer: - the user may have switched workspaces and the oracle should run in - the new one. diff --git a/vendor/golang.org/x/tools/oracle/callees.go b/vendor/golang.org/x/tools/oracle/callees.go deleted file mode 100644 index 56e45e1..0000000 --- a/vendor/golang.org/x/tools/oracle/callees.go +++ /dev/null @@ -1,253 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - "sort" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/pointer" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -// Callees reports the possible callees of the function call site -// identified by the specified source location. -func callees(q *Query) error { - lconf := loader.Config{Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, true) // needs exact pos - if err != nil { - return err - } - - // Determine the enclosing call for the specified position. - var e *ast.CallExpr - for _, n := range qpos.path { - if e, _ = n.(*ast.CallExpr); e != nil { - break - } - } - if e == nil { - return fmt.Errorf("there is no function call here") - } - // TODO(adonovan): issue an error if the call is "too far - // away" from the current selection, as this most likely is - // not what the user intended. - - // Reject type conversions. - if qpos.info.Types[e.Fun].IsType() { - return fmt.Errorf("this is a type conversion, not a function call") - } - - // Deal with obviously static calls before constructing SSA form. - // Some static calls may yet require SSA construction, - // e.g. f := func(){}; f(). - switch funexpr := unparen(e.Fun).(type) { - case *ast.Ident: - switch obj := qpos.info.Uses[funexpr].(type) { - case *types.Builtin: - // Reject calls to built-ins. - return fmt.Errorf("this is a call to the built-in '%s' operator", obj.Name()) - case *types.Func: - // This is a static function call - q.result = &calleesTypesResult{ - site: e, - callee: obj, - } - return nil - } - case *ast.SelectorExpr: - sel := qpos.info.Selections[funexpr] - if sel == nil { - // qualified identifier. - // May refer to top level function variable - // or to top level function. - callee := qpos.info.Uses[funexpr.Sel] - if obj, ok := callee.(*types.Func); ok { - q.result = &calleesTypesResult{ - site: e, - callee: obj, - } - return nil - } - } else if sel.Kind() == types.MethodVal { - recvtype := sel.Recv() - if !types.IsInterface(recvtype) { - // static method call - q.result = &calleesTypesResult{ - site: e, - callee: sel.Obj().(*types.Func), - } - return nil - } - } - } - - prog := ssautil.CreateProgram(lprog, ssa.GlobalDebug) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - pkg := prog.Package(qpos.info.Pkg) - if pkg == nil { - return fmt.Errorf("no SSA package") - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - // Ascertain calling function and call site. - callerFn := ssa.EnclosingFunction(pkg, qpos.path) - if callerFn == nil { - return fmt.Errorf("no SSA function built for this location (dead code?)") - } - - // Find the call site. - site, err := findCallSite(callerFn, e) - if err != nil { - return err - } - - funcs, err := findCallees(ptaConfig, site) - if err != nil { - return err - } - - q.result = &calleesSSAResult{ - site: site, - funcs: funcs, - } - return nil -} - -func findCallSite(fn *ssa.Function, call *ast.CallExpr) (ssa.CallInstruction, error) { - instr, _ := fn.ValueForExpr(call) - callInstr, _ := instr.(ssa.CallInstruction) - if instr == nil { - return nil, fmt.Errorf("this call site is unreachable in this analysis") - } - return callInstr, nil -} - -func findCallees(conf *pointer.Config, site ssa.CallInstruction) ([]*ssa.Function, error) { - // Avoid running the pointer analysis for static calls. - if callee := site.Common().StaticCallee(); callee != nil { - switch callee.String() { - case "runtime.SetFinalizer", "(reflect.Value).Call": - // The PTA treats calls to these intrinsics as dynamic. - // TODO(adonovan): avoid reliance on PTA internals. - - default: - return []*ssa.Function{callee}, nil // singleton - } - } - - // Dynamic call: use pointer analysis. - conf.BuildCallGraph = true - cg := ptrAnalysis(conf).CallGraph - cg.DeleteSyntheticNodes() - - // Find all call edges from the site. - n := cg.Nodes[site.Parent()] - if n == nil { - return nil, fmt.Errorf("this call site is unreachable in this analysis") - } - calleesMap := make(map[*ssa.Function]bool) - for _, edge := range n.Out { - if edge.Site == site { - calleesMap[edge.Callee.Func] = true - } - } - - // De-duplicate and sort. - funcs := make([]*ssa.Function, 0, len(calleesMap)) - for f := range calleesMap { - funcs = append(funcs, f) - } - sort.Sort(byFuncPos(funcs)) - return funcs, nil -} - -type calleesSSAResult struct { - site ssa.CallInstruction - funcs []*ssa.Function -} - -type calleesTypesResult struct { - site *ast.CallExpr - callee *types.Func -} - -func (r *calleesSSAResult) display(printf printfFunc) { - if len(r.funcs) == 0 { - // dynamic call on a provably nil func/interface - printf(r.site, "%s on nil value", r.site.Common().Description()) - } else { - printf(r.site, "this %s dispatches to:", r.site.Common().Description()) - for _, callee := range r.funcs { - printf(callee, "\t%s", callee) - } - } -} - -func (r *calleesSSAResult) toSerial(res *serial.Result, fset *token.FileSet) { - j := &serial.Callees{ - Pos: fset.Position(r.site.Pos()).String(), - Desc: r.site.Common().Description(), - } - for _, callee := range r.funcs { - j.Callees = append(j.Callees, &serial.CalleesItem{ - Name: callee.String(), - Pos: fset.Position(callee.Pos()).String(), - }) - } - res.Callees = j -} - -func (r *calleesTypesResult) display(printf printfFunc) { - printf(r.site, "this static function call dispatches to:") - printf(r.callee, "\t%s", r.callee.FullName()) -} - -func (r *calleesTypesResult) toSerial(res *serial.Result, fset *token.FileSet) { - j := &serial.Callees{ - Pos: fset.Position(r.site.Pos()).String(), - Desc: "static function call", - } - j.Callees = []*serial.CalleesItem{ - &serial.CalleesItem{ - Name: r.callee.FullName(), - Pos: fset.Position(r.callee.Pos()).String(), - }, - } - res.Callees = j -} - -// NB: byFuncPos is not deterministic across packages since it depends on load order. -// Use lessPos if the tests need it. -type byFuncPos []*ssa.Function - -func (a byFuncPos) Len() int { return len(a) } -func (a byFuncPos) Less(i, j int) bool { return a[i].Pos() < a[j].Pos() } -func (a byFuncPos) Swap(i, j int) { a[i], a[j] = a[j], a[i] } diff --git a/vendor/golang.org/x/tools/oracle/callers.go b/vendor/golang.org/x/tools/oracle/callers.go deleted file mode 100644 index 159a403..0000000 --- a/vendor/golang.org/x/tools/oracle/callers.go +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/token" - - "golang.org/x/tools/go/callgraph" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/oracle/serial" -) - -// Callers reports the possible callers of the function -// immediately enclosing the specified source location. -// -func callers(q *Query) error { - lconf := loader.Config{Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - prog := ssautil.CreateProgram(lprog, 0) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - pkg := prog.Package(qpos.info.Pkg) - if pkg == nil { - return fmt.Errorf("no SSA package") - } - if !ssa.HasEnclosingFunction(pkg, qpos.path) { - return fmt.Errorf("this position is not inside a function") - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - target := ssa.EnclosingFunction(pkg, qpos.path) - if target == nil { - return fmt.Errorf("no SSA function built for this location (dead code?)") - } - - // TODO(adonovan): opt: if function is never address-taken, skip - // the pointer analysis. Just look for direct calls. This can - // be done in a single pass over the SSA. - - // Run the pointer analysis, recording each - // call found to originate from target. - ptaConfig.BuildCallGraph = true - cg := ptrAnalysis(ptaConfig).CallGraph - cg.DeleteSyntheticNodes() - edges := cg.CreateNode(target).In - // TODO(adonovan): sort + dedup calls to ensure test determinism. - - q.result = &callersResult{ - target: target, - callgraph: cg, - edges: edges, - } - return nil -} - -type callersResult struct { - target *ssa.Function - callgraph *callgraph.Graph - edges []*callgraph.Edge -} - -func (r *callersResult) display(printf printfFunc) { - root := r.callgraph.Root - if r.edges == nil { - printf(r.target, "%s is not reachable in this program.", r.target) - } else { - printf(r.target, "%s is called from these %d sites:", r.target, len(r.edges)) - for _, edge := range r.edges { - if edge.Caller == root { - printf(r.target, "the root of the call graph") - } else { - printf(edge, "\t%s from %s", edge.Description(), edge.Caller.Func) - } - } - } -} - -func (r *callersResult) toSerial(res *serial.Result, fset *token.FileSet) { - var callers []serial.Caller - for _, edge := range r.edges { - callers = append(callers, serial.Caller{ - Caller: edge.Caller.Func.String(), - Pos: fset.Position(edge.Pos()).String(), - Desc: edge.Description(), - }) - } - res.Callers = callers -} diff --git a/vendor/golang.org/x/tools/oracle/callstack.go b/vendor/golang.org/x/tools/oracle/callstack.go deleted file mode 100644 index 6f04b60..0000000 --- a/vendor/golang.org/x/tools/oracle/callstack.go +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/token" - - "golang.org/x/tools/go/callgraph" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/oracle/serial" -) - -// Callstack displays an arbitrary path from a root of the callgraph -// to the function at the current position. -// -// The information may be misleading in a context-insensitive -// analysis. e.g. the call path X->Y->Z might be infeasible if Y never -// calls Z when it is called from X. TODO(adonovan): think about UI. -// -// TODO(adonovan): permit user to specify a starting point other than -// the analysis root. -// -func callstack(q *Query) error { - fset := token.NewFileSet() - lconf := loader.Config{Fset: fset, Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - prog := ssautil.CreateProgram(lprog, 0) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - pkg := prog.Package(qpos.info.Pkg) - if pkg == nil { - return fmt.Errorf("no SSA package") - } - - if !ssa.HasEnclosingFunction(pkg, qpos.path) { - return fmt.Errorf("this position is not inside a function") - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - target := ssa.EnclosingFunction(pkg, qpos.path) - if target == nil { - return fmt.Errorf("no SSA function built for this location (dead code?)") - } - - // Run the pointer analysis and build the complete call graph. - ptaConfig.BuildCallGraph = true - cg := ptrAnalysis(ptaConfig).CallGraph - cg.DeleteSyntheticNodes() - - // Search for an arbitrary path from a root to the target function. - isEnd := func(n *callgraph.Node) bool { return n.Func == target } - callpath := callgraph.PathSearch(cg.Root, isEnd) - if callpath != nil { - callpath = callpath[1:] // remove synthetic edge from - } - - q.Fset = fset - q.result = &callstackResult{ - qpos: qpos, - target: target, - callpath: callpath, - } - return nil -} - -type callstackResult struct { - qpos *queryPos - target *ssa.Function - callpath []*callgraph.Edge -} - -func (r *callstackResult) display(printf printfFunc) { - if r.callpath != nil { - printf(r.qpos, "Found a call path from root to %s", r.target) - printf(r.target, "%s", r.target) - for i := len(r.callpath) - 1; i >= 0; i-- { - edge := r.callpath[i] - printf(edge, "%s from %s", edge.Description(), edge.Caller.Func) - } - } else { - printf(r.target, "%s is unreachable in this analysis scope", r.target) - } -} - -func (r *callstackResult) toSerial(res *serial.Result, fset *token.FileSet) { - var callers []serial.Caller - for i := len(r.callpath) - 1; i >= 0; i-- { // (innermost first) - edge := r.callpath[i] - callers = append(callers, serial.Caller{ - Pos: fset.Position(edge.Pos()).String(), - Caller: edge.Caller.Func.String(), - Desc: edge.Description(), - }) - } - res.Callstack = &serial.CallStack{ - Pos: fset.Position(r.target.Pos()).String(), - Target: r.target.String(), - Callers: callers, - } -} diff --git a/vendor/golang.org/x/tools/oracle/definition.go b/vendor/golang.org/x/tools/oracle/definition.go deleted file mode 100644 index a0340c6..0000000 --- a/vendor/golang.org/x/tools/oracle/definition.go +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -// definition reports the location of the definition of an identifier. -// -// TODO(adonovan): opt: for intra-file references, the parser's -// resolution might be enough; we should start with that. -// -func definition(q *Query) error { - lconf := loader.Config{Build: q.Build} - allowErrors(&lconf) - - if err := importQueryPackage(q.Pos, &lconf); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - id, _ := qpos.path[0].(*ast.Ident) - if id == nil { - return fmt.Errorf("no identifier here") - } - - obj := qpos.info.ObjectOf(id) - if obj == nil { - // Happens for y in "switch y := x.(type)", - // and the package declaration, - // but I think that's all. - return fmt.Errorf("no object for identifier") - } - - q.result = &definitionResult{qpos, obj} - return nil -} - -type definitionResult struct { - qpos *queryPos - obj types.Object // object it denotes -} - -func (r *definitionResult) display(printf printfFunc) { - printf(r.obj, "defined here as %s", r.qpos.objectString(r.obj)) -} - -func (r *definitionResult) toSerial(res *serial.Result, fset *token.FileSet) { - definition := &serial.Definition{ - Desc: r.obj.String(), - } - if pos := r.obj.Pos(); pos != token.NoPos { // Package objects have no Pos() - definition.ObjPos = fset.Position(pos).String() - } - res.Definition = definition -} diff --git a/vendor/golang.org/x/tools/oracle/describe.go b/vendor/golang.org/x/tools/oracle/describe.go deleted file mode 100644 index ea1c5ec..0000000 --- a/vendor/golang.org/x/tools/oracle/describe.go +++ /dev/null @@ -1,763 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - "log" - "os" - "strings" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/exact" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" - "golang.org/x/tools/oracle/serial" -) - -// describe describes the syntax node denoted by the query position, -// including: -// - its syntactic category -// - the definition of its referent (for identifiers) [now redundant] -// - its type and method set (for an expression or type expression) -// -func describe(q *Query) error { - lconf := loader.Config{Build: q.Build} - allowErrors(&lconf) - - if err := importQueryPackage(q.Pos, &lconf); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, true) // (need exact pos) - if err != nil { - return err - } - - if false { // debugging - fprintf(os.Stderr, lprog.Fset, qpos.path[0], "you selected: %s %s", - astutil.NodeDescription(qpos.path[0]), pathToString(qpos.path)) - } - - path, action := findInterestingNode(qpos.info, qpos.path) - switch action { - case actionExpr: - q.result, err = describeValue(qpos, path) - - case actionType: - q.result, err = describeType(qpos, path) - - case actionPackage: - q.result, err = describePackage(qpos, path) - - case actionStmt: - q.result, err = describeStmt(qpos, path) - - case actionUnknown: - q.result = &describeUnknownResult{path[0]} - - default: - panic(action) // unreachable - } - return err -} - -type describeUnknownResult struct { - node ast.Node -} - -func (r *describeUnknownResult) display(printf printfFunc) { - // Nothing much to say about misc syntax. - printf(r.node, "%s", astutil.NodeDescription(r.node)) -} - -func (r *describeUnknownResult) toSerial(res *serial.Result, fset *token.FileSet) { - res.Describe = &serial.Describe{ - Desc: astutil.NodeDescription(r.node), - Pos: fset.Position(r.node.Pos()).String(), - } -} - -type action int - -const ( - actionUnknown action = iota // None of the below - actionExpr // FuncDecl, true Expr or Ident(types.{Const,Var}) - actionType // type Expr or Ident(types.TypeName). - actionStmt // Stmt or Ident(types.Label) - actionPackage // Ident(types.Package) or ImportSpec -) - -// findInterestingNode classifies the syntax node denoted by path as one of: -// - an expression, part of an expression or a reference to a constant -// or variable; -// - a type, part of a type, or a reference to a named type; -// - a statement, part of a statement, or a label referring to a statement; -// - part of a package declaration or import spec. -// - none of the above. -// and returns the most "interesting" associated node, which may be -// the same node, an ancestor or a descendent. -// -func findInterestingNode(pkginfo *loader.PackageInfo, path []ast.Node) ([]ast.Node, action) { - // TODO(adonovan): integrate with go/types/stdlib_test.go and - // apply this to every AST node we can find to make sure it - // doesn't crash. - - // TODO(adonovan): audit for ParenExpr safety, esp. since we - // traverse up and down. - - // TODO(adonovan): if the users selects the "." in - // "fmt.Fprintf()", they'll get an ambiguous selection error; - // we won't even reach here. Can we do better? - - // TODO(adonovan): describing a field within 'type T struct {...}' - // describes the (anonymous) struct type and concludes "no methods". - // We should ascend to the enclosing type decl, if any. - - for len(path) > 0 { - switch n := path[0].(type) { - case *ast.GenDecl: - if len(n.Specs) == 1 { - // Descend to sole {Import,Type,Value}Spec child. - path = append([]ast.Node{n.Specs[0]}, path...) - continue - } - return path, actionUnknown // uninteresting - - case *ast.FuncDecl: - // Descend to function name. - path = append([]ast.Node{n.Name}, path...) - continue - - case *ast.ImportSpec: - return path, actionPackage - - case *ast.ValueSpec: - if len(n.Names) == 1 { - // Descend to sole Ident child. - path = append([]ast.Node{n.Names[0]}, path...) - continue - } - return path, actionUnknown // uninteresting - - case *ast.TypeSpec: - // Descend to type name. - path = append([]ast.Node{n.Name}, path...) - continue - - case ast.Stmt: - return path, actionStmt - - case *ast.ArrayType, - *ast.StructType, - *ast.FuncType, - *ast.InterfaceType, - *ast.MapType, - *ast.ChanType: - return path, actionType - - case *ast.Comment, *ast.CommentGroup, *ast.File, *ast.KeyValueExpr, *ast.CommClause: - return path, actionUnknown // uninteresting - - case *ast.Ellipsis: - // Continue to enclosing node. - // e.g. [...]T in ArrayType - // f(x...) in CallExpr - // f(x...T) in FuncType - - case *ast.Field: - // TODO(adonovan): this needs more thought, - // since fields can be so many things. - if len(n.Names) == 1 { - // Descend to sole Ident child. - path = append([]ast.Node{n.Names[0]}, path...) - continue - } - // Zero names (e.g. anon field in struct) - // or multiple field or param names: - // continue to enclosing field list. - - case *ast.FieldList: - // Continue to enclosing node: - // {Struct,Func,Interface}Type or FuncDecl. - - case *ast.BasicLit: - if _, ok := path[1].(*ast.ImportSpec); ok { - return path[1:], actionPackage - } - return path, actionExpr - - case *ast.SelectorExpr: - // TODO(adonovan): use Selections info directly. - if pkginfo.Uses[n.Sel] == nil { - // TODO(adonovan): is this reachable? - return path, actionUnknown - } - // Descend to .Sel child. - path = append([]ast.Node{n.Sel}, path...) - continue - - case *ast.Ident: - switch pkginfo.ObjectOf(n).(type) { - case *types.PkgName: - return path, actionPackage - - case *types.Const: - return path, actionExpr - - case *types.Label: - return path, actionStmt - - case *types.TypeName: - return path, actionType - - case *types.Var: - // For x in 'struct {x T}', return struct type, for now. - if _, ok := path[1].(*ast.Field); ok { - _ = path[2].(*ast.FieldList) // assertion - if _, ok := path[3].(*ast.StructType); ok { - return path[3:], actionType - } - } - return path, actionExpr - - case *types.Func: - return path, actionExpr - - case *types.Builtin: - // For reference to built-in function, return enclosing call. - path = path[1:] // ascend to enclosing function call - continue - - case *types.Nil: - return path, actionExpr - } - - // No object. - switch path[1].(type) { - case *ast.SelectorExpr: - // Return enclosing selector expression. - return path[1:], actionExpr - - case *ast.Field: - // TODO(adonovan): test this. - // e.g. all f in: - // struct { f, g int } - // interface { f() } - // func (f T) method(f, g int) (f, g bool) - // - // switch path[3].(type) { - // case *ast.FuncDecl: - // case *ast.StructType: - // case *ast.InterfaceType: - // } - // - // return path[1:], actionExpr - // - // Unclear what to do with these. - // Struct.Fields -- field - // Interface.Methods -- field - // FuncType.{Params.Results} -- actionExpr - // FuncDecl.Recv -- actionExpr - - case *ast.File: - // 'package foo' - return path, actionPackage - - case *ast.ImportSpec: - // TODO(adonovan): fix: why no package object? go/types bug? - return path[1:], actionPackage - - default: - // e.g. blank identifier - // or y in "switch y := x.(type)" - // or code in a _test.go file that's not part of the package. - log.Printf("unknown reference %s in %T\n", n, path[1]) - return path, actionUnknown - } - - case *ast.StarExpr: - if pkginfo.Types[n].IsType() { - return path, actionType - } - return path, actionExpr - - case ast.Expr: - // All Expr but {BasicLit,Ident,StarExpr} are - // "true" expressions that evaluate to a value. - return path, actionExpr - } - - // Ascend to parent. - path = path[1:] - } - - return nil, actionUnknown // unreachable -} - -func describeValue(qpos *queryPos, path []ast.Node) (*describeValueResult, error) { - var expr ast.Expr - var obj types.Object - switch n := path[0].(type) { - case *ast.ValueSpec: - // ambiguous ValueSpec containing multiple names - return nil, fmt.Errorf("multiple value specification") - case *ast.Ident: - obj = qpos.info.ObjectOf(n) - expr = n - case ast.Expr: - expr = n - default: - // TODO(adonovan): is this reachable? - return nil, fmt.Errorf("unexpected AST for expr: %T", n) - } - - typ := qpos.info.TypeOf(expr) - constVal := qpos.info.Types[expr].Value - - return &describeValueResult{ - qpos: qpos, - expr: expr, - typ: typ, - constVal: constVal, - obj: obj, - }, nil -} - -type describeValueResult struct { - qpos *queryPos - expr ast.Expr // query node - typ types.Type // type of expression - constVal exact.Value // value of expression, if constant - obj types.Object // var/func/const object, if expr was Ident -} - -func (r *describeValueResult) display(printf printfFunc) { - var prefix, suffix string - if r.constVal != nil { - suffix = fmt.Sprintf(" of constant value %s", r.constVal) - } - switch obj := r.obj.(type) { - case *types.Func: - if recv := obj.Type().(*types.Signature).Recv(); recv != nil { - if _, ok := recv.Type().Underlying().(*types.Interface); ok { - prefix = "interface method " - } else { - prefix = "method " - } - } - } - - // Describe the expression. - if r.obj != nil { - if r.obj.Pos() == r.expr.Pos() { - // defining ident - printf(r.expr, "definition of %s%s%s", prefix, r.qpos.objectString(r.obj), suffix) - } else { - // referring ident - printf(r.expr, "reference to %s%s%s", prefix, r.qpos.objectString(r.obj), suffix) - if def := r.obj.Pos(); def != token.NoPos { - printf(def, "defined here") - } - } - } else { - desc := astutil.NodeDescription(r.expr) - if suffix != "" { - // constant expression - printf(r.expr, "%s%s", desc, suffix) - } else { - // non-constant expression - printf(r.expr, "%s of type %s", desc, r.qpos.typeString(r.typ)) - } - } -} - -func (r *describeValueResult) toSerial(res *serial.Result, fset *token.FileSet) { - var value, objpos string - if r.constVal != nil { - value = r.constVal.String() - } - if r.obj != nil { - objpos = fset.Position(r.obj.Pos()).String() - } - - res.Describe = &serial.Describe{ - Desc: astutil.NodeDescription(r.expr), - Pos: fset.Position(r.expr.Pos()).String(), - Detail: "value", - Value: &serial.DescribeValue{ - Type: r.qpos.typeString(r.typ), - Value: value, - ObjPos: objpos, - }, - } -} - -// ---- TYPE ------------------------------------------------------------ - -func describeType(qpos *queryPos, path []ast.Node) (*describeTypeResult, error) { - var description string - var t types.Type - switch n := path[0].(type) { - case *ast.Ident: - t = qpos.info.TypeOf(n) - switch t := t.(type) { - case *types.Basic: - description = "reference to built-in " - - case *types.Named: - isDef := t.Obj().Pos() == n.Pos() // see caveats at isDef above - if isDef { - description = "definition of " - } else { - description = "reference to " - } - } - - case ast.Expr: - t = qpos.info.TypeOf(n) - - default: - // Unreachable? - return nil, fmt.Errorf("unexpected AST for type: %T", n) - } - - description = description + "type " + qpos.typeString(t) - - // Show sizes for structs and named types (it's fairly obvious for others). - switch t.(type) { - case *types.Named, *types.Struct: - szs := types.StdSizes{8, 8} // assume amd64 - description = fmt.Sprintf("%s (size %d, align %d)", description, - szs.Sizeof(t), szs.Alignof(t)) - } - - return &describeTypeResult{ - qpos: qpos, - node: path[0], - description: description, - typ: t, - methods: accessibleMethods(t, qpos.info.Pkg), - }, nil -} - -type describeTypeResult struct { - qpos *queryPos - node ast.Node - description string - typ types.Type - methods []*types.Selection -} - -func (r *describeTypeResult) display(printf printfFunc) { - printf(r.node, "%s", r.description) - - // Show the underlying type for a reference to a named type. - if nt, ok := r.typ.(*types.Named); ok && r.node.Pos() != nt.Obj().Pos() { - printf(nt.Obj(), "defined as %s", r.qpos.typeString(nt.Underlying())) - } - - // Print the method set, if the type kind is capable of bearing methods. - switch r.typ.(type) { - case *types.Interface, *types.Struct, *types.Named: - if len(r.methods) > 0 { - printf(r.node, "Method set:") - for _, meth := range r.methods { - // TODO(adonovan): print these relative - // to the owning package, not the - // query package. - printf(meth.Obj(), "\t%s", r.qpos.selectionString(meth)) - } - } else { - printf(r.node, "No methods.") - } - } -} - -func (r *describeTypeResult) toSerial(res *serial.Result, fset *token.FileSet) { - var namePos, nameDef string - if nt, ok := r.typ.(*types.Named); ok { - namePos = fset.Position(nt.Obj().Pos()).String() - nameDef = nt.Underlying().String() - } - res.Describe = &serial.Describe{ - Desc: r.description, - Pos: fset.Position(r.node.Pos()).String(), - Detail: "type", - Type: &serial.DescribeType{ - Type: r.qpos.typeString(r.typ), - NamePos: namePos, - NameDef: nameDef, - Methods: methodsToSerial(r.qpos.info.Pkg, r.methods, fset), - }, - } -} - -// ---- PACKAGE ------------------------------------------------------------ - -func describePackage(qpos *queryPos, path []ast.Node) (*describePackageResult, error) { - var description string - var pkg *types.Package - switch n := path[0].(type) { - case *ast.ImportSpec: - var pkgname *types.PkgName - if n.Name != nil { - pkgname = qpos.info.Defs[n.Name].(*types.PkgName) - } else if p := qpos.info.Implicits[n]; p != nil { - pkgname = p.(*types.PkgName) - } - pkg = pkgname.Imported() - description = fmt.Sprintf("import of package %q", pkg.Path()) - - case *ast.Ident: - if _, isDef := path[1].(*ast.File); isDef { - // e.g. package id - pkg = qpos.info.Pkg - description = fmt.Sprintf("definition of package %q", pkg.Path()) - } else { - // e.g. import id "..." - // or id.F() - pkg = qpos.info.ObjectOf(n).(*types.PkgName).Imported() - description = fmt.Sprintf("reference to package %q", pkg.Path()) - } - - default: - // Unreachable? - return nil, fmt.Errorf("unexpected AST for package: %T", n) - } - - var members []*describeMember - // NB: "unsafe" has no types.Package - if pkg != nil { - // Enumerate the accessible package members - // in lexicographic order. - for _, name := range pkg.Scope().Names() { - if pkg == qpos.info.Pkg || ast.IsExported(name) { - mem := pkg.Scope().Lookup(name) - var methods []*types.Selection - if mem, ok := mem.(*types.TypeName); ok { - methods = accessibleMethods(mem.Type(), qpos.info.Pkg) - } - members = append(members, &describeMember{ - mem, - methods, - }) - - } - } - } - - return &describePackageResult{qpos.fset, path[0], description, pkg, members}, nil -} - -type describePackageResult struct { - fset *token.FileSet - node ast.Node - description string - pkg *types.Package - members []*describeMember // in lexicographic name order -} - -type describeMember struct { - obj types.Object - methods []*types.Selection // in types.MethodSet order -} - -func (r *describePackageResult) display(printf printfFunc) { - printf(r.node, "%s", r.description) - - // Compute max width of name "column". - maxname := 0 - for _, mem := range r.members { - if l := len(mem.obj.Name()); l > maxname { - maxname = l - } - } - - for _, mem := range r.members { - printf(mem.obj, "\t%s", formatMember(mem.obj, maxname)) - for _, meth := range mem.methods { - printf(meth.Obj(), "\t\t%s", types.SelectionString(meth, types.RelativeTo(r.pkg))) - } - } -} - -func formatMember(obj types.Object, maxname int) string { - qualifier := types.RelativeTo(obj.Pkg()) - var buf bytes.Buffer - fmt.Fprintf(&buf, "%-5s %-*s", tokenOf(obj), maxname, obj.Name()) - switch obj := obj.(type) { - case *types.Const: - fmt.Fprintf(&buf, " %s = %s", types.TypeString(obj.Type(), qualifier), obj.Val().String()) - - case *types.Func: - fmt.Fprintf(&buf, " %s", types.TypeString(obj.Type(), qualifier)) - - case *types.TypeName: - // Abbreviate long aggregate type names. - var abbrev string - switch t := obj.Type().Underlying().(type) { - case *types.Interface: - if t.NumMethods() > 1 { - abbrev = "interface{...}" - } - case *types.Struct: - if t.NumFields() > 1 { - abbrev = "struct{...}" - } - } - if abbrev == "" { - fmt.Fprintf(&buf, " %s", types.TypeString(obj.Type().Underlying(), qualifier)) - } else { - fmt.Fprintf(&buf, " %s", abbrev) - } - - case *types.Var: - fmt.Fprintf(&buf, " %s", types.TypeString(obj.Type(), qualifier)) - } - return buf.String() -} - -func (r *describePackageResult) toSerial(res *serial.Result, fset *token.FileSet) { - var members []*serial.DescribeMember - for _, mem := range r.members { - typ := mem.obj.Type() - var val string - switch mem := mem.obj.(type) { - case *types.Const: - val = mem.Val().String() - case *types.TypeName: - typ = typ.Underlying() - } - members = append(members, &serial.DescribeMember{ - Name: mem.obj.Name(), - Type: typ.String(), - Value: val, - Pos: fset.Position(mem.obj.Pos()).String(), - Kind: tokenOf(mem.obj), - Methods: methodsToSerial(r.pkg, mem.methods, fset), - }) - } - res.Describe = &serial.Describe{ - Desc: r.description, - Pos: fset.Position(r.node.Pos()).String(), - Detail: "package", - Package: &serial.DescribePackage{ - Path: r.pkg.Path(), - Members: members, - }, - } -} - -func tokenOf(o types.Object) string { - switch o.(type) { - case *types.Func: - return "func" - case *types.Var: - return "var" - case *types.TypeName: - return "type" - case *types.Const: - return "const" - case *types.PkgName: - return "package" - } - panic(o) -} - -// ---- STATEMENT ------------------------------------------------------------ - -func describeStmt(qpos *queryPos, path []ast.Node) (*describeStmtResult, error) { - var description string - switch n := path[0].(type) { - case *ast.Ident: - if qpos.info.Defs[n] != nil { - description = "labelled statement" - } else { - description = "reference to labelled statement" - } - - default: - // Nothing much to say about statements. - description = astutil.NodeDescription(n) - } - return &describeStmtResult{qpos.fset, path[0], description}, nil -} - -type describeStmtResult struct { - fset *token.FileSet - node ast.Node - description string -} - -func (r *describeStmtResult) display(printf printfFunc) { - printf(r.node, "%s", r.description) -} - -func (r *describeStmtResult) toSerial(res *serial.Result, fset *token.FileSet) { - res.Describe = &serial.Describe{ - Desc: r.description, - Pos: fset.Position(r.node.Pos()).String(), - Detail: "unknown", - } -} - -// ------------------- Utilities ------------------- - -// pathToString returns a string containing the concrete types of the -// nodes in path. -func pathToString(path []ast.Node) string { - var buf bytes.Buffer - fmt.Fprint(&buf, "[") - for i, n := range path { - if i > 0 { - fmt.Fprint(&buf, " ") - } - fmt.Fprint(&buf, strings.TrimPrefix(fmt.Sprintf("%T", n), "*ast.")) - } - fmt.Fprint(&buf, "]") - return buf.String() -} - -func accessibleMethods(t types.Type, from *types.Package) []*types.Selection { - var methods []*types.Selection - for _, meth := range typeutil.IntuitiveMethodSet(t, nil) { - if isAccessibleFrom(meth.Obj(), from) { - methods = append(methods, meth) - } - } - return methods -} - -func isAccessibleFrom(obj types.Object, pkg *types.Package) bool { - return ast.IsExported(obj.Name()) || obj.Pkg() == pkg -} - -func methodsToSerial(this *types.Package, methods []*types.Selection, fset *token.FileSet) []serial.DescribeMethod { - qualifier := types.RelativeTo(this) - var jmethods []serial.DescribeMethod - for _, meth := range methods { - var ser serial.DescribeMethod - if meth != nil { // may contain nils when called by implements (on a method) - ser = serial.DescribeMethod{ - Name: types.SelectionString(meth, qualifier), - Pos: fset.Position(meth.Obj().Pos()).String(), - } - } - jmethods = append(jmethods, ser) - } - return jmethods -} diff --git a/vendor/golang.org/x/tools/oracle/freevars.go b/vendor/golang.org/x/tools/oracle/freevars.go deleted file mode 100644 index 400a118..0000000 --- a/vendor/golang.org/x/tools/oracle/freevars.go +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "bytes" - "go/ast" - "go/printer" - "go/token" - "sort" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -// freevars displays the lexical (not package-level) free variables of -// the selection. -// -// It treats A.B.C as a separate variable from A to reveal the parts -// of an aggregate type that are actually needed. -// This aids refactoring. -// -// TODO(adonovan): optionally display the free references to -// file/package scope objects, and to objects from other packages. -// Depending on where the resulting function abstraction will go, -// these might be interesting. Perhaps group the results into three -// bands. -// -func freevars(q *Query) error { - lconf := loader.Config{Build: q.Build} - allowErrors(&lconf) - - if err := importQueryPackage(q.Pos, &lconf); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - file := qpos.path[len(qpos.path)-1] // the enclosing file - fileScope := qpos.info.Scopes[file] - pkgScope := fileScope.Parent() - - // The id and sel functions return non-nil if they denote an - // object o or selection o.x.y that is referenced by the - // selection but defined neither within the selection nor at - // file scope, i.e. it is in the lexical environment. - var id func(n *ast.Ident) types.Object - var sel func(n *ast.SelectorExpr) types.Object - - sel = func(n *ast.SelectorExpr) types.Object { - switch x := unparen(n.X).(type) { - case *ast.SelectorExpr: - return sel(x) - case *ast.Ident: - return id(x) - } - return nil - } - - id = func(n *ast.Ident) types.Object { - obj := qpos.info.Uses[n] - if obj == nil { - return nil // not a reference - } - if _, ok := obj.(*types.PkgName); ok { - return nil // imported package - } - if !(file.Pos() <= obj.Pos() && obj.Pos() <= file.End()) { - return nil // not defined in this file - } - scope := obj.Parent() - if scope == nil { - return nil // e.g. interface method, struct field - } - if scope == fileScope || scope == pkgScope { - return nil // defined at file or package scope - } - if qpos.start <= obj.Pos() && obj.Pos() <= qpos.end { - return nil // defined within selection => not free - } - return obj - } - - // Maps each reference that is free in the selection - // to the object it refers to. - // The map de-duplicates repeated references. - refsMap := make(map[string]freevarsRef) - - // Visit all the identifiers in the selected ASTs. - ast.Inspect(qpos.path[0], func(n ast.Node) bool { - if n == nil { - return true // popping DFS stack - } - - // Is this node contained within the selection? - // (freevars permits inexact selections, - // like two stmts in a block.) - if qpos.start <= n.Pos() && n.End() <= qpos.end { - var obj types.Object - var prune bool - switch n := n.(type) { - case *ast.Ident: - obj = id(n) - - case *ast.SelectorExpr: - obj = sel(n) - prune = true - } - - if obj != nil { - var kind string - switch obj.(type) { - case *types.Var: - kind = "var" - case *types.Func: - kind = "func" - case *types.TypeName: - kind = "type" - case *types.Const: - kind = "const" - case *types.Label: - kind = "label" - default: - panic(obj) - } - - typ := qpos.info.TypeOf(n.(ast.Expr)) - ref := freevarsRef{kind, printNode(lprog.Fset, n), typ, obj} - refsMap[ref.ref] = ref - - if prune { - return false // don't descend - } - } - } - - return true // descend - }) - - refs := make([]freevarsRef, 0, len(refsMap)) - for _, ref := range refsMap { - refs = append(refs, ref) - } - sort.Sort(byRef(refs)) - - q.result = &freevarsResult{ - qpos: qpos, - refs: refs, - } - return nil -} - -type freevarsResult struct { - qpos *queryPos - refs []freevarsRef -} - -type freevarsRef struct { - kind string - ref string - typ types.Type - obj types.Object -} - -func (r *freevarsResult) display(printf printfFunc) { - if len(r.refs) == 0 { - printf(r.qpos, "No free identifiers.") - } else { - printf(r.qpos, "Free identifiers:") - qualifier := types.RelativeTo(r.qpos.info.Pkg) - for _, ref := range r.refs { - // Avoid printing "type T T". - var typstr string - if ref.kind != "type" { - typstr = " " + types.TypeString(ref.typ, qualifier) - } - printf(ref.obj, "%s %s%s", ref.kind, ref.ref, typstr) - } - } -} - -func (r *freevarsResult) toSerial(res *serial.Result, fset *token.FileSet) { - var refs []*serial.FreeVar - for _, ref := range r.refs { - refs = append(refs, - &serial.FreeVar{ - Pos: fset.Position(ref.obj.Pos()).String(), - Kind: ref.kind, - Ref: ref.ref, - Type: ref.typ.String(), - }) - } - res.Freevars = refs -} - -// -------- utils -------- - -type byRef []freevarsRef - -func (p byRef) Len() int { return len(p) } -func (p byRef) Less(i, j int) bool { return p[i].ref < p[j].ref } -func (p byRef) Swap(i, j int) { p[i], p[j] = p[j], p[i] } - -// printNode returns the pretty-printed syntax of n. -func printNode(fset *token.FileSet, n ast.Node) string { - var buf bytes.Buffer - printer.Fprint(&buf, fset, n) - return buf.String() -} diff --git a/vendor/golang.org/x/tools/oracle/implements.go b/vendor/golang.org/x/tools/oracle/implements.go deleted file mode 100644 index 3155ca2..0000000 --- a/vendor/golang.org/x/tools/oracle/implements.go +++ /dev/null @@ -1,330 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - "reflect" - "sort" - "strings" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/types" - "golang.org/x/tools/go/types/typeutil" - "golang.org/x/tools/oracle/serial" -) - -// Implements displays the "implements" relation as it pertains to the -// selected type within a single package. -// If the selection is a method, 'implements' displays -// the corresponding methods of the types that would have been reported -// by an implements query on the receiver type. -// -func implements(q *Query) error { - lconf := loader.Config{Build: q.Build} - allowErrors(&lconf) - - if err := importQueryPackage(q.Pos, &lconf); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - // Find the selected type. - path, action := findInterestingNode(qpos.info, qpos.path) - - var method *types.Func - var T types.Type // selected type (receiver if method != nil) - - switch action { - case actionExpr: - // method? - if id, ok := path[0].(*ast.Ident); ok { - if obj, ok := qpos.info.ObjectOf(id).(*types.Func); ok { - recv := obj.Type().(*types.Signature).Recv() - if recv == nil { - return fmt.Errorf("this function is not a method") - } - method = obj - T = recv.Type() - } - } - case actionType: - T = qpos.info.TypeOf(path[0].(ast.Expr)) - } - if T == nil { - return fmt.Errorf("no type or method here") - } - - // Find all named types, even local types (which can have - // methods via promotion) and the built-in "error". - // - // TODO(adonovan): include all packages in PTA scope too? - // i.e. don't reduceScope? - // - var allNamed []types.Type - for _, info := range lprog.AllPackages { - for _, obj := range info.Defs { - if obj, ok := obj.(*types.TypeName); ok { - allNamed = append(allNamed, obj.Type()) - } - } - } - allNamed = append(allNamed, types.Universe.Lookup("error").Type()) - - var msets typeutil.MethodSetCache - - // Test each named type. - var to, from, fromPtr []types.Type - for _, U := range allNamed { - if isInterface(T) { - if msets.MethodSet(T).Len() == 0 { - continue // empty interface - } - if isInterface(U) { - if msets.MethodSet(U).Len() == 0 { - continue // empty interface - } - - // T interface, U interface - if !types.Identical(T, U) { - if types.AssignableTo(U, T) { - to = append(to, U) - } - if types.AssignableTo(T, U) { - from = append(from, U) - } - } - } else { - // T interface, U concrete - if types.AssignableTo(U, T) { - to = append(to, U) - } else if pU := types.NewPointer(U); types.AssignableTo(pU, T) { - to = append(to, pU) - } - } - } else if isInterface(U) { - if msets.MethodSet(U).Len() == 0 { - continue // empty interface - } - - // T concrete, U interface - if types.AssignableTo(T, U) { - from = append(from, U) - } else if pT := types.NewPointer(T); types.AssignableTo(pT, U) { - fromPtr = append(fromPtr, U) - } - } - } - - var pos interface{} = qpos - if nt, ok := deref(T).(*types.Named); ok { - pos = nt.Obj() - } - - // Sort types (arbitrarily) to ensure test determinism. - sort.Sort(typesByString(to)) - sort.Sort(typesByString(from)) - sort.Sort(typesByString(fromPtr)) - - var toMethod, fromMethod, fromPtrMethod []*types.Selection // contain nils - if method != nil { - for _, t := range to { - toMethod = append(toMethod, - types.NewMethodSet(t).Lookup(method.Pkg(), method.Name())) - } - for _, t := range from { - fromMethod = append(fromMethod, - types.NewMethodSet(t).Lookup(method.Pkg(), method.Name())) - } - for _, t := range fromPtr { - fromPtrMethod = append(fromPtrMethod, - types.NewMethodSet(t).Lookup(method.Pkg(), method.Name())) - } - } - - q.result = &implementsResult{ - qpos, T, pos, to, from, fromPtr, method, toMethod, fromMethod, fromPtrMethod, - } - return nil -} - -type implementsResult struct { - qpos *queryPos - - t types.Type // queried type (not necessarily named) - pos interface{} // pos of t (*types.Name or *QueryPos) - to []types.Type // named or ptr-to-named types assignable to interface T - from []types.Type // named interfaces assignable from T - fromPtr []types.Type // named interfaces assignable only from *T - - // if a method was queried: - method *types.Func // queried method - toMethod []*types.Selection // method of type to[i], if any - fromMethod []*types.Selection // method of type from[i], if any - fromPtrMethod []*types.Selection // method of type fromPtrMethod[i], if any -} - -func (r *implementsResult) display(printf printfFunc) { - relation := "is implemented by" - - meth := func(sel *types.Selection) { - if sel != nil { - printf(sel.Obj(), "\t%s method (%s).%s", - relation, r.qpos.typeString(sel.Recv()), sel.Obj().Name()) - } - } - - if isInterface(r.t) { - if types.NewMethodSet(r.t).Len() == 0 { // TODO(adonovan): cache mset - printf(r.pos, "empty interface type %s", r.qpos.typeString(r.t)) - return - } - - if r.method == nil { - printf(r.pos, "interface type %s", r.qpos.typeString(r.t)) - } else { - printf(r.method, "abstract method %s", r.qpos.objectString(r.method)) - } - - // Show concrete types (or methods) first; use two passes. - for i, sub := range r.to { - if !isInterface(sub) { - if r.method == nil { - printf(deref(sub).(*types.Named).Obj(), "\t%s %s type %s", - relation, typeKind(sub), r.qpos.typeString(sub)) - } else { - meth(r.toMethod[i]) - } - } - } - for i, sub := range r.to { - if isInterface(sub) { - if r.method == nil { - printf(sub.(*types.Named).Obj(), "\t%s %s type %s", - relation, typeKind(sub), r.qpos.typeString(sub)) - } else { - meth(r.toMethod[i]) - } - } - } - - relation = "implements" - for i, super := range r.from { - if r.method == nil { - printf(super.(*types.Named).Obj(), "\t%s %s", - relation, r.qpos.typeString(super)) - } else { - meth(r.fromMethod[i]) - } - } - } else { - relation = "implements" - - if r.from != nil { - if r.method == nil { - printf(r.pos, "%s type %s", - typeKind(r.t), r.qpos.typeString(r.t)) - } else { - printf(r.method, "concrete method %s", - r.qpos.objectString(r.method)) - } - for i, super := range r.from { - if r.method == nil { - printf(super.(*types.Named).Obj(), "\t%s %s", - relation, r.qpos.typeString(super)) - } else { - meth(r.fromMethod[i]) - } - } - } - if r.fromPtr != nil { - if r.method == nil { - printf(r.pos, "pointer type *%s", r.qpos.typeString(r.t)) - } else { - // TODO(adonovan): de-dup (C).f and (*C).f implementing (I).f. - printf(r.method, "concrete method %s", - r.qpos.objectString(r.method)) - } - - for i, psuper := range r.fromPtr { - if r.method == nil { - printf(psuper.(*types.Named).Obj(), "\t%s %s", - relation, r.qpos.typeString(psuper)) - } else { - meth(r.fromPtrMethod[i]) - } - } - } else if r.from == nil { - printf(r.pos, "%s type %s implements only interface{}", - typeKind(r.t), r.qpos.typeString(r.t)) - } - } -} - -func (r *implementsResult) toSerial(res *serial.Result, fset *token.FileSet) { - res.Implements = &serial.Implements{ - T: makeImplementsType(r.t, fset), - AssignableTo: makeImplementsTypes(r.to, fset), - AssignableFrom: makeImplementsTypes(r.from, fset), - AssignableFromPtr: makeImplementsTypes(r.fromPtr, fset), - AssignableToMethod: methodsToSerial(r.qpos.info.Pkg, r.toMethod, fset), - AssignableFromMethod: methodsToSerial(r.qpos.info.Pkg, r.fromMethod, fset), - AssignableFromPtrMethod: methodsToSerial(r.qpos.info.Pkg, r.fromPtrMethod, fset), - } - if r.method != nil { - res.Implements.Method = &serial.DescribeMethod{ - Name: r.qpos.objectString(r.method), - Pos: fset.Position(r.method.Pos()).String(), - } - } -} - -func makeImplementsTypes(tt []types.Type, fset *token.FileSet) []serial.ImplementsType { - var r []serial.ImplementsType - for _, t := range tt { - r = append(r, makeImplementsType(t, fset)) - } - return r -} - -func makeImplementsType(T types.Type, fset *token.FileSet) serial.ImplementsType { - var pos token.Pos - if nt, ok := deref(T).(*types.Named); ok { // implementsResult.t may be non-named - pos = nt.Obj().Pos() - } - return serial.ImplementsType{ - Name: T.String(), - Pos: fset.Position(pos).String(), - Kind: typeKind(T), - } -} - -// typeKind returns a string describing the underlying kind of type, -// e.g. "slice", "array", "struct". -func typeKind(T types.Type) string { - s := reflect.TypeOf(T.Underlying()).String() - return strings.ToLower(strings.TrimPrefix(s, "*types.")) -} - -func isInterface(T types.Type) bool { return types.IsInterface(T) } - -type typesByString []types.Type - -func (p typesByString) Len() int { return len(p) } -func (p typesByString) Less(i, j int) bool { return p[i].String() < p[j].String() } -func (p typesByString) Swap(i, j int) { p[i], p[j] = p[j], p[i] } diff --git a/vendor/golang.org/x/tools/oracle/oracle.go b/vendor/golang.org/x/tools/oracle/oracle.go deleted file mode 100644 index 544cfa4..0000000 --- a/vendor/golang.org/x/tools/oracle/oracle.go +++ /dev/null @@ -1,364 +0,0 @@ -// Copyright 2014 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. - -// Package oracle contains the implementation of the oracle tool whose -// command-line is provided by golang.org/x/tools/cmd/oracle. -// -// http://golang.org/s/oracle-design -// http://golang.org/s/oracle-user-manual -// -package oracle // import "golang.org/x/tools/oracle" - -// This file defines oracle.Query, the entry point for the oracle tool. -// The actual executable is defined in cmd/oracle. - -// TODO(adonovan): new queries -// - show all statements that may update the selected lvalue -// (local, global, field, etc). -// - show all places where an object of type T is created -// (&T{}, var t T, new(T), new(struct{array [3]T}), etc. - -import ( - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "io" - "path/filepath" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/pointer" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -type printfFunc func(pos interface{}, format string, args ...interface{}) - -// queryResult is the interface of each query-specific result type. -type queryResult interface { - toSerial(res *serial.Result, fset *token.FileSet) - display(printf printfFunc) -} - -// A QueryPos represents the position provided as input to a query: -// a textual extent in the program's source code, the AST node it -// corresponds to, and the package to which it belongs. -// Instances are created by parseQueryPos. -type queryPos struct { - fset *token.FileSet - start, end token.Pos // source extent of query - path []ast.Node // AST path from query node to root of ast.File - exact bool // 2nd result of PathEnclosingInterval - info *loader.PackageInfo // type info for the queried package (nil for fastQueryPos) -} - -// TypeString prints type T relative to the query position. -func (qpos *queryPos) typeString(T types.Type) string { - return types.TypeString(T, types.RelativeTo(qpos.info.Pkg)) -} - -// ObjectString prints object obj relative to the query position. -func (qpos *queryPos) objectString(obj types.Object) string { - return types.ObjectString(obj, types.RelativeTo(qpos.info.Pkg)) -} - -// SelectionString prints selection sel relative to the query position. -func (qpos *queryPos) selectionString(sel *types.Selection) string { - return types.SelectionString(sel, types.RelativeTo(qpos.info.Pkg)) -} - -// A Query specifies a single oracle query. -type Query struct { - Mode string // query mode ("callers", etc) - Pos string // query position - Build *build.Context // package loading configuration - - // pointer analysis options - Scope []string // main packages in (*loader.Config).FromArgs syntax - PTALog io.Writer // (optional) pointer-analysis log file - Reflection bool // model reflection soundly (currently slow). - - // Populated during Run() - Fset *token.FileSet - result queryResult -} - -// Serial returns an instance of serial.Result, which implements the -// {xml,json}.Marshaler interfaces so that query results can be -// serialized as JSON or XML. -// -func (q *Query) Serial() *serial.Result { - resj := &serial.Result{Mode: q.Mode} - q.result.toSerial(resj, q.Fset) - return resj -} - -// WriteTo writes the oracle query result res to out in a compiler diagnostic format. -func (q *Query) WriteTo(out io.Writer) { - printf := func(pos interface{}, format string, args ...interface{}) { - fprintf(out, q.Fset, pos, format, args...) - } - q.result.display(printf) -} - -// Run runs an oracle query and populates its Fset and Result. -func Run(q *Query) error { - switch q.Mode { - case "callees": - return callees(q) - case "callers": - return callers(q) - case "callstack": - return callstack(q) - case "peers": - return peers(q) - case "pointsto": - return pointsto(q) - case "whicherrs": - return whicherrs(q) - case "definition": - return definition(q) - case "describe": - return describe(q) - case "freevars": - return freevars(q) - case "implements": - return implements(q) - case "referrers": - return referrers(q) - case "what": - return what(q) - default: - return fmt.Errorf("invalid mode: %q", q.Mode) - } -} - -func setPTAScope(lconf *loader.Config, scope []string) error { - if len(scope) == 0 { - return fmt.Errorf("no packages specified for pointer analysis scope") - } - - // Determine initial packages for PTA. - args, err := lconf.FromArgs(scope, true) - if err != nil { - return err - } - if len(args) > 0 { - return fmt.Errorf("surplus arguments: %q", args) - } - return nil -} - -// Create a pointer.Config whose scope is the initial packages of lprog -// and their dependencies. -func setupPTA(prog *ssa.Program, lprog *loader.Program, ptaLog io.Writer, reflection bool) (*pointer.Config, error) { - // TODO(adonovan): the body of this function is essentially - // duplicated in all go/pointer clients. Refactor. - - // For each initial package (specified on the command line), - // if it has a main function, analyze that, - // otherwise analyze its tests, if any. - var testPkgs, mains []*ssa.Package - for _, info := range lprog.InitialPackages() { - initialPkg := prog.Package(info.Pkg) - - // Add package to the pointer analysis scope. - if initialPkg.Func("main") != nil { - mains = append(mains, initialPkg) - } else { - testPkgs = append(testPkgs, initialPkg) - } - } - if testPkgs != nil { - if p := prog.CreateTestMainPackage(testPkgs...); p != nil { - mains = append(mains, p) - } - } - if mains == nil { - return nil, fmt.Errorf("analysis scope has no main and no tests") - } - return &pointer.Config{ - Log: ptaLog, - Reflection: reflection, - Mains: mains, - }, nil -} - -// importQueryPackage finds the package P containing the -// query position and tells conf to import it. -func importQueryPackage(pos string, conf *loader.Config) error { - fqpos, err := fastQueryPos(pos) - if err != nil { - return err // bad query - } - filename := fqpos.fset.File(fqpos.start).Name() - - // This will not work for ad-hoc packages - // such as $GOROOT/src/net/http/triv.go. - // TODO(adonovan): ensure we report a clear error. - _, importPath, err := guessImportPath(filename, conf.Build) - if err != nil { - return err // can't find GOPATH dir - } - if importPath == "" { - return fmt.Errorf("can't guess import path from %s", filename) - } - - // Check that it's possible to load the queried package. - // (e.g. oracle tests contain different 'package' decls in same dir.) - // Keep consistent with logic in loader/util.go! - cfg2 := *conf.Build - cfg2.CgoEnabled = false - bp, err := cfg2.Import(importPath, "", 0) - if err != nil { - return err // no files for package - } - - switch pkgContainsFile(bp, filename) { - case 'T': - conf.ImportWithTests(importPath) - case 'X': - conf.ImportWithTests(importPath) - importPath += "_test" // for TypeCheckFuncBodies - case 'G': - conf.Import(importPath) - default: - return fmt.Errorf("package %q doesn't contain file %s", - importPath, filename) - } - - conf.TypeCheckFuncBodies = func(p string) bool { return p == importPath } - - return nil -} - -// pkgContainsFile reports whether file was among the packages Go -// files, Test files, eXternal test files, or not found. -func pkgContainsFile(bp *build.Package, filename string) byte { - for i, files := range [][]string{bp.GoFiles, bp.TestGoFiles, bp.XTestGoFiles} { - for _, file := range files { - if sameFile(filepath.Join(bp.Dir, file), filename) { - return "GTX"[i] - } - } - } - return 0 // not found -} - -// ParseQueryPos parses the source query position pos and returns the -// AST node of the loaded program lprog that it identifies. -// If needExact, it must identify a single AST subtree; -// this is appropriate for queries that allow fairly arbitrary syntax, -// e.g. "describe". -// -func parseQueryPos(lprog *loader.Program, posFlag string, needExact bool) (*queryPos, error) { - filename, startOffset, endOffset, err := parsePosFlag(posFlag) - if err != nil { - return nil, err - } - start, end, err := findQueryPos(lprog.Fset, filename, startOffset, endOffset) - if err != nil { - return nil, err - } - info, path, exact := lprog.PathEnclosingInterval(start, end) - if path == nil { - return nil, fmt.Errorf("no syntax here") - } - if needExact && !exact { - return nil, fmt.Errorf("ambiguous selection within %s", astutil.NodeDescription(path[0])) - } - return &queryPos{lprog.Fset, start, end, path, exact, info}, nil -} - -// ---------- Utilities ---------- - -// allowErrors causes type errors to be silently ignored. -// (Not suitable if SSA construction follows.) -func allowErrors(lconf *loader.Config) { - ctxt := *lconf.Build // copy - ctxt.CgoEnabled = false - lconf.Build = &ctxt - lconf.AllowErrors = true - // AllErrors makes the parser always return an AST instead of - // bailing out after 10 errors and returning an empty ast.File. - lconf.ParserMode = parser.AllErrors - lconf.TypeChecker.Error = func(err error) {} -} - -// ptrAnalysis runs the pointer analysis and returns its result. -func ptrAnalysis(conf *pointer.Config) *pointer.Result { - result, err := pointer.Analyze(conf) - if err != nil { - panic(err) // pointer analysis internal error - } - return result -} - -func unparen(e ast.Expr) ast.Expr { return astutil.Unparen(e) } - -// deref returns a pointer's element type; otherwise it returns typ. -func deref(typ types.Type) types.Type { - if p, ok := typ.Underlying().(*types.Pointer); ok { - return p.Elem() - } - return typ -} - -// fprintf prints to w a message of the form "location: message\n" -// where location is derived from pos. -// -// pos must be one of: -// - a token.Pos, denoting a position -// - an ast.Node, denoting an interval -// - anything with a Pos() method: -// ssa.Member, ssa.Value, ssa.Instruction, types.Object, pointer.Label, etc. -// - a QueryPos, denoting the extent of the user's query. -// - nil, meaning no position at all. -// -// The output format is is compatible with the 'gnu' -// compilation-error-regexp in Emacs' compilation mode. -// TODO(adonovan): support other editors. -// -func fprintf(w io.Writer, fset *token.FileSet, pos interface{}, format string, args ...interface{}) { - var start, end token.Pos - switch pos := pos.(type) { - case ast.Node: - start = pos.Pos() - end = pos.End() - case token.Pos: - start = pos - end = start - case interface { - Pos() token.Pos - }: - start = pos.Pos() - end = start - case *queryPos: - start = pos.start - end = pos.end - case nil: - // no-op - default: - panic(fmt.Sprintf("invalid pos: %T", pos)) - } - - if sp := fset.Position(start); start == end { - // (prints "-: " for token.NoPos) - fmt.Fprintf(w, "%s: ", sp) - } else { - ep := fset.Position(end) - // The -1 below is a concession to Emacs's broken use of - // inclusive (not half-open) intervals. - // Other editors may not want it. - // TODO(adonovan): add an -editor=vim|emacs|acme|auto - // flag; auto uses EMACS=t / VIM=... / etc env vars. - fmt.Fprintf(w, "%s:%d.%d-%d.%d: ", - sp.Filename, sp.Line, sp.Column, ep.Line, ep.Column-1) - } - fmt.Fprintf(w, format, args...) - io.WriteString(w, "\n") -} diff --git a/vendor/golang.org/x/tools/oracle/peers.go b/vendor/golang.org/x/tools/oracle/peers.go deleted file mode 100644 index 9c2a497..0000000 --- a/vendor/golang.org/x/tools/oracle/peers.go +++ /dev/null @@ -1,252 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - "sort" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -// peers enumerates, for a given channel send (or receive) operation, -// the set of possible receives (or sends) that correspond to it. -// -// TODO(adonovan): support reflect.{Select,Recv,Send,Close}. -// TODO(adonovan): permit the user to query based on a MakeChan (not send/recv), -// or the implicit receive in "for v := range ch". -func peers(q *Query) error { - lconf := loader.Config{Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - prog := ssautil.CreateProgram(lprog, ssa.GlobalDebug) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - opPos := findOp(qpos) - if opPos == token.NoPos { - return fmt.Errorf("there is no channel operation here") - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - var queryOp chanOp // the originating send or receive operation - var ops []chanOp // all sends/receives of opposite direction - - // Look at all channel operations in the whole ssa.Program. - // Build a list of those of same type as the query. - allFuncs := ssautil.AllFunctions(prog) - for fn := range allFuncs { - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - for _, op := range chanOps(instr) { - ops = append(ops, op) - if op.pos == opPos { - queryOp = op // we found the query op - } - } - } - } - } - if queryOp.ch == nil { - return fmt.Errorf("ssa.Instruction for send/receive not found") - } - - // Discard operations of wrong channel element type. - // Build set of channel ssa.Values as query to pointer analysis. - // We compare channels by element types, not channel types, to - // ignore both directionality and type names. - queryType := queryOp.ch.Type() - queryElemType := queryType.Underlying().(*types.Chan).Elem() - ptaConfig.AddQuery(queryOp.ch) - i := 0 - for _, op := range ops { - if types.Identical(op.ch.Type().Underlying().(*types.Chan).Elem(), queryElemType) { - ptaConfig.AddQuery(op.ch) - ops[i] = op - i++ - } - } - ops = ops[:i] - - // Run the pointer analysis. - ptares := ptrAnalysis(ptaConfig) - - // Find the points-to set. - queryChanPtr := ptares.Queries[queryOp.ch] - - // Ascertain which make(chan) labels the query's channel can alias. - var makes []token.Pos - for _, label := range queryChanPtr.PointsTo().Labels() { - makes = append(makes, label.Pos()) - } - sort.Sort(byPos(makes)) - - // Ascertain which channel operations can alias the same make(chan) labels. - var sends, receives, closes []token.Pos - for _, op := range ops { - if ptr, ok := ptares.Queries[op.ch]; ok && ptr.MayAlias(queryChanPtr) { - switch op.dir { - case types.SendOnly: - sends = append(sends, op.pos) - case types.RecvOnly: - receives = append(receives, op.pos) - case types.SendRecv: - closes = append(closes, op.pos) - } - } - } - sort.Sort(byPos(sends)) - sort.Sort(byPos(receives)) - sort.Sort(byPos(closes)) - - q.result = &peersResult{ - queryPos: opPos, - queryType: queryType, - makes: makes, - sends: sends, - receives: receives, - closes: closes, - } - return nil -} - -// findOp returns the position of the enclosing send/receive/close op. -// For send and receive operations, this is the position of the <- token; -// for close operations, it's the Lparen of the function call. -// -// TODO(adonovan): handle implicit receive operations from 'for...range chan' statements. -func findOp(qpos *queryPos) token.Pos { - for _, n := range qpos.path { - switch n := n.(type) { - case *ast.UnaryExpr: - if n.Op == token.ARROW { - return n.OpPos - } - case *ast.SendStmt: - return n.Arrow - case *ast.CallExpr: - // close function call can only exist as a direct identifier - if close, ok := unparen(n.Fun).(*ast.Ident); ok { - if b, ok := qpos.info.Info.Uses[close].(*types.Builtin); ok && b.Name() == "close" { - return n.Lparen - } - } - } - } - return token.NoPos -} - -// chanOp abstracts an ssa.Send, ssa.Unop(ARROW), or a SelectState. -type chanOp struct { - ch ssa.Value - dir types.ChanDir // SendOnly=send, RecvOnly=recv, SendRecv=close - pos token.Pos -} - -// chanOps returns a slice of all the channel operations in the instruction. -func chanOps(instr ssa.Instruction) []chanOp { - // TODO(adonovan): handle calls to reflect.{Select,Recv,Send,Close} too. - var ops []chanOp - switch instr := instr.(type) { - case *ssa.UnOp: - if instr.Op == token.ARROW { - ops = append(ops, chanOp{instr.X, types.RecvOnly, instr.Pos()}) - } - case *ssa.Send: - ops = append(ops, chanOp{instr.Chan, types.SendOnly, instr.Pos()}) - case *ssa.Select: - for _, st := range instr.States { - ops = append(ops, chanOp{st.Chan, st.Dir, st.Pos}) - } - case ssa.CallInstruction: - cc := instr.Common() - if b, ok := cc.Value.(*ssa.Builtin); ok && b.Name() == "close" { - ops = append(ops, chanOp{cc.Args[0], types.SendRecv, cc.Pos()}) - } - } - return ops -} - -type peersResult struct { - queryPos token.Pos // of queried channel op - queryType types.Type // type of queried channel - makes, sends, receives, closes []token.Pos // positions of aliased makechan/send/receive/close instrs -} - -func (r *peersResult) display(printf printfFunc) { - if len(r.makes) == 0 { - printf(r.queryPos, "This channel can't point to anything.") - return - } - printf(r.queryPos, "This channel of type %s may be:", r.queryType) - for _, alloc := range r.makes { - printf(alloc, "\tallocated here") - } - for _, send := range r.sends { - printf(send, "\tsent to, here") - } - for _, receive := range r.receives { - printf(receive, "\treceived from, here") - } - for _, clos := range r.closes { - printf(clos, "\tclosed, here") - } -} - -func (r *peersResult) toSerial(res *serial.Result, fset *token.FileSet) { - peers := &serial.Peers{ - Pos: fset.Position(r.queryPos).String(), - Type: r.queryType.String(), - } - for _, alloc := range r.makes { - peers.Allocs = append(peers.Allocs, fset.Position(alloc).String()) - } - for _, send := range r.sends { - peers.Sends = append(peers.Sends, fset.Position(send).String()) - } - for _, receive := range r.receives { - peers.Receives = append(peers.Receives, fset.Position(receive).String()) - } - for _, clos := range r.closes { - peers.Closes = append(peers.Closes, fset.Position(clos).String()) - } - res.Peers = peers -} - -// -------- utils -------- - -// NB: byPos is not deterministic across packages since it depends on load order. -// Use lessPos if the tests need it. -type byPos []token.Pos - -func (p byPos) Len() int { return len(p) } -func (p byPos) Less(i, j int) bool { return p[i] < p[j] } -func (p byPos) Swap(i, j int) { p[i], p[j] = p[j], p[i] } diff --git a/vendor/golang.org/x/tools/oracle/pointsto.go b/vendor/golang.org/x/tools/oracle/pointsto.go deleted file mode 100644 index d366dd3..0000000 --- a/vendor/golang.org/x/tools/oracle/pointsto.go +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - "sort" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/pointer" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -// pointsto runs the pointer analysis on the selected expression, -// and reports its points-to set (for a pointer-like expression) -// or its dynamic types (for an interface, reflect.Value, or -// reflect.Type expression) and their points-to sets. -// -// All printed sets are sorted to ensure determinism. -// -func pointsto(q *Query) error { - lconf := loader.Config{Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, true) // needs exact pos - if err != nil { - return err - } - - prog := ssautil.CreateProgram(lprog, ssa.GlobalDebug) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - path, action := findInterestingNode(qpos.info, qpos.path) - if action != actionExpr { - return fmt.Errorf("pointer analysis wants an expression; got %s", - astutil.NodeDescription(qpos.path[0])) - } - - var expr ast.Expr - var obj types.Object - switch n := path[0].(type) { - case *ast.ValueSpec: - // ambiguous ValueSpec containing multiple names - return fmt.Errorf("multiple value specification") - case *ast.Ident: - obj = qpos.info.ObjectOf(n) - expr = n - case ast.Expr: - expr = n - default: - // TODO(adonovan): is this reachable? - return fmt.Errorf("unexpected AST for expr: %T", n) - } - - // Reject non-pointerlike types (includes all constants---except nil). - // TODO(adonovan): reject nil too. - typ := qpos.info.TypeOf(expr) - if !pointer.CanPoint(typ) { - return fmt.Errorf("pointer analysis wants an expression of reference type; got %s", typ) - } - - // Determine the ssa.Value for the expression. - var value ssa.Value - var isAddr bool - if obj != nil { - // def/ref of func/var object - value, isAddr, err = ssaValueForIdent(prog, qpos.info, obj, path) - } else { - value, isAddr, err = ssaValueForExpr(prog, qpos.info, path) - } - if err != nil { - return err // e.g. trivially dead code - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - // Run the pointer analysis. - ptrs, err := runPTA(ptaConfig, value, isAddr) - if err != nil { - return err // e.g. analytically unreachable - } - - q.result = &pointstoResult{ - qpos: qpos, - typ: typ, - ptrs: ptrs, - } - return nil -} - -// ssaValueForIdent returns the ssa.Value for the ast.Ident whose path -// to the root of the AST is path. isAddr reports whether the -// ssa.Value is the address denoted by the ast.Ident, not its value. -// -func ssaValueForIdent(prog *ssa.Program, qinfo *loader.PackageInfo, obj types.Object, path []ast.Node) (value ssa.Value, isAddr bool, err error) { - switch obj := obj.(type) { - case *types.Var: - pkg := prog.Package(qinfo.Pkg) - pkg.Build() - if v, addr := prog.VarValue(obj, pkg, path); v != nil { - return v, addr, nil - } - return nil, false, fmt.Errorf("can't locate SSA Value for var %s", obj.Name()) - - case *types.Func: - fn := prog.FuncValue(obj) - if fn == nil { - return nil, false, fmt.Errorf("%s is an interface method", obj) - } - // TODO(adonovan): there's no point running PTA on a *Func ident. - // Eliminate this feature. - return fn, false, nil - } - panic(obj) -} - -// ssaValueForExpr returns the ssa.Value of the non-ast.Ident -// expression whose path to the root of the AST is path. -// -func ssaValueForExpr(prog *ssa.Program, qinfo *loader.PackageInfo, path []ast.Node) (value ssa.Value, isAddr bool, err error) { - pkg := prog.Package(qinfo.Pkg) - pkg.SetDebugMode(true) - pkg.Build() - - fn := ssa.EnclosingFunction(pkg, path) - if fn == nil { - return nil, false, fmt.Errorf("no SSA function built for this location (dead code?)") - } - - if v, addr := fn.ValueForExpr(path[0].(ast.Expr)); v != nil { - return v, addr, nil - } - - return nil, false, fmt.Errorf("can't locate SSA Value for expression in %s", fn) -} - -// runPTA runs the pointer analysis of the selected SSA value or address. -func runPTA(conf *pointer.Config, v ssa.Value, isAddr bool) (ptrs []pointerResult, err error) { - T := v.Type() - if isAddr { - conf.AddIndirectQuery(v) - T = deref(T) - } else { - conf.AddQuery(v) - } - ptares := ptrAnalysis(conf) - - var ptr pointer.Pointer - if isAddr { - ptr = ptares.IndirectQueries[v] - } else { - ptr = ptares.Queries[v] - } - if ptr == (pointer.Pointer{}) { - return nil, fmt.Errorf("pointer analysis did not find expression (dead code?)") - } - pts := ptr.PointsTo() - - if pointer.CanHaveDynamicTypes(T) { - // Show concrete types for interface/reflect.Value expression. - if concs := pts.DynamicTypes(); concs.Len() > 0 { - concs.Iterate(func(conc types.Type, pta interface{}) { - labels := pta.(pointer.PointsToSet).Labels() - sort.Sort(byPosAndString(labels)) // to ensure determinism - ptrs = append(ptrs, pointerResult{conc, labels}) - }) - } - } else { - // Show labels for other expressions. - labels := pts.Labels() - sort.Sort(byPosAndString(labels)) // to ensure determinism - ptrs = append(ptrs, pointerResult{T, labels}) - } - sort.Sort(byTypeString(ptrs)) // to ensure determinism - return ptrs, nil -} - -type pointerResult struct { - typ types.Type // type of the pointer (always concrete) - labels []*pointer.Label // set of labels -} - -type pointstoResult struct { - qpos *queryPos - typ types.Type // type of expression - ptrs []pointerResult // pointer info (typ is concrete => len==1) -} - -func (r *pointstoResult) display(printf printfFunc) { - if pointer.CanHaveDynamicTypes(r.typ) { - // Show concrete types for interface, reflect.Type or - // reflect.Value expression. - - if len(r.ptrs) > 0 { - printf(r.qpos, "this %s may contain these dynamic types:", r.qpos.typeString(r.typ)) - for _, ptr := range r.ptrs { - var obj types.Object - if nt, ok := deref(ptr.typ).(*types.Named); ok { - obj = nt.Obj() - } - if len(ptr.labels) > 0 { - printf(obj, "\t%s, may point to:", r.qpos.typeString(ptr.typ)) - printLabels(printf, ptr.labels, "\t\t") - } else { - printf(obj, "\t%s", r.qpos.typeString(ptr.typ)) - } - } - } else { - printf(r.qpos, "this %s cannot contain any dynamic types.", r.typ) - } - } else { - // Show labels for other expressions. - if ptr := r.ptrs[0]; len(ptr.labels) > 0 { - printf(r.qpos, "this %s may point to these objects:", - r.qpos.typeString(r.typ)) - printLabels(printf, ptr.labels, "\t") - } else { - printf(r.qpos, "this %s may not point to anything.", - r.qpos.typeString(r.typ)) - } - } -} - -func (r *pointstoResult) toSerial(res *serial.Result, fset *token.FileSet) { - var pts []serial.PointsTo - for _, ptr := range r.ptrs { - var namePos string - if nt, ok := deref(ptr.typ).(*types.Named); ok { - namePos = fset.Position(nt.Obj().Pos()).String() - } - var labels []serial.PointsToLabel - for _, l := range ptr.labels { - labels = append(labels, serial.PointsToLabel{ - Pos: fset.Position(l.Pos()).String(), - Desc: l.String(), - }) - } - pts = append(pts, serial.PointsTo{ - Type: r.qpos.typeString(ptr.typ), - NamePos: namePos, - Labels: labels, - }) - } - res.PointsTo = pts -} - -type byTypeString []pointerResult - -func (a byTypeString) Len() int { return len(a) } -func (a byTypeString) Less(i, j int) bool { return a[i].typ.String() < a[j].typ.String() } -func (a byTypeString) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -type byPosAndString []*pointer.Label - -func (a byPosAndString) Len() int { return len(a) } -func (a byPosAndString) Less(i, j int) bool { - cmp := a[i].Pos() - a[j].Pos() - return cmp < 0 || (cmp == 0 && a[i].String() < a[j].String()) -} -func (a byPosAndString) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -func printLabels(printf printfFunc, labels []*pointer.Label, prefix string) { - // TODO(adonovan): due to context-sensitivity, many of these - // labels may differ only by context, which isn't apparent. - for _, label := range labels { - printf(label, "%s%s", prefix, label) - } -} diff --git a/vendor/golang.org/x/tools/oracle/pos.go b/vendor/golang.org/x/tools/oracle/pos.go deleted file mode 100644 index 3c706f3..0000000 --- a/vendor/golang.org/x/tools/oracle/pos.go +++ /dev/null @@ -1,143 +0,0 @@ -package oracle - -// This file defines utilities for working with file positions. - -import ( - "fmt" - "go/parser" - "go/token" - "os" - "path/filepath" - "strconv" - "strings" - - "golang.org/x/tools/go/ast/astutil" -) - -// parseOctothorpDecimal returns the numeric value if s matches "#%d", -// otherwise -1. -func parseOctothorpDecimal(s string) int { - if s != "" && s[0] == '#' { - if s, err := strconv.ParseInt(s[1:], 10, 32); err == nil { - return int(s) - } - } - return -1 -} - -// parsePosFlag parses a string of the form "file:pos" or -// file:start,end" where pos, start, end match #%d and represent byte -// offsets, and returns its components. -// -// (Numbers without a '#' prefix are reserved for future use, -// e.g. to indicate line/column positions.) -// -func parsePosFlag(posFlag string) (filename string, startOffset, endOffset int, err error) { - if posFlag == "" { - err = fmt.Errorf("no source position specified (-pos flag)") - return - } - - colon := strings.LastIndex(posFlag, ":") - if colon < 0 { - err = fmt.Errorf("invalid source position -pos=%q", posFlag) - return - } - filename, offset := posFlag[:colon], posFlag[colon+1:] - startOffset = -1 - endOffset = -1 - if hyphen := strings.Index(offset, ","); hyphen < 0 { - // e.g. "foo.go:#123" - startOffset = parseOctothorpDecimal(offset) - endOffset = startOffset - } else { - // e.g. "foo.go:#123,#456" - startOffset = parseOctothorpDecimal(offset[:hyphen]) - endOffset = parseOctothorpDecimal(offset[hyphen+1:]) - } - if startOffset < 0 || endOffset < 0 { - err = fmt.Errorf("invalid -pos offset %q", offset) - return - } - return -} - -// findQueryPos searches fset for filename and translates the -// specified file-relative byte offsets into token.Pos form. It -// returns an error if the file was not found or the offsets were out -// of bounds. -// -func findQueryPos(fset *token.FileSet, filename string, startOffset, endOffset int) (start, end token.Pos, err error) { - var file *token.File - fset.Iterate(func(f *token.File) bool { - if sameFile(filename, f.Name()) { - // (f.Name() is absolute) - file = f - return false // done - } - return true // continue - }) - if file == nil { - err = fmt.Errorf("couldn't find file containing position") - return - } - - // Range check [start..end], inclusive of both end-points. - - if 0 <= startOffset && startOffset <= file.Size() { - start = file.Pos(int(startOffset)) - } else { - err = fmt.Errorf("start position is beyond end of file") - return - } - - if 0 <= endOffset && endOffset <= file.Size() { - end = file.Pos(int(endOffset)) - } else { - err = fmt.Errorf("end position is beyond end of file") - return - } - - return -} - -// sameFile returns true if x and y have the same basename and denote -// the same file. -// -func sameFile(x, y string) bool { - if filepath.Base(x) == filepath.Base(y) { // (optimisation) - if xi, err := os.Stat(x); err == nil { - if yi, err := os.Stat(y); err == nil { - return os.SameFile(xi, yi) - } - } - } - return false -} - -// fastQueryPos parses the -pos flag and returns a QueryPos. -// It parses only a single file, and does not run the type checker. -func fastQueryPos(posFlag string) (*queryPos, error) { - filename, startOffset, endOffset, err := parsePosFlag(posFlag) - if err != nil { - return nil, err - } - - fset := token.NewFileSet() - f, err := parser.ParseFile(fset, filename, nil, 0) - if err != nil { - return nil, err - } - - start, end, err := findQueryPos(fset, filename, startOffset, endOffset) - if err != nil { - return nil, err - } - - path, exact := astutil.PathEnclosingInterval(f, start, end) - if path == nil { - return nil, fmt.Errorf("no syntax here") - } - - return &queryPos{fset, start, end, path, exact, nil}, nil -} diff --git a/vendor/golang.org/x/tools/oracle/referrers.go b/vendor/golang.org/x/tools/oracle/referrers.go deleted file mode 100644 index 7383d1f..0000000 --- a/vendor/golang.org/x/tools/oracle/referrers.go +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" - "io/ioutil" - "sort" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" - "golang.org/x/tools/refactor/importgraph" -) - -// Referrers reports all identifiers that resolve to the same object -// as the queried identifier, within any package in the analysis scope. -func referrers(q *Query) error { - lconf := loader.Config{Build: q.Build} - allowErrors(&lconf) - - if err := importQueryPackage(q.Pos, &lconf); err != nil { - return err - } - - var id *ast.Ident - var obj types.Object - var lprog *loader.Program - var pass2 bool - var qpos *queryPos - for { - // Load/parse/type-check the program. - var err error - lprog, err = lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err = parseQueryPos(lprog, q.Pos, false) - if err != nil { - return err - } - - id, _ = qpos.path[0].(*ast.Ident) - if id == nil { - return fmt.Errorf("no identifier here") - } - - obj = qpos.info.ObjectOf(id) - if obj == nil { - // Happens for y in "switch y := x.(type)", - // the package declaration, - // and unresolved identifiers. - if _, ok := qpos.path[1].(*ast.File); ok { // package decl? - pkg := qpos.info.Pkg - obj = types.NewPkgName(id.Pos(), pkg, pkg.Name(), pkg) - } else { - return fmt.Errorf("no object for identifier: %T", qpos.path[1]) - } - } - - if pass2 { - break - } - - // If the identifier is exported, we must load all packages that - // depend transitively upon the package that defines it. - // Treat PkgNames as exported, even though they're lowercase. - if _, isPkg := obj.(*types.PkgName); !(isPkg || obj.Exported()) { - break // not exported - } - - // Scan the workspace and build the import graph. - // Ignore broken packages. - _, rev, _ := importgraph.Build(q.Build) - - // Re-load the larger program. - // Create a new file set so that ... - // External test packages are never imported, - // so they will never appear in the graph. - // (We must reset the Config here, not just reset the Fset field.) - lconf = loader.Config{ - Fset: token.NewFileSet(), - Build: q.Build, - } - allowErrors(&lconf) - for path := range rev.Search(obj.Pkg().Path()) { - lconf.ImportWithTests(path) - } - pass2 = true - } - - // Iterate over all go/types' Uses facts for the entire program. - var refs []*ast.Ident - for _, info := range lprog.AllPackages { - for id2, obj2 := range info.Uses { - if sameObj(obj, obj2) { - refs = append(refs, id2) - } - } - } - sort.Sort(byNamePos{q.Fset, refs}) - - q.result = &referrersResult{ - qpos: qpos, - query: id, - obj: obj, - refs: refs, - } - return nil -} - -// same reports whether x and y are identical, or both are PkgNames -// that import the same Package. -// -func sameObj(x, y types.Object) bool { - if x == y { - return true - } - if x, ok := x.(*types.PkgName); ok { - if y, ok := y.(*types.PkgName); ok { - return x.Imported() == y.Imported() - } - } - return false -} - -// -------- utils -------- - -// An deterministic ordering for token.Pos that doesn't -// depend on the order in which packages were loaded. -func lessPos(fset *token.FileSet, x, y token.Pos) bool { - fx := fset.File(x) - fy := fset.File(y) - if fx != fy { - return fx.Name() < fy.Name() - } - return x < y -} - -type byNamePos struct { - fset *token.FileSet - ids []*ast.Ident -} - -func (p byNamePos) Len() int { return len(p.ids) } -func (p byNamePos) Swap(i, j int) { p.ids[i], p.ids[j] = p.ids[j], p.ids[i] } -func (p byNamePos) Less(i, j int) bool { - return lessPos(p.fset, p.ids[i].NamePos, p.ids[j].NamePos) -} - -type referrersResult struct { - qpos *queryPos - query *ast.Ident // identifier of query - obj types.Object // object it denotes - refs []*ast.Ident // set of all other references to it -} - -func (r *referrersResult) display(printf printfFunc) { - printf(r.obj, "%d references to %s", len(r.refs), r.qpos.objectString(r.obj)) - - // Show referring lines, like grep. - type fileinfo struct { - refs []*ast.Ident - linenums []int // line number of refs[i] - data chan []byte // file contents - } - var fileinfos []*fileinfo - fileinfosByName := make(map[string]*fileinfo) - - // First pass: start the file reads concurrently. - for _, ref := range r.refs { - posn := r.qpos.fset.Position(ref.Pos()) - fi := fileinfosByName[posn.Filename] - if fi == nil { - fi = &fileinfo{data: make(chan []byte)} - fileinfosByName[posn.Filename] = fi - fileinfos = append(fileinfos, fi) - - // First request for this file: - // start asynchronous read. - go func() { - content, err := ioutil.ReadFile(posn.Filename) - if err != nil { - content = []byte(fmt.Sprintf("error: %v", err)) - } - fi.data <- content - }() - } - fi.refs = append(fi.refs, ref) - fi.linenums = append(fi.linenums, posn.Line) - } - - // Second pass: print refs in original order. - // One line may have several refs at different columns. - for _, fi := range fileinfos { - content := <-fi.data // wait for I/O completion - lines := bytes.Split(content, []byte("\n")) - for i, ref := range fi.refs { - printf(ref, "%s", lines[fi.linenums[i]-1]) - } - } -} - -// TODO(adonovan): encode extent, not just Pos info, in Serial form. - -func (r *referrersResult) toSerial(res *serial.Result, fset *token.FileSet) { - referrers := &serial.Referrers{ - Pos: fset.Position(r.query.Pos()).String(), - Desc: r.obj.String(), - } - if pos := r.obj.Pos(); pos != token.NoPos { // Package objects have no Pos() - referrers.ObjPos = fset.Position(pos).String() - } - for _, ref := range r.refs { - referrers.Refs = append(referrers.Refs, fset.Position(ref.NamePos).String()) - } - res.Referrers = referrers -} diff --git a/vendor/golang.org/x/tools/oracle/serial/serial.go b/vendor/golang.org/x/tools/oracle/serial/serial.go deleted file mode 100644 index 65f0822..0000000 --- a/vendor/golang.org/x/tools/oracle/serial/serial.go +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright 2013 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. - -// Package serial defines the oracle's schema for structured data -// serialization using JSON, XML, etc. -package serial - -// All 'pos' strings are of the form "file:line:col". -// TODO(adonovan): improve performance by sharing filename strings. -// TODO(adonovan): improve precision by providing the start/end -// interval when available. -// -// TODO(adonovan): consider richer encodings of types, functions, -// methods, etc. - -// A Peers is the result of a 'peers' query. -// If Allocs is empty, the selected channel can't point to anything. -type Peers struct { - Pos string `json:"pos"` // location of the selected channel op (<-) - Type string `json:"type"` // type of the selected channel - Allocs []string `json:"allocs,omitempty"` // locations of aliased make(chan) ops - Sends []string `json:"sends,omitempty"` // locations of aliased ch<-x ops - Receives []string `json:"receives,omitempty"` // locations of aliased <-ch ops - Closes []string `json:"closes,omitempty"` // locations of aliased close(ch) ops -} - -// A Referrers is the result of a 'referrers' query. -type Referrers struct { - Pos string `json:"pos"` // location of the query reference - ObjPos string `json:"objpos,omitempty"` // location of the definition - Desc string `json:"desc"` // description of the denoted object - Refs []string `json:"refs,omitempty"` // locations of all references -} - -// A Definition is the result of a 'definition' query. -type Definition struct { - ObjPos string `json:"objpos,omitempty"` // location of the definition - Desc string `json:"desc"` // description of the denoted object -} - -type CalleesItem struct { - Name string `json:"name"` // full name of called function - Pos string `json:"pos"` // location of called function -} - -// A Callees is the result of a 'callees' query. -// -// Callees is nonempty unless the call was a dynamic call on a -// provably nil func or interface value. -type Callees struct { - Pos string `json:"pos"` // location of selected call site - Desc string `json:"desc"` // description of call site - Callees []*CalleesItem `json:"callees,omitempty"` // set of possible call targets -} - -// A Caller is one element of the slice returned by a 'callers' query. -// (Callstack also contains a similar slice.) -// -// The root of the callgraph has an unspecified "Caller" string. -type Caller struct { - Pos string `json:"pos,omitempty"` // location of the calling function - Desc string `json:"desc"` // description of call site - Caller string `json:"caller"` // full name of calling function -} - -// A CallStack is the result of a 'callstack' query. -// It indicates an arbitrary path from the root of the callgraph to -// the query function. -// -// If the Callers slice is empty, the function was unreachable in this -// analysis scope. -type CallStack struct { - Pos string `json:"pos"` // location of the selected function - Target string `json:"target"` // the selected function - Callers []Caller `json:"callers"` // enclosing calls, innermost first. -} - -// A FreeVar is one element of the slice returned by a 'freevars' -// query. Each one identifies an expression referencing a local -// identifier defined outside the selected region. -type FreeVar struct { - Pos string `json:"pos"` // location of the identifier's definition - Kind string `json:"kind"` // one of {var,func,type,const,label} - Ref string `json:"ref"` // referring expression (e.g. "x" or "x.y.z") - Type string `json:"type"` // type of the expression -} - -// An Implements contains the result of an 'implements' query. -// It describes the queried type, the set of named non-empty interface -// types to which it is assignable, and the set of named/*named types -// (concrete or non-empty interface) which may be assigned to it. -// -type Implements struct { - T ImplementsType `json:"type,omitempty"` // the queried type - AssignableTo []ImplementsType `json:"to,omitempty"` // types assignable to T - AssignableFrom []ImplementsType `json:"from,omitempty"` // interface types assignable from T - AssignableFromPtr []ImplementsType `json:"fromptr,omitempty"` // interface types assignable only from *T - - // The following fields are set only if the query was a method. - // Assignable{To,From,FromPtr}Method[i] is the corresponding - // method of type Assignable{To,From,FromPtr}[i], or blank - // {"",""} if that type lacks the method. - Method *DescribeMethod `json:"method,omitempty"` // the queried method - AssignableToMethod []DescribeMethod `json:"to_method,omitempty"` - AssignableFromMethod []DescribeMethod `json:"from_method,omitempty"` - AssignableFromPtrMethod []DescribeMethod `json:"fromptr_method,omitempty"` -} - -// An ImplementsType describes a single type as part of an 'implements' query. -type ImplementsType struct { - Name string `json:"name"` // full name of the type - Pos string `json:"pos"` // location of its definition - Kind string `json:"kind"` // "basic", "array", etc -} - -// A SyntaxNode is one element of a stack of enclosing syntax nodes in -// a "what" query. -type SyntaxNode struct { - Description string `json:"desc"` // description of syntax tree - Start int `json:"start"` // start byte offset, 0-based - End int `json:"end"` // end byte offset -} - -// A What is the result of the "what" query, which quickly identifies -// the selection, parsing only a single file. It is intended for use -// in low-latency GUIs. -type What struct { - Enclosing []SyntaxNode `json:"enclosing"` // enclosing nodes of syntax tree - Modes []string `json:"modes"` // query modes enabled for this selection. - SrcDir string `json:"srcdir,omitempty"` // $GOROOT src directory containing queried package - ImportPath string `json:"importpath,omitempty"` // import path of queried package -} - -// A PointsToLabel describes a pointer analysis label. -// -// A "label" is an object that may be pointed to by a pointer, map, -// channel, 'func', slice or interface. Labels include: -// - functions -// - globals -// - arrays created by literals (e.g. []byte("foo")) and conversions ([]byte(s)) -// - stack- and heap-allocated variables (including composite literals) -// - arrays allocated by append() -// - channels, maps and arrays created by make() -// - and their subelements, e.g. "alloc.y[*].z" -// -type PointsToLabel struct { - Pos string `json:"pos"` // location of syntax that allocated the object - Desc string `json:"desc"` // description of the label -} - -// A PointsTo is one element of the result of a 'pointsto' query on an -// expression. It describes a single pointer: its type and the set of -// "labels" it points to. -// -// If the pointer is of interface type, it will have one PTS entry -// describing each concrete type that it may contain. For each -// concrete type that is a pointer, the PTS entry describes the labels -// it may point to. The same is true for reflect.Values, except the -// dynamic types needn't be concrete. -// -type PointsTo struct { - Type string `json:"type"` // (concrete) type of the pointer - NamePos string `json:"namepos,omitempty"` // location of type defn, if Named - Labels []PointsToLabel `json:"labels,omitempty"` // pointed-to objects -} - -// A DescribeValue is the additional result of a 'describe' query -// if the selection indicates a value or expression. -type DescribeValue struct { - Type string `json:"type"` // type of the expression - Value string `json:"value,omitempty"` // value of the expression, if constant - ObjPos string `json:"objpos,omitempty"` // location of the definition, if an Ident -} - -type DescribeMethod struct { - Name string `json:"name"` // method name, as defined by types.Selection.String() - Pos string `json:"pos"` // location of the method's definition -} - -// A DescribeType is the additional result of a 'describe' query -// if the selection indicates a type. -type DescribeType struct { - Type string `json:"type"` // the string form of the type - NamePos string `json:"namepos,omitempty"` // location of definition of type, if named - NameDef string `json:"namedef,omitempty"` // underlying definition of type, if named - Methods []DescribeMethod `json:"methods,omitempty"` // methods of the type -} - -type DescribeMember struct { - Name string `json:"name"` // name of member - Type string `json:"type,omitempty"` // type of member (underlying, if 'type') - Value string `json:"value,omitempty"` // value of member (if 'const') - Pos string `json:"pos"` // location of definition of member - Kind string `json:"kind"` // one of {var,const,func,type} - Methods []DescribeMethod `json:"methods,omitempty"` // methods (if member is a type) -} - -// A DescribePackage is the additional result of a 'describe' if -// the selection indicates a package. -type DescribePackage struct { - Path string `json:"path"` // import path of the package - Members []*DescribeMember `json:"members,omitempty"` // accessible members of the package -} - -// A Describe is the result of a 'describe' query. -// It may contain an element describing the selected semantic entity -// in detail. -type Describe struct { - Desc string `json:"desc"` // description of the selected syntax node - Pos string `json:"pos"` // location of the selected syntax node - Detail string `json:"detail,omitempty"` // one of {package, type, value}, or "". - - // At most one of the following fields is populated: - // the one specified by 'detail'. - Package *DescribePackage `json:"package,omitempty"` - Type *DescribeType `json:"type,omitempty"` - Value *DescribeValue `json:"value,omitempty"` -} - -// A WhichErrs is the result of a 'whicherrs' query. -// It contains the position of the queried error and the possible globals, -// constants, and types it may point to. -type WhichErrs struct { - ErrPos string `json:"errpos,omitempty"` // location of queried error - Globals []string `json:"globals,omitempty"` // locations of globals - Constants []string `json:"constants,omitempty"` // locations of constants - Types []WhichErrsType `json:"types,omitempty"` // Types -} - -type WhichErrsType struct { - Type string `json:"type,omitempty"` - Position string `json:"position,omitempty"` -} - -// A Result is the common result of any oracle query. -// It contains a query-specific result element. -// -// TODO(adonovan): perhaps include other info such as: analysis scope, -// raw query position, stack of ast nodes, query package, etc. -type Result struct { - Mode string `json:"mode"` // mode of the query - - // Exactly one of the following fields is populated: - // the one specified by 'mode'. - Callees *Callees `json:"callees,omitempty"` - Callers []Caller `json:"callers,omitempty"` - Callstack *CallStack `json:"callstack,omitempty"` - Definition *Definition `json:"definition,omitempty"` - Describe *Describe `json:"describe,omitempty"` - Freevars []*FreeVar `json:"freevars,omitempty"` - Implements *Implements `json:"implements,omitempty"` - Peers *Peers `json:"peers,omitempty"` - PointsTo []PointsTo `json:"pointsto,omitempty"` - Referrers *Referrers `json:"referrers,omitempty"` - What *What `json:"what,omitempty"` - WhichErrs *WhichErrs `json:"whicherrs,omitempty"` -} diff --git a/vendor/golang.org/x/tools/oracle/what.go b/vendor/golang.org/x/tools/oracle/what.go deleted file mode 100644 index 5a5c0cf..0000000 --- a/vendor/golang.org/x/tools/oracle/what.go +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright 2013 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/build" - "go/token" - "os" - "path/filepath" - "sort" - "strings" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/oracle/serial" -) - -// what reports all the information about the query selection that can be -// obtained from parsing only its containing source file. -// It is intended to be a very low-latency query callable from GUI -// tools, e.g. to populate a menu of options of slower queries about -// the selected location. -// -func what(q *Query) error { - qpos, err := fastQueryPos(q.Pos) - if err != nil { - return err - } - q.Fset = qpos.fset - - // (ignore errors) - srcdir, importPath, _ := guessImportPath(q.Fset.File(qpos.start).Name(), q.Build) - - // Determine which query modes are applicable to the selection. - enable := map[string]bool{ - "describe": true, // any syntax; always enabled - } - - if qpos.end > qpos.start { - enable["freevars"] = true // nonempty selection? - } - - for _, n := range qpos.path { - switch n := n.(type) { - case *ast.Ident: - enable["definition"] = true - enable["referrers"] = true - enable["implements"] = true - case *ast.CallExpr: - enable["callees"] = true - case *ast.FuncDecl: - enable["callers"] = true - enable["callstack"] = true - case *ast.SendStmt: - enable["peers"] = true - case *ast.UnaryExpr: - if n.Op == token.ARROW { - enable["peers"] = true - } - } - - // For implements, we approximate findInterestingNode. - if _, ok := enable["implements"]; !ok { - switch n.(type) { - case *ast.ArrayType, - *ast.StructType, - *ast.FuncType, - *ast.InterfaceType, - *ast.MapType, - *ast.ChanType: - enable["implements"] = true - } - } - - // For pointsto, we approximate findInterestingNode. - if _, ok := enable["pointsto"]; !ok { - switch n.(type) { - case ast.Stmt, - *ast.ArrayType, - *ast.StructType, - *ast.FuncType, - *ast.InterfaceType, - *ast.MapType, - *ast.ChanType: - enable["pointsto"] = false // not an expr - - case ast.Expr, ast.Decl, *ast.ValueSpec: - enable["pointsto"] = true // an expr, maybe - - default: - // Comment, Field, KeyValueExpr, etc: ascend. - } - } - } - - // If we don't have an exact selection, disable modes that need one. - if !qpos.exact { - enable["callees"] = false - enable["pointsto"] = false - enable["whicherrs"] = false - enable["describe"] = false - } - - var modes []string - for mode := range enable { - modes = append(modes, mode) - } - sort.Strings(modes) - - q.result = &whatResult{ - path: qpos.path, - srcdir: srcdir, - importPath: importPath, - modes: modes, - } - return nil -} - -// guessImportPath finds the package containing filename, and returns -// its source directory (an element of $GOPATH) and its import path -// relative to it. -// -// TODO(adonovan): what about _test.go files that are not part of the -// package? -// -func guessImportPath(filename string, buildContext *build.Context) (srcdir, importPath string, err error) { - absFile, err := filepath.Abs(filename) - if err != nil { - err = fmt.Errorf("can't form absolute path of %s", filename) - return - } - absFileDir := segments(filepath.Dir(absFile)) - - // Find the innermost directory in $GOPATH that encloses filename. - minD := 1024 - for _, gopathDir := range buildContext.SrcDirs() { - absDir, err := filepath.Abs(gopathDir) - if err != nil { - continue // e.g. non-existent dir on $GOPATH - } - d := prefixLen(segments(absDir), absFileDir) - // If there are multiple matches, - // prefer the innermost enclosing directory - // (smallest d). - if d >= 0 && d < minD { - minD = d - srcdir = gopathDir - importPath = strings.Join(absFileDir[len(absFileDir)-minD:], string(os.PathSeparator)) - } - } - if srcdir == "" { - err = fmt.Errorf("directory %s is not beneath any of these GOROOT/GOPATH directories: %s", - filepath.Dir(absFile), strings.Join(buildContext.SrcDirs(), ", ")) - } - return -} - -func segments(path string) []string { - return strings.Split(path, string(os.PathSeparator)) -} - -// prefixLen returns the length of the remainder of y if x is a prefix -// of y, a negative number otherwise. -func prefixLen(x, y []string) int { - d := len(y) - len(x) - if d >= 0 { - for i := range x { - if y[i] != x[i] { - return -1 // not a prefix - } - } - } - return d -} - -type whatResult struct { - path []ast.Node - modes []string - srcdir string - importPath string -} - -func (r *whatResult) display(printf printfFunc) { - for _, n := range r.path { - printf(n, "%s", astutil.NodeDescription(n)) - } - printf(nil, "modes: %s", r.modes) - printf(nil, "srcdir: %s", r.srcdir) - printf(nil, "import path: %s", r.importPath) -} - -func (r *whatResult) toSerial(res *serial.Result, fset *token.FileSet) { - var enclosing []serial.SyntaxNode - for _, n := range r.path { - enclosing = append(enclosing, serial.SyntaxNode{ - Description: astutil.NodeDescription(n), - Start: fset.Position(n.Pos()).Offset, - End: fset.Position(n.End()).Offset, - }) - } - res.What = &serial.What{ - Modes: r.modes, - SrcDir: r.srcdir, - ImportPath: r.importPath, - Enclosing: enclosing, - } -} diff --git a/vendor/golang.org/x/tools/oracle/whicherrs.go b/vendor/golang.org/x/tools/oracle/whicherrs.go deleted file mode 100644 index aaa6068..0000000 --- a/vendor/golang.org/x/tools/oracle/whicherrs.go +++ /dev/null @@ -1,326 +0,0 @@ -// Copyright 2014 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. - -package oracle - -import ( - "fmt" - "go/ast" - "go/token" - "sort" - - "golang.org/x/tools/go/ast/astutil" - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" - "golang.org/x/tools/go/types" - "golang.org/x/tools/oracle/serial" -) - -var builtinErrorType = types.Universe.Lookup("error").Type() - -// whicherrs takes an position to an error and tries to find all types, constants -// and global value which a given error can point to and which can be checked from the -// scope where the error lives. -// In short, it returns a list of things that can be checked against in order to handle -// an error properly. -// -// TODO(dmorsing): figure out if fields in errors like *os.PathError.Err -// can be queried recursively somehow. -func whicherrs(q *Query) error { - lconf := loader.Config{Build: q.Build} - - if err := setPTAScope(&lconf, q.Scope); err != nil { - return err - } - - // Load/parse/type-check the program. - lprog, err := lconf.Load() - if err != nil { - return err - } - q.Fset = lprog.Fset - - qpos, err := parseQueryPos(lprog, q.Pos, true) // needs exact pos - if err != nil { - return err - } - - prog := ssautil.CreateProgram(lprog, ssa.GlobalDebug) - - ptaConfig, err := setupPTA(prog, lprog, q.PTALog, q.Reflection) - if err != nil { - return err - } - - path, action := findInterestingNode(qpos.info, qpos.path) - if action != actionExpr { - return fmt.Errorf("whicherrs wants an expression; got %s", - astutil.NodeDescription(qpos.path[0])) - } - var expr ast.Expr - var obj types.Object - switch n := path[0].(type) { - case *ast.ValueSpec: - // ambiguous ValueSpec containing multiple names - return fmt.Errorf("multiple value specification") - case *ast.Ident: - obj = qpos.info.ObjectOf(n) - expr = n - case ast.Expr: - expr = n - default: - return fmt.Errorf("unexpected AST for expr: %T", n) - } - - typ := qpos.info.TypeOf(expr) - if !types.Identical(typ, builtinErrorType) { - return fmt.Errorf("selection is not an expression of type 'error'") - } - // Determine the ssa.Value for the expression. - var value ssa.Value - if obj != nil { - // def/ref of func/var object - value, _, err = ssaValueForIdent(prog, qpos.info, obj, path) - } else { - value, _, err = ssaValueForExpr(prog, qpos.info, path) - } - if err != nil { - return err // e.g. trivially dead code - } - - // Defer SSA construction till after errors are reported. - prog.BuildAll() - - globals := findVisibleErrs(prog, qpos) - constants := findVisibleConsts(prog, qpos) - - res := &whicherrsResult{ - qpos: qpos, - errpos: expr.Pos(), - } - - // TODO(adonovan): the following code is heavily duplicated - // w.r.t. "pointsto". Refactor? - - // Find the instruction which initialized the - // global error. If more than one instruction has stored to the global - // remove the global from the set of values that we want to query. - allFuncs := ssautil.AllFunctions(prog) - for fn := range allFuncs { - for _, b := range fn.Blocks { - for _, instr := range b.Instrs { - store, ok := instr.(*ssa.Store) - if !ok { - continue - } - gval, ok := store.Addr.(*ssa.Global) - if !ok { - continue - } - gbl, ok := globals[gval] - if !ok { - continue - } - // we already found a store to this global - // The normal error define is just one store in the init - // so we just remove this global from the set we want to query - if gbl != nil { - delete(globals, gval) - } - globals[gval] = store.Val - } - } - } - - ptaConfig.AddQuery(value) - for _, v := range globals { - ptaConfig.AddQuery(v) - } - - ptares := ptrAnalysis(ptaConfig) - valueptr := ptares.Queries[value] - for g, v := range globals { - ptr, ok := ptares.Queries[v] - if !ok { - continue - } - if !ptr.MayAlias(valueptr) { - continue - } - res.globals = append(res.globals, g) - } - pts := valueptr.PointsTo() - dedup := make(map[*ssa.NamedConst]bool) - for _, label := range pts.Labels() { - // These values are either MakeInterfaces or reflect - // generated interfaces. For the purposes of this - // analysis, we don't care about reflect generated ones - makeiface, ok := label.Value().(*ssa.MakeInterface) - if !ok { - continue - } - constval, ok := makeiface.X.(*ssa.Const) - if !ok { - continue - } - c := constants[*constval] - if c != nil && !dedup[c] { - dedup[c] = true - res.consts = append(res.consts, c) - } - } - concs := pts.DynamicTypes() - concs.Iterate(func(conc types.Type, _ interface{}) { - // go/types is a bit annoying here. - // We want to find all the types that we can - // typeswitch or assert to. This means finding out - // if the type pointed to can be seen by us. - // - // For the purposes of this analysis, the type is always - // either a Named type or a pointer to one. - // There are cases where error can be implemented - // by unnamed types, but in that case, we can't assert to - // it, so we don't care about it for this analysis. - var name *types.TypeName - switch t := conc.(type) { - case *types.Pointer: - named, ok := t.Elem().(*types.Named) - if !ok { - return - } - name = named.Obj() - case *types.Named: - name = t.Obj() - default: - return - } - if !isAccessibleFrom(name, qpos.info.Pkg) { - return - } - res.types = append(res.types, &errorType{conc, name}) - }) - sort.Sort(membersByPosAndString(res.globals)) - sort.Sort(membersByPosAndString(res.consts)) - sort.Sort(sorterrorType(res.types)) - - q.result = res - return nil -} - -// findVisibleErrs returns a mapping from each package-level variable of type "error" to nil. -func findVisibleErrs(prog *ssa.Program, qpos *queryPos) map[*ssa.Global]ssa.Value { - globals := make(map[*ssa.Global]ssa.Value) - for _, pkg := range prog.AllPackages() { - for _, mem := range pkg.Members { - gbl, ok := mem.(*ssa.Global) - if !ok { - continue - } - gbltype := gbl.Type() - // globals are always pointers - if !types.Identical(deref(gbltype), builtinErrorType) { - continue - } - if !isAccessibleFrom(gbl.Object(), qpos.info.Pkg) { - continue - } - globals[gbl] = nil - } - } - return globals -} - -// findVisibleConsts returns a mapping from each package-level constant assignable to type "error", to nil. -func findVisibleConsts(prog *ssa.Program, qpos *queryPos) map[ssa.Const]*ssa.NamedConst { - constants := make(map[ssa.Const]*ssa.NamedConst) - for _, pkg := range prog.AllPackages() { - for _, mem := range pkg.Members { - obj, ok := mem.(*ssa.NamedConst) - if !ok { - continue - } - consttype := obj.Type() - if !types.AssignableTo(consttype, builtinErrorType) { - continue - } - if !isAccessibleFrom(obj.Object(), qpos.info.Pkg) { - continue - } - constants[*obj.Value] = obj - } - } - - return constants -} - -type membersByPosAndString []ssa.Member - -func (a membersByPosAndString) Len() int { return len(a) } -func (a membersByPosAndString) Less(i, j int) bool { - cmp := a[i].Pos() - a[j].Pos() - return cmp < 0 || cmp == 0 && a[i].String() < a[j].String() -} -func (a membersByPosAndString) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -type sorterrorType []*errorType - -func (a sorterrorType) Len() int { return len(a) } -func (a sorterrorType) Less(i, j int) bool { - cmp := a[i].obj.Pos() - a[j].obj.Pos() - return cmp < 0 || cmp == 0 && a[i].typ.String() < a[j].typ.String() -} -func (a sorterrorType) Swap(i, j int) { a[i], a[j] = a[j], a[i] } - -type errorType struct { - typ types.Type // concrete type N or *N that implements error - obj *types.TypeName // the named type N -} - -type whicherrsResult struct { - qpos *queryPos - errpos token.Pos - globals []ssa.Member - consts []ssa.Member - types []*errorType -} - -func (r *whicherrsResult) display(printf printfFunc) { - if len(r.globals) > 0 { - printf(r.qpos, "this error may point to these globals:") - for _, g := range r.globals { - printf(g.Pos(), "\t%s", g.RelString(r.qpos.info.Pkg)) - } - } - if len(r.consts) > 0 { - printf(r.qpos, "this error may contain these constants:") - for _, c := range r.consts { - printf(c.Pos(), "\t%s", c.RelString(r.qpos.info.Pkg)) - } - } - if len(r.types) > 0 { - printf(r.qpos, "this error may contain these dynamic types:") - for _, t := range r.types { - printf(t.obj.Pos(), "\t%s", r.qpos.typeString(t.typ)) - } - } -} - -func (r *whicherrsResult) toSerial(res *serial.Result, fset *token.FileSet) { - we := &serial.WhichErrs{} - we.ErrPos = fset.Position(r.errpos).String() - for _, g := range r.globals { - we.Globals = append(we.Globals, fset.Position(g.Pos()).String()) - } - for _, c := range r.consts { - we.Constants = append(we.Constants, fset.Position(c.Pos()).String()) - } - for _, t := range r.types { - var et serial.WhichErrsType - et.Type = r.qpos.typeString(t.typ) - et.Position = fset.Position(t.obj.Pos()).String() - we.Types = append(we.Types, et) - } - res.WhichErrs = we -} diff --git a/vendor/golang.org/x/tools/present/args.go b/vendor/golang.org/x/tools/present/args.go deleted file mode 100644 index 49ee1a9..0000000 --- a/vendor/golang.org/x/tools/present/args.go +++ /dev/null @@ -1,229 +0,0 @@ -// Copyright 2012 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. - -package present - -import ( - "errors" - "regexp" - "strconv" - "unicode/utf8" -) - -// This file is stolen from go/src/cmd/godoc/codewalk.go. -// It's an evaluator for the file address syntax implemented by acme and sam, -// but using Go-native regular expressions. -// To keep things reasonably close, this version uses (?m:re) for all user-provided -// regular expressions. That is the only change to the code from codewalk.go. -// See http://plan9.bell-labs.com/sys/doc/sam/sam.html Table II -// for details on the syntax. - -// addrToByte evaluates the given address starting at offset start in data. -// It returns the lo and hi byte offset of the matched region within data. -func addrToByteRange(addr string, start int, data []byte) (lo, hi int, err error) { - if addr == "" { - lo, hi = start, len(data) - return - } - var ( - dir byte - prevc byte - charOffset bool - ) - lo = start - hi = start - for addr != "" && err == nil { - c := addr[0] - switch c { - default: - err = errors.New("invalid address syntax near " + string(c)) - case ',': - if len(addr) == 1 { - hi = len(data) - } else { - _, hi, err = addrToByteRange(addr[1:], hi, data) - } - return - - case '+', '-': - if prevc == '+' || prevc == '-' { - lo, hi, err = addrNumber(data, lo, hi, prevc, 1, charOffset) - } - dir = c - - case '$': - lo = len(data) - hi = len(data) - if len(addr) > 1 { - dir = '+' - } - - case '#': - charOffset = true - - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - var i int - for i = 1; i < len(addr); i++ { - if addr[i] < '0' || addr[i] > '9' { - break - } - } - var n int - n, err = strconv.Atoi(addr[0:i]) - if err != nil { - break - } - lo, hi, err = addrNumber(data, lo, hi, dir, n, charOffset) - dir = 0 - charOffset = false - prevc = c - addr = addr[i:] - continue - - case '/': - var i, j int - Regexp: - for i = 1; i < len(addr); i++ { - switch addr[i] { - case '\\': - i++ - case '/': - j = i + 1 - break Regexp - } - } - if j == 0 { - j = i - } - pattern := addr[1:i] - lo, hi, err = addrRegexp(data, lo, hi, dir, pattern) - prevc = c - addr = addr[j:] - continue - } - prevc = c - addr = addr[1:] - } - - if err == nil && dir != 0 { - lo, hi, err = addrNumber(data, lo, hi, dir, 1, charOffset) - } - if err != nil { - return 0, 0, err - } - return lo, hi, nil -} - -// addrNumber applies the given dir, n, and charOffset to the address lo, hi. -// dir is '+' or '-', n is the count, and charOffset is true if the syntax -// used was #n. Applying +n (or +#n) means to advance n lines -// (or characters) after hi. Applying -n (or -#n) means to back up n lines -// (or characters) before lo. -// The return value is the new lo, hi. -func addrNumber(data []byte, lo, hi int, dir byte, n int, charOffset bool) (int, int, error) { - switch dir { - case 0: - lo = 0 - hi = 0 - fallthrough - - case '+': - if charOffset { - pos := hi - for ; n > 0 && pos < len(data); n-- { - _, size := utf8.DecodeRune(data[pos:]) - pos += size - } - if n == 0 { - return pos, pos, nil - } - break - } - // find next beginning of line - if hi > 0 { - for hi < len(data) && data[hi-1] != '\n' { - hi++ - } - } - lo = hi - if n == 0 { - return lo, hi, nil - } - for ; hi < len(data); hi++ { - if data[hi] != '\n' { - continue - } - switch n--; n { - case 1: - lo = hi + 1 - case 0: - return lo, hi + 1, nil - } - } - - case '-': - if charOffset { - // Scan backward for bytes that are not UTF-8 continuation bytes. - pos := lo - for ; pos > 0 && n > 0; pos-- { - if data[pos]&0xc0 != 0x80 { - n-- - } - } - if n == 0 { - return pos, pos, nil - } - break - } - // find earlier beginning of line - for lo > 0 && data[lo-1] != '\n' { - lo-- - } - hi = lo - if n == 0 { - return lo, hi, nil - } - for ; lo >= 0; lo-- { - if lo > 0 && data[lo-1] != '\n' { - continue - } - switch n--; n { - case 1: - hi = lo - case 0: - return lo, hi, nil - } - } - } - - return 0, 0, errors.New("address out of range") -} - -// addrRegexp searches for pattern in the given direction starting at lo, hi. -// The direction dir is '+' (search forward from hi) or '-' (search backward from lo). -// Backward searches are unimplemented. -func addrRegexp(data []byte, lo, hi int, dir byte, pattern string) (int, int, error) { - // We want ^ and $ to work as in sam/acme, so use ?m. - re, err := regexp.Compile("(?m:" + pattern + ")") - if err != nil { - return 0, 0, err - } - if dir == '-' { - // Could implement reverse search using binary search - // through file, but that seems like overkill. - return 0, 0, errors.New("reverse search not implemented") - } - m := re.FindIndex(data[hi:]) - if len(m) > 0 { - m[0] += hi - m[1] += hi - } else if hi > 0 { - // No match. Wrap to beginning of data. - m = re.FindIndex(data) - } - if len(m) == 0 { - return 0, 0, errors.New("no match for " + pattern) - } - return m[0], m[1], nil -} diff --git a/vendor/golang.org/x/tools/present/caption.go b/vendor/golang.org/x/tools/present/caption.go deleted file mode 100644 index 00e0b5d..0000000 --- a/vendor/golang.org/x/tools/present/caption.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2012 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. - -package present - -import "strings" - -func init() { - Register("caption", parseCaption) -} - -type Caption struct { - Text string -} - -func (c Caption) TemplateName() string { return "caption" } - -func parseCaption(_ *Context, _ string, _ int, text string) (Elem, error) { - text = strings.TrimSpace(strings.TrimPrefix(text, ".caption")) - return Caption{text}, nil -} diff --git a/vendor/golang.org/x/tools/present/code.go b/vendor/golang.org/x/tools/present/code.go deleted file mode 100644 index 5a29951..0000000 --- a/vendor/golang.org/x/tools/present/code.go +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright 2012 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. - -package present - -import ( - "bufio" - "bytes" - "fmt" - "html/template" - "path/filepath" - "regexp" - "strconv" - "strings" -) - -// Is the playground available? -var PlayEnabled = false - -// TOOD(adg): replace the PlayEnabled flag with something less spaghetti-like. -// Instead this will probably be determined by a template execution Context -// value that contains various global metadata required when rendering -// templates. - -func init() { - Register("code", parseCode) - Register("play", parseCode) -} - -type Code struct { - Text template.HTML - Play bool // runnable code - FileName string // file name - Ext string // file extension - Raw []byte // content of the file -} - -func (c Code) TemplateName() string { return "code" } - -// The input line is a .code or .play entry with a file name and an optional HLfoo marker on the end. -// Anything between the file and HL (if any) is an address expression, which we treat as a string here. -// We pick off the HL first, for easy parsing. -var ( - highlightRE = regexp.MustCompile(`\s+HL([a-zA-Z0-9_]+)?$`) - hlCommentRE = regexp.MustCompile(`(.+) // HL(.*)$`) - codeRE = regexp.MustCompile(`\.(code|play)\s+((?:(?:-edit|-numbers)\s+)*)([^\s]+)(?:\s+(.*))?$`) -) - -// parseCode parses a code present directive. Its syntax: -// .code [-numbers] [-edit] [address] [highlight] -// The directive may also be ".play" if the snippet is executable. -func parseCode(ctx *Context, sourceFile string, sourceLine int, cmd string) (Elem, error) { - cmd = strings.TrimSpace(cmd) - - // Pull off the HL, if any, from the end of the input line. - highlight := "" - if hl := highlightRE.FindStringSubmatchIndex(cmd); len(hl) == 4 { - highlight = cmd[hl[2]:hl[3]] - cmd = cmd[:hl[2]-2] - } - - // Parse the remaining command line. - // Arguments: - // args[0]: whole match - // args[1]: .code/.play - // args[2]: flags ("-edit -numbers") - // args[3]: file name - // args[4]: optional address - args := codeRE.FindStringSubmatch(cmd) - if len(args) != 5 { - return nil, fmt.Errorf("%s:%d: syntax error for .code/.play invocation", sourceFile, sourceLine) - } - command, flags, file, addr := args[1], args[2], args[3], strings.TrimSpace(args[4]) - play := command == "play" && PlayEnabled - - // Read in code file and (optionally) match address. - filename := filepath.Join(filepath.Dir(sourceFile), file) - textBytes, err := ctx.ReadFile(filename) - if err != nil { - return nil, fmt.Errorf("%s:%d: %v", sourceFile, sourceLine, err) - } - lo, hi, err := addrToByteRange(addr, 0, textBytes) - if err != nil { - return nil, fmt.Errorf("%s:%d: %v", sourceFile, sourceLine, err) - } - - // Acme pattern matches can stop mid-line, - // so run to end of line in both directions if not at line start/end. - for lo > 0 && textBytes[lo-1] != '\n' { - lo-- - } - if hi > 0 { - for hi < len(textBytes) && textBytes[hi-1] != '\n' { - hi++ - } - } - - lines := codeLines(textBytes, lo, hi) - - data := &codeTemplateData{ - Lines: formatLines(lines, highlight), - Edit: strings.Contains(flags, "-edit"), - Numbers: strings.Contains(flags, "-numbers"), - } - - // Include before and after in a hidden span for playground code. - if play { - data.Prefix = textBytes[:lo] - data.Suffix = textBytes[hi:] - } - - var buf bytes.Buffer - if err := codeTemplate.Execute(&buf, data); err != nil { - return nil, err - } - return Code{ - Text: template.HTML(buf.String()), - Play: play, - FileName: filepath.Base(filename), - Ext: filepath.Ext(filename), - Raw: rawCode(lines), - }, nil -} - -// formatLines returns a new slice of codeLine with the given lines -// replacing tabs with spaces and adding highlighting where needed. -func formatLines(lines []codeLine, highlight string) []codeLine { - formatted := make([]codeLine, len(lines)) - for i, line := range lines { - // Replace tabs with spaces, which work better in HTML. - line.L = strings.Replace(line.L, "\t", " ", -1) - - // Highlight lines that end with "// HL[highlight]" - // and strip the magic comment. - if m := hlCommentRE.FindStringSubmatch(line.L); m != nil { - line.L = m[1] - line.HL = m[2] == highlight - } - - formatted[i] = line - } - return formatted -} - -// rawCode returns the code represented by the given codeLines without any kind -// of formatting. -func rawCode(lines []codeLine) []byte { - b := new(bytes.Buffer) - for _, line := range lines { - b.WriteString(line.L) - b.WriteByte('\n') - } - return b.Bytes() -} - -type codeTemplateData struct { - Lines []codeLine - Prefix, Suffix []byte - Edit, Numbers bool -} - -var leadingSpaceRE = regexp.MustCompile(`^[ \t]*`) - -var codeTemplate = template.Must(template.New("code").Funcs(template.FuncMap{ - "trimSpace": strings.TrimSpace, - "leadingSpace": leadingSpaceRE.FindString, -}).Parse(codeTemplateHTML)) - -const codeTemplateHTML = ` -{{with .Prefix}}
{{printf "%s" .}}
{{end}} - -{{/* - */}}{{range .Lines}}{{/* - */}}{{if .HL}}{{leadingSpace .L}}{{trimSpace .L}}{{/* - */}}{{else}}{{.L}}{{end}}{{/* -*/}} -{{end}} - -{{with .Suffix}}
{{printf "%s" .}}
{{end}} -` - -// codeLine represents a line of code extracted from a source file. -type codeLine struct { - L string // The line of code. - N int // The line number from the source file. - HL bool // Whether the line should be highlighted. -} - -// codeLines takes a source file and returns the lines that -// span the byte range specified by start and end. -// It discards lines that end in "OMIT". -func codeLines(src []byte, start, end int) (lines []codeLine) { - startLine := 1 - for i, b := range src { - if i == start { - break - } - if b == '\n' { - startLine++ - } - } - s := bufio.NewScanner(bytes.NewReader(src[start:end])) - for n := startLine; s.Scan(); n++ { - l := s.Text() - if strings.HasSuffix(l, "OMIT") { - continue - } - lines = append(lines, codeLine{L: l, N: n}) - } - // Trim leading and trailing blank lines. - for len(lines) > 0 && len(lines[0].L) == 0 { - lines = lines[1:] - } - for len(lines) > 0 && len(lines[len(lines)-1].L) == 0 { - lines = lines[:len(lines)-1] - } - return -} - -func parseArgs(name string, line int, args []string) (res []interface{}, err error) { - res = make([]interface{}, len(args)) - for i, v := range args { - if len(v) == 0 { - return nil, fmt.Errorf("%s:%d bad code argument %q", name, line, v) - } - switch v[0] { - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - n, err := strconv.Atoi(v) - if err != nil { - return nil, fmt.Errorf("%s:%d bad code argument %q", name, line, v) - } - res[i] = n - case '/': - if len(v) < 2 || v[len(v)-1] != '/' { - return nil, fmt.Errorf("%s:%d bad code argument %q", name, line, v) - } - res[i] = v - case '$': - res[i] = "$" - case '_': - if len(v) == 1 { - // Do nothing; "_" indicates an intentionally empty parameter. - break - } - fallthrough - default: - return nil, fmt.Errorf("%s:%d bad code argument %q", name, line, v) - } - } - return -} - -// parseArg returns the integer or string value of the argument and tells which it is. -func parseArg(arg interface{}, max int) (ival int, sval string, isInt bool, err error) { - switch n := arg.(type) { - case int: - if n <= 0 || n > max { - return 0, "", false, fmt.Errorf("%d is out of range", n) - } - return n, "", true, nil - case string: - return 0, n, false, nil - } - return 0, "", false, fmt.Errorf("unrecognized argument %v type %T", arg, arg) -} - -// match identifies the input line that matches the pattern in a code invocation. -// If start>0, match lines starting there rather than at the beginning. -// The return value is 1-indexed. -func match(file string, start int, lines []string, pattern string) (int, error) { - // $ matches the end of the file. - if pattern == "$" { - if len(lines) == 0 { - return 0, fmt.Errorf("%q: empty file", file) - } - return len(lines), nil - } - // /regexp/ matches the line that matches the regexp. - if len(pattern) > 2 && pattern[0] == '/' && pattern[len(pattern)-1] == '/' { - re, err := regexp.Compile(pattern[1 : len(pattern)-1]) - if err != nil { - return 0, err - } - for i := start; i < len(lines); i++ { - if re.MatchString(lines[i]) { - return i + 1, nil - } - } - return 0, fmt.Errorf("%s: no match for %#q", file, pattern) - } - return 0, fmt.Errorf("unrecognized pattern: %q", pattern) -} diff --git a/vendor/golang.org/x/tools/present/doc.go b/vendor/golang.org/x/tools/present/doc.go deleted file mode 100644 index 584e0c1..0000000 --- a/vendor/golang.org/x/tools/present/doc.go +++ /dev/null @@ -1,205 +0,0 @@ -// Copyright 2011 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. - -/* -The present file format - -Present files have the following format. The first non-blank non-comment -line is the title, so the header looks like - - Title of document - Subtitle of document - 15:04 2 Jan 2006 - Tags: foo, bar, baz - - Author Name - Job title, Company - joe@example.com - http://url/ - @twitter_name - -The subtitle, date, and tags lines are optional. - -The date line may be written without a time: - 2 Jan 2006 -In this case, the time will be interpreted as 10am UTC on that date. - -The tags line is a comma-separated list of tags that may be used to categorize -the document. - -The author section may contain a mixture of text, twitter names, and links. -For slide presentations, only the plain text lines will be displayed on the -first slide. - -Multiple presenters may be specified, separated by a blank line. - -After that come slides/sections, each after a blank line: - - * Title of slide or section (must have asterisk) - - Some Text - - ** Subsection - - - bullets - - more bullets - - a bullet with - - *** Sub-subsection - - Some More text - - Preformatted text - is indented (however you like) - - Further Text, including invocations like: - - .code x.go /^func main/,/^}/ - .play y.go - .image image.jpg - .iframe http://foo - .link http://foo label - .html file.html - .caption _Gopher_ by [[http://www.reneefrench.com][Renée French]] - - Again, more text - -Blank lines are OK (not mandatory) after the title and after the -text. Text, bullets, and .code etc. are all optional; title is -not. - -Lines starting with # in column 1 are commentary. - -Fonts: - -Within the input for plain text or lists, text bracketed by font -markers will be presented in italic, bold, or program font. -Marker characters are _ (italic), * (bold) and ` (program font). -Unmatched markers appear as plain text. -Within marked text, a single marker character becomes a space -and a doubled single marker quotes the marker character. - - _italic_ - *bold* - `program` - _this_is_all_italic_ - _Why_use_scoped__ptr_? Use plain ***ptr* instead. - -Inline links: - -Links can be included in any text with the form [[url][label]], or -[[url]] to use the URL itself as the label. - -Functions: - -A number of template functions are available through invocations -in the input text. Each such invocation contains a period as the -first character on the line, followed immediately by the name of -the function, followed by any arguments. A typical invocation might -be - .play demo.go /^func show/,/^}/ -(except that the ".play" must be at the beginning of the line and -not be indented like this.) - -Here follows a description of the functions: - -code: - -Injects program source into the output by extracting code from files -and injecting them as HTML-escaped
 blocks.  The argument is
-a file name followed by an optional address that specifies what
-section of the file to display. The address syntax is similar in
-its simplest form to that of ed, but comes from sam and is more
-general. See
-	http://plan9.bell-labs.com/sys/doc/sam/sam.html Table II
-for full details. The displayed block is always rounded out to a
-full line at both ends.
-
-If no pattern is present, the entire file is displayed.
-
-Any line in the program that ends with the four characters
-	OMIT
-is deleted from the source before inclusion, making it easy
-to write things like
-	.code test.go /START OMIT/,/END OMIT/
-to find snippets like this
-	tedious_code = boring_function()
-	// START OMIT
-	interesting_code = fascinating_function()
-	// END OMIT
-and see only this:
-	interesting_code = fascinating_function()
-
-Also, inside the displayed text a line that ends
-	// HL
-will be highlighted in the display; the 'h' key in the browser will
-toggle extra emphasis of any highlighted lines. A highlighting mark
-may have a suffix word, such as
-	// HLxxx
-Such highlights are enabled only if the code invocation ends with
-"HL" followed by the word:
-	.code test.go /^type Foo/,/^}/ HLxxx
-
-The .code function may take one or more flags immediately preceding
-the filename. This command shows test.go in an editable text area:
-	.code -edit test.go
-This command shows test.go with line numbers:
-	.code -numbers test.go
-
-play:
-
-The function "play" is the same as "code" but puts a button
-on the displayed source so the program can be run from the browser.
-Although only the selected text is shown, all the source is included
-in the HTML output so it can be presented to the compiler.
-
-link:
-
-Create a hyperlink. The syntax is 1 or 2 space-separated arguments.
-The first argument is always the HTTP URL.  If there is a second
-argument, it is the text label to display for this link.
-
-	.link http://golang.org golang.org
-
-image:
-
-The template uses the function "image" to inject picture files.
-
-The syntax is simple: 1 or 3 space-separated arguments.
-The first argument is always the file name.
-If there are more arguments, they are the height and width;
-both must be present, or substituted with an underscore.
-Replacing a dimension argument with the underscore parameter
-preserves the aspect ratio of the image when scaling.
-
-	.image images/betsy.jpg 100 200
-
-	.image images/janet.jpg _ 300
-
-
-caption:
-
-The template uses the function "caption" to inject figure captions.
-
-The text after ".caption" is embedded in a figcaption element after
-processing styling and links as in standard text lines.
-
-	.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
-
-iframe:
-
-The function "iframe" injects iframes (pages inside pages).
-Its syntax is the same as that of image.
-
-html:
-
-The function html includes the contents of the specified file as
-unescaped HTML. This is useful for including custom HTML elements
-that cannot be created using only the slide format.
-It is your responsibilty to make sure the included HTML is valid and safe.
-
-	.html file.html
-
-*/
-package present // import "golang.org/x/tools/present"
diff --git a/vendor/golang.org/x/tools/present/html.go b/vendor/golang.org/x/tools/present/html.go
deleted file mode 100644
index cca90ef..0000000
--- a/vendor/golang.org/x/tools/present/html.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package present
-
-import (
-	"errors"
-	"html/template"
-	"path/filepath"
-	"strings"
-)
-
-func init() {
-	Register("html", parseHTML)
-}
-
-func parseHTML(ctx *Context, fileName string, lineno int, text string) (Elem, error) {
-	p := strings.Fields(text)
-	if len(p) != 2 {
-		return nil, errors.New("invalid .html args")
-	}
-	name := filepath.Join(filepath.Dir(fileName), p[1])
-	b, err := ctx.ReadFile(name)
-	if err != nil {
-		return nil, err
-	}
-	return HTML{template.HTML(b)}, nil
-}
-
-type HTML struct {
-	template.HTML
-}
-
-func (s HTML) TemplateName() string { return "html" }
diff --git a/vendor/golang.org/x/tools/present/iframe.go b/vendor/golang.org/x/tools/present/iframe.go
deleted file mode 100644
index 2f3c5e5..0000000
--- a/vendor/golang.org/x/tools/present/iframe.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 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.
-
-package present
-
-import (
-	"fmt"
-	"strings"
-)
-
-func init() {
-	Register("iframe", parseIframe)
-}
-
-type Iframe struct {
-	URL    string
-	Width  int
-	Height int
-}
-
-func (i Iframe) TemplateName() string { return "iframe" }
-
-func parseIframe(ctx *Context, fileName string, lineno int, text string) (Elem, error) {
-	args := strings.Fields(text)
-	i := Iframe{URL: args[1]}
-	a, err := parseArgs(fileName, lineno, args[2:])
-	if err != nil {
-		return nil, err
-	}
-	switch len(a) {
-	case 0:
-		// no size parameters
-	case 2:
-		if v, ok := a[0].(int); ok {
-			i.Height = v
-		}
-		if v, ok := a[1].(int); ok {
-			i.Width = v
-		}
-	default:
-		return nil, fmt.Errorf("incorrect image invocation: %q", text)
-	}
-	return i, nil
-}
diff --git a/vendor/golang.org/x/tools/present/image.go b/vendor/golang.org/x/tools/present/image.go
deleted file mode 100644
index cfa2af9..0000000
--- a/vendor/golang.org/x/tools/present/image.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2012 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.
-
-package present
-
-import (
-	"fmt"
-	"strings"
-)
-
-func init() {
-	Register("image", parseImage)
-}
-
-type Image struct {
-	URL    string
-	Width  int
-	Height int
-}
-
-func (i Image) TemplateName() string { return "image" }
-
-func parseImage(ctx *Context, fileName string, lineno int, text string) (Elem, error) {
-	args := strings.Fields(text)
-	img := Image{URL: args[1]}
-	a, err := parseArgs(fileName, lineno, args[2:])
-	if err != nil {
-		return nil, err
-	}
-	switch len(a) {
-	case 0:
-		// no size parameters
-	case 2:
-		// If a parameter is empty (underscore) or invalid
-		// leave the field set to zero. The "image" action
-		// template will then omit that img tag attribute and
-		// the browser will calculate the value to preserve
-		// the aspect ratio.
-		if v, ok := a[0].(int); ok {
-			img.Height = v
-		}
-		if v, ok := a[1].(int); ok {
-			img.Width = v
-		}
-	default:
-		return nil, fmt.Errorf("incorrect image invocation: %q", text)
-	}
-	return img, nil
-}
diff --git a/vendor/golang.org/x/tools/present/link.go b/vendor/golang.org/x/tools/present/link.go
deleted file mode 100644
index 6b0968f..0000000
--- a/vendor/golang.org/x/tools/present/link.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2012 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.
-
-package present
-
-import (
-	"fmt"
-	"log"
-	"net/url"
-	"strings"
-)
-
-func init() {
-	Register("link", parseLink)
-}
-
-type Link struct {
-	URL   *url.URL
-	Label string
-}
-
-func (l Link) TemplateName() string { return "link" }
-
-func parseLink(ctx *Context, fileName string, lineno int, text string) (Elem, error) {
-	args := strings.Fields(text)
-	url, err := url.Parse(args[1])
-	if err != nil {
-		return nil, err
-	}
-	label := ""
-	if len(args) > 2 {
-		label = strings.Join(args[2:], " ")
-	} else {
-		scheme := url.Scheme + "://"
-		if url.Scheme == "mailto" {
-			scheme = "mailto:"
-		}
-		label = strings.Replace(url.String(), scheme, "", 1)
-	}
-	return Link{url, label}, nil
-}
-
-func renderLink(href, text string) string {
-	text = font(text)
-	if text == "" {
-		text = href
-	}
-	// Open links in new window only when their url is absolute.
-	target := "_blank"
-	if u, err := url.Parse(href); err != nil {
-		log.Println("rendernLink parsing url:", err)
-	} else if !u.IsAbs() || u.Scheme == "javascript" {
-		target = "_self"
-	}
-
-	return fmt.Sprintf(`%s`, href, target, text)
-}
-
-// parseInlineLink parses an inline link at the start of s, and returns
-// a rendered HTML link and the total length of the raw inline link.
-// If no inline link is present, it returns all zeroes.
-func parseInlineLink(s string) (link string, length int) {
-	if !strings.HasPrefix(s, "[[") {
-		return
-	}
-	end := strings.Index(s, "]]")
-	if end == -1 {
-		return
-	}
-	urlEnd := strings.Index(s, "]")
-	rawURL := s[2:urlEnd]
-	const badURLChars = `<>"{}|\^[] ` + "`" // per RFC2396 section 2.4.3
-	if strings.ContainsAny(rawURL, badURLChars) {
-		return
-	}
-	if urlEnd == end {
-		simpleUrl := ""
-		url, err := url.Parse(rawURL)
-		if err == nil {
-			// If the URL is http://foo.com, drop the http://
-			// In other words, render [[http://golang.org]] as:
-			//   golang.org
-			if strings.HasPrefix(rawURL, url.Scheme+"://") {
-				simpleUrl = strings.TrimPrefix(rawURL, url.Scheme+"://")
-			} else if strings.HasPrefix(rawURL, url.Scheme+":") {
-				simpleUrl = strings.TrimPrefix(rawURL, url.Scheme+":")
-			}
-		}
-		return renderLink(rawURL, simpleUrl), end + 2
-	}
-	if s[urlEnd:urlEnd+2] != "][" {
-		return
-	}
-	text := s[urlEnd+2 : end]
-	return renderLink(rawURL, text), end + 2
-}
diff --git a/vendor/golang.org/x/tools/present/parse.go b/vendor/golang.org/x/tools/present/parse.go
deleted file mode 100644
index 449d5ed..0000000
--- a/vendor/golang.org/x/tools/present/parse.go
+++ /dev/null
@@ -1,505 +0,0 @@
-// Copyright 2011 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.
-
-package present
-
-import (
-	"bufio"
-	"bytes"
-	"errors"
-	"fmt"
-	"html/template"
-	"io"
-	"io/ioutil"
-	"log"
-	"net/url"
-	"regexp"
-	"strings"
-	"time"
-	"unicode"
-	"unicode/utf8"
-)
-
-var (
-	parsers = make(map[string]ParseFunc)
-	funcs   = template.FuncMap{}
-)
-
-// Template returns an empty template with the action functions in its FuncMap.
-func Template() *template.Template {
-	return template.New("").Funcs(funcs)
-}
-
-// Render renders the doc to the given writer using the provided template.
-func (d *Doc) Render(w io.Writer, t *template.Template) error {
-	data := struct {
-		*Doc
-		Template    *template.Template
-		PlayEnabled bool
-	}{d, t, PlayEnabled}
-	return t.ExecuteTemplate(w, "root", data)
-}
-
-// Render renders the section to the given writer using the provided template.
-func (s *Section) Render(w io.Writer, t *template.Template) error {
-	data := struct {
-		*Section
-		Template    *template.Template
-		PlayEnabled bool
-	}{s, t, PlayEnabled}
-	return t.ExecuteTemplate(w, "section", data)
-}
-
-type ParseFunc func(ctx *Context, fileName string, lineNumber int, inputLine string) (Elem, error)
-
-// Register binds the named action, which does not begin with a period, to the
-// specified parser to be invoked when the name, with a period, appears in the
-// present input text.
-func Register(name string, parser ParseFunc) {
-	if len(name) == 0 || name[0] == ';' {
-		panic("bad name in Register: " + name)
-	}
-	parsers["."+name] = parser
-}
-
-// Doc represents an entire document.
-type Doc struct {
-	Title    string
-	Subtitle string
-	Time     time.Time
-	Authors  []Author
-	Sections []Section
-	Tags     []string
-}
-
-// Author represents the person who wrote and/or is presenting the document.
-type Author struct {
-	Elem []Elem
-}
-
-// TextElem returns the first text elements of the author details.
-// This is used to display the author' name, job title, and company
-// without the contact details.
-func (p *Author) TextElem() (elems []Elem) {
-	for _, el := range p.Elem {
-		if _, ok := el.(Text); !ok {
-			break
-		}
-		elems = append(elems, el)
-	}
-	return
-}
-
-// Section represents a section of a document (such as a presentation slide)
-// comprising a title and a list of elements.
-type Section struct {
-	Number []int
-	Title  string
-	Elem   []Elem
-}
-
-func (s Section) Sections() (sections []Section) {
-	for _, e := range s.Elem {
-		if section, ok := e.(Section); ok {
-			sections = append(sections, section)
-		}
-	}
-	return
-}
-
-// Level returns the level of the given section.
-// The document title is level 1, main section 2, etc.
-func (s Section) Level() int {
-	return len(s.Number) + 1
-}
-
-// FormattedNumber returns a string containing the concatenation of the
-// numbers identifying a Section.
-func (s Section) FormattedNumber() string {
-	b := &bytes.Buffer{}
-	for _, n := range s.Number {
-		fmt.Fprintf(b, "%v.", n)
-	}
-	return b.String()
-}
-
-func (s Section) TemplateName() string { return "section" }
-
-// Elem defines the interface for a present element. That is, something that
-// can provide the name of the template used to render the element.
-type Elem interface {
-	TemplateName() string
-}
-
-// renderElem implements the elem template function, used to render
-// sub-templates.
-func renderElem(t *template.Template, e Elem) (template.HTML, error) {
-	var data interface{} = e
-	if s, ok := e.(Section); ok {
-		data = struct {
-			Section
-			Template *template.Template
-		}{s, t}
-	}
-	return execTemplate(t, e.TemplateName(), data)
-}
-
-func init() {
-	funcs["elem"] = renderElem
-}
-
-// execTemplate is a helper to execute a template and return the output as a
-// template.HTML value.
-func execTemplate(t *template.Template, name string, data interface{}) (template.HTML, error) {
-	b := new(bytes.Buffer)
-	err := t.ExecuteTemplate(b, name, data)
-	if err != nil {
-		return "", err
-	}
-	return template.HTML(b.String()), nil
-}
-
-// Text represents an optionally preformatted paragraph.
-type Text struct {
-	Lines []string
-	Pre   bool
-}
-
-func (t Text) TemplateName() string { return "text" }
-
-// List represents a bulleted list.
-type List struct {
-	Bullet []string
-}
-
-func (l List) TemplateName() string { return "list" }
-
-// Lines is a helper for parsing line-based input.
-type Lines struct {
-	line int // 0 indexed, so has 1-indexed number of last line returned
-	text []string
-}
-
-func readLines(r io.Reader) (*Lines, error) {
-	var lines []string
-	s := bufio.NewScanner(r)
-	for s.Scan() {
-		lines = append(lines, s.Text())
-	}
-	if err := s.Err(); err != nil {
-		return nil, err
-	}
-	return &Lines{0, lines}, nil
-}
-
-func (l *Lines) next() (text string, ok bool) {
-	for {
-		current := l.line
-		l.line++
-		if current >= len(l.text) {
-			return "", false
-		}
-		text = l.text[current]
-		// Lines starting with # are comments.
-		if len(text) == 0 || text[0] != '#' {
-			ok = true
-			break
-		}
-	}
-	return
-}
-
-func (l *Lines) back() {
-	l.line--
-}
-
-func (l *Lines) nextNonEmpty() (text string, ok bool) {
-	for {
-		text, ok = l.next()
-		if !ok {
-			return
-		}
-		if len(text) > 0 {
-			break
-		}
-	}
-	return
-}
-
-// A Context specifies the supporting context for parsing a presentation.
-type Context struct {
-	// ReadFile reads the file named by filename and returns the contents.
-	ReadFile func(filename string) ([]byte, error)
-}
-
-// ParseMode represents flags for the Parse function.
-type ParseMode int
-
-const (
-	// If set, parse only the title and subtitle.
-	TitlesOnly ParseMode = 1
-)
-
-// Parse parses a document from r.
-func (ctx *Context) Parse(r io.Reader, name string, mode ParseMode) (*Doc, error) {
-	doc := new(Doc)
-	lines, err := readLines(r)
-	if err != nil {
-		return nil, err
-	}
-	err = parseHeader(doc, lines)
-	if err != nil {
-		return nil, err
-	}
-	if mode&TitlesOnly != 0 {
-		return doc, nil
-	}
-	// Authors
-	if doc.Authors, err = parseAuthors(lines); err != nil {
-		return nil, err
-	}
-	// Sections
-	if doc.Sections, err = parseSections(ctx, name, lines, []int{}, doc); err != nil {
-		return nil, err
-	}
-	return doc, nil
-}
-
-// Parse parses a document from r. Parse reads assets used by the presentation
-// from the file system using ioutil.ReadFile.
-func Parse(r io.Reader, name string, mode ParseMode) (*Doc, error) {
-	ctx := Context{ReadFile: ioutil.ReadFile}
-	return ctx.Parse(r, name, mode)
-}
-
-// isHeading matches any section heading.
-var isHeading = regexp.MustCompile(`^\*+ `)
-
-// lesserHeading returns true if text is a heading of a lesser or equal level
-// than that denoted by prefix.
-func lesserHeading(text, prefix string) bool {
-	return isHeading.MatchString(text) && !strings.HasPrefix(text, prefix+"*")
-}
-
-// parseSections parses Sections from lines for the section level indicated by
-// number (a nil number indicates the top level).
-func parseSections(ctx *Context, name string, lines *Lines, number []int, doc *Doc) ([]Section, error) {
-	var sections []Section
-	for i := 1; ; i++ {
-		// Next non-empty line is title.
-		text, ok := lines.nextNonEmpty()
-		for ok && text == "" {
-			text, ok = lines.next()
-		}
-		if !ok {
-			break
-		}
-		prefix := strings.Repeat("*", len(number)+1)
-		if !strings.HasPrefix(text, prefix+" ") {
-			lines.back()
-			break
-		}
-		section := Section{
-			Number: append(append([]int{}, number...), i),
-			Title:  text[len(prefix)+1:],
-		}
-		text, ok = lines.nextNonEmpty()
-		for ok && !lesserHeading(text, prefix) {
-			var e Elem
-			r, _ := utf8.DecodeRuneInString(text)
-			switch {
-			case unicode.IsSpace(r):
-				i := strings.IndexFunc(text, func(r rune) bool {
-					return !unicode.IsSpace(r)
-				})
-				if i < 0 {
-					break
-				}
-				indent := text[:i]
-				var s []string
-				for ok && (strings.HasPrefix(text, indent) || text == "") {
-					if text != "" {
-						text = text[i:]
-					}
-					s = append(s, text)
-					text, ok = lines.next()
-				}
-				lines.back()
-				pre := strings.Join(s, "\n")
-				pre = strings.Replace(pre, "\t", "    ", -1) // browsers treat tabs badly
-				pre = strings.TrimRightFunc(pre, unicode.IsSpace)
-				e = Text{Lines: []string{pre}, Pre: true}
-			case strings.HasPrefix(text, "- "):
-				var b []string
-				for ok && strings.HasPrefix(text, "- ") {
-					b = append(b, text[2:])
-					text, ok = lines.next()
-				}
-				lines.back()
-				e = List{Bullet: b}
-			case strings.HasPrefix(text, prefix+"* "):
-				lines.back()
-				subsecs, err := parseSections(ctx, name, lines, section.Number, doc)
-				if err != nil {
-					return nil, err
-				}
-				for _, ss := range subsecs {
-					section.Elem = append(section.Elem, ss)
-				}
-			case strings.HasPrefix(text, "."):
-				args := strings.Fields(text)
-				parser := parsers[args[0]]
-				if parser == nil {
-					return nil, fmt.Errorf("%s:%d: unknown command %q\n", name, lines.line, text)
-				}
-				t, err := parser(ctx, name, lines.line, text)
-				if err != nil {
-					return nil, err
-				}
-				e = t
-			default:
-				var l []string
-				for ok && strings.TrimSpace(text) != "" {
-					if text[0] == '.' { // Command breaks text block.
-						break
-					}
-					if strings.HasPrefix(text, `\.`) { // Backslash escapes initial period.
-						text = text[1:]
-					}
-					l = append(l, text)
-					text, ok = lines.next()
-				}
-				if len(l) > 0 {
-					e = Text{Lines: l}
-				}
-			}
-			if e != nil {
-				section.Elem = append(section.Elem, e)
-			}
-			text, ok = lines.nextNonEmpty()
-		}
-		if isHeading.MatchString(text) {
-			lines.back()
-		}
-		sections = append(sections, section)
-	}
-	return sections, nil
-}
-
-func parseHeader(doc *Doc, lines *Lines) error {
-	var ok bool
-	// First non-empty line starts header.
-	doc.Title, ok = lines.nextNonEmpty()
-	if !ok {
-		return errors.New("unexpected EOF; expected title")
-	}
-	for {
-		text, ok := lines.next()
-		if !ok {
-			return errors.New("unexpected EOF")
-		}
-		if text == "" {
-			break
-		}
-		const tagPrefix = "Tags:"
-		if strings.HasPrefix(text, tagPrefix) {
-			tags := strings.Split(text[len(tagPrefix):], ",")
-			for i := range tags {
-				tags[i] = strings.TrimSpace(tags[i])
-			}
-			doc.Tags = append(doc.Tags, tags...)
-		} else if t, ok := parseTime(text); ok {
-			doc.Time = t
-		} else if doc.Subtitle == "" {
-			doc.Subtitle = text
-		} else {
-			return fmt.Errorf("unexpected header line: %q", text)
-		}
-	}
-	return nil
-}
-
-func parseAuthors(lines *Lines) (authors []Author, err error) {
-	// This grammar demarcates authors with blanks.
-
-	// Skip blank lines.
-	if _, ok := lines.nextNonEmpty(); !ok {
-		return nil, errors.New("unexpected EOF")
-	}
-	lines.back()
-
-	var a *Author
-	for {
-		text, ok := lines.next()
-		if !ok {
-			return nil, errors.New("unexpected EOF")
-		}
-
-		// If we find a section heading, we're done.
-		if strings.HasPrefix(text, "* ") {
-			lines.back()
-			break
-		}
-
-		// If we encounter a blank we're done with this author.
-		if a != nil && len(text) == 0 {
-			authors = append(authors, *a)
-			a = nil
-			continue
-		}
-		if a == nil {
-			a = new(Author)
-		}
-
-		// Parse the line. Those that
-		// - begin with @ are twitter names,
-		// - contain slashes are links, or
-		// - contain an @ symbol are an email address.
-		// The rest is just text.
-		var el Elem
-		switch {
-		case strings.HasPrefix(text, "@"):
-			el = parseURL("http://twitter.com/" + text[1:])
-		case strings.Contains(text, ":"):
-			el = parseURL(text)
-		case strings.Contains(text, "@"):
-			el = parseURL("mailto:" + text)
-		}
-		if l, ok := el.(Link); ok {
-			l.Label = text
-			el = l
-		}
-		if el == nil {
-			el = Text{Lines: []string{text}}
-		}
-		a.Elem = append(a.Elem, el)
-	}
-	if a != nil {
-		authors = append(authors, *a)
-	}
-	return authors, nil
-}
-
-func parseURL(text string) Elem {
-	u, err := url.Parse(text)
-	if err != nil {
-		log.Printf("Parse(%q): %v", text, err)
-		return nil
-	}
-	return Link{URL: u}
-}
-
-func parseTime(text string) (t time.Time, ok bool) {
-	t, err := time.Parse("15:04 2 Jan 2006", text)
-	if err == nil {
-		return t, true
-	}
-	t, err = time.Parse("2 Jan 2006", text)
-	if err == nil {
-		// at 11am UTC it is the same date everywhere
-		t = t.Add(time.Hour * 11)
-		return t, true
-	}
-	return time.Time{}, false
-}
diff --git a/vendor/golang.org/x/tools/present/style.go b/vendor/golang.org/x/tools/present/style.go
deleted file mode 100644
index 1cd240d..0000000
--- a/vendor/golang.org/x/tools/present/style.go
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2012 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.
-
-package present
-
-import (
-	"bytes"
-	"html"
-	"html/template"
-	"strings"
-	"unicode"
-	"unicode/utf8"
-)
-
-/*
-	Fonts are demarcated by an initial and final char bracketing a
-	space-delimited word, plus possibly some terminal punctuation.
-	The chars are
-		_ for italic
-		* for bold
-		` (back quote) for fixed width.
-	Inner appearances of the char become spaces. For instance,
-		_this_is_italic_!
-	becomes
-		this is italic!
-*/
-
-func init() {
-	funcs["style"] = Style
-}
-
-// Style returns s with HTML entities escaped and font indicators turned into
-// HTML font tags.
-func Style(s string) template.HTML {
-	return template.HTML(font(html.EscapeString(s)))
-}
-
-// font returns s with font indicators turned into HTML font tags.
-func font(s string) string {
-	if strings.IndexAny(s, "[`_*") == -1 {
-		return s
-	}
-	words := split(s)
-	var b bytes.Buffer
-Word:
-	for w, word := range words {
-		if len(word) < 2 {
-			continue Word
-		}
-		if link, _ := parseInlineLink(word); link != "" {
-			words[w] = link
-			continue Word
-		}
-		const punctuation = `.,;:()!?—–'"`
-		const marker = "_*`"
-		// Initial punctuation is OK but must be peeled off.
-		first := strings.IndexAny(word, marker)
-		if first == -1 {
-			continue Word
-		}
-		// Is the marker prefixed only by punctuation?
-		for _, r := range word[:first] {
-			if !strings.ContainsRune(punctuation, r) {
-				continue Word
-			}
-		}
-		open, word := word[:first], word[first:]
-		char := word[0] // ASCII is OK.
-		close := ""
-		switch char {
-		default:
-			continue Word
-		case '_':
-			open += ""
-			close = ""
-		case '*':
-			open += ""
-			close = ""
-		case '`':
-			open += ""
-			close = ""
-		}
-		// Terminal punctuation is OK but must be peeled off.
-		last := strings.LastIndex(word, word[:1])
-		if last == 0 {
-			continue Word
-		}
-		head, tail := word[:last+1], word[last+1:]
-		for _, r := range tail {
-			if !strings.ContainsRune(punctuation, r) {
-				continue Word
-			}
-		}
-		b.Reset()
-		b.WriteString(open)
-		var wid int
-		for i := 1; i < len(head)-1; i += wid {
-			var r rune
-			r, wid = utf8.DecodeRuneInString(head[i:])
-			if r != rune(char) {
-				// Ordinary character.
-				b.WriteRune(r)
-				continue
-			}
-			if head[i+1] != char {
-				// Inner char becomes space.
-				b.WriteRune(' ')
-				continue
-			}
-			// Doubled char becomes real char.
-			// Not worth worrying about "_x__".
-			b.WriteByte(char)
-			wid++ // Consumed two chars, both ASCII.
-		}
-		b.WriteString(close) // Write closing tag.
-		b.WriteString(tail)  // Restore trailing punctuation.
-		words[w] = b.String()
-	}
-	return strings.Join(words, "")
-}
-
-// split is like strings.Fields but also returns the runs of spaces
-// and treats inline links as distinct words.
-func split(s string) []string {
-	var (
-		words = make([]string, 0, 10)
-		start = 0
-	)
-
-	// appendWord appends the string s[start:end] to the words slice.
-	// If the word contains the beginning of a link, the non-link portion
-	// of the word and the entire link are appended as separate words,
-	// and the start index is advanced to the end of the link.
-	appendWord := func(end int) {
-		if j := strings.Index(s[start:end], "[["); j > -1 {
-			if _, l := parseInlineLink(s[start+j:]); l > 0 {
-				// Append portion before link, if any.
-				if j > 0 {
-					words = append(words, s[start:start+j])
-				}
-				// Append link itself.
-				words = append(words, s[start+j:start+j+l])
-				// Advance start index to end of link.
-				start = start + j + l
-				return
-			}
-		}
-		// No link; just add the word.
-		words = append(words, s[start:end])
-		start = end
-	}
-
-	wasSpace := false
-	for i, r := range s {
-		isSpace := unicode.IsSpace(r)
-		if i > start && isSpace != wasSpace {
-			appendWord(i)
-		}
-		wasSpace = isSpace
-	}
-	for start < len(s) {
-		appendWord(len(s))
-	}
-	return words
-}
diff --git a/vendor/golang.org/x/tools/refactor/importgraph/graph.go b/vendor/golang.org/x/tools/refactor/importgraph/graph.go
deleted file mode 100644
index 8ad8014..0000000
--- a/vendor/golang.org/x/tools/refactor/importgraph/graph.go
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2014 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.
-
-// Package importgraph computes the forward and reverse import
-// dependency graphs for all packages in a Go workspace.
-package importgraph // import "golang.org/x/tools/refactor/importgraph"
-
-import (
-	"go/build"
-	"sync"
-
-	"golang.org/x/tools/go/buildutil"
-)
-
-// A Graph is an import dependency graph, either forward or reverse.
-//
-// The graph maps each node (a package import path) to the set of its
-// successors in the graph.  For a forward graph, this is the set of
-// imported packages (prerequisites); for a reverse graph, it is the set
-// of importing packages (clients).
-//
-type Graph map[string]map[string]bool
-
-func (g Graph) addEdge(from, to string) {
-	edges := g[from]
-	if edges == nil {
-		edges = make(map[string]bool)
-		g[from] = edges
-	}
-	edges[to] = true
-}
-
-// Search returns all the nodes of the graph reachable from
-// any of the specified roots, by following edges forwards.
-// Relationally, this is the reflexive transitive closure.
-func (g Graph) Search(roots ...string) map[string]bool {
-	seen := make(map[string]bool)
-	var visit func(x string)
-	visit = func(x string) {
-		if !seen[x] {
-			seen[x] = true
-			for y := range g[x] {
-				visit(y)
-			}
-		}
-	}
-	for _, root := range roots {
-		visit(root)
-	}
-	return seen
-}
-
-// Build scans the specified Go workspace and builds the forward and
-// reverse import dependency graphs for all its packages.
-// It also returns a mapping from import paths to errors for packages
-// whose loading was not entirely successful.
-// A package may appear in the graph and in the errors mapping.
-func Build(ctxt *build.Context) (forward, reverse Graph, errors map[string]error) {
-	type importEdge struct {
-		from, to string
-	}
-	type pathError struct {
-		path string
-		err  error
-	}
-
-	ch := make(chan interface{})
-
-	var wg sync.WaitGroup
-	buildutil.ForEachPackage(ctxt, func(path string, err error) {
-		wg.Add(1)
-		go func() {
-			defer wg.Done()
-			if err != nil {
-				ch <- pathError{path, err}
-				return
-			}
-
-			bp, err := ctxt.Import(path, "", 0)
-			if err != nil {
-				if _, ok := err.(*build.NoGoError); ok {
-					// empty directory is not an error
-				} else {
-					ch <- pathError{path, err}
-				}
-				// Even in error cases, Import usually returns a package.
-			}
-			if bp != nil {
-				for _, imp := range bp.Imports {
-					ch <- importEdge{path, imp}
-				}
-				for _, imp := range bp.TestImports {
-					ch <- importEdge{path, imp}
-				}
-				for _, imp := range bp.XTestImports {
-					ch <- importEdge{path, imp}
-				}
-			}
-		}()
-	})
-	go func() {
-		wg.Wait()
-		close(ch)
-	}()
-
-	forward = make(Graph)
-	reverse = make(Graph)
-
-	for e := range ch {
-		switch e := e.(type) {
-		case pathError:
-			if errors == nil {
-				errors = make(map[string]error)
-			}
-			errors[e.path] = e.err
-
-		case importEdge:
-			if e.to == "C" {
-				continue // "C" is fake
-			}
-			forward.addEdge(e.from, e.to)
-			reverse.addEdge(e.to, e.from)
-		}
-	}
-
-	return forward, reverse, errors
-}
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 346bf86..a1ca0d4 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -1,260 +1,6 @@
 {
 	"comment": "",
 	"ignore": "test",
-	"package": [
-		{
-			"checksumSHA1": "+dVSWmypRy7k2emKXonbGs4aMC0=",
-			"path": "github.com/b3log/wide",
-			"revision": "a399713787402b6b127ad3ed706f86546007fa50",
-			"revisionTime": "2018-03-13T03:25:58Z"
-		},
-		{
-			"checksumSHA1": "83iEp3SqOoIkZUYyR7BOVP4vaGE=",
-			"path": "github.com/bradfitz/goimports",
-			"revision": "919f4f2bcea0744d4da4ae851fbf818ae11cba87",
-			"revisionTime": "2014-12-11T23:42:42Z"
-		},
-		{
-			"checksumSHA1": "9G8Rchzwv9ERNhD09uy7wvmqBJI=",
-			"path": "github.com/go-fsnotify/fsnotify",
-			"revision": "4da3e2cfbabc9f751898f250b49f2439785783a1",
-			"revisionTime": "2017-03-29T04:21:07Z"
-		},
-		{
-			"checksumSHA1": "IkPM2QLv9urri7S49wzroQx9oXA=",
-			"path": "github.com/gorilla/context",
-			"revision": "08b5f424b9271eedf6f9f0ce86cb9396ed337a42",
-			"revisionTime": "2016-08-17T18:46:32Z"
-		},
-		{
-			"checksumSHA1": "GKB96ojS6AY/uBnfLWqZBsxTBY4=",
-			"path": "github.com/gorilla/securecookie",
-			"revision": "e59506cc896acb7f7bf732d4fdf5e25f7ccd8983",
-			"revisionTime": "2017-02-24T19:38:04Z"
-		},
-		{
-			"checksumSHA1": "I3dUVu4QOmYBPKfifkBZovtsYUA=",
-			"path": "github.com/gorilla/sessions",
-			"revision": "8b6b4cd75f07f7ee036eb37b8127bd40ab1efc49",
-			"revisionTime": "2017-04-29T19:22:41Z"
-		},
-		{
-			"checksumSHA1": "hEnH6sgR83Qfx7UNnphNNlelmj0=",
-			"path": "github.com/gorilla/websocket",
-			"revision": "a91eba7f97777409bc2c443f5534d41dd20c5720",
-			"revisionTime": "2017-03-19T17:27:27Z"
-		},
-		{
-			"checksumSHA1": "5i+5zScV0FNuG3cmRzRPn6PFsfo=",
-			"path": "github.com/nsf/gocode",
-			"revision": "5070dacabf2a80deeaf4ddb0be3761d06fce7be5",
-			"revisionTime": "2016-11-22T21:38:51Z"
-		},
-		{
-			"checksumSHA1": "4fp/TH5nX7seO5p4qJfIj/BokbI=",
-			"path": "github.com/visualfc/gotools",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "QBwzyczN2ftqO2Vxag5TS79q32E=",
-			"path": "github.com/visualfc/gotools/astview",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "wqPqP7RGlukrSMzGKVk1tvyWh1o=",
-			"path": "github.com/visualfc/gotools/command",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "sA2FN414rFhNEgac/a0IyUR8dMA=",
-			"path": "github.com/visualfc/gotools/docview",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "LvxdwB9kJ77cFS4qiRAh9ts2nz4=",
-			"path": "github.com/visualfc/gotools/finddoc",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "Sxih6vWVTlJNBdVNeyCkxI213yI=",
-			"path": "github.com/visualfc/gotools/goapi",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "RLl3M7ywfbgNYR2HfBywCruQz9c=",
-			"path": "github.com/visualfc/gotools/goimports",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "R6+qmg1mEs4XhihZd5ujddVI+FI=",
-			"path": "github.com/visualfc/gotools/gopresent",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "kyKBo2ux+HflucDj/qzoko5YoMA=",
-			"path": "github.com/visualfc/gotools/jsonfmt",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "QldbuEtO8CONs3q/5mkva+CVeNg=",
-			"path": "github.com/visualfc/gotools/oracle",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "zG4ar8LbudIKQvsfvAgkBSS0k3Q=",
-			"path": "github.com/visualfc/gotools/pkgs",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "RQoGIbxntMsUZvi4Js0WQqDBDYM=",
-			"path": "github.com/visualfc/gotools/runcmd",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "q/EpLJHMTcnbxjLGogryQ6IA7kc=",
-			"path": "github.com/visualfc/gotools/stdlib",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "qlJsyinWZ07PaOyTYyxXOmhDN/I=",
-			"path": "github.com/visualfc/gotools/types",
-			"revision": "b8348693492ca3791bccfa028f3c19634c11c5b5",
-			"revisionTime": "2015-04-09T14:25:36Z"
-		},
-		{
-			"checksumSHA1": "Tkb1hBdBWeO7SGjixS2Hm48F6+s=",
-			"path": "golang.org/x/sys/unix",
-			"revision": "0b25a408a50076fbbcae6b7ac0ea5fbb0b085e79",
-			"revisionTime": "2017-06-08T11:43:49Z"
-		},
-		{
-			"checksumSHA1": "Mr4ur60bgQJnQFfJY0dGtwWwMPE=",
-			"path": "golang.org/x/text/encoding",
-			"revision": "506f9d5c962f284575e88337e7d9296d27e729d3",
-			"revisionTime": "2017-01-31T20:38:18Z"
-		},
-		{
-			"checksumSHA1": "zeHyHebIZl1tGuwGllIhjfci+wI=",
-			"path": "golang.org/x/text/encoding/internal",
-			"revision": "506f9d5c962f284575e88337e7d9296d27e729d3",
-			"revisionTime": "2017-01-31T20:38:18Z"
-		},
-		{
-			"checksumSHA1": "/108BuAIqv6xdIw1mi27RnopKak=",
-			"path": "golang.org/x/text/encoding/internal/identifier",
-			"revision": "506f9d5c962f284575e88337e7d9296d27e729d3",
-			"revisionTime": "2017-01-31T20:38:18Z"
-		},
-		{
-			"checksumSHA1": "WYfmebIyX5Zae8NUfu9PsQjQff0=",
-			"path": "golang.org/x/text/encoding/simplifiedchinese",
-			"revision": "506f9d5c962f284575e88337e7d9296d27e729d3",
-			"revisionTime": "2017-01-31T20:38:18Z"
-		},
-		{
-			"checksumSHA1": "ziMb9+ANGRJSSIuxYdRbA+cDRBQ=",
-			"path": "golang.org/x/text/transform",
-			"revision": "506f9d5c962f284575e88337e7d9296d27e729d3",
-			"revisionTime": "2017-01-31T20:38:18Z"
-		},
-		{
-			"checksumSHA1": "jbOdG63FTeIVcvLU5E8XsqK53cc=",
-			"path": "golang.org/x/tools/container/intsets",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "n7QcM+WctJpMsi0d1m4OKSqW4xU=",
-			"path": "golang.org/x/tools/go/ast/astutil",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "cfJyCvDHk2MgII9NxbJ9j4Cg4to=",
-			"path": "golang.org/x/tools/go/buildutil",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "9evbcWFxUJMFmnXQ2ja5765p3iE=",
-			"path": "golang.org/x/tools/go/callgraph",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "p+hK1c9noXGuHDzFlrFQ/uQfzLQ=",
-			"path": "golang.org/x/tools/go/exact",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "zr2p6hYCvjutYYPnk3PNVPNrPuI=",
-			"path": "golang.org/x/tools/go/gcimporter",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "+ZIgPrqQHXeHWYpTf/3M7VmTL84=",
-			"path": "golang.org/x/tools/go/loader",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "6gaftnO6OdA2QQVEEx/A5RgY6vQ=",
-			"path": "golang.org/x/tools/go/pointer",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "j+qDyyAVmxUvkG5KKqei99v251w=",
-			"path": "golang.org/x/tools/go/ssa",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "aSefOysJ8dwgHf8wvL0G5HjI/8I=",
-			"path": "golang.org/x/tools/go/ssa/ssautil",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "kK8f03iydGnjQtYtj+EQHHdPEl4=",
-			"path": "golang.org/x/tools/go/types",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "CYSGwDAcpYRoeD2y59we+Udk6bY=",
-			"path": "golang.org/x/tools/go/types/typeutil",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "p3oUXqh8ecOL76mLRB5h/Qlz9lE=",
-			"path": "golang.org/x/tools/imports",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "wlx0RRzAPyJqCjnAxfnyiyXiqpA=",
-			"path": "golang.org/x/tools/oracle",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "iSBk1u2q0C8EBuH4XSAWo/nYT84=",
-			"path": "golang.org/x/tools/oracle/serial",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "AwIfMW+1I1JYu0RB2/4lSp8c5AU=",
-			"path": "golang.org/x/tools/present",
-			"revision": ""
-		},
-		{
-			"checksumSHA1": "iR5P7/QTdZBU43MEh7KrNSyQXhU=",
-			"path": "golang.org/x/tools/refactor/importgraph",
-			"revision": ""
-		}
-	],
+	"package": [],
 	"rootPath": "github.com/b3log/wide"
 }

VzFW9I9rvRb7{36Zm>!Y`z#Jct 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